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

llama.cppの16 GB VRAMにおけるトークン速度(テーブル)。

目次

ここでは、16GBのVRAMを備えたGPUで動作する複数のLLM(大規模言語モデル)の速度を比較し、セルフホスティングに最適なモデルを選びます。

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

スタイライズされたGPUとVRAMブロック、およびベンチマーク風のチャート

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

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

モデル サイズ 19K VRAM 19K GPU/CPU 19K T/s 32K VRAM 32K 負荷 32K T/s 64K VRAM 64K 負荷 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はコンテキストサイズを指します。

上記の load は GPU Load(GPU負荷)です。 このカラムに低い数値が表示される場合、モデルは主にCPU上で動作しており、このハードウェアでは適切な速度を獲得できないことを意味します。これは、モデルのGPU適合率が低すぎた場合や、コンテキストがホスト(CPUメモリ)に押し戻される場合に見られるパターンと一致します。

llama.cpp、LLMのパフォーマンス、OpenCodeおよび他の比較について

インストールパス、llama-cli や llama-server の使用例、そしてVRAMやトークン/秒数にとって重要となるフラグ(コンテキストサイズ、バッチ処理、-ngl)について詳しく知りたい場合は、まず llama.cpp クイックスタート:CLIとサーバーの使用 を参照してください。

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

レスポンスの品質については、他の記事で分析しています。例えば以下の記事があります:

Ollama上のLLMについても同様のテストを行っています:16GB VRAM GPUでのOllama向けベストLLM。

llama.cpp経由でQwen 3.6 27Bまたは35Bを運用しており、生成速度をさらに押し上げたい場合は、16GB GPUでのQwen 3.6 MTP vs 標準デコーディング を参照してください — MTP投機的デコーディングにより、27B密集モデルでは最大67%の生成スループット向上が見込め、VRAMコストとコンテキストウィンドウのトレードオフを示すテーブルが各 --spec-draft-n-max レベルで提示されています。

なぜコンテキスト長がトークン/秒数を変えるのか

19Kから32K、あるいは64Kトークンへと進むにつれて、KVキャッシュが増大し、VRAMへの圧力が高まります。一部の行では64Kでトークン/秒数が大きく低下するのに対し、他の行では横ばいであることがあり、これはモデルが一般的な意味で「遅い」と推測するのではなく、量子化レベル、コンテキスト制限、またはレイヤーオフローディングを再検討すべきシグナルです。これらの数値の背後にある予算計算—1トークンあたりのKVバイト数の正確な数式、32K/64K/128Kでのキャッシュタイプ別のテーブル、および自身のヘッドルーム(余裕)の计算方法—については、16 GB GPUでのKVキャッシュ:長いコンテキストを実際に収める方法 をご覧ください。

私がテストに選んだモデルと量子化レベルは、自分自身が実行して、この機器上でコストとベネフィットの観点から良い利得をもたらすかどうかを確認するためです。そのため、ここでは200kコンテキストを持つq8量子化などは扱いません :) …

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

llama.cppが自動的にGPUへのレイヤーアンロードを設定する際、1GBを空きとして確保しようとします。 私たちはこのパラメータをコマンドライン引数 -ngl を通じて手動で指定しますが、ここではそれを微調整(ファインチューニング)しません。 32kから64kにコンテキストウィンドウサイズを増やした際に顕著なパフォーマンス低下がある場合、アンロードされるレイヤー数を微調整することで、64kでの速度向上を試みられるという理解を持つことが重要です。

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

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

  • 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 負荷 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

16 GB VRAM構成のための考察

  • 現在の私の favorite な 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に収まるため、パフォーマンス低下はありません。
  • 16GB VRAMでは gemma-4-31B は使用しませんが、gemma-4-26B はまあまあかもしれません…、テストが必要です。
  • Nemotron cascade 2 と GLM-4.7 Flash REAP 23B がどれほどよく動作するかのテストが必要です。Qwen3.5-35B q3 より良くなるでしょうか? 疑問ですが、確認するためにテストするかもしれません。
  • なぜ24 GBがあれば25〜34B帯が2026年のデフォルトとなるのか、そしてなぜQ4 Qwen3.8-27Bはこの16 GBカードには本当に適さないのかについて詳しくは、2026年のオープンモデルの効率的フロンティア を参照してください。

購読する

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