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
  • 專案
  • 專案
  • 專案