🚜
論文「RAG VS Fine-tuning」を読む
「RAG vs Fine-tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture」サマリ
- LLMアプリケーション構築における2つのアプローチ「RAG」と「Fine-tuning」を比較した論文
- ビジネスで求められる特定領域のQAタスクの性能を農業に関するデータセットで比較した。
- 実験結果を見る感じ、RAGの方がFine-tuningより精度は同じか高く、イニシャルコストが低いから良さそう
データセットと前処理
3つの農業に関するデータセット
- USA
- the United States Department of Agriculture のオンラインで公開されているPDFデータを前処理
- 573の書類、2Mトークン
- Brazil
- ブラジルの作物栽培と管理のQAデータセット「500 Questions 500 Answers - Embrapa/SCT」
- ブラジルの作物栽培と管理のQAデータセット「500 Questions 500 Answers - Embrapa/SCT」
- India
- 農家の質問とインドの農業特別支援センターの回答10万件
- ローカル言語をAzureサービスで英語に翻訳
PDFからの情報抽出
PDFから情報抽出は、より構造的に抽出可能な「GROBID」を採用
- 🙅♀️ 「pdf2text」
- PDFからテキストを抽出するライブラリ
- セクションであることや図のキャプションが失われる
- 🙆♀️「GROBID」
- PDFからテキストを構造的に抽出可能な論文に特化した機械学習ライブラリ
- 構造化データとして綺麗に抽出できる
Fine-tuning
- 学習用のデータセット
- 質問と回答は、Llama2-13B-chat+RAGで生成
- 約200万トークンを含む573文書
- 対象LLM
- Lamma2-13B
- 多分フルパラメータ?
- GPT-4
- LoRA
- これはOpenAIが限定公開してるFine-tuningなのだろうか?それとも別ルート?
- Lamma2-13B
評価方法
- 評価用データセット
- GPT-4を用いて、270問の質問と回答のペア生成
- 3つの評価指標
-
ガイドラインに基づく評価(0,1)
- 各Q&Aの正解ペアに対して、事前にGPT-4が評価ガイドラインを生成。GPT-4により、評価ガイドライン満たしているかどうか01で評価
- 各Q&Aの正解ペアに対して、事前にGPT-4が評価ガイドラインを生成。GPT-4により、評価ガイドライン満たしているかどうか01で評価
-
簡潔さ(1~5)
- GPT-4により、簡潔さを5段階評価。
- GPT-4により、簡潔さを5段階評価。
-
正確さ(3段階)
- 正解、不正解、部分正解の3段階で評価
- 正解、不正解、部分正解の3段階で評価
-
ガイドラインに基づく評価(0,1)
結果
-
ガイドラインに基づく評価
- RAGにより5%、Fine-tuningにより6%、RAG+Fine-tuningにより11%精度向上。
- 誤差もあるので、RAGとFTは同じぐらいか?
-
通常盤<RAG=FT<RAG+FT
って感じ。
-
簡潔さ
- RAGすることで冗長さ解消
- Fine-tuning+RAGではこの改善は見られず。
- これは学習データを工夫すれば冗長さを解消できそうな気がする?
-
正確さ
- RAGにより+24%、Fine-tuningにより+9%、RAG+Fine-tuningにより+25%精度向上。
-
通常盤<FT<RAG=RAG+FT
で、RAGが一番良いのでは?
メモ
- 感覚どおりRAGが一番コスパが良い
- RAG+Fine-tuningは一部評価指標で大きく精度向上しており、RAG系のプロダクトでワンチャン使えるか?ただし、クオータ制限とAzureのFine-tuningはデプロイにも課金されるのでちょっと厳しいか
- LLMによるQ&Aデータセットの作成、LLMによる質問や回答の評価なども詳細書かれていて勉強になった
Discussion