16GB VRAM における llama.cpp による LLM ベンチマーク(速度とコンテキスト)

16 GB VRAMでのllama.cppトークン速度(表)。

目次

ここでは、VRAM 16GB 搭載の GPU 上で動作する複数の LLM の速度を比較し、セルフホスティング用に最適なモデルを選定しています。

これらの LLM は、llama.cpp を使用し、19K、32K、および 64K トークンのコンテキストウィンドウで実行しました。

VRAM ブロックとベンチマーク風のチャート付きのスタイライズされた GPU の画像

この記事では、速度という点において、可能な限り高いパフォーマンスを引き出すための試みを記録しています。

LLM 速度比較表(トークン/秒と VRAM)

モデル サイズ 19K VRAM 19K GPU/CPU 19K T/s 32K VRAM 32K Load 32K T/s 64K VRAM 64K Load 64K: T/s
Qwen3.6-35B-A3B-UD-IQ3_XXS 13.2 13.8GB 96%/100% 147.5 14.0GB 96%/101% 149.1 14.7GB 96%/101% 145.8
Qwen3.6-35B-A3B-UD-IQ4_XS 17.7 14.3GB 62%/266% 95.0 14.9GB 58%/279% 92.3 14.9GB 57%/293% 86.4
Qwen3.5-35B-A3B-UD-IQ3_S 13.6 14.3GB 93%/100% 136.4 14.6GB 93%/100% 138.5 14.9GB 88%/115% 136.8
Qwen3.5-27B-IQ3_XXS-bartowsky 11.3 12.8 98/100 44.9 13.5 98/100 44.9 14.5 45/415 23.6
Qwen3.5-27B-UD-IQ3_XXS 11.5 12.9 98/100 45.3 13.7 98/100 45.1 14.7 45/410 22.7
Qwen3.5-27B-IQ4_XS.gguf 15.0 14.6 49/406 20.5 14.7 37/465 17.4 14.7 23/533 13.3
Qwen3.5-122B-A10B-UD-IQ3_XXS 44.7 14.7 30/470 22.3 14.7 30/480 21.8 14.7 28/490 21.5
Qwen3.5-122B-A10B-UD-IQ3_S 46.5 14.7 25/516 19.4 14.7 24/516 19.5 14.7 24/516 19.6
Mistral-Small-4-119B UD-IQ3_XXS 42.8 14.8 28/585 30.4 14.7 27/574 28.5 14.9 20/590 31.5
Qwen3-Coder-Next-UD-IQ4_XS 38.4 14.6 32/460 41.1 14.7 29/440 41.3 14.8 32/460 38.3
Nemotron Super 120b IQ3_XXS 56.2 15.0 26/517 17.5 14.6 26/531 17.4 14.6 26/535 17.6
gemma-4-26B-A4B-it-UD-IQ4_XS 13.4 14.7 95/100 121.7 14.9 95/115 114.9 14.9 75/190 96.1
gemma-4-31B-it-UD-IQ3_XXS 11.8 14.8 68/287 29.2 14.8 41/480 18.4 14.8 18/634 8.1
GLM-4.7-Flash-IQ4_XS 16.3 15.0 66/240 91.8 14.9 62/262 86.1 14.9 53/313 72.5
GLM-4.7-Flash-REAP-23B IQ4_XS 12.6 13.7 92/100 122.0 14.4 95/102 123.2 14.9 71/196 97.1

19K、32K、64K はコンテキストサイズを表しています。

上記の loadGPU Load です。 この列の値が低い場合、モデルは主に CPU で動作しており、このハードウェアでは十分な速度が得られないことを意味します。これは、GPU に収まるモデルの割合が少なかったり、コンテキストにより処理がホストに押し戻されたりする場合に、人々がよく見るパターンと一致します。

llama.cpp、LLM のパフォーマンス、OpenCode などの比較について

インストールパス、llama-clillama-server の使用例、および VRAM とトークン/秒(コンテキストサイズ、バッチ処理、-ngl)に影響を与えるフラグについては、まず llama.cpp クイックスタート(CLI と Server 対応) を参照してください。

より広範なパフォーマンスの全体像(スループットとレイテンシの関係、VRAM の制限、並列リクエスト、ハードウェアとランタイム間でベンチマークがどのように組み合わされるか)については、2026 年の LLM パフォーマンス:ベンチマーク、ボトルネックと最適化 をご覧ください。

応答の品質は他の記事で分析されています。例えば:

Ollama 上の LLM でも同様のテストを実施しました:VRAM 16GB GPU での Ollama 向けベスト LLM

Qwen 3.6 27B または 35B を llama.cpp で実行しており、生成速度をさらに押し上げたい場合は、16GB GPU での Qwen 3.6 MTP と標準デコードの比較 をご参照ください — 27B デンサモデルでは、MTP 投機的デコードにより最大 67% の生成スループット向上が見られ、各 --spec-draft-n-max レベルにおける VRAM コストとコンテキストウィンドウのトレードオフを示す表が掲載されています。

コンテキスト長がトークン/秒を変える理由

19K から 32K または 64K トークンへと移動するにつれ、KV キャッシュは増加し、VRAM への負荷が高まります。一部の行では 64K でトークン/秒が大幅に低下する一方、他の行では平坦な場合があり、これはモデルが一般的に「遅い」と推測するのではなく、クオンティゼーション、コンテキスト制限、またはレイヤーオフロードを再検討すべきシグナルです。これらの数値の背後にある予算計算 — トークンあたりの KV バイト数の正確な公式、32K/64K/128K におけるキャッシュタイプ別の表、独自の余剰容量を計算する方法 — については、16 GB GPU における KV キャッシュ:長いコンテキストを本当に適合させる を参照してください。

テストに選んだモデルとクオンティゼーションは、私が個人的に実行して、この機器においてコスト対効果の面で良い成果をもたらすかどうかを確認するためです。したがって、ここでは 200k コンテキストの q8 クオンティゼーションはありません :) …

GPU/CPU は、nvitop で計測された負荷です。

llama.cpp が GPU へのレイヤーのアンローディングを自動設定する際、1GB を空けるよう試みます。 このパラメータはコマンドラインパラメータ -ngl で手動で指定できますが、ここではそれを微調整しません。 必要なのは、32k から 64k へコンテキストウィンドウサイズを増加させた際の大幅なパフォーマンス低下がある場合、アンロードされたレイヤー数を微調整することで 64k での速度向上を試みられる可能性があることを理解することだけです。

テストハードウェアと llama.cpp の設定

以下の構成の PC で LLM の速度をテストしました:

  • CPU: i-14700
  • RAM: 64GB 6000Hz (2x32GB)
  • GPU: RTX-4080
  • Ubuntu (NVidia ドライバー搭載)
  • llama.cpp/llama-cli、アンロードされたレイヤーの指定なし
  • llama-cli を開始する前の初期 VRAM 使用量: 300MB

128K コンテキストでの追加実行(Qwen3.5 27B と 122B)

モデル 128K Load 128K: T/s
Qwen3.5-27B-UD-IQ3_XXS 16/625 9.6
Qwen3.5-122B-A10B-UD-IQ3_XXS 27/496 19.2

微調整された実行

興味深いいくつかのモデルとクオンティゼーションについては、VRAM をより効率的に利用するために、特別な llama-cpp コマンドラインパラメータを探索してみました。 以下が実現できた内容です:

モデル コンテキスト GPU 上のレイヤー数 CPU/CPU 負荷 速度
Qwen3.5-27B-IQ4_XS.gguf 18k 65 98%/100% 38.0
Qwen3.5-27B-IQ4_XS.gguf 64k 53 33%/488% 15.7

VRAM 16 GB ビルドの要点

  • 現在の私の favorito な Qwen3.5-27B-UD-IQ3_XXS は、そのスイートスポットである 50k コンテキストで良好なパフォーマンスを示しています(約 36t/s を得られています)。
  • Qwen3.5-122B-A10B-UD-IQ3_XXS は、64K を超えるコンテキストにおいて、パフォーマンス面で Qwen3.5 27B を上回っています。
  • Qwen3.5-35B-A3B-UD-IQ3_S を 100k トークンのコンテキスト処理に押し上げることができ、VRAM に収まるため、パフォーマンスの低下はありません。
  • gemma-4-31B は 16GB VRAM では使用しませんが、gemma-4-26B はまあまあかな…、テストが必要です。
  • Nemotron cascade 2 と GLM-4.7 Flash REAP 23B がどの程度よく動作するかをテストする必要があります。Qwen3.5-35B q3 より良くなるでしょうか? 疑わしいですが、念のためテストして疑念を確認してもよいです。

購読する

システム、インフラ、AIエンジニアリングの新記事をお届けします。