本文へスキップ
IFAI

オープンソース

Karpathy氏が「nanochat」公開:8000行・100ドルでChatGPTをフルスクラッチ再現

公開 拡散指数 50

元OpenAIのAndrej Karpathy氏はChatGPTクローンを一から構築できるフルスタック訓練パイプライン「nanochat」を公開した。約8000行の簡潔なコードで、トークナイザーから事前学習、SFT、強化学習、推論UIまでを網羅する。8基のH100を使えば約100ドル(約4時間)で会話可能な独自LLMを学習できる。

Karpathy氏が「nanochat」公開:8000行・100ドルでChatGPTをフルスクラッチ再現
画像:x.com

nanochatは、元OpenAIのAndrej Karpathy氏が公開した、ゼロからChatGPTクローンを構築できる最小限のフルスタック開発リポジトリです。外部依存を極力排除した約8000行のクリーンなコードで、学習から推論UIまでの全工程を網羅しています。

クラウドGPUを起動してスクリプトを1本実行するだけで、最短4時間後にはChatGPT風のWeb画面で自作モデルと対話できます。

何ができるのか

事前学習のみを扱っていた前作nanoGPTとは異なり、nanochatは近年のLLMにおける事後学習(ポストトレーニング)の流れを丸ごと実装しています。

具体的には、Rustによる独自トークナイザーの訓練から始まり、FineWebデータセットを用いたTransformerの事前学習とCORE指標による評価を行います。

続いてSmolTalkを用いた会話データや選択式タスク、ツール利用を含む中間学習(ミッドトレーニング)を実施。さらにSFT(教師あり微調整)を経て、MMLUやGSM8K、HumanEvalなどで精度を測定します。

GSM8Kを対象としたGRPOアルゴリズムによる強化学習も任意で実行可能です。推論エンジンにはKVキャッシュや軽量サンドボックス内のPythonインタプリタによるツール呼び出し機能、CLIおよびWeb UIが含まれ、最終結果をMarkdownの成績表として出力します。

コストと性能

実験のハードルは極めて低く抑えられています。8基のH100を積んだノードで約4時間稼働させた場合、費用は約100ドル。これだけで簡単な詩や物語を書き、素朴な質問に答えられる対話モデルが完成します。

学習時間を約12時間に延ばすと、CORE指標でかつてのGPT-2を上回ります。約1000ドル(約41.6時間)まで規模を拡大すると論理的な破綻が大幅に減り、簡単な数学やコードの記述が可能になります。

深さ30層のモデルを24時間学習させた場合(GPT-3 Small 125M相当の計算量)、MMLUで40点台、ARC-Easyで70点台、GSM8Kで20点台を記録しました。

Karpathy氏はこのリポジトリについて、まだ最適化の余地が多く残されている段階としつつ、開発中の教育講座「LLM101n」の最終課題として位置づけています。コードと導入手順はすでにGitHubで公開されています。

なぜ重要か

LLMがどのように作られ、動いているのかを根本から理解したい開発者や研究者にとって、nanochatは現時点で最も無駄のない学習用リポジトリです。肥大化した商用フレームワークを行き来することなく、事前学習から強化学習までの全体像を一望できます。

実運用向けの大規模フレームワークのような最高のスループットを目指すものではありませんが、手元で改造して実験するための土台としての価値は抜群です。クラウドGPUに数百ドルを投じて自前でモデル学習を完走させたい人にとって、真っ先に触るべき選択肢といえます。

情報源 (1)

  1. [1]
    @karpathy(新しいタブで開きます)原文x.com

毎日のAIピックアップ