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
  • プロジェクト
  • プロジェクト
  • プロジェクト