Gemma4 26B QATをRTX 5070 Ti のVRAM16GBに全載せし、通常版Q5/Q6と速度・品質を比較した
Gemma4のQAT版が出た。どうやら、通常の量子化よりも品質を残したままメモリ使用量をかなり下げられるらしい。
特に気になったのが26B A4B版で、QAT GGUFなら16GB VRAMのGPUにも全載せできるという話だった。もし本当に載るなら、RTX 5070 Ti 16GBでもかなり速く動くはず。
なので、自分の環境でも試した。その結果、gemma-4-26B-A4B-it-qat-UD-Q4_K_XL.gguf は128Kコンテキストのまま 111.9 tok/s まで出た。通常のGemma4 26B Q4/Q5/Q6系が33〜35 tok/s前後だったので、速度だけ見るとかなり強い。
この記事では、まず実行設定とパラメータの位置づけを整理し、そのうえで速度、通常版との違い、実際に使う上での注意点をまとめる。
使ったもの
| 項目 | 内容 |
|---|---|
| GPU | RTX 5070 Ti 16GB |
| 環境 | WSL2 + Docker + llama-swap |
| 推論 | llama.cpp / llama-server |
| モデル | gemma-4-26B-A4B-it-qat-UD-Q4_K_XL.gguf |
| context | 128K |
| 用途 | OpenCode / llama-swap経由 |
設定
llama-swapでは、まず以下のようにパラメータの位置づけを決めた。
| 設定 | context | batch | 位置づけ |
|---|---|---|---|
| 常用 | 128K | b2048/ub256 |
まず使う基準値。GPU全載せなので、この時点でも十分速い |
| 速度計測 | 128K | b4096/ub512 |
111.9 tok/sを出した設定。16GB VRAMではかなり攻めている |
| fallback | 128K | b1024/ub128 |
expert CPU退避。GPU全載せが不安定なときの逃げ道 |
大事なのは、b4096/ub512だけが実用設定という意味ではないこと。QAT版はモデル自体が軽く、b2048/ub256でも通常のGemma4 26Bよりかなり軽く動く。以降の速度表で出す111.9 tok/sは、上の表でいう「速度計測」の条件で測った値である。
今回のピーク値を出した速度計測用の設定は以下。
gemma-4-26B-A4B-it-qat-UD-Q4_K_XL-C128K-GPU.gguf:
ttl: 900
cmd: >-
llama-server-upstream
-m /models/gemma4/gemma-4-26B-A4B-it-qat-UD-Q4_K_XL.gguf
-c 131072 -ngl 99 -fa on -ctk q4_0 -ctv q4_0
-b 4096 -ub 512
--parallel 1 --jinja --reasoning auto --reasoning-format deepseek
--temp 0.7 --top-p 0.95 --top-k 64 --repeat-penalty 1.05
--no-mmap --host 0.0.0.0 --port ${PORT}
ポイントはこのあたり。
| 設定 | 意味 |
|---|---|
-c 131072 |
128K context |
-ngl 99 |
GPU全載せ |
-ctk q4_0 -ctv q4_0 |
KV cacheを軽量化 |
-b 4096 -ub 512 |
速度計測用。16GB VRAMでは攻めた値 |
評価方法
速度だけでなく、OpenCodeで使ったときの実用感も見るために、自作のベンチマークパイプラインで段階的に評価した。
使った主なコードは以下。
| 用途 | ファイル |
|---|---|
| API直呼びの速度・品質評価 | benchmarks/run_pipeline.py |
| Phase3の単発タスク定義 | benchmarks/prompts/phase3_tasks.yaml |
| OpenCode実行評価 | benchmarks/benchmark/phase4_runner.py |
| 採点API呼び出し | benchmarks/providers/judge_client.py |
採点は主に GLM-5.1(z.ai API) に0〜5点で判定させた。Phase5では、GLM-5.1だけだと甘く出るケースがあるため、Claude Sonnet でもブラインド採点して平均を見た。
| Phase | 見るもの |
|---|---|
| Phase2 | API直呼び。短いQA、要約、コード生成などで速度と回答品質を見る |
| Phase3 | 単発8タスク。日本語指示、計算、JSON出力、翻訳、Python実装/バグ修正など |
| Phase4 | OpenCodeで実ファイルを作らせる。Pythonバックテスト、HTML作成、複数ファイル修正など |
| Phase5 | 11タスクの最終評価。日本語記事、投資レポート、CatBoost実装、HTMLサイトなど |
例えばPhase3では、二分探索の実装、単語カウントコードのバグ修正、JSONだけを出すタスク、りんご販売利益の計算などを投げた。Phase4/5では、単なる文章回答ではなく、指定パスにファイルを作成させ、Pythonなら実行、HTMLなら構文や成果物の有無を確認している。
この評価で拾える問題は、単純な文章力だけではない。たとえば「JSON以外を出すな」と言っているのにMarkdownフェンスを付ける、計算式を1箇所間違える、HTMLのクォートを欠落させる、指定ファイルを作らない、といった実作業で困るミスも点数に反映される。
結果
Phase2の速度比較は以下。QAT版は、設定章で示した「速度計測」の条件で測っている。
| モデル | Phase2 score | Phase2速度 |
|---|---|---|
| Gemma4-26B-QAT-Q4KXL | 5.00 | 111.9 tok/s |
| Gemma4-26B-Q4KM | 5.00 | 35.3 tok/s |
| Gemma4-26B-UD-Q5KM | 5.00 | 33.4 tok/s |
| Gemma4-26B-UD-Q6K | 5.00 | 33.4 tok/s |
OpenCodeで触った体感もかなり軽い。26Bなのに小型モデルっぽい速度で返ってくる。
品質は少し落ちる
速度はかなり良いが、通常のQ5/Q6系より少し雑に感じる場面がある。
| モデル | Phase3 | Phase4 | Phase5 |
|---|---|---|---|
| Gemma4-26B-QAT-Q4KXL | 3.88 | 3.43 | 4.68 |
| Gemma4-26B-Q4KM | 4.62 | 3.43 | 4.77 |
| Gemma4-26B-UD-Q6K-nc13 | 4.62 | 4.29 | 4.73 |
| Gemma4-26B-UD-Q5KM | 4.75 | 4.00 | 4.55 |
Phase5では、GLM-5.1単独採点だと満点だったが、Claude Sonnetのブラインド採点ではHTMLのクォート欠落による構文エラーを拾われた。速度は出るが、コードの細部で荒さが出る。
使いどころ
| 用途 | 判断 |
|---|---|
| 高速チャット | 向いている |
| 長文要約 | 128Kで動くので向いている |
| 軽いコード生成 | 速さ優先ならあり |
| 複雑なOpenCode作業 | 通常Q5/Q6の方が安心 |
| 正確な多段タスク | Gemma4 UD-Q5/Q6を優先 |
自分の使い分けとしては、QAT版は「雑に速く回したいモデル」。厳密な作業では通常Q5/Q6を使う。
動作感↓
参考リンク
- Google QAT発表: https://blog.google/innovation-and-ai/technology/developers-tools/quantization-aware-training-gemma-4/
- Gemma 4 model card: https://ai.google.dev/gemma/docs/core/model_card_4
- Google公式QAT GGUF: https://huggingface.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf
- 今回使ったUnsloth QAT GGUF: https://huggingface.co/unsloth/gemma-4-26B-A4B-it-qat-GGUF
- 使用ファイル: https://huggingface.co/unsloth/gemma-4-26B-A4B-it-qat-GGUF/blob/main/gemma-4-26B-A4B-it-qat-UD-Q4_K_XL.gguf
- Unsloth QAT解説: https://unsloth.ai/docs/models/gemma-4/qat
まとめ
Gemma4-26B-QAT-Q4KXLは、RTX 5070 Ti 16GBで128K contextのまま 110 tok/s級 で動いた。
QAT版の軽さとGPU全載せが効いた結果だと思う。品質は通常Q5/Q6より少し落ちるので、速さ重視の探索や軽作業向けとして使う。