目安: 50分。演習の状態: 未実行 (not-run)。本文は学習ガイドであり、動作や品質の実測記録ではありません。
前提となる章: SFT・LoRA・QLoRAで振る舞いを変える
独自の概念図。矢印は依存関係や判断の順序を示し、性能の実測を表さない。
- 1失敗を分類
- 2prompt・検索・学習の仮説
- 3データと予算
- 4固定評価
- 5採用か仮説へ戻る
学習目標
- RAG、SFT、継続事前学習、選好最適化を入力データで区別する
- 退行とデータコストを含めた実験計画を作る
仕事の役割
- 学習者: 仮説・データ・評価を設計する
- モデル: 指定した変換を試す
- アプリ: 制限・検証・権限を保証する
入力 → 工程 → 出力
| 入力 | 工程 | 出力 |
|---|---|---|
| 失敗分類、利用可能データ、評価基準、計算予算 | 小さい変更から方式を選び対照実験する | 採用理由、期待する改善、退行条件、打ち切り条件 |
継続事前学習は文書分布への適応
継続事前学習は既存モデルに対して、追加の文章を用い次のtoken予測などを続ける方法である。大量の専門文書の語彙・文体・分布に慣らす候補となるが、質問と模範回答で指示の守り方を教えるSFTとは目的とデータが異なる。
正しい専門文書を与えても、その文書の事実をいつでも正確に引用する保証はない。古い知識の混入、訓練データの記憶、一般能力の退行が起こり得る。まずRAGや小規模SFTで解決できないかを確認し、必要なデータ量、利用権、計算予算、分野外の評価を揃える。
選好最適化は「どちらが望ましいか」を学ぶ
DPOなどの選好最適化では、同じpromptに対する選ばれた回答と退けられた回答の組を使う。丁寧さ、簡潔さ、根拠不足時の態度などの方針を調整する候補である。何を良いと判定するかが曖昧なら、その曖昧さを学習へ持ち込む。
長い答えを常に好む採点者、特定の言い回しを好む採点者などの偏りに注意する。好まれた答えが事実として正しいとは限らない。SFT、選好最適化、評価の各データが重複していないか確認する。初心者の初回演習では説明と設計までとし、報酬や選好の複雑な学習を急がない。
次tokenの学習は Transformersのcausal language modeling、教師ありの例は TRL SFTTrainer、chosen/rejectedの回答は TRL DPOTrainerのデータ形式 を参照する。目的とデータ契約が異なり、選好が事実性の保証になるわけではない。
最も小さい変更で仮説を検証する
問題が「最新版を知らない」なら資料更新とRAG、「JSONを守らない」ならschema検証・prompt・SFT、「用語の分布が大きく違う」ならtokenizer分析と専門コーパスの適応検討、「回答の方針が揃わない」なら採点基準の明確化と選好最適化が候補になる。
どの方法でも、基準モデル、同一評価、退行チェック、再現できる設定が必要である。改善しなかった場合も、検索・データ品質・モデル容量・推論設定・評価のどこに原因があるかが分かれば実験として価値がある。
方式の比較
| 方式 | 目的 | 入力 | 重みを変更 | 評価 | 費用の考え方 |
|---|---|---|---|---|---|
| Prompt/通常コード | 指示・形式・検証を改善 | 指示とschema | いいえ | 形式遵守とタスク達成 | 低い出発点 |
| RAG | 外部資料・更新・出典 | 権限のある文書とindex | いいえ | 検索recall、引用一致、棄権 | index更新と検索・生成 |
| SFT | 望ましい振る舞いの例示 | 入力と模範出力 | はい | タスク精度、形式、退行 | データ作成と学習 |
| LoRA / QLoRA | 更新のメモリ負担を下げる実装方法 | baseとadapter学習用データ | はい | 上記の目的に対応する評価 | 全重み更新より軽量な候補。activation等は残る |
| 継続事前学習 | ドメインの文章分布への適応 | 権利確認済みコーパス | はい | ドメイン課題と一般能力の退行 | データ整備と計算が大きくなりやすい |
| DPO等の選好最適化 | 望ましい回答方針の調整 | prompt、chosen、rejected | はい | 独立した選好評価と事実性 | 比較評価データと学習 |
自分で進める工程
- 失敗を一種類に絞る
- 学習以外の対処を基準に置く
- 必要データの種類と量を見積もる
- 対象と非対象の評価を用意する
- 改善しなければ前段の仮説へ戻る
品質を確認する
- RAG、SFT、継続事前学習、選好最適化を入力データで区別する
- 退行とデータコストを含めた実験計画を作る
- 学習の種類と重み更新方式を別の列にしているか
失敗を切り分ける
| 注意すること | 具体的な確認方法 |
|---|---|
| DPOを事実の検証器として扱わない | 事実の裏付けを、好みや文体の評価とは別に確認する。 |
| 継続事前学習だけで安全な医療支援になるとは考えない | 用語課題では出典、否定、単位を確認する。医療判断は人の確認を経る。 |
演習: 継続事前学習・選好最適化と選び方
状態: 未実行 (not-run)。
最新版の仕様、JSON形式、専門文体、回答の長さという4課題に方式を割り当てる
提出するもの: 方式・入力データ・改善指標・リスクの対応表
完了の確認: 学習の種類と重み更新方式を別の列にしているか
実験記録用ワークシートに計画・条件・観察を記録する。未測定値は null とし、推定値は式と仮定を残します。
MENTAL MODEL / メモリ
モデルの重さを、分けて考える。
重みとKVキャッシュは別々に増える。下の値は設計用の概算です。
GBは10⁹ byte。KVは32層・8 KV heads・128 head dim・FP16・batch 1の仮定。量子化メタデータ、実行バッファ、OS、モデル固有の構造は別途必要。MoEでは総重みとactive parametersを分けます。
出典
公開日は資料の日付、確認日は内容を参照した日です。コミュニティの観測は公式の確定事項と区別します。
01