はじめに
先日、Kaggleの『MAP - Charting Student Math Misunderstandings』(通称 MAPコンペ)に参加し、7位チーム金メダルを獲得しました。この記事では、コンペ参加中には評価しきれなかった、Gemma 3の性能評価結果についてまとめます。
Gemma 3の詳細については、下記のGoogle AI for Developersの公式Documentをご覧ください。
評価方法
-
MAPコンペの評価方法に準じます
- MAPコンペの指標であるMAP@3を用います
- MAPコンペのtrainデータセットでCVスコアを計算します
- Kaggle環境で動作が確認できる場合は、Full-Trainしたバージョンでの提出を行い、LBスコアも計算します
補足: 2025年時点でのKaggle環境ではGemma 3の4B以上を動かすことは難しい
Kaggle(Tesla T4, Compute Capability 7.5)環境で Gemma 3 を動かした結果、270M / 1B は動作可、4B / 12B は動作不可という結論となりました。理由は dtype 制約です。ただし、CVスコアについては、全てのサイズに対して、手元のRTX 5090で計算します。
Gemma 3の4B以上が動かない理由
- Gemma3 は float16 非対応 → bfloat16 or float32 が必須
- しかし Kaggle の Tesla T4 は bfloat16 非対応(CC 7.5)
- float32 にしても同様に失敗
⇨ Gemma 3の4B以上 は Kaggle GPU ではほぼ実行不可
動作確認結果
- 270M:OK(float16 で動作可)
- 1B:OK(float16 で動作可)
- 4B:NG(dtype 要件で失敗)
- 12B:NG(dtype 要件で失敗)
結果とまとめ
最終的な評価結果は以下の通りです。
| モデル | CV | LB | メモ |
|---|---|---|---|
| Gemma3-270M-Instruct | 0.93919 | 0.937 | Kaggle で動作可能 |
| Gemma3-1B-Instruct | 0.947515 | 0.939 | Kaggle で動作可能 |
| Gemma3-4B-Instruct | 0.951452 | - | dtype 問題で提出不可 |
| Gemma3-12B-Instruct | 0.95242 | - | dtype 問題で提出不可 |
| Gemma-2-9B-Instruct | 0.9546 | 0.948 | 参考(Gemma2) |
- モデルサイズが大きくなるにつれて順当にCVスコアが伸びていることがわかります
- Gemma3-12B-InstructよりもGemma-2-9B-Instructの方が良い結果となりました
- Qwen3 vs Qwen2.5 のように、タスク依存で旧世代が勝つケースと同じか、単にチューニング不足の可能性もあります
- Gemma3は4B以上のモデルをKaggle環境で動かすことができませんでした
- GPUのバージョンアップデートによって、bfloat16に対応した際に、使用可能になると考えられます
- あるいは、何らかの黒魔術的な手法を使う
- GPUのバージョンアップデートによって、bfloat16に対応した際に、使用可能になると考えられます
本記事は以上となります。ご覧頂き、ありがとうございました。