Automated Evaluation of Retrieval-Augmented Language Models with Task-Specific Exam Generation
Motivation 選んだ理由
LLMを含むシステムの評価、特にRAGの評価について調べていた
Summary どんなもの?
自動生成された選択問題でRAGを採点
事実を答えられるかどうか評価であれば利用可能
例: DevOps タスク
あなたは、会社のAmazon S3バケットのストレージ使用量の監視を担当するAWSエンジニアです。あなたは各バケット内の総ストレージ使用量とオブジェクト数を追跡したい。これを達成するために、CloudWatchの次のメトリクスのどれを使うべきですか?
項目応答理論(IRT)を活用
今回解説は省略
適切な検索アルゴリズムを選択することが、単純に大きな言語モデルを使用するよりも大きなパフォーマンス向上につながる
Contribution 先行研究と比べてどこがすごい?
LLMで直接評価する枠組みは解釈可能性が限られる(深い分析が難しい)。
RAGAs: RAGパイプラインをLLMで評価
RaLLe: RAG パイプラインの評価フレームワーク。既存データセットで評価
ARES: 少量のアノテーションを利用して評価
RAG の標準的な評価方法が今のところ存在しない
初めて IRT を生成モデルの評価に使った
詳細な選択問題の生成手法 (付録 A)
Method 技術や手法のキモはどこ?
質問の生成手法
https://gyazo.com/8117e08665334b6dd105c91c3d2aa59a
生成は大きく3ステップ
ランダム or 特定トピックの文書(チャンク)集合から、質問と回答のペア候補を生成
最大10文、500〜4500文字、200〜900トークン(AWSタスクの場合)
重複しない6文、1000〜1400文字(SEC Filing の場合)
質問をフィルタリングして低品質な質問、特に選択肢の低いものを排除する
質問・回答が正しい前提で、そのなかから、質、多様性に基づいてフィルタリング
(関係ないが、アイコンにAWSらしさがあふれている)
質問の生成に使われるプロンプトはシンプル
https://gyazo.com/40a81724dfbfeb575087886f1eae6617
task_domain にタスク名(arXiv とか)、documentation にその文書が代入される
質問のフィルタリング
parse できないものを削除(20%くらいが脱落)
バイアスを避けるため選択肢の順番をランダムにシャッフル(これは前処理)
他の文書を参照する表現のある質問を削除(おそらく脱落は少数)
選択肢の質でフィルタリング(10%程度が脱落)
不正解の選択肢をつくるのが難しい
LLM は正解の言い換えで選択肢をつくったり、間違いではなく不完全な選択肢(例が欲しいが見つからず)をつくりがち
Extra-Candidate Similarity: 正解よりも一定以上文書と類似度が高い選択肢のある質問を削除(5%程度を削除)
意図がいまいちはっきりしないが、多分、間違っていない選択肢を除きたいのだと思われる
Intra-Candidate Similarity: 正解との類似度が一定以上の選択肢がある質問を削除(5%程度を削除)
正解の言い換えタイプの選択肢を排除
https://gyazo.com/0c5f0c86e29939850ec7b81cad9fc43c
Experiments どうやって有効だと検証した?
3 LLM x 5 検索メカニズム x 3 ICL 設定でそれぞれ比較
LLM
Mistral-7B
LlamaV2-13B
LlamaV2-70B
検索メカニズムのバリエーション
Closed-Book Retrieval: Retrieval とついているが、検索はしない
Oracle: 問題と回答の生成に使われたドキュメントが与えられる
通常の検索
Dense model
MultiQA embedding
BERT ベースのembedding 用のモデル (2019)
現在は MiniLM (BERT BASEを蒸留したモデル) ベースのモデルなどもある
SIAM (siamese network embeddings)
類似度比較用のモデル。(大体)BERT ベース
文章d と 文章d' をそれぞれエンコードする部分と、その2つのエンベディングを受け取り類似度を判定する層がつながっている
https://gyazo.com/e344dc01e0eb6e63baea6fb5f523b637
スパースモデル
BM25
概ね、記事の長さを考慮にいれた tf-idf
ハイブリッド
DPR (SIAM + BM25)
DPRV2 (MultiQA + BM25)
ICL (incontext learning)
ICL@0: ICLなし
ICL@1: デモ1事例
ICL@2: デモ2事例
実験結果
https://gyazo.com/14fa947d78f080edabd7813d8f5b4e30
BM25 は安定して比較的良い位置にいる
平均的には DPRV2(MultiQA+BM25) が高く、MultiQA単体が次点
オラクルで負けている場合があるのは、文書間に情報の重複があるため
https://gyazo.com/25826f34a37da093070de7f45ef12a8a
各要素ごとの分析
数値が高い=モデルの能力に寄与している
絶対値には意味がなく、タスク間で数値を比較することはできない
LLMの大小よりも、検索メカニズムを変える方が影響が大きい場合がある
タスクstkと arx、sec でDPRV2 が LlamaV2-70B の値を超えている
Discussion 議論はある?
結局のところ、評価手法の評価は困難
事実性、言語理解、一貫性、倫理的配慮など様々な能力で評価され、それぞれに特定の評価基準が必要
技術的な正確さと人間の多様な視点や実世界での適用性のバランスが困難
LLMベースの評価は有望であるが、包括的なLLM評価に必要な範囲、適応性、解釈性、バイアスの低減、実用的なフィードバックにはまだ限界がある
RAGAS, GPTscore, llm-as-a-judge など
コメント
Chatbot Arena のような人手評価との相関は実世界よりの一つの解ではあるものの、chatbotが最終的なゴールでなければ評価の評価には利用できない
本当は最終的なタスクでの評価との相関を調べたいが・・・
稀に、オラクルであってもコンテキストを与えないほうが良い場合がある
https://gyazo.com/368e31d6aa723b304c7ec60968bb39a9
nucl-th(原子核理論)、hep-ph(高エネルギー物理)、q-fin(金融工学)
逆転が起こるのはほぼ Mistral-7Bのモデル。難しい文書では素の Mistral が知っている知識が強いとかがあるのかも?(Oracle であってもうまく文書が利用できていない可能性?)
MultiQAよりも新しいエンベディング手法のSimCSE、E5やNV-Embedを比較するにも良さそう
試したいドメインのドキュメント集合さえあれば人手ほどではなくても、適切な評価ができるデータセットが作れ、数値で比べられる評価に使えるのが嬉しい
ペアでの評価、レート評価はモデルを細かく更新していく時の指標には使いにくそうなので