日本語ローカルLLMのテストセットを作る方法|自分の用途を繰り返し比較する

目次
日本語ローカルLLMを何度も比較するなら、毎回その場で質問を考えるより、自分が実際に使う仕事を小さなテストセットとして保存しておくと比較しやすい。
最初から100問作る必要はない。まず10件ほどで十分だ。
実際の用途から10件ほど集める
普段LLMへ頼みたい作業を集める。
たとえば、
- メールの書き直し
- 長文の要約
- 技術文章からの情報抽出
- FAQへの回答
- コードの日本語説明
- 指定形式への変換
などだ。
実際の利用場面から採ることで、公開ベンチマークより自分の用途に近い比較ができる。
機密情報や個人情報はそのまま保存しない
実際の仕事から質問を作る場合でも、個人情報、秘密情報、社外へ出せない文書をそのままテストセットへ残さない。
必要なら、名前、会社名、金額、住所などを架空の値へ置き換え、文章の構造だけ残す。
元の文章 → 保存しない
匿名化・架空化した文章 → テストケースへ使う
テストセット自体を長期間残すなら、何を保存してよいかを最初に決める。
「日本語が自然か」を細かい失敗へ分ける
一つの「日本語品質」という点数だけでは、どこで差が出たのか分かりにくい。
たとえば次のように分ける。
- 敬語や丁寧さ
- 主語が省略された指示の理解
- 長文の条件を保持できるか
- 固有名詞や数字を変えないか
- 指定形式に従えるか
- 根拠のない事実を追加しないか
一つの質問で全部を測るのではなく、各ケースの目的を決める。
正解または採点基準を先に作る
計算や情報抽出なら、正解を一つ保存できる。
文章作成のように正解が一つではない場合は、出力を見る前に採点基準を決める。
例:
case_id: mail-001
目的: 丁寧な依頼文へ書き直す
必須条件:
- 指定された3つの内容を残す
- 敬語を維持する
- 新しい日付や約束を勝手に追加しない
モデルの回答を見た後で採点基準を変えると、気に入ったモデルに有利な評価になりやすい。
テストセットと実行条件を分けて保存する
同じ質問でも、モデルのリビジョン、量子化、実行環境、temperature、コンテキスト長などで結果は変わる。
テストセット側には質問と評価方法を保存し、実行時の条件は別に記録する。
testset: jp-personal-v1
case_id: mail-001
prompt: ...
expected_or_rubric: ...
sensitive_data: none
run:
model: ...
runtime: ...
quantization: ...
settings: ...
こうしておけば、モデルだけを変えて同じテストを再実行しやすい。
少数の結果を「日本語最強ランキング」にしない
自分の10件でモデルAがモデルBより良かったとしても、「日本語性能はAの方が上」とすべての用途へ一般化することはできない。
言えるのは、その10件と、その実行条件ではAの方が自分の評価基準に合ったということだ。
この範囲を守れば、自作テストセットはモデル選びに十分役立つ。
まず10件のバージョン1を作り、実際に使っていて新しい失敗を見つけたらケースを追加する。こうして育てれば、新しいモデルが出ても同じ日本語タスクで繰り返し比較できる。
まだ評価用の用途自体を決めていない場合は、日本語に強いローカルLLMを自分の用途で選ぶ方法から始める。モデル名を伏せて出力を比べたい場合は、ローカルLLMをブラインドA/B比較する方法へ進める。
まとめ
- 自分が実際に日本語LLMへ頼む仕事から、10件ほどのテストケースを集める
- 敬語、曖昧な指示、長文、固有名詞、数字、事実確認など失敗の種類を分ける
- 正解が一つでない文章生成には、出力を見る前に採点基準を決めておく
- 10件程度の自作テストは自分の用途を比べる基準として使い、他の用途への評価とは分けて考える
参照した情報源を見る(1件)
参照情報源
- local-gen Batch 001 Raw Benchmark Evidencelocal-gen.jp情報源を開く ↗