🤖

ローカルLLM 6モデルサイズ別比較:gemma3 / qwen3 / gpt-oss をOllamaで実測

に公開

ローカルLLM 6モデルサイズ別比較:gemma3 / qwen3 / gpt-oss をOllamaで実測

Ollamaを使ってローカル環境で動かした3ファミリー・6サイズのLLMを、5つのユースケースカテゴリで定量的にベンチマークしました。「どのモデル・サイズを選ぶか」の判断材料として活用してください。


実験環境・設定

ハードウェア

項目
GPU NVIDIA GeForce RTX 4060(VRAM 8 GB)
CPU Intel Core i5-13500(13th Gen)
RAM 64 GB
OS Windows 11 + WSL2(Linux kernel 6.6.87.2)
NVIDIA ドライバ 591.74(Windows)/ CUDA 13.1
Ollama 0.20.2
実行形式 Ollama をネイティブ実行(Docker なし)

ベンチマーク設定

項目
APIエンドポイント http://localhost:11434/v1
temperature 0.2
top_p 0.9
タイムアウト 300秒
計測runs 3回(ウォームアップ1回除外)
システムプロンプト 「あなたは日本語で正確かつ実務的に回答するアシスタントです。」

対象モデル

label model パラメータ数 量子化 コンテキスト長 max_tokens VRAM推定
gemma3-4b gemma3:4b 4.3B Q4_K_M 131,072 8192 ≈ 2.4 GB
gemma3-12b gemma3:12b 12.2B Q4_K_M 131,072 4096 ≈ 6.9 GB
qwen3-4b qwen3:4b 4.0B Q4_K_M 262,144 8192 ≈ 2.3 GB
qwen3-8b qwen3:8b 8.2B Q4_K_M 40,960 4096 ≈ 4.6 GB
qwen3-14b qwen3:14b 14.8B Q4_K_M 40,960 4096 ≈ 8.3 GB
gpt-oss gpt-oss:20b 20.9B MXFP4 131,072 2048 ≈ 10.5 GB

VRAM推定は Q4_K_M ≈ 4.5 bit/param、MXFP4 ≈ 4.0 bit/param として計算。qwen3-14b と gpt-oss は 8 GB VRAM に収まらず、CPU オフロードが発生している可能性が高い。

評価カテゴリ(prompts_hyouka.jsonl

カテゴリ プロンプトID 性質・内容
japanese_summary ja_summary_001 長文要約・構造化。約300字の業務文章を読み、300字以内の要約+重要論点3点を指定Markdownフォーマットで出力。
technical_accuracy tech_gpu_docker_001 複合技術診断。Docker + NVIDIA GPUの接続不良を7観点で診断し、表・番号付きリスト・注意点を含む多段階出力を要求。
code_review code_review_go_001 コードレビュー。エラーハンドリング未処理のGoコードを5観点でレビューし、問題点一覧表・改善コード・追加提案を出力。
structured_output json_extract_001 情報抽出JSON。自然文からdate/tasks/concernsを抽出。JSONのみ返却・日付フォーマット指定など、厳格な出力制約を課す。
long_context_business_analysis business_analysis_001 長文ビジネス分析。約1,200字の仕様メモを読み、未決事項・リスク・確認事項を複数の表と実務提案にまとめる。入出力ともに最大規模。

速度比較:全6モデル

ウォームアップ除外・3回計測の平均値です。

モデル avg_sec avg tok/s avg chr/s 備考
gemma3-4b 8.3秒 74.6 156.5 全カテゴリ最速
qwen3-8b 23.4秒 44.9 43.2 qwen3ファミリーの最速
gemma3-12b 58.0秒 12.5 25.9 4bの約7倍の時間
qwen3-4b 63.4秒 ※ 67.6 16.0 ※ 思考トークン過剰、business_analysis 2/3失敗
qwen3-14b 111.9秒 9.1 9.4
gpt-oss 119.4秒 12.6 11.9 max_tokens=2048 で多くのタスクが途中切れ
  • avg_sec: 全5カテゴリの平均応答時間。qwen3-4bはbusiness_analysisの成功1runのみ含む
  • avg_tok/s: APIが返す completion_tokens / 応答時間
  • avg_chr/s: 実際の出力文字数 / 応答時間
  • ※qwen3-4b: 思考トークン過多により chr/s が tok/s に対して極端に低い

速度は大きく2ティアに分かれます。GPU 完全搭載(VRAM 8 GB 以内) vs CPU オフロード(VRAM 超過) の境界が律速です。

VRAM使用量(推定)       0        2        4        6        8 GB
                         |--------|--------|--------|--------|
gemma3-4b (Q4_K_M)       |████░░░░░░░░░░░░░░░░░░░░░░░░░░░░| 2.4 GB → GPU完全搭載
qwen3-4b  (Q4_K_M)       |████░░░░░░░░░░░░░░░░░░░░░░░░░░░░| 2.3 GB → GPU完全搭載
qwen3-8b  (Q4_K_M)       |█████████░░░░░░░░░░░░░░░░░░░░░░░| 4.6 GB → GPU完全搭載
gemma3-12b(Q4_K_M)       |██████████████████░░░░░░░░░░░░░░| 6.9 GB → GPU(上限付近)
qwen3-14b (Q4_K_M)  8GB上限→ |████████████████████████| 8.3 GB → CPU オフロード
gpt-oss   (MXFP4)   8GB上限→ |███████████████████████████| 10.5 GB → CPU オフロード

重要発見①:qwen3-4b の「思考トークン」問題

tok/s と chr/s の乖離

今回の実験で最も目立ったのが、qwen3-4b の tok/schr/s の極端な乖離です。

モデル avg tok/s avg chr/s 比率(chr/tok)
gemma3-4b 74.6 156.5 高い(漢字の多バイト効率)
qwen3-8b 44.9 43.2 概ね妥当
qwen3-4b 67.6 16.0 極端に低い(思考トークン過剰)

json_extract_001 カテゴリで顕著に確認できます。

モデル completion tokens 実際の出力文字数 思考トークン(推定)
gemma3-4b 128 244 ≈ 0
qwen3-8b 407〜517 229〜234 ≈ 170〜280
qwen3-4b 2,583〜5,196 227〜240 ≈ 2,350〜4,960

qwen3-4b は、JSONをわずか240文字出力するために最大5,000トークン近い内部思考(Chain-of-Thought)を生成します。qwen3-8b にも思考トークンは見られますが、4b よりはるかに少量です。

business_analysis での失敗

思考トークンの過剰生成は max_tokens=8192 の制限オーバーフローを引き起こします。

run completion tokens 出力文字数 判定
run1 4,290 1,569 ✅ OK(66.3秒)
run2 8,192(上限到達) 0 ❌ NG(129.6秒)
run3 4,240 0 ❌ NG(64.5秒)

run2 は 8,192トークンの上限まで思考を続け、実際の出力を一切生成できませんでした。run3 は上限には達しなかったものの、思考のみで終了し出力文字数はゼロでした。qwen3-4b は長文ビジネス分析タスクで 3回中2回失敗します。

Ollama のパラメータで think=false を設定すれば思考トークンを無効化できますが、今回の実験はすべてデフォルト設定で計測しています。無効化すれば qwen3-4b の実効速度は大幅に改善する可能性があります。


重要発見②:モデルサイズと速度の関係

gemma3 ファミリー内比較

モデル avg tok/s avg chr/s avg_sec
gemma3-4b 74.6 156.5 8.3秒
gemma3-12b 12.5 25.9 58.0秒

パラメータ数が3倍になると、応答時間は約7倍に伸びます。gemma3-12b の tok/s(12.5)は gpt-oss:20b(12.6)とほぼ同等です。大きなモデルを選ぶ場合は速度コストを覚悟する必要があります。

qwen3 ファミリー内比較

モデル avg tok/s avg chr/s avg_sec 思考トークン量
qwen3-4b 67.6 16.0 63.4秒 ※ 非常に多い
qwen3-8b 44.9 43.2 23.4秒 少ない
qwen3-14b 9.1 9.4 111.9秒 少ない

tok/s は 4b > 8b >> 14b の順ですが、思考トークンのオーバーヘッドにより 4b の実効速度(chr/s)は 8b より低くなります。業務用途では qwen3-8b が最もバランスの取れた選択肢です。


カテゴリ別の詳細分析

structured_output(構造化出力・JSON抽出)

モデル avg_sec
gemma3-4b 1.78秒
gemma3-12b 9.61秒
qwen3-8b 10.00秒
gpt-oss 28.31秒
qwen3-14b 46.68秒
qwen3-4b 58.36秒

JSONのみ返却という単純タスクにもかかわらず、qwen3-4b が最も遅い(58.4秒)のは思考トークンによるものです。gemma3-4b は 1.78秒で完了し、他の追随を許しません。qwen3-8b と gemma3-12b は同程度(10秒前後)で実用的です。gpt-oss は max_tokens=2048 に余裕があるため比較的速い(28秒)部類に入ります。

japanese_summary(日本語要約)

モデル avg_sec
gemma3-4b 3.89秒
qwen3-8b 12.03秒
gemma3-12b 20.05秒
qwen3-4b 55.56秒
qwen3-14b 79.04秒
gpt-oss 88.29秒

約300字の業務文章を要約するタスクです。gemma3-4b の 3.9秒に対し、gpt-oss は 88秒と約23倍の時間を要します。

technical_accuracy(技術的正確性・GPU/Docker診断)

モデル avg_sec
gemma3-4b 12.06秒
qwen3-8b 30.26秒
qwen3-4b 60.17秒
gemma3-12b 94.09秒
qwen3-14b 131.75秒
gpt-oss 165.78秒

複合的な技術診断タスクでは出力量が増えるため全モデルで最も遅いカテゴリの一つです。gpt-oss は3回すべてで completion_tokens=2048 の上限に達しており、出力が途中で切れています。

code_review(コードレビュー)

モデル avg_sec
gemma3-4b 13.14秒
qwen3-8b 31.16秒
qwen3-4b 79.43秒
gemma3-12b 83.46秒
gpt-oss 152.41秒
qwen3-14b 156.64秒

Goコードのレビューはコード生成を伴うため出力が長くなります。gpt-oss は多くの run で max_tokens=2048 に達し、改善コードが途中で切れます。

long_context_business_analysis(長文ビジネス分析)

モデル avg_sec 成功率
gemma3-4b 10.48秒 3/3 ✅
qwen3-8b 33.38秒 3/3 ✅
gemma3-12b 82.71秒 3/3 ✅
qwen3-4b 66.34秒 1/3
qwen3-14b 145.26秒 3/3 ✅
gpt-oss 162.43秒 3/3 ✅ ※

※ gpt-oss は HTTP 200 で全 run 成功判定ですが、max_tokens=2048 で出力が途中切れしており実質不完全

約1,200字の仕様メモを読んで複数の表を出力する最大規模タスクです。qwen3-4b は思考トークン起因の2回失敗(前述)。

出力品質比較(成功 run の比較)

評価軸 gemma3-4b qwen3-8b gemma3-12b qwen3-14b gpt-oss
全セクション完結 △(max_tokens到達で途中切れ)
未決事項の抽出数 △(4項目) ○(5項目) ○(5項目) ◎(6〜7項目) ◎(6〜9項目、不完全)
フォーマット準拠 △(独自表記あり)
3回間の一貫性

大型モデル(qwen3-14b, gpt-oss)ほど抽出粒度は細かくなりますが、gpt-oss は max_tokens 制限で完結しません。完結した高品質出力という点では qwen3-14b が現実的な最上位候補です。


総合評価

ユースケース 推奨モデル 理由
構造化出力(JSON生成) gemma3-4b 1.8秒で完了、圧倒的速度
日本語会話・要約 gemma3-4b chr/s が 156、全モデル最大
技術ドキュメント生成 gemma3-4b 全カテゴリ最速
コードレビュー(速度優先) gemma3-4b 13秒で完了
バランス重視の日常業務 qwen3-8b gemma3の次点、思考トークン過剰なし
深い分析・長文処理 qwen3-14b 最も細粒度な抽出、全 run 完結
バッチ処理(非同期・低優先度) gemma3-12b gpt-ossと同速だがモデルが軽量
gpt-oss の利用 要再検討 max_tokens=2048 では多くのタスクで途中切れ、かつ最低速

考察

gemma3-4b が全カテゴリで最速な理由

avg_tok/s が 74.6 に加え、avg_chr/s が 156.5 と他モデルの3〜17倍に達します。日本語出力において1トークンあたりの文字数が多い(漢字・かなのマルチバイト文字を効率的にトークン化)ことを示しています。また、思考トークンを生成しないため、生成したトークンがすべて実際の出力に直結します。

モデルサイズと速度の非線形関係

gemma3 の場合、4b → 12b(3倍のパラメータ)で tok/s は 74.6 → 12.5(約6分の1)に低下します。特筆すべきは gemma3-12b と gpt-oss:20b の tok/s がほぼ同じ(12.5 vs 12.6) という点です。Ollama 上での量子化設定やメモリ帯域幅の違いが影響している可能性があります。

VRAM容量と CPU オフロードが速度を決定する

今回の実験で観測された速度ティアは、VRAM 8 GB という制約に起因します。

推定動作形態 モデル avg tok/s
GPU 完全搭載 gemma3-4b, qwen3-4b, qwen3-8b 45〜75
GPU 搭載(境界付近) gemma3-12b 12.5
CPU オフロード qwen3-14b, gpt-oss 9〜13

qwen3-14b(推定 8.3 GB)と gpt-oss(推定 10.5 GB)は VRAM に収まりきらず、一部のレイヤーを CPU メモリで処理しています。CPU の帯域幅は GPU の数十分の1であるため、tok/s が急落します。gemma3-12b(推定 6.9 GB)は VRAM に収まるはずですが、KV キャッシュやシステム用途の数百 MB を加えると上限 8 GB に迫り、メモリ圧が遅延要因となっている可能性があります。

この観点からの実用指針:VRAM に収まるモデルを選べば GPU 推論速度(40+ tok/s)が得られる。VRAM に収まらない場合は問答無用で CPU 速度(10 tok/s 前後)に制限される。

qwen3 の思考トークン

qwen3 はモデルがデフォルトで内部推論(Chain-of-Thought)を生成する設計になっており、これが completion_tokens の大部分を占めます。特に qwen3-4b は 8b・14b に比べて思考量が過剰 で、単純な JSON タスクでも数千トークンの思考を生成します。Ollama の API では think=false パラメータで思考を無効化できますが、今回の実験はすべてデフォルト設定で計測しています。

gpt-oss の評価

gpt-oss:20b は 20B パラメータ級ですが、量子化方式が MXFP4(他モデルは Q4_K_M)である点が特徴的です。MXFP4 は 4 bit/param と Q4_K_M(≈4.5 bit/param)より少ないビット数で圧縮されており、推論品質への影響は別途検証が必要です。今回の設定(max_tokens=2048)では多くの複雑タスクで出力が途中で切れており、max_tokens を引き上げれば完成度は改善する見込みですが、CPU オフロードによる低速度(平均 119秒)は変わりません。


まとめ

  • 速度最優先なら gemma3-4b 一択。全カテゴリ最速、chr/s は群を抜く
  • qwen3-4b は思考トークン問題に注意。tok/s は高くても実効 chr/s は低く、長文タスクでは max_tokens 超過で失敗する(デフォルト設定時)
  • qwen3-8b がバランス最良。平均 23.4秒、全 run 成功、思考トークン過剰なし
  • 深い分析が必要なら qwen3-14b。最も細粒度な抽出、全 run 完結、112秒の応答時間を許容できるなら有力
  • gpt-oss は現設定では非推奨。max_tokens=2048 が律速となり多くのタスクで不完全出力、かつ最低速
  • gemma3-12b は gemma3-4b の代替にならない。tok/s が約6分の1になり、投入するリソースに見合わない
  • 速度の根本的な律速は VRAM。8 GB に収まるモデル(〜8b 相当)は GPU 推論(45〜75 tok/s)、収まらないモデルは CPU 推論(9〜13 tok/s)に制限される。VRAM を増やせば qwen3-14b も劇的に改善する可能性がある

付録:カテゴリ × モデル別 応答時間詳細

カテゴリ gemma3-4b gemma3-12b qwen3-4b qwen3-8b qwen3-14b gpt-oss
japanese_summary 3.89秒 20.05秒 55.56秒 12.03秒 79.04秒 88.29秒
technical_accuracy 12.06秒 94.09秒 60.17秒 30.26秒 131.75秒 165.78秒
code_review 13.14秒 83.46秒 79.43秒 31.16秒 156.64秒 152.41秒
structured_output 1.78秒 9.61秒 58.36秒 10.00秒 46.68秒 28.31秒
business_analysis 10.48秒 82.71秒 66.34秒 ※ 33.38秒 145.26秒 162.43秒
全体平均 8.27秒 57.98秒 23.37秒 111.87秒 119.44秒

※ qwen3-4b の business_analysis は 3run 中 1run のみ成功(run1: 66.34秒)。run2 は 129.6秒で出力文字数ゼロ(max_tokens=8192 上限到達)、run3 は 64.5秒で出力文字数ゼロ(思考のみで終了)。

平均トークン/秒・文字/秒

モデル avg tok/s avg chr/s
gemma3-4b 74.6 156.5
gemma3-12b 12.5 25.9
qwen3-4b 67.6 16.0 ※
qwen3-8b 44.9 43.2
qwen3-14b 9.1 9.4
gpt-oss 12.6 11.9

※ qwen3-4b は思考トークン過多により chr/s が tok/s に対して極端に低い(4カテゴリ成功分の平均)

Discussion