メインコンテンツまでスキップ

ファインチューニング vs プロンプティング vs RAG

中級
What you'll learn
  • モデルが思いどおりに動かないときに手にできる3つのレバー
  • 実際に効く順番 — そしてなぜファインチューニングはほぼ絶対にステップ1ではないか
  • RAGが正しい修正となる場合と、やり過ぎになる場合
  • ファインチューニングが本当に得意なこと(そして苦手なこと)
  • 実際の本番システムで3つがどのように組み合わさるか

モデルが思いどおりに動かないとき、レバーは3つあります — そして人々は最も高価なものに真っ先に手を伸ばします。ここでは、実際にうまくいく順番を示します。

この順番で試す

Guided walkthrough1 of 3
  1. より明確な指示、例、役割、出力の制約(/docs/prompting/basics を参照)。問題の大部分を解決し、追加コストはかからず、反復は即座にできる。『モデルがXを苦手としている』のほとんどは、実は『プロンプトが曖昧だった』だと判明する。

意思決定の表

あなたの問題手を伸ばすべきもの
曖昧/誤った出力、誤ったフォーマットプロンプティング
あなたのデータを知らない / 現在の情報が必要RAG
非常に特定のスタイル/挙動を、一貫して、規模で必要ファインチューニング
アクションを実行する必要がある(これらではなく、ツール利用/エージェント)
どのレバーがどの問題を解決するか
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。
1 / 4

なぜ人々は誤るのか

ファインチューニングは「モデルに教える」ことのように聞こえるので、本物の解決策のように感じられます。しかしそれは最も遅く、最も高価で、最も柔軟性に欠ける選択肢であり、新しい知識をうまく追加できず(それはRAGの仕事です)、下手にやってしまいがちです。まずはプロンプティングとRAGを出し切りましょう。たいていステップ3は不要です。

Watch out
  • フロンティアモデルをあなたのデータでファインチューニングしても、新しい事実を確実に追加することはない — スタイルと挙動をシフトさせる。事実は依然としてハルシネーションする。
  • ファインチューニングされたモデルはそのベースバージョンに固定される。ベンダーがより良いベースを出したら、再訓練するか行き詰まるかだ。
  • 悪い訓練データは悪い挙動を増幅する — 平凡なデータセットはモデルを悪化させる、良くはしない。
  • 『ファインチューニングが必要』の要求のほとんどは、実は『プロンプトが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
  1. モデルがタスクに対して曖昧でフォーマット外の答えを返します。最初に何を試しますか?
  2. あなたのモデルは社内wikiを知りません。どのレバーですか?
  3. ファインチューニングが実際に得意なのは何ですか?
  4. 成熟した本番システムはどの組み合わせの形をしていますか?
Key takeaways
  • モデルが思いどおりに動かないときの3つのレバー:プロンプティング、RAG、ファインチューニング — この順番で。
  • プロンプティングは『モデルがXを苦手としている』苦情の9/10をゼロコスト、即時反復で修正する。
  • RAGはギャップが不足している情報や最新の情報のときに正しい修正 — ファインチューニングは事実の追加には信頼できない。
  • ファインチューニングは規模における一貫したスタイル/フォーマット/挙動の最終手段であり、それを正当化するために数百から数千の高品質な例と呼び出し量を必要とする。
  • 実際の本番システムでは3つが合成する:強いプロンプト + RAG + 狭いファインチューニング。

次に読む