核心命題:SFTで学習できない問題は、「エポックを増やす」ことでは解決しない。問題によってはエポック追加で1%しか改善しないが、戦略を変えると12.5%向上する。本記事は「どの戦略でどの病を治すか」に焦点を当てた、SFT失敗修復の完全なソリューションライブラリである。
論文: Why Supervised Fine-Tuning Fails to Learn: A Systematic Study of Incomplete Learning in Large Language Models
会議: ACL 2026 | 所属: Tencent Hunyuan × UNSW
arXiv: https://arxiv.org/abs/2604.10079一、「すべての病を一つの檻に」から「5つのメス」へ
SFTを行う者がモデルが学習しない場合にとる本能的な反応は、エポックを追加することである。
本論文は実験を通じて、このような「盲目的なエポック追加」の効率が極めて低いことを証明した。知識欠落型の未学習サンプル(根本原因I)の場合、エポック追加はわずか1~2%の改善しかもたらさない。しかし、CPT(Continual Pre-Training、継続的事前学習)による知識強化策に切り替えた場合、効果は+8~17%であり、一桁も違う。
著者の核心的な論点は、不完全学習現象(ILP、Incomplete Learning Phenomenon)は単一の疾患ではなく、5つの病因からなる症候群であるということだ。それぞれの病因には異なる「メス」が必要である。10の標準SFT(Supervised Fine-Tuning、教師ありファインチューニング)データセットにおいて、平均15.3%±2.1%の訓練サンプルが未学習状態にあり、この数字はQwen、LLaMA、OLMo2で安定的に存在する。
戦略の分解に入る前に、この問題の基本的な枠組みを理解しよう。著者は三段階の診断プロセスを提案している:
そして、検出を可能にするキーテクノロジーがMC変換(Multiple-Choice Conversion、多肢選択変換)である。これはSFTの教師応答を多肢選択形式に変換し、pass@5 < 0.2で「未学習サンプル」と判定するものだ。
二、メス1:CPT知識強化 - SFTが知識の空白地帯に遭遇した時
治療対象の敵
根本原因I:事前学習知識の欠如。 基盤モデルが事前学習コーパスで関連知識を一度も見たことがない場合である。希少疾患の診断基準、特定の法令番号、低頻度の金融商品名などが該当する。SFTは「無から有を生み出す」ことはできない。
なぜエポック追加が無駄なのか
SFTの最適化シグナル強度は限られているため、数エポックの勾配更新では、モデルパラメータ内に存在しなかった知識表現を無から構築することはできない。シマウマを見たことがない人に「シマウマ vs 馬」の選択問題を1万問解かせても、その人は依然として「縞模様」の概念を持たないのと同じだ。
治療プロセス
Step 1: 未学習サンプルからOpenIEを用いて知識トリプレット (h,r,t) を抽出
Step 2: 基盤モデルでBoN-10探索、pass@10 < 0.2 → 「未知の知識」としてマーク
Step 3: マルチソース検索 → WikiData + Google Search + OpenAI-o1 API
Step 4: 強化コーパスを構築(専門:一般 = 0.8:0.2 で混合)
Step 5: 基盤モデルでCPT(継続的事前学習)
Step 6: 標準SFT治療効果
| データセット | モデル | CPT前 | CPT後 | 向上幅 |
|---|---|---|---|---|
| MedQA | 7B | 42.1% | 54.6% | +12.5% |
| LegalBench | 7B | 51.3% | 60.7% | +9.4% |
| LegalBench | 14B | 53.8% | 67.9% | +14.1% |
| FinanceBench | 7B | 38.5% | 44.2% | +5.7% |
重要な発見:モデルが大きいほど(14B vs 7B)、CPTの恩恵は大きくなる(+14.1% vs +9.4%)。大規模モデルの方が知識吸収能力が高い。
三、メス2:CPTキャリブレーション - モデルの「誤った信念」を正す
治療対象の敵
根本原因II:SFTの教師データと事前学習知識の衝突。 基盤モデルが事前学習段階で強い誤った信念を形成しているケースだ。例えば「フランス大統領」という知識について、モデルが事前学習コーパスで「オランド大統領」という記述を大量に見ており、SFTでは正しい答え「マクロン」とラベル付けされていても、事前学習の事前分布が強すぎる場合などがこれにあたる。
メス1との重要な違い
| CPT知識強化(根本原因I) | CPTキャリブレーション(根本原因II) | |
|---|---|---|
| 目標 | 知識をゼロから構築 | 誤った事前分布を上書き |
| データ量 | 大(完全な知識体系の構築が必要) | 中程度(バイアス補正用データ) |
| CPTステップ数 | 多い | 少なめ |
| コアとなる課題 | 情報量が十分であること | 強いシグナルが古い事前分布を圧倒すること |
治療プロセス
1. 基盤モデルの高信頼度エラーを検出(誤った選択肢への確率 > 0.9)
2. 信頼できる外部知識を検索し、バイアス補正用データとして利用
3. CPTで内部表現を再調整
4. SFTを再実行
治療効果
ARCが+2.8%、CommonQAが+2.4%向上。衝突率(基盤モデルの高信頼度エラーの割合)が顕著に低下した。
四、メス3:動的バケット分割 - 矛盾するデータを「同じ釜の飯を食わせない」
治療対象の敵
根本原因III:SFTデータ内部の矛盾。 同じ訓練セット内に、意味的に類似しているがラベルが矛盾するサンプルペアが存在する。例えば、ある疾患の潜伏期間について尋ねる二つのサンプルがあり、一方には「3~7日」、もう一方には「1~14日」とラベル付けされているケースだ。これらが同じバッチに共起すると、勾配の方向が逆になり、正味の勾配がゼロに近づき、どちらも学習できなくなる。
単純な削除がなぜダメなのか
| 方案 | 効果 | 問題点 |
|---|---|---|
| 矛盾サンプルの直接削除 | +1.5% | 情報損失、削除基準の曖昧さ |
| 動的バケット分割 | +2.8% | 全情報を保持しつつ衝突のみを隔離 |
治療プロセス
1. Sentence-BERTで全訓練サンプルをエンコード
2. 衝突グラフを構築:Sim(i,j) > 0.85 かつラベル矛盾 → エッジを追加
3. グラフ彩色でサンプルをバケットに割り当て:隣接ノード(矛盾サンプル)は異なる色(バケット)に
4. 訓練:各ミニバッチを単一のバケットからのみサンプリング
5. Kステップごとに再評価し、バケットを動的に更新核心理念は情報の総量を保持し、情報の提示方法のみを変更することだ。これにより、矛盾する可能性のある二つの知識ポイントが、一つのバッチの勾配計算に同時に現れないようにする。
五、メス4:グローバルシャッフル+動的リサンプリング - 学習時の忘却に対抗する
治療対象の敵
根本原因IV:左側忘却。 SFTデータがソース順に並べられている場合(最初にMedQAをすべて、次にLegalBenchをすべて)、後期の訓練が初期の学習成果を「上書き」してしまう。最初の10%のデータのROUGE-Lが最大で29%も低下する。
グローバルシャッフル
# 悪い例(順序通り→忘却)
dataloader = [medqa_all, legal_all, finance_all]
# 良い例(グローバルにランダム混合→忘却を防止)
dataloader = RandomSampler(medqa + legal + finance, shuffle=True)動的リサンプリング
Kステップごとに各データサブセットの検証正解率を監視する。あるサブセットの低下が閾値を超えた場合、そのサブセットから追加サンプリングして現在のバッチに加える。これは「忘れ去られた者により多くの訓練機会を与える」という考え方である。
治療効果
| データ位置 | 元のROUGE-L | 対策後 | 向上幅 |
|---|---|---|---|
| 先頭10%(最も早い) | 0.41 | 0.53 | +29% |
| 中間50% | 0.48 | 0.55 | +14.6% |
| 末尾10% | 0.57 | 0.56 | -1.6% |
先頭10%のデータは29%向上したが、末尾10%はわずか1.6%の微減に留まった。コストは極めて小さく、利益は非常に大きい。
六、メス5:漸進的エポック - 学びたくないのではなく、学びが足りていない
治療対象の敵
根本原因V:最適化不足。 固定エポック下では、簡単なサンプルが多く(約80%を占める)、個々の勾配は小さいものの、累積されて平均勾配の方向を支配する。難しいサンプル(5%)の勾配は大きいが平均化されてしまい、モデルパラメータの更新方向は簡単なサンプルによって定義されてしまう。
治療プロセス
# 従来の方法(固定エポック)
for epoch in range(fixed_epochs):
train()
# 漸進的エポック(適応的停止)
while val_performance_improving():
train_one_epoch()治療効果
| モデル | 向上幅 |
|---|---|
| Qwen2.5-7B | +1.9% |
| LLaMA3-8B | +1.8% |
| OLMo2-7B | +1.8% |
七、治療戦略の選択ロジック
意思決定フロー
未学習サンプル検出通過(pass@5 < 0.2)
↓
基盤モデルのゼロショット正解率は?
├── < 25%(ほぼランダム) → 根本原因I → メス1(CPT知識強化)
├── 低いが高信頼度エラー → 根本原因II → メス2(CPTキャリブレーション)
└── まずまず、または正常 →
├── 意味的に類似したサンプルでラベルが矛盾? → 根本原因III → メス3(動的バケット分割)
├── データが訓練シーケンスの前半にある? → 根本原因IV → メス4(シャッフル+リサンプリング)
└── 困難サンプルの損失がまだ下降中? → 根本原因V → メス5(漸進的エポック)実施優先順位の提案
1. まずゼロコスト戦略を実行:グローバルシャッフル(メス4)+ 漸進的エポック(メス5)。データローダーと停止条件を変更するだけなので、追加の計算リソースは不要。
2. 次に低コスト戦略を実行:動的バケット分割(メス3)。Sentence-BERTエンコーディングとグラフ彩色のみで、計算オーバーヘッドはごくわずか。
3. 最後に高レバレッジ戦略を起動:CPT(メス1と2)。外部データ検索と追加の事前学習が必要となり、コストは高いが、見返りも最大。
本稿は5種類の解決策を主軸に、それぞれの「メス」の適用疾患、操作手順、主要データ、実装コストを完全に解説した。