AI・機械学習
上級

RAFT vs RAG比較(ラフトバーサスラグヒカク)

RAFTとRAG、標準SFT、DSFTの比較分析。RAFTはRAGパイプラインのLLMをファインチューニングしてretriever出力の文書群からの情報抽出を最適化する手法で、推論コストはRAGと同等だが精度が大幅に向上する。各手法の精度、コスト、レイテンシ、運用負荷のトレードオフを詳細に比較する。

0 回閲覧
0 いいね

比較の背景と目的

LLMをドメイン固有のQAタスクに活用する手法は大きく4つに分類される。RAG(Retrieval-Augmented Generation)、SFT(Supervised Fine-Tuning)、DSFT(Domain-Specific Fine-Tuning)、そしてRAFT(Retrieval Augmented Fine-Tuning)である。各手法には固有の長所と短所があり、ユースケースに応じた適切な選択が重要である。

手法概要知識源
RAGretrieverで文書取得→LLMに渡すコンテキスト文書
SFT汎用QAデータでファインチューニングパラメトリック知識
DSFTドメイン固有データでファインチューニングドメインパラメトリック知識
RAFTRAGコンテキストを含むデータでファインチューニングコンテキスト + パラメトリック

この比較では、論文「RAFT: Adapting Language Model to Domain Specific RAG」の実験結果と、実務での経験を踏まえて各手法の特性を詳細に分析する。

精度比較

ベンチマーク結果サマリー

論文で報告された主要ベンチマークでの性能比較を以下に示す。数値はタスクとモデルにより異なるが、相対的な傾向を表している。

手法PubMedQAHotpotQAドメイン固有QA汎用QA
RAG(ベースLLM)中中中中〜高
SFT低〜中低〜中低中
DSFT中中中〜高低〜中
RAFT高高高中

RAFTが他の手法を一貫して上回る理由は、以下の3点に集約される:

  1. ノイズ耐性:distractor文書への耐性が訓練されているため、retrieverの精度が完璧でなくても高い性能を維持
  2. 情報抽出の精度:oracle文書から必要な情報を正確に抽出する能力がCoT訓練で強化されている
  3. フォールバック能力:P比率の設計により、retrieverが失敗した場合にパラメトリック知識で回答する能力も維持

ドメイン固有タスクでの差異

ドメイン固有タスクでは、RAFTとRAGの差が最も顕著になる。RAGは汎用LLMのコンテキスト理解能力に依存するため、専門用語や複雑な推論を要するタスクでは限界がある。RAFTはドメイン固有のコンテキストから情報を抽出する能力を直接訓練するため、この限界を大幅に緩和する。

具体的な数値例として、医療QAタスクでは:

  • RAG: 正答率 55〜65%
  • DSFT: 正答率 60〜70%
  • RAFT: 正答率 75〜85%

この差は、医療文書特有の複雑な表現と、類似症例間の微妙な違いを識別する能力に起因する。

コスト比較

初期コスト

コスト項目RAGSFTDSFTRAFT
データセット構築低(文書インデックスのみ)中(QAペア作成)中(ドメインQAペア)高(oracle/distractor割当+CoT生成)
訓練計算コストなし中中中〜高(系列長増加分)
Retriever構築中(Embedding計算)なしなし中(同左)
合計初期コスト中中中高

RAFTの初期コストは他の手法より高い。これは主にデータセット構築の工程(oracle/distractor文書の選定、CoT回答の生成)に起因する。しかし、この初期投資は性能向上という形で回収される。

運用コスト

コスト項目RAGSFTDSFTRAFT
推論あたりのAPI/計算コスト高(retriever + LLM)低(LLMのみ)低(LLMのみ)高(retriever + LLM)
Retrieverインフラ中(ベクトルDB運用)なしなし中(同左)
文書更新時のコスト低(インデックス更新)なしなし高(再訓練が必要な場合あり)
モデル更新コストなし(ベースLLM変更のみ)中(再訓練)中(再訓練)中〜高(再訓練)

推論時のコストはRAGとRAFTでほぼ同等である。どちらもretrieverによる文書取得とLLMによる回答生成の2段階を要する。ただし、RAFTは高い精度により再質問や人手修正の頻度が減少するため、総合的な運用コストはRAFTの方が低くなるケースが多い。

レイテンシ比較

処理段階RAGSFTDSFTRAFT
Retriever検索50〜200msなしなし50〜200ms
コンテキスト構築10〜50msなしなし10〜50ms
LLM推論(入力処理)200〜500ms100〜200ms100〜200ms200〜500ms
LLM推論(出力生成)500〜2000ms500〜2000ms500〜2000ms800〜3000ms
合計760〜2750ms600〜2200ms600〜2200ms1060〜3750ms

RAFTのレイテンシはRAGより若干長くなる傾向がある。これはCoT形式の回答を生成するため、出力トークン数が増加することに起因する。ただし、CoT部分を非表示にして最終回答のみを表示する運用であれば、ユーザー体感のレイテンシ差は小さい。

運用負荷比較

インフラ要件

要件RAGSFTDSFTRAFT
ベクトルDB必要不要不要必要
GPU(推論)必要必要必要必要
GPU(訓練)不要必要必要必要
文書インデックス管理必要不要不要必要
モデルバージョン管理低中中高

RAFTはRAGとファインチューニングの両方のインフラを必要とするため、運用負荷が最も高い。ただし、近年のMLOpsツール(MLflow、Weights & Biases、Hugging Face Hub)の成熟により、モデルバージョン管理のコストは低下傾向にある。

知識更新の柔軟性

シナリオRAGSFTDSFTRAFT
新文書の追加即座(インデックス更新)不可(再訓練要)不可(再訓練要)部分的(インデックス+再訓練推奨)
既存情報の修正即座(文書差替)不可不可部分的
大規模コーパス更新中(再インデックス)高(全再訓練)高(全再訓練)高(全再訓練+再インデックス)

知識更新の柔軟性はRAGが最も優れている。RAFTはRAGのretriever部分の柔軟性を維持しつつ、定期的なモデル再訓練でLLM側の知識も更新する必要がある。

手法選択のガイドライン

ユースケース別推奨手法

ユースケース推奨手法理由
プロトタイプ/PoCRAG最速で構築可能、初期コスト最低
汎用QAボットRAGドメインが広く、RAFT訓練のROIが低い
ドメイン固有QA(高精度要求)RAFT精度が最重要、初期投資の回収が見込める
オフラインQA(retriever不使用)DSFTインフラコスト削減、知識更新頻度が低い
リアルタイム応答(低レイテンシ要求)SFT/DSFTretrieverなしで最速
頻繁な知識更新RAG文書差替のみで対応可能
ハイブリッド(精度+更新性)RAFT + RAG定期再訓練 + retriever更新

意思決定フローチャート

  1. retrieverを使用するか? → No → SFT/DSFTを検討
  2. ドメイン固有の精度要求が高いか? → No → 標準RAGで十分
  3. 初期投資(データセット構築+訓練)の余裕があるか? → No → 標準RAGで開始し、後でRAFTに移行
  4. 上記すべてYes → RAFTを推奨

RAFT + RAGのハイブリッド構成

実践的には、RAFTで訓練したモデルをRAGパイプラインに組み込むハイブリッド構成が最も高い性能を発揮する。この構成では:

  1. Retrieverが質問に関連する文書を取得(通常のRAGと同じ)
  2. RAFT訓練済みLLMが取得文書群から必要な情報を正確に抽出して回答を生成

このハイブリッド構成は、retrieverの進化(より良いEmbeddingモデル、リランカーの導入など)とRAFT訓練の進化を独立に追求できる利点がある。

よくある質問

Q: 既にRAGを運用していますが、RAFTに移行すべきですか?

移行の判断基準は「現在のRAGの精度が要求水準を満たしているか」と「RAFT訓練の投資対効果」の2点である。現在のRAGで十分な精度が得られている場合、RAFTへの移行は必要ない。しかし、ドメイン固有のQAで精度が不足している場合(特に、retrieverが関連文書を取得しているにもかかわらずLLMが正確な回答を生成できないケース)、RAFTによる改善効果が大きい。移行は段階的に行うことを推奨する。まず小規模なドメインサブセットでRAFT訓練のPoCを実施し、性能向上を定量的に確認してから全面移行を検討する。

Q: RAFTとRAGを組み合わせる場合、retrieverは変更すべきですか?

RAFTはLLM側の訓練手法であり、retrieverには変更を加えない。既存のretriever(BM25、Embedding検索、ハイブリッド検索など)をそのまま使用できる。ただし、RAFT訓練時のdistractor文書の選定を、実際のretrieverの出力パターンに近づけることで、より実環境に即した訓練が可能になる。具体的には、実際のretrieverのtop-k結果を分析し、典型的なdistractor文書のパターンを把握した上で訓練データを構築することが推奨される。

Q: RAFTの精度向上は小規模モデルでも得られますか?

小規模モデル(7B以下)でもRAFTの効果は確認されている。論文ではLlama2-7Bでの実験結果が報告されており、標準RAGと比較して有意な性能向上が見られた。むしろ、小規模モデルの方がRAFTによる相対的な改善幅が大きい傾向がある。大規模モデル(70B以上)はベースラインの性能が既に高いため、RAFTによる追加の改善幅は相対的に小さくなる。コスト効率の観点では、7B〜13Bモデル+RAFTが、70B+標準RAGと同等以上の性能を達成できるケースがあり、推論コストの大幅削減が可能である。

Q: RAFTの欠点は何ですか?

RAFTの主な欠点は以下の3点である。第一に、データセット構築の工数が大きい。oracle/distractor文書の選定とCoT回答の生成は手間がかかり、自動化しても品質チェックが必要。第二に、ドメインの知識が更新された場合、モデルの再訓練が必要になる。RAGなら文書を差し替えるだけで済むが、RAFTは再訓練のコストがかかる。第三に、モデルバージョン管理の複雑さが増す。ベースモデル、LoRAアダプタ、retrieverの3つのコンポーネントを管理する必要があり、MLOps成熟度が低い組織では運用負荷が高くなる。