dorjeduck/llm.mojo

port of Andrjey Karpathy's llm.c to Mojo

解决的问题

它展示了 Mojo 编程语言能够实现低级别的、类似 C 的 AI 训练代码——使用原始指针和手动内存管理——同时性能可与 C 代码媲美甚至超越。

如何工作

该项目是 Andrej Karpathy 的 llm.c(特别是 train_gpt2.c 实现)的直接移植。它在 Mojo 中实现了 GPT-2 训练过程,允许用户在 TinyShakespeare 等数据集上训练模型。

适用人群

对 Mojo 与 C 在低级别机器学习实现中的性能表现对比感兴趣的开发者和研究人员。

亮点

  • 高性能:在 M2 MacBook Pro 上的基准测试显示,Mojo 实现的吞吐量(150 tok/s)高于启用了 OpenMP 的 C 版本(128 tok/s)。
  • 低级别控制:实现了原始指针和手动内存管理,以模仿原始 C 项目。
  • 验证:包含移植后的 test_gpt2.c 版本,以确保移植功能的正确性。

相关

  • Dispatch
  • Dispatch
  • 项目
  • 项目
  • 项目