localaiforum
ログイン
ガイド › 基礎

モデルの学習方法(そしてあなたがやらない理由)

ダウンロードできるすべてのチャットモデルは、同じ3段階パイプラインを通っている。段階1を自分で走らせることはまずない——データセンターの領分だ——が、段階2と3の安い親戚なら走らせるかもしれない。段階を知れば、base対instructの挙動、モデルがハルシネーションを起こす理由、Hugging Faceの「マージ」モデルの正体が説明できる。

段階1:事前学習——高額な部分

途方もないスケールで1つの目標。ウェブテキスト、コード、書籍の数兆トークンにわたって次トークンを予測する。知識とスキルが重みに入り、計算資源の圧倒的大部分がここに向かう。

項目 概算スケール(オーダー)
データ 現代のファミリーで10〜30Tトークン
ハードウェア 数千GPU月。フロンティア級はクラスタを数か月占有
コスト 7Bで約100万〜1,000万ドル超。70B級で1,000万〜1億ドル超。フロンティア級はそれを大きく超えると噂
成果物 ベースモデル。インターネット形の自動補完で、アシスタント挙動なし

成果物はベースモデル。継続には極めて優れ、アシスタントには役立たず。質問すれば答える——そして別の質問、リスト、改ページで続きを続ける。インターネットのテキストがそうするから。

段階2:教師ありファインチューニング(SFT)

数万から数百万の精選された(指示 → 応答)ペア、数GPU日。事前学習に比べれば誤差だが、挙動を作り替える。指示に答える、有用な形式で、そして止まる。ベースモデルを会話できるものへ変える段階。

段階3:選好チューニング

  • RLHF:人間が応答ペアに順位を付け、報酬モデルが順位を学習し、方針が報酬に対して最適化される(PPO)。古典的レシピで、重厚な機構。
  • DPO:報酬モデルを飛ばして選好ペアを直接最適化。より単純で安定、オープンソースの定番。
  • 効果:スタイル、有用性、拒否挙動、より較正された主張。追従性も——同意が報酬をもらうことをモデルが学習する。

SFTデータの実際の姿——指示/応答ペアのplainなJSONL、特別なものはない。

{"instruction": "Summarize the changelog in three bullets.", "response": "- Adds ..."}
{"instruction": "답변을 존댓말로 작성하세요.", "response": "네, 알겠습니다 ..."}

これを数千〜数百万、数エポックで、ベースモデルはアシスタントの形式を学習する。

同じ重み、異なる段階

プロンプト: "GPUについて俳句を書いて。"

base(段階1後):
  "GPUについて俳句を書いて。
   CPUについてソネットを書いて。
   1. トピックを慎重に選び..."        ← 文書を継続

instruct(段階1+2+3):
  "千のコア目覚め
   一つずつ静かなトークン追う——
   ファンは息を殺す。"              ← 答え、整形し、止まる

リポジトリのサフィックスが段階を教える。名前のみ=ベース。-instruct / -it / -chat=調整済み(パラメータを参照)。

用語をもう1つ。知識のカットオフ——事前学習コーパスが収集された日付。それ以降について尋ねると、正直な「知らない」か、より悪いことに自信満々のフィクションが返る。凍結された重みとしてはどちらも正しい挙動(LLMとは)。

学習とファインチューニング:約1000倍の差

事前学習 LoRAファインチューニング
データ 10^12–10^13トークン 10^6–10^9トークン
更新パラメータ すべて 1〜2%未満(小さなアダプタ行列)
ハードウェア クラスタ GPU 1枚
所要時間 数週間〜数か月 数時間〜数日
コスト 100万〜1億ドル超 レンタルで0〜100ドル
目的 知識+スキル スタイル、形式、狭いドメインの挙動
リスク 不安定な損失、台無しのチェックポイント 小さなデータセットへの過学習
失敗の形 数か月後に発覚する静かなデータバグ 汎用スキルの破滅的忘却
再現可能? まれ(データ非公開) はい(データセットがリポジトリに同梱)
データソース 公開ウェブ、コード、書籍、ライセンス契約アーカイブ あなたのプロンプトと理想の回答
誰にできるか 資金豊富な研究所 あなた、今週末にでも

ファインチューニングはダイヤルを調整するだけで、知識は追加しない。7Bに会社のトーンを教えるのはLoRAで一晩。5万件の社内文書を教えるのは学習ではなく検索(RAG、ファインチューニング)。

ファインチューニングにできることとできないこと。正しく狙いを付けるために。

  • できる:出力形式、トーン、用語、拒否スタイル、ツール呼び出し構文、狭いタスクの確実な遂行。
  • できる:大きなモデルから小さなモデルへ、1つの狭いタスクを蒸留。
  • (確実には)できない:新しい事実の追加、弱い推論の修正、カットオフの延長、小さいモデルを大きくすること。
  • ルール:問題が「知らない」なら検索。「振る舞わない」ならファインチューニング。

チェックポイント、マージ、ダウンロードされるもの

  • 学習は途中でチェックポイントを保存する。リリースは通常、最終instruct段階の重み——手に入るのは完成したアシスタントで、それを作った過程ではない。
  • 「マージ」は同じベースモデルの複数ファインチューニングを平均または補間する(モデルスープ)。学習は行われず、親の中間に着地することの多い重みの演算。Hugging Faceで人気、安価、時折卓越。
  • 系統が不明ならライセンスも不明。マージはすべての親の条件を継承する(オープンウェイト対クローズドAPI)。
  • チャットモデルの元のベース重みが公開されることもある——手に取るのは補完型ワークロードかファインチューニング基盤としてだけ。
  • オープンリリースが最終段階で止まる理由。事前学習データと中間チェックポイントは高価な競争資産で、完成済み重みはデモにすぎない。
  • コミュニティのinstructモデルはポストトレーニングのレシピとデータセットを共有する。だから多くが交換可能に感じる。同じベース、同じ段階2/3の定番手順。
  • モデルカードにデータと段階を明記するリリースを選ぶこと。文書化された最終チェックポイントは、煽られたものより長持ちする。

関連: ファインチューニング · RAG · オープンウェイト対クローズドAPI · パラメータ