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