首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

GitHub 热门项目:llm.c

摘要

GitHub项目:llm。c 仓库地址:https://github。com/karpathy/llm。c Stars:29948 | 作者:karpathy 项目描述:LLM training in simple, raw C/CUDA ================================================== README 内容: # llm。

the and llm https gpt
2026-05-20 1 阅读 约6分钟阅读 GitHub Trending
GitHub 项目:llm.c 仓库地址:https://github.com/karpathy/llm.c 星级:29948 | 作者:卡帕蒂 项目描述:简单、原始的 C/CUDA 法学硕士培训 =================================================== 自述文件内容: #llm.c 简单、纯 C/CUDA 的法学硕士,不需要 245MB 的 PyTorch 或 107MB 的 cPython。当前的重点是预训练,特别是复制 [GPT-2](https://github.com/openai/gpt-2) 和 [GPT-3](https://arxiv.org/abs/2005.14165) 迷你系列,以及 [train_gpt2.py](train_gpt2.py) 中的并行 PyTorch 参考实现。您会发现这个文件是一个稍微调整过的 [nanoGPT](https://github.com/karpathy/nanoGPT),这是我的一个早期项目。目前,llm.c 比 PyTorch Nightly 快一点(大约快 7%)。除了 [train_gpt2.cu](train_gpt2.cu) 中的前沿主线代码之外,我们还有一个简单的参考 CPU fp32 实现,在一个文件 [train_gpt2.c](train_gpt2.c) 中包含约 1,000 行干净的代码。我希望这个存储库仅维护 C 和 CUDA 代码。非常欢迎移植到其他语言或存储库,但应该在单独的存储库中完成,我很高兴在下面的“值得注意的分叉”部分中链接到它们。开发者协调发生在 [讨论](https://github.com/karpathy/llm.c/discussions) 和 Discord 上,无论是 [Zero to Hero](https://discord.gg/3zy8kqD9Cp) 频道上的“#llmc”频道,还是 [GPU MODE](https://discord.gg/gpumode) Discord 上的“#llmdotc”频道。 ## 快速开始 今天对 llm.c 存储库的最佳介绍是复制 GPT-2 (124M) 模型。 [讨论 #481](https://github.com/karpathy/llm.c/discussions/481) 详细介绍了这一点。我们可以在 llm.c 和 PyTorch 的并行实现中重现 GPT-2 和 GPT-3 系列的其他模型。查看 [scripts README](scripts/README.md)。 调试提示:当您运行“make”命令来构建二进制文件时,通过将“-O3”替换为“-g”来修改它,以便您可以在您最喜欢的 IDE(例如 vscode)中单步执行代码。 ## 快速启动(1 GPU,仅限 fp32) 如果您不会在多个节点上进行训练,对混合精度不感兴趣,并且有兴趣学习 CUDA,那么您可能会对 fp32(旧版)文件感兴趣。这些文件是在 llm.c 历史早期被“检查点”并及时冻结的文件。它们更简单、更便携,而且可能更容易理解。运行 1 GPU、fp32 代码,如下所示: ````bash chmod u+x ./dev/download_starter_pack.sh ./dev/download_starter_pack.sh 制作train_gpt2fp32cu ./train_gpt2fp32cu ```` download_starter_pack.sh 脚本是一种快速简单的入门方法,它会下载一堆 .bin 文件,帮助您开始工作。其中包含:1)保存在 fp32 和 bfloat16 中的 GPT-2 124M 模型,2)单元测试中使用的“调试状态”(一小批数据以及目标激活和梯度),3)GPT-2 标记器,以及 3)标记化[tinyshakespeare](https://raw.githubusercontent.com/karpathy/char-rnn/master/data/tinyshakespeare/input.txt)数据集。或者,您可以手动重新创建这些工件,而不是运行 .sh 脚本,如下所示: ````bash pip install -r 要求.txt python dev/data/tinyshakespeare.py 蟒蛇train_gpt2.py ````