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パフォーマンス:ベンチマーク、ボトルネックと最適化 をご覧ください。
レスポンスの品質については、他の記事で分析しています。例えば以下の記事があります:
- OpenCode向けベストLLM - ローカルテスト済み. OpenCodeについては、OpenCode クイックスタート:ターミナルAIコーディングエージェントのインストール、設定、使い方 でもっと読むことができます。
- [Hugoページ翻訳品質の比較 - Ollama上のLLM](https://www.glukhov.org/ja/llm-hosting/ollama/translation-quality-comparison-llms-on-ollama/ “Hugoページ翻訳品質の比較 - Ollama上のLLM - qwen3 8b, qwen3 14b, qwen3 30b, devstral 24b, mistral small 24b”})
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年のオープンモデルの効率的フロンティア を参照してください。