ローカルLLMをブラインドA/B比較する方法|モデル名の先入観を減らす

目次
ローカルLLMを比べるとき、「大きいモデルだから良いはず」「新しいモデルだから強いはず」といった先入観が判断へ入り込むことがある。
そこで使えるのが、モデル名を伏せて回答だけを見るブラインドA/B比較だ。目的は普遍的な順位表を作ることではなく、自分の用途で、名前を見ずにどちらの回答を選ぶかを確かめることにある。
まず比較条件をそろえる
回答を生成する前に、できるだけ同じ条件を用意する。
プロンプト:
システムプロンプト:
実行環境:
コンテキスト:
temperature / sampler:
最大出力:
モデルのリビジョン / 量子化:
ハードウェアや実行環境まで大きく違えば、回答品質以外の差も混ざる。純粋に回答を比べたいなら、変更する条件をできるだけモデルだけに近づける。
回答からモデル名を隠す
生成した回答をA、Bのような記号へ置き換え、評価中にモデル名が見えない状態にする。
回答の並び順も毎回同じにせず、質問ごとにA/Bの位置を入れ替えると「左側を選びやすい」といった偏りを減らせる。
ファイル名やログからモデル名が分かるなら、採点中はそれらを見ないようにする。
評価基準は回答を見る前に決める
何を良い回答とするかは、先に書いておく。
たとえば、
- 指示した条件を満たしている
- 重要な事実を落としていない
- 根拠のない内容を作っていない
- 日本語が読みやすい
- 指定した形式を守っている
といった項目を使える。
用途によって重要度は違う。コード生成と文章要約を一つの評価点へ無理にまとめる必要はない。
無理に勝敗を付けず、引き分けを認める
差が分からない回答へ無理に勝敗を付けると、偶然や好みの影響が大きくなる。
選択肢は、たとえば次の4つにできる。
Aが良い
Bが良い
引き分け
両方よくない
事実確認が必要な質問では、文章の自然さだけで勝者を決めない。両方が誤っているなら「両方よくない」と記録する。
二回目はA/Bの位置を入れ替える
質問数が少なければ、日を空けるかA/Bの位置を変えてもう一度評価できる。
一回目と二回目で判断が頻繁に変わる質問は、モデル間の差が小さいか、評価基準が曖昧な可能性がある。
結果を広げすぎない
たとえば20問でAが12勝、Bが6勝、引き分けが2問だったとしても、それだけで「Aはあらゆる用途でBより優れている」とは言えない。
言えるのは、この質問セット、この実行条件、この評価基準ではAを選ぶことが多かったという範囲だ。
自分が実際に使うモデルを選ぶ目的なら、その範囲でも十分役に立つ。ブラインドA/B比較は、モデル名や評判の先入観を減らし、自分の作業に合う回答を選ぶための実用的な方法として使うとよい。
比較用の質問セット自体を作りたい場合は、ローカルLLMを自分の質問セットで評価する方法へ進める。
まとめ
- モデル名を隠し、回答A/Bだけを見て評価する
- プロンプト・生成条件・実行環境をできるだけそろえる
- 回答を見る前に評価基準を決め、引き分けも認める
- 少数の結果をモデル全体の優劣へ広げすぎない
参照した情報源を見る(1件)
参照情報源
- local-gen Batch 001 Raw Benchmark Evidencelocal-gen.jp情報源を開く ↗