📝

LLMによるLLMの評䟡ずその評䟡の評䟡に぀いお

に公開

LLMをプロダクトに掻甚しおいく䞊でプロンプトの出力結果を評䟡しおいかなければいけない蚳ですが、可胜な限り自動で定量評䟡できるず改善もしおいきやすくなり倧倉助かりたす。

そこで所謂LLM-as-a-Judgeず呌ばれるLLMに評䟡しおもらう手法を取るわけですが、やはり「このスコアはどれくらい信じられるのか...?」ずいう疑問が湧いおきお"評䟡の評䟡"がしたくなっおきたす。

ずいうずころで、本蚘事では䜿いそうなLLM-as-a-Judgeの手法に぀いお調べた埌、"評䟡の評䟡"の仕方を調べおみた結果をたずめおいきたす。

LLM-as-a-Judgeの手法

たず初めに、LLM-as-a-Judgeにも様々な手法が存圚するので、それらを確認しおいきたす。

スコアベヌス

䞀番ベヌシックなものはスコアを぀けおもらうやり方です。
次のように実際のむンプット、それに察するLLMの回答をプロンプトに加えお、評䟡芳点を元にスコアを぀けおもらいたす。

質問文:
{question}

回答文:
{answer}

以䞊の質問文ず回答文のペアに぀いお、以䞋の芳点で0から1の間の数倀で評䟡しおください。数倀以倖は出力しないでください。

- 回答は質問の意図を的確に捉えおいるか

スコアは 0〜1.0 もあれば、1〜5もあるし、100点満点䞭、みたいなのもありたす。
おそらく統䞀されおいればなんでも倧䞈倫でしょう。

たた、評䟡プロンプトの粟床を䞊げる现かい手法もいく぀か目にしたこずがあり、他のプロンプト同様 Few shots や CoT などのテクニックも有効です。Judging LLM-as-a-Judge with MT-Bench and Chatbot Arenaずいう論文䞭では次のようにFew shotによる粟床の向䞊やバむアスの䜎枛を報告しおいたす。

たた、ある意味抂念的にはFew shotでありたすがrubricず蚀っお「こんな感じならこのスコア」ずいうのを䞊べる手法もありたす。

- スコア1提䟛された文脈から、アりトプットの䞻匵のどれも掚論できない。
- スコア2アりトプットの䞻匵のいく぀かは提䟛された文脈から掚枬できるが、アりトプットの倧郚分は提䟛された文脈から欠萜しおいるか、矛盟しおいるか、たたは矛盟しおいる。
- スコア3アりトプット䞭の䞻匵の半分以䞊は、提䟛された文脈から掚枬できる。
- スコア4アりトプット䞭の䞻匵の倧郚分は、提䟛された文脈から掚枬できる。
- スコア5アりトプットのすべおの䞻匵が、提䟛された文脈によっお盎接的に裏付けられ、提䟛された文脈に忠実である。

匕甚: LLMの出力を評䟡する方法に぀いおたずめおみた

ペアワむズの評䟡

たた、先ほどのものは絶察的なスコアを぀ける方法ですが、異なる出力を戊わせる方法 - ペアワむズ評䟡もありたす。

Chatbot Arenaでのペアワむズ評䟡

䞊蚘のChatbot Arenaでは耇数モデル間でのタスク遂行胜力の比范ですが、同䞀モデル内で耇数のプロンプト比范による粟床向䞊にも䜿える手法なのではないかず思いたす。

LLM juries(PoLL)

最近 Command R などのLLMでも話題のCohere瀟から出おきた論文で、耇数のLLMによる評䟡(PoLLず名づけられおいる)がGPT-4単独のものより人間に近い評䟡になったず報告しおいたす。

https://arxiv.org/abs/2404.18796

論文䞭ではCommand R, Claude Haiku, GPT-3.5を組み合わせお䜿っおおり、QAデヌタセットのようにモデルの評䟡が二倀(正解 or 䞍正解)な堎合にはMax Voting(芁するに倚数決)、Chatbot Arenaのようにスコアが1〜5で数倀で぀けられるようなものに関しおは平均を取る Voting Function を䜜成しおいたす。

PoLL は䞊蚘のモデルの組み合わせの堎合 $1.25/1M input token, $4.25/1M output tokenでこれは倧䜓GPT-4ず比べるず7-8分の䞀の安さですが、GPT-4より人間による評䟡ず高い盞関を瀺したずのこずです。
぀いでにモデル毎のドメむンの匱さだったり、自分自身の出力を奜むバむアスの䜎枛もあるなど、手軜に詊せる割に矎味しいずころが色々ある手法になっおいたりしたす。

評䟡専甚のモデルを䜿う

評䟡をするためにチュヌニングされたモデルずいうのもいく぀か存圚しおいたす。
床々登堎しおいるJudging LLM-as-a-Judge with MT-Bench and Chatbot Arena論文の䞭ではChatbot Arenaで集めたデヌタをVicunaずいうモデルのfine-tuningに䜿っおいお、次のような性胜向䞊を瀺しおいたす。

たた、こちらは最近登堎したものですが Prometheus 2 ずいう評䟡専甚モデルが出おいたす。
人間やGPT-4, Claude Opusなどのモデルの評䟡ず高い盞関があるこずを報告しおいたす。安く評䟡を実行する手法ずしおは有望な予感がしおいたす。

https://arxiv.org/abs/2405.01535

ただ、基本的に䞊蚘のようなモデルたちの孊習は英語のデヌタセットで行われおいるため、我々が日本語のナヌスケヌスに甚いる堎合はそのたた䜿えたせん。
ですが、Prometheusはデヌタセットから孊習実行甚のコヌドたで党おを曝け出しおくれおいおラむセンスもApache 2.0なのでデヌタセットの翻蚳頑匵れば䜜れなくなさそうです(日本語固有の問題も色々出おきそうではあるが)。
これは有限䞍実行になる可胜性がたあたあありたすが、私も仕事で欲しいので䜜っおみたい。

â–Œ ゜ヌスコヌド
https://github.com/prometheus-eval/prometheus-eval

â–Œ デヌタセット
https://huggingface.co/datasets/prometheus-eval/Feedback-Collection
https://huggingface.co/datasets/prometheus-eval/Preference-Collection

評䟡をどう評䟡するか

基本的には人間の評䟡ず比范するこずで刀定したす。
そもそもの評䟡の目的は出力結果がそのプロダクトで期埅されおいる䟡倀を満たしおいるかを確認するためであり、それは瀟内で開発に携わる人感芚であったり、実際のナヌザの刀断によりたす。なので、"評䟡"ずいう行為が求められおいる構造的に人間の手が加わるこずを排陀するこずはおそらく䞍可胜なんじゃないかな〜ず考えおいたす。

どうやっお"人間の評䟡に近いか"を数倀ずしお衚珟するのか

思っおたより決たったものは無さそうで、論文によっお様々だったので䞋蚘に䞊べおいきたす。
シンプルに統蚈孊の盞関係数の領域な気はしおいたす。

同じ評䟡をする確率

Judging LLM-as-a-Judge with MT-Bench and Chatbot Arenaでagreementず呌んでいる単語が指しおいるもので、ランダムに遞択された2人の異なるタむプの評䟡者(䟋: GPT-4ず人間)が、ランダムに遞択された質問に察しお同じ評䟡をする確率ずしおagreementを定矩しおいたす。
(ちなみに D.3 Agreement Evaluation のずころに曞いおありたす。)

具䜓的な蚈算匏は曞かれおおらず、おそらくなのですが、[1,2,3,4,5]のいずれかから遞ばれるなどスコアの空間がちょっず制限ある前提で答えが䞀緒になった確率ずかなんじゃないかなず予想しおいたす。小数点あるスコアずかだず閟倀蚭けおその範囲内だったら「同じ評䟡」ずみなすみたいな工倫が远加で必芁になりそう。

Cohen's Kappa

Replacing Judges with Juries: Evaluating LLM Generations with a Panel of Diverse Modelsの䞭で䜿われおいお、異なる評䟡者間の䞀臎床を枬る指暙の䞀぀です。

この手法は初出は1892幎ず歎史があり、機械孊習だけでなく心理孊や医孊など、耇数の評䟡者が同じ察象を評䟡する様々な分野で䜿われおいるそうな。
https://en.wikipedia.org/wiki/Cohen's_kappa

以䞋の匏で算出されたす。

  • p_o は実際の䞀臎率䞡者が同じラベルを割り圓おた割合
  • p_e は偶然の䞀臎率それぞれのラベルの割合から蚈算

Pearson correlation、Spearman correlation、Kendall-Tau correlation

ここだけたずめるの倱瀌な気もし぀぀党郚PROMETHEUS 2: An Open Source Language Model Specialized in Evaluating Other Language Modelsにお登堎しおきたので䞀気にご玹介。

  • Pearson correlationピア゜ン盞関係数:
    • 2぀の倉数の線圢関係の匷さを枬る指暙。
    • -1から1の範囲の倀をずり、1に近いほど匷い正の盞関、-1に近いほど匷い負の盞関、0は盞関なしを瀺す。
    • 蚈算匏: r = (Σ(x - x_mean)(y - y_mean)) / sqrt(Σ(x - x_mean)^2 Σ(y - y_mean)^2)
  • Spearman correlationスピアマン盞関係数:
    • 2぀の倉数の単調関係の匷さを枬る指暙。
    • 倉数をランク化しおからピア゜ン盞関係数を蚈算。
    • 倖れ倀の圱響を受けにくい。
  • Kendall-Tau correlation:
    • 2぀の倉数の順䜍の䞀臎床を枬る指暙。
    • concordant pairs䞡方の倉数で同じ順䜍ずdiscordant pairs順䜍が逆の差を正芏化しお蚈算。
    • タむ同順䜍の存圚を考慮。

https://yuiga.dev/blog/posts/盞関係数pearsonspearmankendallの䜿い分け/

EvalGen

「人間の評䟡」ず比べるしかないよね、は結局のずころそうなるしかない気がしおいるのですが、もう少しプロセス䞊手いこずできないか、ずいうずころでめっちゃいいなず思ったのがこちらの「Who Validates the Validators? Aligning LLM-Assisted Evaluation of LLM Outputs with Human Preferences」です。

https://arxiv.org/abs/2404.12272

これが玠晎らしいなず感じおいるのが、「評䟡基準を䜜る」ずいう行為は最初に党おを定矩できるものではなく、実際に出力された結果を元に掗緎させおいく探玢的なプロセスである、ずいう前提に立っおいるこずです。
著者らはこの珟象にcriteria driftず名づけおいたす。

we identify a phenomenon we dub criteria drift: users need criteria
to grade outputs, but grading outputs helps users define criteria.

これたでのLLM-as-a-Judgeをどう評䟡するのかの議論は、評䟡芳点は固たっおいるこずが前提にありたすが、珟実ではそれがない状態から始たりたす。
そこでこの論文ではEvalGenずいう評䟡芳点をLLMが提案しながら、ナヌザがそれを修正、そしおナヌザヌが少数のLLM出力を評䟡しおいる間に、LLMがその基準を満たす評䟡関数の候補を生成、ずいうむテレヌティブなプロセスを提案しおいたす。
倧元の評䟡芳点の探玢ず、人間の評䟡ずのアラむメントを䞀緒にやっおいる感芚です。

次のような評䟡甚UIを䜜っお評䟡芳点を育おる & 評䟡するナヌスケヌスをサポヌトしおいるようです。

このプロトタむプのコヌドはおそらく公開されおないっぜいですが゚ッセンスは真䌌しおいきたいずころです。ちなみになのですが、䌌たようなトピックに関しおは私も思いの䞈を䞋蚘にたずめおいたりするのでよければお読みください。

https://zenn.dev/seya/articles/ba06e37d226182

おわりに: 評䟡を評䟡する必芁があるのか

「評䟡を評䟡する」

監芖員を監芖する人を監芖する人...みたいな感じでなんか楜しげではあるのですが、実際の仕事でどこたでやるかずいうのは悩みどころかなずいう感芚がありたす。
やはりこの"評䟡の評䟡"にもそれなりの時間がかかるので、そこを評䟡・チュヌニングしお「䜿えるのは単䞀のプロンプトのそんなに重芁でない芳点のテストだけ」だずたあ結構な時間の無駄ず蚀えるでしょう。

なので、実際のずころ倚くの堎合プロダクト開発珟堎では「参考皋床」になるぐらいのものをシュッず䜜っおおくくらいに止たるのかなず思いたす。䞀方で、あらゆるプロンプトで評䟡したい芳点であれば"評䟡の評䟡"をしお信頌できるEvaluatorを䜜るのに時間を投じるこずはペむするこずもあるのかなず考えおいたす。

䟋えば私の本業ではロヌルプレむ䌚話のプロンプトが数倚く存圚し、"䌚話が自然"ずいうちょっず抜象床高めの芳点で評䟡が自動で行えるこずは個々人の䞻芳に䟝らず刀断が玠早くできお倧きく意味がありたす。

ずいう感じで䜕でもかんでも䜜るのではなく、䞀方党く䜜らない蚳でもなく、いい塩梅で自動評䟡を䜜れおいけるずいいのかな〜ず感じおいたす。

それでは👋

参考文献

https://arxiv.org/abs/2306.05685

https://www.brainpad.co.jp/doors/contents/01_llm_as_a_judge/

https://qiita.com/Jumtra/items/f25a5869d4c1b0d2662f

https://arxiv.org/abs/2405.01535

https://arxiv.org/abs/2404.12272

https://arxiv.org/abs/2404.18796

Discussion