ファインチューニング vs RAG:LLMに学習させる2つの方法
LLMに独自のプライベートドキュメントや最新のニュースを学習させたい場合、RAGかファインチューニングの2つの選択肢があります。多くの人が、誤った方を選んでしまいがちです。
ルールはシンプルです。「事実」にはRAGを、「振る舞い」にはファインチューニングを使用します。
RAG (Retrieval-Augmented Generation) これは「持ち込み可の試験」のようなものです。データはモデルの外に保持します。関連する情報を取得し、それをプロンプトに貼り付けます。
- 知識のために使用する。
- 頻繁に更新される事実のために使用する。
- 低コストである。
- 即座に更新できる。
- 出典を明示できる。
ファインチューニング これは「新しい習慣を身につける」ようなものです。特定の例を用いてモデルをトレーニングします。
- 振る舞いのために使用する。
- トーンやフォーマットのために使用する。
- 特定のスキル(専門スキル)のために使用する。
- トレーニングの実行が必要。
- 精選された例が必要。
- 事実が変わると内容が古くなる。
選び方: 「事実」が必要なのか、それとも「振る舞い方」が必要なのかを自問してください。
以下を更新する必要がある場合は、RAGを使用します:
- 製品カタログ
- 社内規定
- 日々のニュース
以下が必要な場合は、ファインチューニングを使用します:
- 特定のブランドボイス
- 厳格なJSON出力フォーマット
最善のアプローチは、多くの場合、両方を組み合わせることです。 モデルの「答え方」にはファインチューニングを、「使用する事実」にはRAGを使用します。例えば、カスタマーサポートボットであれば、プロフェッショナルな口調にするためにファインチューニングを行い、最新のヘルプ記事にアクセスするためにRAGを使用します。
まずはプロンプティングとRAGから始めましょう。ファインチューニングへの移行は、どうしても必要な場合にのみ行ってください。
これらのシナリオをこちらでテストできます: https://dev48v.infy.uk/ai/days/day10-finetune-vs-rag.html
出典: https://dev.to/dev48v/fine-tuning-vs-rag-two-ways-to-teach-an-llm-3d04
オプションの学習コミュニティ: https://t.me/GyaanSetuAi