自己动手打造你的专属ChatGPT:Nanochat—百元级LLM
打造专属您自己的ChatGPT:Nanochat—百美元的LLM项目
知名人工智能专家安德烈·卡帕西(Andrej Karpathy)最新推出了Nanochat——一个雄心勃勃的开源项目。该项目旨在让所有人都能领略大型语言模型(LLM)开发的奥秘。Nanochat被誉为“百元就能拥有的最佳ChatGPT”,它是一个完整的类ChatGPT的LLM实现,其代码库简洁、精炼、易于修改。
Nanochat究竟是什么?
Nanochat不仅仅停留在预训练,它提供了一整套LLM开发流程,包括分词、预训练、微调、评估、推理,甚至通过简洁的用户界面实现网络服务。这意味着您可以通过它训练并与您自己的LLM进行交互,就像使用ChatGPT一样。这个项目经过精心设计,能够高效运行,主要通过speedrun.sh等脚本在单个8XH100节点上完成。
百元挑战:训练您自己的LLM
Nanochat的核心理念是普及性和经济性。speedrun.sh脚本演示了如何以大约100美元的成本训练一个功能性LLM。这包括在8XH100节点上进行大约4小时的训练,最终生成一个拥有19亿参数,并用380亿个token训练过的模型。虽然这些“微型模型”在性能上可能无法与GPT-5等尖端LLM相媲美(它们常被形容为与幼儿园小孩对话,因为它天真且常出现幻觉),但它们为动手学习和定制提供了无与伦比的机会。
卡帕西强调,Nanochat是完全属于您自己的——从头到尾都可以配置、微调和修改。这使得它成为研究人员、开发人员和爱好者理想的平台,无需数百万美元的预算就能深入了解LLM的内部运作。
快速入门指南
要开始您的Nanochat之旅,最快的方法是执行speedrun.sh脚本。该脚本处理从数据准备到模型训练和推理的整个过程。训练完成后(大约需要4小时),您可以通过运行python -m scripts.chat_web,通过基于Web的用户界面与新训练的LLM进行交互。
该项目还提供了关于扩展的见解,建议通过对speedrun.sh配置进行微小调整(主要涉及增加数据分片和仔细管理设备批次大小以防止内存不足错误),来训练更大的模型(例如,价值300美元的d26模型)。
为学习和修改而设计
Nanochat故意避开了复杂的全面LLM框架。相反,它优先选择一个单一、连贯、极简、可读性高且易于fork的“强大基线”代码库。这种设计理念旨在确保任何想要深入研究LLM开发的人都具有高度的认知可及性。目标是生成一个具体的ChatGPT克隆及其评估和指标的“成绩单”。
对于那些硬件配置较低的用户,Nanochat还为CPU和MPS(Apple Silicon)设备提供实验性支持,允许用户调整和训练非常小的LLM,尽管这需要更多的耐心。
为微型模型的未来贡献
Nanochat是一个正在进行中的项目,旨在推进微型模型的最新技术,使其能够在1000美元以下的预算内,实现端到端的可访问开发。项目欢迎各方贡献,强调了开发一个健壮而简洁的LLM训练生态系统的社区驱动精神。
通过揭开LLM的神秘面纱并降低准入门槛,Nanochat有望成为任何希望在自己的计算环境中构建、理解和定制自己的人工智能助手的关键工具。