dorjeduck/llm.mojo
port of Andrjey Karpathy's llm.c to Mojo
何を解決するか
Mojoプログラミング言語が、C言語と同等のパフォーマンスを実現できることを示しています。低レベルのAIトレーニングコード(生のポインタと手動メモリ管理を含む)を実装しながら、Cと同等またはそれ以上の性能を達成しています。
動作方法
このプロジェクトは、アンドレイ・カルパティの llm.c の以前のバージョン(特に train_gpt2.c 実装)を直接Mojoに移植したものです。GPT-2のトレーニングプロセスをMojoで実装しており、TinyShakespeareなどのデータセット上でモデルをトレーニングできます。
対象読者
Mojoの低レベル機械学習実装におけるC言語とのパフォーマンス比較に興味がある開発者や研究者。
特徴
- 高いパフォーマンス: M2 MacBook Proでのベンチマークでは、Mojo実装がOpenMP対応Cバージョン(128 tok/s)を上回る高いスループット(150 tok/s)を達成しています。
- 低レベル制御: 原本のCプロジェクトを模倣するため、生のポインタと手動メモリ管理を実装しています。
- 検証: ポートされた
test_gpt2.cのバージョンを含み、移植された機能の正しさを確認しています。
関連
- Dispatch
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト