ソフトウェア

PyTorchやPythonなしの純粋なC言語を使用した大規模言語モデルトレーニングツール「llm.c」がリリースされる


AIの本体と言える大規模言語モデル(LLM)のトレーニングはほとんどの場合PyTorchやPythonを使用して行われていますが、そうしたトレーニングを純粋なC言語のみで実装したツール「llm.c」が登場しました。まだ最適化が行われておらず従来の手法に速度面では敗北していますが、GPT-2のトレーニングを行う実装を約1000行のクリーンなコードで行えています。

GitHub - karpathy/llm.c: LLM training in simple, raw C/CUDA
https://github.com/karpathy/llm.c


作者のアンドレイ・カルパシー氏はOpenAIの創設グループの一員で、テスラのAIディレクターだった事もある人物です。

llm.cを使用することで、245MBの容量を持つPyTorchや107MBの容量を持つcPythonを使用せずに大規模言語モデルをトレーニングすることが可能です。実際にカルパシー氏が現在の大規模言語モデルの祖先と言える「GPT-2」をCPUでトレーニングするコードを実装したところ、依存関係を減らしつつ約1000行という少ないコード量で実装できたとのこと。


実際のコードはGitHubで公開されています。最初に必要な量のメモリをまとめて取得し、トレーニング中はメモリの使用量が変動しないとのこと。このコードではPythonのライブラリを使用しないため、すべての個別のレイヤーの順方向パスと逆方向パスが手動で実装されています。


レイヤーの接続においては全てのポインタとテンソルオフセットが正しく配置されていることを確認しつつコードを書く必要があり、非常に面倒でマゾヒスティックな作業だったそうです。


記事作成時点ではCPUでのトレーニングコードしか公開されていませんが、カルパシー氏はCUDAを使用したトレーニングのためのコードも作成中とのこと。CUDAへの移植や効率化を施すと、重い依存関係なしでPyTorchと同等レベルの速度でトレーニングできるはずだとカルパシー氏は期待を述べました。


今後、精度をfp32からfp16へと下げたり、llama 2mistralgemmaのような現代的なアーキテクチャをサポートしたりする予定とのこと。また、もう少し安定した状態になったらこうしたコードを詳細にゼロから構築するムービーを公開するつもりだとカルパシー氏は述べています。

この記事のタイトルとURLをコピーする

・関連記事
GitHubが「2022年に最も使用されたプログラミング言語」ランキングを発表 - GIGAZINE

NVIDIAのCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言して議論を巻き起こす - GIGAZINE

従来のPythonよりも高速化が可能な新たなプログラミング言語「Mojo」が開発される - GIGAZINE

わずか4GBの実行ファイル1つで大規模言語モデルによるAIを超お手軽に配布・実行できる仕組み「llamafile」をWindowsとLinuxで簡単に実行してみる方法 - GIGAZINE

チャットAI「Alpaca」をローカルにインストールしてオフラインでAIと会話できる「Alpaca.cpp」インストール手順まとめ - GIGAZINE

in ソフトウェア, Posted by log1d_ts

You can read the machine translated English article here.