環境
- FlexEval v0.17.1
JamC-QAベンチマークとは
JamC-QAは、SB Intuitionsが開発した、日本固有の知識に特化した多肢選択式(4択)の質問応答ベンチマークだ。英語ベンチマークの翻訳ではなく、 日本の文化や風習に特化したベンチマークってのが最大の特徴である。
主な仕様は以下のとおり。
- 出題形式は多肢選択式(4択)
- 文化・風習・風土・地理・日本史・行政・法律・医療の8領域から出題
- 既存ベンチマークの翻訳版ではなく、全問題が人手でゼロから作成
- 問題数は約2300問
- 「墓前に供えてはいけない花は?」のような、日本で暮らしていないと知り得ないローカルな知識を問う
- 高性能モデルでも正答率が60〜70%程度にとどまる高難易度設定で、モデル間の性能差を明確に検証できる
データの形式は以下。
{ "qid": "jamcqa-test-culture-00001", "category": "culture", "question": "「狂った世で気が狂うなら気は確かだ」の名言を残した映画はどれ?", "choice0": "影武者", "choice1": "羅生門", "choice2": "隠し砦の三悪人", "choice3": "乱", "answer_index": 3, }
詳細は公式ブログで解説されているのでそっちを見るべき
データセットは以下
ただ、最近のモデルでJamC-QAベンチマーク計測している人見かけなかったので自分がやってみた
手順
SB Intuitions株式会社がFlexEvalというLLMベンチマークツールを公開しているのでそれを使う。
pipで簡単にインストールできる。
pip install flexeval
実行コマンドは以下。ただしHuggingFaceLMだと自分の環境ではsbintuitions/sarashina2.2-0.5b-instruct-v0.1は動いたが、Gemma 4は動かなかったので後述するOpenAI互換形式にした。
# NOT WORK flexeval_lm \ --language_model HuggingFaceLM \ --language_model.model "google/gemma-4-E2B-it" \ --eval_setup "jamcqa" \ --save_dir "results/jamcqa"
HuggingFaceLM以外にOpenAIChatAPIも使える。OpenAIChatAPIは、FlexEvalフレームワークでOpenAIのChatGPT APIを使用するためのLanguageModel実装クラス
flexeval_lm \ --language_model OpenAIChatAPI \ --language_model.model "${MODEL}" \ --language_model.api_headers "{ base_url: '${API_BASE_URL}', api_key: '${API_KEY}' }" \ --language_model.default_gen_kwargs "{ temperature: 0 }" \ --eval_setup "jamcqa" \ --save_dir "results/gemma-4-E2B"
実行すると以下の3ファイルが生成される。metrics.jsonのexact_matchが全体の正答率だ。
- ./config.json
- ./outputs.jsonl
- ./metrics.json
結果発表
Gemma 4ファミリーのE2B・E4B・31Bに加えてQwen3.5-27Bも計測した。結果が以下。それ以外のモデルはSB Intuitions株式会社が公式で公開しているベンチマーク結果を使用した。
| モデル | All | 文化 | 風習 | 風土 | 地理 | 日本史 | 行政 | 法律 | 医療 |
|---|---|---|---|---|---|---|---|---|---|
| gemma-4-31B | 0.631 | 0.633 | 0.720 | 0.544 | 0.511 | 0.653 | 0.745 | 0.706 | 0.750 |
| gemma-4-E4B | 0.403 | 0.394 | 0.495 | 0.365 | 0.301 | 0.431 | 0.527 | 0.408 | 0.500 |
| gemma-4-E2B | 0.275 | 0.248 | 0.355 | 0.280 | 0.243 | 0.286 | 0.327 | 0.264 | 0.312 |
| Qwen3.5-27B | 0.527 | 0.498 | 0.615 | 0.443 | 0.430 | 0.615 | 0.555 | 0.602 | 0.604 |
| sarashina2-8x70b | 0.725 | 0.714 | 0.775 | 0.761 | 0.654 | 0.784 | 0.736 | 0.632 | 0.917 |
| sarashina2-70b | 0.725 | 0.719 | 0.745 | 0.736 | 0.673 | 0.764 | 0.764 | 0.666 | 0.917 |
| Llama-3.3-Swallow-70B-v0.4 | 0.697 | 0.689 | 0.775 | 0.589 | 0.566 | 0.776 | 0.773 | 0.783 | 0.854 |
| RakutenAI-2.0-8x7B | 0.633 | 0.622 | 0.725 | 0.617 | 0.511 | 0.714 | 0.709 | 0.575 | 0.813 |
| plamo-100b | 0.603 | 0.602 | 0.650 | 0.637 | 0.504 | 0.682 | 0.609 | 0.515 | 0.688 |
| Mixtral-8x7B-v0.1-japanese | 0.593 | 0.602 | 0.670 | 0.579 | 0.493 | 0.612 | 0.736 | 0.545 | 0.667 |
| Meta-Llama-3.1-405B | 0.571 | 0.558 | 0.545 | 0.484 | 0.500 | 0.679 | 0.646 | 0.629 | 0.688 |
| llm-jp-3.1-8x13b | 0.568 | 0.595 | 0.635 | 0.582 | 0.449 | 0.589 | 0.627 | 0.502 | 0.625 |
| Nemotron-4-340B-Base | 0.567 | 0.573 | 0.615 | 0.511 | 0.467 | 0.595 | 0.727 | 0.582 | 0.667 |
| Qwen2.5-72B | 0.527 | 0.522 | 0.595 | 0.426 | 0.438 | 0.606 | 0.609 | 0.562 | 0.688 |
考察
- gemma-4-31Bは日本語特化モデルのRakutenAI-2.0-8x7B(0.633)とほぼ同水準であり、汎用モデルとしては健闘している
- gemma-4-31BはQwen3.5-27Bより全体スコアで約10pt上回っており、パラメータ数の差(31B vs 27B)を考えるとGemma 4の日本語理解力の高さが伺える
- 一方、日本語特化モデルのsarashina2-70b(0.725)には10pt近い差があり、日本語に特化したファインチューニングの効果は依然として大きい
- Qwen3.5-27BはQwen2.5-72Bと同スコア(0.527)で、世代が上がってもJamC-QAでの日本文化理解はあまり改善していない可能性がある
- gemma-4-E2B(0.275)は4択のランダム正答率(0.25)をわずかに上回る程度で、日本文化の理解はほぼ期待できないレベル
まとめ
Gemma 4、すごい。