【LLM論文を読む】RAG vs ファインチューニング

  • 2024/1/16にMicrosoftから「RAG vs ファインチューニング:パイプライン、トレードオフ、農業におけるケーススタディ」というarxiv論文が出てました。
  • 特定領域に固有の知識(この論文では農業関連データ)をLLMアプリケーションの回答に取り入れる手法として、RAGと微調整を比較検討した研究のようです。

arxiv.org

概要(機械翻訳

大規模言語モデル(LLM)のアプリケーションを構築する際、開発者が独自のデータやドメイン固有のデータを取り入れる一般的な方法が2つある: それは、RAG(Retrieval-Augmented Generation)と微調整(Fine-Tuning)である。RAGはプロンプトを外部データで補強し、Fine-Tuningは追加知識をモデル自体に組み込む。しかし、両アプローチの長所と短所はよく理解されていない。本論文では、微調整とRAGのためのパイプラインを提案し、Llama2-13B、GPT-3.5、GPT-4を含む複数の一般的なLLMに対する両者のトレードオフを示す。我々のパイプラインは、PDFから情報を抽出し、質問と回答を生成し、微調整のためにそれらを使用し、結果を評価するためにGPT-4を活用することを含む、複数の段階から構成される。我々は、RAGと微調整のパイプラインの異なるステージの性能を評価するためのメトリクスを提案する。農業データセットについて詳細な研究を行う。農業という産業はAIがあまり浸透していないため、破壊的となりうるアプリケーションを研究している―農家に対して、その場所に特化した洞察を提供できるかどうか。その結果、我々のデータセット生成パイプラインが地理固有の知識を取り込むのに有効であること、そしてRAGと微調整の定量的・定性的な利点を示すことができた。モデルを微調整すると、精度が6 p.p.以上向上し、これはRAGによって累積され、精度はさらに5 p.p.向上した。また、ある実験では、微調整されたモデルが、地理を越えた情報を活用して特定の質問に回答し、回答の類似度が47%から72%に増加したことを実証した。全体として、この結果は、LLMを使用して構築されたシステムが、特定の産業にとって重要な次元にまたがる知識にどのように対応し、取り込むことができるかを示しており、他の産業領域におけるLLMのさらなる応用への道を開くものである。

メモ

  • 論文の主旨は「RAG(拡張検索生成)とファインチューニング(微調整)を適切に組み合わせると回答の質をより改善できます」というものです。
  • 方法論はオーソドックスなものだと思います。PDFベースの農業関連資料から情報を抽出し、それをもとにGPT-4でQA形式のデータセットを作成、このデータセットを使ってLLM(GPT-4とLlama-2-13B)を微調整しています。
  • その後、LLMに対して農業関連の質問を投げ、微調整の有無とRAG利用の有無で分けて、比較評価しています。
  • 結論部分で微調整とRAGの特徴がまとめられています。

  • 全体としては一般的な知見どおりだと思いますが、気になったのが、微調整においても「回答の正確さ(Accuracy)」が「効果的(Effective)」と位置付けられている点です。
  • 一般論では、微調整でLLMに正確な知識を追加するのは簡単ではないはずですから(それゆえにRAGが推されている)本当に効果的だとすれば嬉しいです。
  • ということで、これに関連するセクションをみると、どうやら「GPT-4では微調整によって回答の正確性が向上した可能性があるが、Llama-2では正確性が向上しなかった」という微妙な結果だったようです。

  • この研究ではいずれもGPT-4に指示して評価させているので、GPT-4の回答もGPT-4が評価していることに留意が必要かもしれません。「正確さ(Accuracy)」に加えて「完全な正解(Fully Correct)」も評価しているのは、GPT-4による前者の評価基準が曖昧だったためのようです。

雑感

  • 論文自体は「RAGと微調整をうまく組み合わせましょう」というまとめ方になっていますが、結果を見る限り、この手のQAタスクではRAGを使うだけでよさそう(わざわざ微調整を組み合わせるのはどう見てもコスパが良くない)という感想を持ちました。
  • 一方、Llama-13Bで微調整による正確性向上がまったく見られないのは、いくらなんでも不思議な感じもします。モデルが小型だからか、データセットとの相性が悪かったのか?