ファインチューニング vs プロンプティング vs RAG
- モデルが思いどおりに動かないときに手にできる3つのレバー
- 実際に効く順番 — そしてなぜファインチューニングはほぼ絶対にステップ1ではないか
- RAGが正しい修正となる場合と、やり過ぎになる場合
- ファインチューニングが本当に得意なこと(そして苦手なこと)
- 実際の本番システムで3つがどのように組み合わさるか
モデルが思いどおりに動かないとき、レバーは3つあります — そして人々は最も高価なものに真っ先に手を伸ばします。ここでは、実際にうまくいく順番を示します。
この順番で試す
Guided walkthrough1 of 3
- より明確な指示、例、役割、出力の制約(/docs/prompting/basics を参照)。問題の大部分を解決し、追加コストはかからず、反復は即座にできる。『モデルがXを苦手としている』のほとんどは、実は『プロンプトが曖昧だった』だと判明する。
- ギャップが不足している情報や最新の情報(あなたの文書、あなたのデータ、現在の事実)なら、RAG(/docs/foundations/rag)を加える。モデルに手を触れずに知識を更新可能かつ引用可能に保てる — 文書を差し替えれば次の答えにそれが反映される。
- ファインチューニングはあなたの例でモデルをさらに訓練する。プロンプティング + RAGでも一貫したスタイル、フォーマット、タスクの挙動が得られず、しかも高品質な例が多数あり、それを正当化できる利用量があるときにだけ手を伸ばす。
意思決定の表
| あなたの問題 | 手を伸ばすべきもの |
|---|---|
| 曖昧/誤った出力、誤ったフォーマット | プロンプティング |
| あなたのデータを知らない / 現在の情報が必要 | RAG |
| 非常に特定のスタイル/挙動を、一貫して、規模で必要 | ファインチューニング |
| アクションを実行する必要がある | (これらではなく、ツール利用/エージェント) |
どのレバーがどの問題を解決するか
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。1 / 4
なぜ人々は誤るのか
ファインチューニングは「モデルに教える」ことのように聞こえるので、本物の解決策のように感じられます。しかしそれは最も遅く、最も高価で、最も柔軟性に欠ける選択肢であり、新しい知識をうまく追加できず(それはRAGの仕事です)、下手にやってしまいがちです。まずはプロンプティングとRAGを出し切りましょう。たいていステップ3は不要です。
- フロンティアモデルをあなたのデータでファインチューニングしても、新しい事実を確実に追加することはない — スタイルと挙動をシフトさせる。事実は依然としてハルシネーションする。
- ファインチューニングされたモデルはそのベースバージョンに固定される。ベンダーがより良いベースを出したら、再訓練するか行き詰まるかだ。
- 悪い訓練データは悪い挙動を増幅する — 平凡なデータセットはモデルを悪化させる、良くはしない。
- 『ファインチューニングが必要』の要求のほとんどは、実は『プロンプトが40行の場当たり的なルール』であり — まずプロンプトをリファクタリングしろ。
:::tip 組み合わせられる 強力なシステムは、しばしば良いプロンプト + 知識のためのRAGであり、ファインチューニングは狭い挙動上のニーズのために取っておかれます。これらは相互排他的ではありません。 :::
具体例:『モデルが自社製品について質問に答えられない』
# Wrong first move: fine-tune on the product manual. # Right first move: retrieve the relevant chapter and inject it. # 1. PROMPTING (baseline) System: "You are a support agent for Acme Widgets. Be concise, cite doc sections." User: "Does the Widget Pro support Bluetooth 5.3?" # Fails — model has no idea what a Widget Pro is. # 2. + RAG (usually enough) System: "You are a support agent for Acme Widgets. Be concise, cite doc sections." Context: [top-3 chunks from product manual retrieved by embedding search] User: "Does the Widget Pro support Bluetooth 5.3?" # Works — model reads the retrieved specs and answers with a citation. # 3. + Fine-tuning (only if house voice / format is still drifting after 1+2) # Train on 500-2000 (prompt, ideal answer) pairs to lock in the style — NOT to teach facts.
自己チェック
0/4- モデルが思いどおりに動かないときの3つのレバー:プロンプティング、RAG、ファインチューニング — この順番で。
- プロンプティングは『モデルがXを苦手としている』苦情の9/10をゼロコスト、即時反復で修正する。
- RAGはギャップが不足している情報や最新の情報のときに正しい修正 — ファインチューニングは事実の追加には信頼できない。
- ファインチューニングは規模における一貫したスタイル/フォーマット/挙動の最終手段であり、それを正当化するために数百から数千の高品質な例と呼び出し量を必要とする。
- 実際の本番システムでは3つが合成する:強いプロンプト + RAG + 狭いファインチューニング。