
第7部 学習と微調整第12章
事前学習・継続事前学習・SFT
LLMは一度に完成するわけではありません。事前学習で幅広く学び、SFTや好みの学習(RLHF・DPO)で「話し相手」に仕上がるまでの道のりと、蒸留・継続事前学習の位置づけを整理します。
このページの内容(11項目)
同じモデル名なのに、「Base」と「Instruct」でまるで性格が違うのはなぜ?
Hugging Faceでモデルを探すと、Qwen2.5-0.5B と Qwen2.5-0.5B-Instruct のように、同じ名前で末尾だけ違うものが並んでいます。Base版に「日本の首都は?」と聞くと、答えずに「アメリカの首都は? フランスの首都は?」と問題文の続きを書き始めることがあります。Instruct版なら「東京です」と答えます。
この差は、学習の段階の違いから生まれます。この章では、LLMが「文章の続きを書く機械」から「頼れる話し相手」になるまでの学習ステップを順番に見ていきます。
LLMが育つ道のり:大きく2段階
ひとことで言うと
LLMの学習は、膨大な文章で「次の単語を当てる力」をつける事前学習と、その力を人の役に立つ形に整える事後学習(post-training)の2段階です。事後学習には、SFT、好みの学習(RLHF・DPO)、強化学習などが含まれます。
人の成長にたとえると、事前学習は「学校で国語も数学も歴史も幅広く学ぶ」時期。SFTは「就職して職場研修で、仕事の受け答えの型を教わる」段階。好みの学習は「先輩から『こっちの言い方のほうがお客さまに喜ばれるよ』と添削を受ける」段階です。
flowchart TD A["大量のテキスト"] --> B["事前学習
次トークン予測"] B --> C["Baseモデル"] C --> D["継続事前学習
分野・言語を追加"] C --> E["SFT
指示と回答の手本"] D --> E E --> F["好みの学習
RLHF・DPO"] F --> G["強化学習
RLVRなど"] G --> H["Instruct・Chatモデル"]
図はあくまで典型例です。SFTと好みの学習を何度か往復させたり、強化学習を大きく使ったりと、各社のレシピはさまざまです。ただ「まず広く学び、あとから使い方を整える」という骨組みはほぼ共通しています。
事前学習:ひたすら「次の単語当て」
事前学習(pre-training)では、ウェブページ、書籍、コードなどの大量のテキストを読み、「ここまでの文章の次に来るトークンは何か」を当てる練習を延々と繰り返します。これを次トークン予測(next-token prediction)と呼びます。正解は文章そのものに含まれているので、人がラベルを付ける必要がありません。
単純な練習ですが、続きをうまく当てるには文法も、事実も、論理の流れも知っている必要があります。その結果、モデルの重みの中に言語や知識のパターンが蓄えられていきます。トークンについては第2章を参照してください。
規模は桁違いです。たとえばMetaは、Llama 3を15兆(15T)トークン超のデータで事前学習したと説明しています。また2022年の「Chinchilla」論文は、計算量を最も効率よく使うには、モデルの大きさと学習トークン数を同じ割合で増やすべきだと示し、その後のモデル設計に大きな影響を与えました。
Baseモデル ベースモデル / 基盤モデル
事前学習を終えただけのモデル。知識は豊富ですが、「質問に答える」という作法を知らないので、文章の続きを書こうとします。微調整(ファインチューニング)の出発点として配布されることが多く、名前に「Base」が付くか、何も付かないのが一般的です。
もう一歩深く: 量だけでなく「質」
事前学習のデータは、集めたまま使うわけではありません。重複した文章を取り除き、質の低いページや有害な内容をふるい落とし、言語やコードの割合を調整します。同じ計算量でも、データの選び方で出来上がるモデルの賢さは大きく変わります。各社が学習データの詳細をあまり公開しないのは、ここが競争力の源だからです。
事前学習は、大量のGPUを数週間〜数か月動かす大事業です。個人や一般企業が自前でゼロから行うことはまれで、多くの場合は公開されたBaseモデルやInstructモデルを出発点にします。
継続事前学習:得意分野を「追加で」学ぶ
継続事前学習(continued pre-training / continual pre-training)は、学習済みのモデルに、さらに特定の種類のテキストを次トークン予測で読ませることです。やっていることは事前学習と同じで、データの中身が違います。
- 分野への適応: 医療、法律、社内文書など、特定分野の文章を大量に読ませる。2020年の論文「Don't Stop Pretraining」は、分野のテキストで追加の事前学習をすると、その分野のタスクの成績が上がることを示しました。
- 言語の強化: 英語中心のモデルに日本語のテキストを追加で読ませ、日本語を得意にする。
- 長い文脈への対応: 長い文書で追加学習し、扱える文脈長を伸ばす。
学校を卒業した人が、医療系の専門学校に入り直すようなものです。教わるのは「受け答えの型」ではなく、その分野の語彙や知識そのもの。だから継続事前学習のあとには、たいていもう一度SFTで受け答えを整えます。
注意: 忘れてしまう問題
新しいデータばかり読ませると、もともとできていたことが下手になる破滅的忘却(catastrophic forgetting)が起きることがあります。対策として、元の分野に近い一般的なデータを混ぜて学習するのが定番です。
SFT:手本を見せて「答え方」を教える
SFT(Supervised Fine-Tuning、教師ありファインチューニング)は、「この指示にはこう答える」という手本のペアを大量に見せて学習させることです。指示チューニング(instruction tuning)とも呼ばれます。Base版がInstruct版に変わる、いちばん大きな一歩がここです。
| 役割 | 中身の例 |
|---|---|
| system | あなたは丁寧なアシスタントです。 |
| user | 「りんご」を英語で言うと? |
| assistant | 「apple」です。 |
データは上のような会話の形で用意し、チャットテンプレート(chat template)という決まった書式で1本の文字列に変換してから学習します。モデルごとに区切り記号が違うため、Transformersの apply_chat_template のような仕組みでテンプレートを合わせるのが基本です。学習時と使用時でテンプレートがずれると、急に受け答えが崩れます。
学習のしくみ自体は事前学習と同じ次トークン予測ですが、assistantの発言部分だけを採点(損失の計算)の対象にする設定がよく使われます。ユーザーの質問文まで「当てる練習」をする必要はないからです。TRLの SFTTrainer では、プロンプトと回答を分けたデータなら既定で回答部分だけを、会話形式なら assistant_only_loss=True でassistant部分だけを採点できます。
もう一歩深く: SFTは「知識」より「型」
SFTが得意なのは、口調、出力形式(JSONで返す、箇条書きにするなど)、特定タスクのこなし方を教えることです。新しい知識を大量に覚えさせるのは苦手で、無理に教えると、もっともらしい作り話が増えることもあります。最新の社内情報を答えさせたいなら、まずは第19章のRAGを検討しましょう。
好みを教える:RLHFとDPO
SFTだけでは「正しいけれど不親切」「長すぎる」「危険な依頼にも答えてしまう」といった問題が残ります。そこで、人が2つの回答を見比べて「こちらが良い」と選んだ好みのデータ(preference data)を使って、さらに調整します。
RLHF Reinforcement Learning from Human Feedback
人間のフィードバックによる強化学習。まず好みのデータから、回答に点数を付ける報酬モデルを学習します。次に、その報酬が高くなるようにLLMを強化学習(PPOなど)で調整します。元のモデルから離れすぎないよう、ブレーキ(KL正則化)をかけるのが一般的です。
2022年のOpenAIの論文(InstructGPT)は、SFTとRLHFを組み合わせ、人による評価では13億パラメータのInstructGPTの出力が、1750億パラメータのGPT-3の出力よりも好まれたと報告しました。「大きさより、使い方の仕上げが効く」ことを示した象徴的な結果です。
DPO Direct Preference Optimization
2023年に提案された方法。報酬モデルを別に作らず、好みのペア(良い回答・悪い回答)から直接LLMを調整します。論文はRLHFの目的を式変形し、単純な分類問題のような損失で解けることを示しました。強化学習のように学習中に回答を生成し続ける必要がないので、軽くて安定しやすいのが利点です。
| RLHF(PPOなど) | DPO | |
|---|---|---|
| 使うデータ | 好みのペア | 好みのペア |
| 報酬モデル | 別に学習する | 不要 |
| 学習中の生成 | 必要 | 不要 |
| 手軽さ | 重く、調整が難しい | 軽く、試しやすい |
DPOの登場で、好みの学習は個人でも試せるものになりました。Hugging FaceのTRLには DPOTrainer があり、KTOなど派生手法のトレーナーも揃っています(ツールは第14章)。
正解を確かめられるなら強化学習:RLVR
数学の答えやプログラムのテストのように、正しいかどうかを機械的に判定できる課題では、人の好みの代わりに「正解したら報酬」という仕組みで強化学習ができます。2024年のTulu 3の報告では、これをRLVR(Reinforcement Learning with Verifiable Rewards、検証可能な報酬による強化学習)と名付けました。
2025年のDeepSeek-R1の論文は、人が書いた思考の手本に頼らず、強化学習によって推論能力を引き出せることを示しました。いわゆる推論モデルの中心にある技術で、GRPOなどのアルゴリズムも含めて第27章で詳しく扱います。ここでは「SFT → 好みの学習 → 検証可能な課題での強化学習」と、事後学習の道具箱が広がってきた、と押さえておけば十分です。
蒸留:大きな先生から小さな生徒へ
ひとことで言うと
知識蒸留(knowledge distillation)は、大きく賢いモデル(教師)の出力を手本にして、小さなモデル(生徒)を学習させる方法です。
考え方は2015年のHintonらの論文で広まりました。正解ラベルだけでなく、教師が出す「各候補の確率」まで真似させると、生徒は「どの答えとどの答えが似ているか」という細かい情報まで学べます。LLMでは、教師モデルに大量の回答を書かせ、それを生徒のSFTデータに使う簡単な形もよく「蒸留」と呼ばれます。
名人の料理を、レシピ(正解)だけでなく「ここは少し迷ったけど塩を選んだ」という判断の揺れまで含めて弟子に伝えるイメージです。
DeepSeek-R1の論文でも、大きな推論モデルの出した推論の筋道を使って、小さなモデルの推論能力を高められると述べています。小さく速いモデルの多くが、こうした大きなモデルからの蒸留で鍛えられています。
注意: 利用規約を確認
他社のモデルやAPIの出力を学習データに使う場合、利用規約やライセンスで制限されていることがあります。蒸留を行う前に、教師モデルの規約を必ず確認しましょう。
モデル名から学習段階を読み取る
公開モデルの名前や説明(モデルカード)を見ると、どの段階まで済んでいるかがおおよそわかります。
| 名前の例 | 意味 | 向いている使い方 |
|---|---|---|
| Base / 無印 | 事前学習のみ | 自分でSFTする出発点 |
| Instruct / Chat / -it | SFTや好みの学習まで済み | そのまま会話に使う |
| Thinking / Reasoning | 推論向けの強化学習まで済み | 難しい問題を考えさせる |
| Distill | 大きなモデルから蒸留 | 小さく速く使う |
命名には統一ルールがないので、最後はモデルカードの説明を確認しましょう。自分でSFTするならBase版から、手軽にLoRAで口調だけ整えたいならInstruct版から始める、という選び方が一般的です。
自分で学習させるべき? 判断の目安
「うちの業務に合わせたい」と思ったとき、いきなり学習に進む必要はありません。手間が小さい順に試すのが鉄則です。
flowchart TD A["やりたいこと"] --> B["プロンプトの工夫で
足りる?"] B -->|"足りない"| C["最新の知識・
社内情報が必要?"] C -->|"はい"| D["RAGを検討
第19章"] C -->|"いいえ"| E["口調・形式・
作業の型を教えたい"] E --> F["LoRAでSFT
第13章"] F --> G["分野の文章を
大量に読ませたい"] G --> H["継続事前学習"]
SFTや好みの学習を自分で行うときも、モデル全体を更新するフルファインチューニングは大量のGPUメモリが必要です。そこで、一部だけを学習するLoRAなどの方法がよく使われます。これが次の第13章のテーマです。
よくある誤解
SFTすれば、社内の最新情報を覚えさせられる
SFTが得意なのは答え方の型。大量の知識の追加や頻繁な更新にはRAGのほうが向いています
Baseモデルは性能が低い「未完成品」だ
知識は同じくらい持っています。答え方を教わっていないだけで、微調整の出発点としてはむしろ扱いやすいことも多いです
DPOは強化学習の一種なので、RLHFと同じくらい重い
DPOは報酬モデルも学習中の生成も要らず、SFTに近い手軽さで好みを学習できます
確認クイズ
Q1. 事前学習で、モデルは何を練習している?
「ここまでの文章の次に来るトークン」を当てる練習(次トークン予測)です。正解は文章自体に含まれるので、人がラベルを付けなくても大量に学習できます。
Q4. 数学の問題で「正解なら報酬」を与える強化学習を何と呼ぶ?
RLVR(検証可能な報酬による強化学習)です。推論モデルの学習の中心で、詳しくは第27章で扱います。
この章のまとめ
- 事前学習は膨大なテキストでの次トークン予測。結果としてできるのがBaseモデル
- 継続事前学習は、分野・言語・長文脈などを追加で読ませる。忘却に注意
- SFTは手本の会話で「答え方の型」を教える段階。チャットテンプレートを揃えることが大事
- 好みの学習にはRLHF(報酬モデル+強化学習)とDPO(直接最適化)があり、検証できる課題ではRLVRも使われる
- 蒸留は大きな教師モデルの出力で小さな生徒モデルを鍛える方法
さらに深く学ぶ
この章の内容をもう一歩掘り下げるための原典です。
- Training Compute-Optimal Large Language Models「Chinchilla」論文。同じ計算量なら、モデルを大きくするよりデータを増やしたほうがよい場合が多いことを示し、学習の常識を変えました。
- Training language models to follow instructions with human feedbackInstructGPTの論文。SFT→報酬モデル→強化学習(RLHF)という流れを示し、ChatGPT型のアシスタントの作り方の原型になりました。
- Direct Preference Optimization: Your Language Model is Secretly a Reward Model報酬モデルと強化学習を使わず、好みのペアデータから直接モデルを調整するDPOを提案。シンプルさから広く使われています。
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning検証可能な報酬による強化学習だけで、長く考える能力が自然に育つことを示した論文。小さなモデルへの蒸留も公開しました。
出典・参考
- Meta AI「Introducing Meta Llama 3」(2024年4月) — 15Tトークン超での事前学習
- Hoffmann ほか「Training Compute-Optimal Large Language Models」(Chinchilla、arXiv:2203.15556)
- Gururangan ほか「Don't Stop Pretraining: Adapt Language Models to Domains and Tasks」(arXiv:2004.10964)
- Ouyang ほか「Training language models to follow instructions with human feedback」(InstructGPT、arXiv:2203.02155) — 1.3B InstructGPTが175B GPT-3より好まれた結果
- Rafailov ほか「Direct Preference Optimization」(arXiv:2305.18290)
- Lambert ほか「Tulu 3: Pushing Frontiers in Open Language Model Post-Training」(arXiv:2411.15124) — RLVRの命名
- DeepSeek-AI「DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning」(arXiv:2501.12948)
- Hinton ほか「Distilling the Knowledge in a Neural Network」(arXiv:1503.02531)
- Hugging Face Transformers ドキュメント「Chat templates」
- TRL ドキュメント「SFT Trainer」 — completion_only_loss・assistant_only_loss(2026年10月時点、v1.16.0)
- huggingface/trl(GitHub) — SFTTrainer・DPOTrainer・GRPOTrainer・KTOTrainer(2026年10月時点で確認)