この記事の要点
生成の速さを目的に UD-IQ4_XS から NVFP4 の GGUF へ替える理由は見つからなかった。同じ GPU・同じ載せ方で比べると、共有メモリへあふれた RTX 5080 の長い入力を除き、NVFP4 は UD-IQ4_XS と実質的に同じか遅く、ファイルも大きい。いま UD-Q4_K_M なら VERY-LOW と LOW が速い条件はあったが、そこでも UD-IQ4_XS がさらに速かった。
全部 GPU に載せた最長の文脈で、共有メモリへあふれなかった NVFP4 は、画面を出していない RTX 5060 Ti の BUDGET だけだった。UD-IQ4_XS もあふれず、生成はそちらが速い。この条件では BUDGET は入力処理 (prefill) が UD-IQ4_XS より速い一方、生成は遅く、原因は切り分けていない。
Claude Code の作業はどちらも終えたが、BUDGET のほうが時間がかかった。1つ前の世代の RTX 4070 SUPER でも BUDGET は動いたが、UD-IQ4_XS・UD-Q3_K_XL より遅かった。
VRAM 16GBのRTX 50で、NVFP4のGGUFを選ぶ意味はあるか
RTX 5080 と RTX 5060 Ti (どちらも VRAM 16GB の RTX 50 シリーズ) で、Qwen3.8-27B の NVFP4 GGUF 3本 (BUDGET / VERY-LOW / LOW) を Unsloth の UD-IQ4_XS と同じ文脈・同じ載せ方で測ると (BUDGET だけは MTP の部分を持たない。後述)、生成の速さ (tok/s、1秒あたりのトークン数) は、ほとんどの条件で同じか遅かった。載せ方は2通りで、全部を GPU に載せる回と、llama.cpp の --fit に任せて GPU に載り切らない分を CPU とメインメモリへ回す回 (以下、自動配置) を測った。
1K の入力の生成で比べると、同じ載せ方・同じ GPU 同士で NVFP4 の3本が UD-IQ4_XS をはっきり上回った条件は無い。最も近かったのは自動配置・文脈 64K の RTX 5080 で、LOW が 17.4 tok/s、UD-IQ4_XS が 17.3 tok/s だった。入力を 32K まで広げると例外が1回あり、全部 GPU に載せた RTX 5080 で文脈 40K を確保して 32K の入力を読ませた回では、どちらも共有メモリへあふれたが、BUDGET が UD-IQ4_XS を上回った。ただし測定前の VRAM の使用量が回ごとに違い、条件がそろっていない (「全部GPUに載せたとき」の節)。
なお UD-IQ4_XS・VERY-LOW・LOW は MTP、つまり次の数トークンを先読みして生成を速める仕組み (multi-token prediction) を1回に最大2トークンまで使い、BUDGET はこの部分を持たないので使っていない。そのため BUDGET と UD-IQ4_XS の生成の差には MTP の有無も含まれ、量子化の形式だけの差とは言えない。
いま UD-Q4_K_M を使っている場合は事情が違い、自動配置で文脈を 16K に縮めた回では、VERY-LOW と LOW が UD-Q4_K_M より両方の GPU ではっきり速かった。UD-Q4_K_M にも MTP を付けたので MTP の有無の差ではなく、NVFP4 の3本のほうがファイルが小さい違いも混ざる。ただし同じ条件で UD-IQ4_XS はそれよりさらに速かった。
ファイルは3本とも UD-IQ4_XS (14.25GB) より大きいが、画面を出していない RTX 5060 Ti で全部を GPU に載せたときは、BUDGET のほうが UD-IQ4_XS より共有メモリへのはみ出しが少なかった。共有 GPU メモリ (Windows が VRAM の不足分をメインメモリから貸す分) へ約0.6GB を超えて出た回を「あふれた」とすると、画面を出していない RTX 5060 Ti で文脈 40K をあふれずに動かせたのは、NVFP4 では MTP の無い BUDGET だけだった (共有 GPU メモリの最大 140MiB。UD-IQ4_XS も収まった)。画面を出している RTX 5080 では BUDGET も 32K からあふれ、UD-IQ4_XS は 32K なら収まった (この回だけ共有メモリを記録しておらず、速さから判断した)。1枚の GPU で画面表示もしている場合は、RTX 5080 の結果のほうが近い。
画面を出していない RTX 5060 Ti で全部 GPU に載せた回では、BUDGET は入力処理 (prefill。入力されたプロンプトを処理する速さで、モデルを読み込む時間ではない) が速かった。文脈 40K では、BUDGET の入力処理は UD-IQ4_XS の約1.4〜1.5倍だったが、生成は約半分だった。UD-IQ4_XS は MTP を使い BUDGET は使っていないので、入力処理の差が NVFP4 によるのか MTP の有無によるのかは切り分けていない。
選ぶ材料として並べると、生成の速さを取るなら、今回の結果からは UD-IQ4_XS から替える理由は見当たらない。長い入力を読ませる用途で、画面を出していない VRAM 16GB の RTX 50 を使っているなら、BUDGET は試す余地がある。その場合も生成は遅くなるうえ、RTX 5060 Ti の値は OCuLink の外付け接続で測ったもので、内蔵の接続で同じになるとは限らない。
VRAM 12GB の GPU での結果は「VRAM 12GB(RTX 4070 SUPER)では」の節に、Claude Code・チャット・画像での使い勝手は「Claude Code・チャット・画像で使ってみると」の節にまとめた。NVFP4 以外の量子化3種 (UD-Q3_K_XL / UD-IQ4_XS / UD-Q4_K_M) については、同じ Qwen3.8-27B で必要 VRAM と起動オプションの差を先に測った記事がある。
NVFP4のGGUF 3本と、比べたUD-IQ4_XS
NVFP4 は、NVIDIA が Blackwell 世代の GPU とともに導入した4ビットの浮動小数点の形式だと、NVIDIA の開発者ブログは説明している。llama.cpp には Blackwell でこの形式をそのまま計算する経路が足されており、その変更 (PR #21896、同じ内容を #22196 として2026年4月28日に取り込み) の説明では、Blackwell の GPU がある CUDA 版でだけ動き、主に入力処理 (prefill) を速くして、生成の速さは以前とほぼ同じとしている。
今回の3本は esatapedico が配布するもので、モデルカードによると unsloth/Qwen3.8-27B-NVFP4 から作られている。モデルカードはこのモデルを画像と動画を扱える VLM とし、もともとの文脈の長さを 262,144 トークン、ライセンスを Apache-2.0 としている。本記事で試したのは静止画だけで、動画と 262,144 トークンの文脈は測っていない。
MTP 付きのリポジトリ esatapedico/Qwen3.8-27B-NVFP4-MTP-GGUF にある VERY-LOW と LOW は、注意機構と MLP を NVFP4 にした、バイト単位で同じ本体 (448 テンソル) を共有している。違うのは出力層・埋め込み・MTP の先読み用の部分 (10 テンソル) の型だけ、と配布元は説明している。MTP の先読み用の部分は各ファイルに入っている。
BUDGET (esatapedico/Qwen3.8-27B-NVFP4-BUDGET-GGUF) は、同じ NVFP4 の本体から MTP の先読み用の部分を取り除き、出力層と埋め込みを小さい型にしたもので、配布元は VRAM 16GB の利用者に向けたものだとしている。MTP が無いので --spec-type draft-mtp は使えない。どの NVFP4 の GGUF についても、配布元は NVFP4 (GGML の型 40) の CUDA カーネルと sm_120 (Blackwell) に対応した llama.cpp が要るとしている。
一方で配布元自身も、Qwen3.8-27B を VRAM 16GB の GPU に載せるには NVFP4 以外の GGUF、たとえば Unsloth のリポジトリのものを使う方法もあると書いている。比べた UD-IQ4_XS と UD-Q4_K_M は、その unsloth/Qwen3.8-27B-GGUF から取ったものだ。
| ファイル | 配布元 | 大きさ | MTP の先読み用の部分 |
|---|---|---|---|
| UD-IQ4_XS | unsloth/Qwen3.8-27B-GGUF | 14.25GB | あり |
| UD-Q4_K_M | unsloth/Qwen3.8-27B-GGUF | 16.46GB | あり |
| NVFP4 BUDGET | esatapedico/Qwen3.8-27B-NVFP4-BUDGET-GGUF | 14.72GB | なし |
| NVFP4 VERY-LOW | esatapedico/Qwen3.8-27B-NVFP4-MTP-GGUF | 14.86GB | あり |
| NVFP4 LOW | esatapedico/Qwen3.8-27B-NVFP4-MTP-GGUF | 15.53GB | あり |
大きさは10進の GB。ファイルはどれも Hugging Face から取得し (NVFP4 の3本は2026年10月3日、Unsloth の2本は2026年8月)、sha256 が配布元のリポジトリに載っている値と一致した。MTP の欄は、配布元の説明と、測定で --spec-type draft-mtp を付けて起動できたかどうかによる。BUDGET (14.72GB)・VERY-LOW (14.86GB)・LOW (15.53GB) のどれも、UD-IQ4_XS より大きい。
MTP の先読みの数 (--spec-draft-n-max) について、配布元は機材に合わせて1〜6で試すよう勧め、自分たちの設定は6としている。本記事はすべて2で測っており、先読みの数を変えた測定はしていない。
全部GPUに載せたとき
ここでいう「共有GPUメモリ」は、VRAM が足りないときに Windows がメインメモリから貸す分のことだ。ここへあふれると極端に遅くなるので、Windows のカウンタを30秒おきに記録した最大値が約0.6GB を超えた回を「あふれた」とした。起動は --fit off -ngl 99 で全部を GPU に載せ、KV キャッシュ q8_0・flash attention on・--parallel 1。UD-IQ4_XS・VERY-LOW・LOW は MTP の先読みを1回に最大2トークン使い、BUDGET は使っていない。値は各3回の中央値で、起動は条件ごとに1回。
| GPU | ファイル | 文脈 | 1Kの入力 入力処理 / 生成 (tok/s) | 4Kの入力 入力処理 / 生成 (tok/s) | 32Kの入力 入力処理 / 生成 (tok/s) | 共有GPUメモリの最大 | 判定 |
|---|---|---|---|---|---|---|---|
| RTX 5060 Ti | UD-IQ4_XS | 40K | 647 / 50.6 | 808 / 52.4 | 766 / 39.0 | 248MiB | 収まった |
| RTX 5060 Ti | UD-IQ4_XS | 32K | 670 / 50.7 | 815 / 51.1 | — | 232MiB | 収まった |
| RTX 5060 Ti | NVFP4 BUDGET | 40K | 915 / 25.6 | 1,220 / 25.3 | 1,133 / 22.2 | 140MiB | 収まった |
| RTX 5060 Ti | NVFP4 BUDGET | 32K | 979 / 25.7 | 1,257 / 25.3 | — | 132MiB | 収まった |
| RTX 5060 Ti | NVFP4 VERY-LOW | 40K | 719 / 39.9 | 769 / 38.5 | 379 / 17.7 | 632MiB | あふれた |
| RTX 5060 Ti | NVFP4 VERY-LOW | 32K | 865 / 46.5 | 1,116 / 48.2 | — | 264MiB | 収まった |
| RTX 5060 Ti | NVFP4 LOW | 40K | — | — | — | 約1GB | あふれた (途中で中止) |
| RTX 5080 | UD-IQ4_XS | 40K | 173 / 29.7 | 170 / 27.3 | 98 / 12.2 | 1,119MiB | あふれた |
| RTX 5080 | UD-IQ4_XS | 32K | 1,200 / 89.2 | 1,549 / 95.5 | — | 記録なし | 収まった (速さから判断) |
| RTX 5080 | NVFP4 BUDGET | 40K | 149 / 19.4 | 147 / 19.4 | 95 / 18.4 | 1,003MiB | あふれた |
| RTX 5080 | NVFP4 BUDGET | 32K | 151 / 21.0 | 149 / 21.1 | — | 773MiB | あふれた |
文脈 32K の回は 32K の入力を測っていないので「—」にしている。RTX 5060 Ti の文脈 32K の回は1〜1.5分と短く、共有メモリの記録は2〜3点だけ。LOW の 40K は生成が約2.3 tok/s まで落ちたため46分で止め、値を使っていない。
画面を出していない RTX 5060 Ti では、BUDGET が文脈 40K でも共有メモリの最大 140MiB に収まった。VERY-LOW は 40K で 632MiB あふれ (32K の回は約1分と短く、記録できた2点とも 264MiB で収まった)、LOW は 40K で約1GB あふれた。UD-IQ4_XS は 40K・32K とも収まっている。40K では、BUDGET (14.72GB) は UD-IQ4_XS (14.25GB) よりファイルが大きいのに共有メモリへのはみ出しは少なく、ファイルの大きさが BUDGET と 0.14GB しか違わない VERY-LOW はあふれた。MTP の先読み用の部分が実行時に使うメモリなどが関わっている可能性はあるが、内訳は測っていない。
RTX 5080 は画面表示に使っていて、測定前から回により約0.7〜1.8GB を使っていた (nvidia-smi の値)。画面を出していないカードより使える VRAM が少なく、BUDGET も 32K からあふれ、UD-IQ4_XS は 32K なら収まった。ただしこの UD-IQ4_XS 32K の回だけは共有メモリを記録しておらず、生成の速さから収まったと判断している。画面表示の使用量が回ごとに違うので、RTX 5080 での BUDGET と UD-IQ4_XS の収まり方の差を、ファイルの違いとして読むことはできない。どちらもあふれた文脈 40K では、32K の入力だけ BUDGET の生成 (18.4 tok/s) が UD-IQ4_XS (12.2 tok/s) を上回った。ただしこの2回は測定前の VRAM の使用量が UD-IQ4_XS の回で約1.8GB、BUDGET の回で約0.7GB と違い、条件がそろっていない。原因は調べていない。
入力処理は、RTX 5060 Ti の 40K で BUDGET が UD-IQ4_XS の約1.4〜1.5倍だったが、生成は約半分だった。UD-IQ4_XS は MTP を使い BUDGET は使っていない。MTP 付きの VERY-LOW の入力処理は、この表では UD-IQ4_XS より速い回 (文脈 32K、文脈 40K の 1K の入力) と遅い回 (文脈 40K の 4K・32K の入力) があり、自動配置の回では VERY-LOW・LOW とも UD-IQ4_XS と同じか遅かった。UD-IQ4_XS を MTP なしで測った回は無く、入力処理の差が NVFP4 によるのか MTP の有無によるのかは切り分けていない。
表の見方を補足すると、「あふれた」は共有メモリの最大値が約0.6GB を超えたかどうかの判定で、速さの落ち方とは一致しない回がある。VERY-LOW の 40K は 632MiB と基準のすぐ上の「あふれた」回で、1K・4K の入力の生成は 39.9 / 38.5 tok/s と BUDGET (25.6 / 25.3) より速いが UD-IQ4_XS (50.6 / 52.4) よりは遅く、32K の入力で 17.7 tok/s (BUDGET は 22.2、UD-IQ4_XS は 39.0) まで落ちた。基準の位置を動かせば、NVFP4 で収まったのが BUDGET だけという結果は変わりうる。
共有 GPU メモリへのあふれと文脈の長さの関係は、指定できる文脈長と実際に使える文脈長の違いを同じモデルで測った記事で詳しく扱っている。
GPUに載り切らない分をCPUに回したとき(自動配置)
次に、自動配置、つまり llama.cpp の --fit (既定で有効) に任せて GPU に載り切らない分を CPU とメインメモリへ回す載せ方で、文脈の決め方を2通り測った。「文脈64K」は -c 65536 で文脈を固定した回、「文脈16K (自動)」は -c を外して -fitc 16384 (--fit が文脈を縮めるときの下限) を付けた回で、GPU に載せる量を増やすため、この回はどれも llama.cpp が文脈を下限の 16,384 まで縮めた。そのほかの設定は前の節と同じで、UD-Q4_K_M にも MTP の先読みを付けた。表は 1K の入力での生成 tok/s (3回の中央値) で、測定の前半はファイルのダウンロードと重なったため、重なった回は測り直した値を載せている。GPU に載らない分は CPU とメインメモリで処理されるので、ここの値はメインメモリ 96GB の測定機でのものになる。
| ファイル | RTX 5080 文脈64K | RTX 5080 文脈16K (自動) | RTX 5060 Ti 文脈64K | RTX 5060 Ti 文脈16K (自動) |
|---|---|---|---|---|
| UD-IQ4_XS | 17.3 | 40.8 | 16.3 | 31.7 |
| UD-Q4_K_M | 16.7 | 22.1 | 13.9 | 19.4 |
| NVFP4 BUDGET | 15.1 | 28.2 | 11.7 | 19.7 |
| NVFP4 VERY-LOW | 17.1 | 29.9 | 15.1 | 24.5 |
| NVFP4 LOW | 17.4 | 26.9 | 15.4 | 22.6 |
CPU に回す分があるぶん、全部 GPU に収まった回 (RTX 5080 の UD-IQ4_XS・文脈 32K で 1K の入力 89.2 tok/s) より生成は大きく落ちる。どの列でも、UD-IQ4_XS は NVFP4 の3本と実質的に同等以上だった。いちばん近づいたのは RTX 5080 の文脈64K で、LOW の 17.4 が UD-IQ4_XS の 17.3 をわずかに上回った。ただ、ダウンロードと重なった回とその測り直しでは生成が最大2割ほど違い、UD-IQ4_XS の RTX 5080 文脈64K は重なった回が 14.6、測り直しが 17.3 だった。重ならない同じ条件の測り直し (BUDGET・RTX 5060 Ti・文脈64K) は 11.7 と 11.7 で一致したが、繰り返しはこの1組だけなので、起動ごとの振れの大きさは分からない。0.1〜1 tok/s 程度の差は順位として読まない。
UD-Q4_K_M と比べると様子が違う。文脈16K (自動) では VERY-LOW と LOW が両方の GPU で UD-Q4_K_M よりはっきり速く、BUDGET も同じか速かった。文脈64K では BUDGET が UD-Q4_K_M より遅く、VERY-LOW と LOW は同じか少し速い程度だった。ファイルは NVFP4 の3本 (14.72〜15.53GB) のほうが UD-Q4_K_M (16.46GB) より小さく、その違いも混ざるので、形式の差だけとは言えない。
NVFP4 の3本同士では、MTP 付きの VERY-LOW と LOW が BUDGET より速い列が多い。表で BUDGET を下回ったのは RTX 5080 の文脈16K (自動) の LOW だけで、それ以外の列では VERY-LOW と LOW が BUDGET を上回っている。この差がどこから来るのかは調べていない。前の節で BUDGET の入力処理が約1.4〜1.5倍速かった件も、原因は切り分けていないままだ。
Claude Code・チャット・画像で使ってみると
速さとは別に、BUDGET と UD-IQ4_XS を実際の使い方に近い課題でも比べた。Claude Code 2.1.284 を llama-server につなぎ、RTX 5060 Ti・文脈 40K・全部 GPU (全部 GPU に載せた節と同じ起動の仕方) で、同じ小さなリポジトリに対してコードの説明・バグ修正・機能追加の3つの作業を3回ずつ行った。所要は作業1つの開始から終了までの秒数と、その間のやり取りの回数。GGUF に入っているチャットテンプレートは会話の途中の system メッセージで例外を出すため、その1行を通常の system として扱う形に変えたものを、両方に --chat-template-file で指定した。UD-IQ4_XS は MTP の先読みを使い、BUDGET は使っていない。
| ファイル と回 | コードの説明 | バグ修正 | 機能追加 | テスト (バグ修正の後 / 機能追加の後) |
|---|---|---|---|---|
| NVFP4 BUDGET 1回目 | 264.8秒 / 11回 | 243.8秒 / 9回 | 317.7秒 / 13回 | 6 passed / 13 passed |
| NVFP4 BUDGET 2回目 | 220.1秒 / 9回 | 157.6秒 / 7回 | 292.9秒 / 13回 | 6 passed / 14 passed |
| NVFP4 BUDGET 3回目 | 124.2秒 / 8回 | 211.1秒 / 9回 | 285.4秒 / 13回 | 6 passed / 23 passed |
| UD-IQ4_XS 1回目 | 63.9秒 / 8回 | 143.9秒 / 10回 | 160.6秒 / 11回 | 6 passed / 14 passed |
| UD-IQ4_XS 2回目 | 105.3秒 / 8回 | 108.7秒 / 10回 | 169.4秒 / 12回 | 6 passed / 11 passed |
| UD-IQ4_XS 3回目 | 96.8秒 / 6回 | 123.1秒 / 9回 | 262.4秒 / 20回 | 6 passed / 13 passed |
3つの作業は BUDGET も UD-IQ4_XS も3回とも全部終わったが、所要は BUDGET のほうが長かった。BUDGET の答えには簡体字の中国語が3回のうち2回、1語ずつ混ざり、UD-IQ4_XS には無かった。混ざった原因は調べていない。コードの説明は「変更しない」作業なので、その後のテストは、バグ修正の作業用に入れておいたバグが残ったまま1件失敗する。BUDGET の1回目と UD-IQ4_XS の3回は、最初の試行で Claude Code が起動せず、測り直した回で、所要は回ごとにばらつく。機能追加の後のテストの件数は、モデルが足したテストの数で変わる。
チャットは reasoning high・最大 8192 トークン・温度 0 (greedy) で、RTX 5060 Ti は文脈 40K、RTX 5080 は 40K だとあふれるので文脈 16K とし、どちらも全部 GPU に載せた。画像は mmproj F16 を足して文脈 16K。チャットも画像も3回ずつ行い、温度 0 のため答えは3回とも同じだった (コードを書く課題の UD-IQ4_XS・RTX 5060 Ti だけ、1回目と2・3回目で答えが違った)。所要は答えが返るまでの秒数で、3回の中央値か範囲を載せている。
| ファイル と GPU | PC の構成相談 (思考が長い質問) | 税の計算 (正解 1,229円) | コードを書く | 画像: 表の読み取り / タイトル文字 | 画像: 写真の説明 |
|---|---|---|---|---|---|
| UD-IQ4_XS・RTX 5060 Ti | 183秒、上限に達し答えは途中まで | 15.5秒、正解 | 25.7〜34.9秒 | 全セル一致 / 一致 | 正しい。帯の文字をカードの説明に混ぜた |
| NVFP4 BUDGET・RTX 5060 Ti | 324秒、上限に達し答えなし | 28.0秒、正解 | 51.9秒 | 全セル一致 / 一致 | 正しいが短い。写っていないバックプレートを挙げた |
| UD-IQ4_XS・RTX 5080 | 51.4秒、4,704 トークンで答え切った | 8.0秒、正解 | 12.9秒 | 全セル一致 / 一致 | 正しい |
| NVFP4 BUDGET・RTX 5080 | 164秒、上限に達し答えなし | 17.7秒、正解 | 20.4秒 | 全セル一致 / 一致 | 正しい |
税の計算は、両方とも全部の条件で正解した。思考が長くなる PC の構成相談では、BUDGET は RTX 5060 Ti (文脈 40K) でも RTX 5080 (文脈 16K) でも思考の上限 8192 トークンに達して答えが出なかった。UD-IQ4_XS は RTX 5080 では答え切り、RTX 5060 Ti では上限に達して答えが途中までだった。同じ GGUF で GPU と文脈によって結果が分かれた原因は調べていない。
画像の3つの課題のうち、5行×4列の表の読み取りとタイトル文字は、BUDGET も UD-IQ4_XS も両方の GPU で全部一致した。写真の説明はどれも大筋で正しかったが、細部では、BUDGET が RTX 5060 Ti で写っていない部品 (バックプレート) を挙げ、UD-IQ4_XS が RTX 5060 Ti で帯の文字をカードの説明に混ぜた。写真の説明の正誤は、出力の全文を目で読んで判断している。中国語の混ざりは、チャットでは回答・思考とも無かった。
どの課題も回数が少なく、原因も調べていないので、ここから量子化の形式ごとの精度の優劣はまとめられない。言えるのは、同じ課題で BUDGET のほうが時間がかかったところまでで、UD-IQ4_XS は MTP を使っているため、その差が NVFP4 によるのか MTP の有無によるのかも切り分けていない。
VRAM 12GB(RTX 4070 SUPER)では
RTX 5060 Ti を RTX 4070 SUPER 12GB に差し替え (同じ外付けの接続)、「GPUに載り切らない分をCPUに回したとき(自動配置)」の節と同じ文脈の2通り (文脈64K・文脈16K (自動)) で生成 tok/s を測った (各3回の中央値、1回の起動)。測った3種 (UD-IQ4_XS・NVFP4 BUDGET・UD-Q3_K_XL) はどれも 12GB には全部は載らず、残りは CPU へ回った。UD-Q3_K_XL (13.15GB) は、UD-IQ4_XS より小さい Unsloth の量子化として並べた。VRAM 12GB の Blackwell (RTX 5070 など) は測っていない。llama-server が使った専用メモリは 9.6〜10.0GB だった。
| GPU と ファイル | 文脈64K 1K / 4K / 32K の入力 | 文脈16K (自動) 1K / 4K の入力 |
|---|---|---|
| RTX 4070 SUPER・UD-IQ4_XS | 8.2 / 7.1 / 4.6 | 9.8 / 9.7 |
| RTX 4070 SUPER・NVFP4 BUDGET | 6.3 / 5.6 / 3.7 | 7.6 / 7.1 |
| RTX 4070 SUPER・UD-Q3_K_XL | 7.4 / 7.1 / 4.8 | 9.8 / 9.5 |
| (比較) RTX 5060 Ti・UD-IQ4_XS | 16.3 / 16.2 / 10.3 | 31.7 / 30.7 |
| (比較) RTX 5060 Ti・NVFP4 BUDGET | 11.7 / 11.0 / 7.8 | 19.7 / 18.9 |
BUDGET は、Blackwell ではない RTX 4070 SUPER でも動いて生成できた。ただ 1K の入力の生成は 6.3〜7.6 tok/s で、同じ載せ方の UD-IQ4_XS (8.2〜9.8 tok/s) より遅かった。表の (比較) の行のとおり RTX 5060 Ti でも BUDGET は UD-IQ4_XS より遅いので、この遅さを Blackwell でないことの結果とは言えない。BUDGET は MTP の先読み用の部分を持たず、UD-IQ4_XS と UD-Q3_K_XL は MTP を使っているので、この遅さが NVFP4 の形式によるのか MTP の有無によるのかは切り分けていない。配布元は sm_120 (Blackwell) に対応した llama.cpp が要るとしているが、今回確かめたのは動いたことだけで、どの経路で計算されたかは確かめていない。
RTX 4070 SUPER と RTX 5060 Ti は、VRAM の量のほかに演算性能・メモリ帯域・世代も違う。表の (比較) の行との差を、VRAM の量だけの効き目として切り離すことはできない。
今回測った量子化では、27B を 12GB に全部は載せられなかった。Unsloth のリポジトリには重みが 12GB に収まる2〜3ビット台の量子化もあるが、その品質と使える文脈は本記事では測っていない。別の道として、大きい MoE を GPU とメインメモリで分けて動かす Strata の実測もある。
検証環境と測り方
測定機は GPU 2枚の構成で、RTX 5080 (VRAM 16GB) を画面表示に使い、RTX 5060 Ti (VRAM 16GB) は OCuLink の外付け接続 (PCIe 4.0 x4) で画面表示なし。メインメモリは 96GB。VRAM 12GB の測定では、RTX 5060 Ti の位置に RTX 4070 SUPER を差し替えた。
推論には llama.cpp b11218 の llama-server を使った。b11218 は2026年9月27日公開の版で、Blackwell で NVFP4 をそのまま計算する変更 (#21896 / #22196) より後の版にあたる。ただし、本記事の結果がその経路を通ったかは確かめていない。b11218 の後にも、NVFP4 の CUDA の行列計算 (主に入力処理で使う経路) への変更が2026年10月1日と5日に取り込まれている。本記事の入力処理の値は b11218 でのもので、新しい版では変わりうる。
- 全部 GPU に載せる回:
--fit off -ngl 99、文脈 40K は-c 40960・32K は-c 32768、KV キャッシュ q8_0、flash attention on、--parallel 1 - 自動配置の回:
--fit(既定で有効) のまま、-c 65536で文脈を固定するか、-cを外して-fitc 16384を付ける - 使う GPU:
CUDA_DEVICE_ORDER=PCI_BUS_IDとし、CUDA_VISIBLE_DEVICESで1枚だけを見せた - MTP の先読み: UD-IQ4_XS・UD-Q4_K_M・UD-Q3_K_XL・VERY-LOW・LOW に
--spec-type draft-mtp --spec-draft-n-max 2(1回に最大2トークン)。BUDGET は付けない - 入力と生成: 入力はコード系の文章で毎回先頭を変え、1K / 4K / 32K。生成は 256 トークン、温度 0 (greedy)、思考なし
- 集計: 各3回の中央値
- 共有 GPU メモリ: Windows のカウンタを30秒おきに記録した最大値。約0.6GB を超えた回をあふれとした
配布元は RTX 5070 Ti 1枚・文脈 32k・KV キャッシュ q4_0 で、BUDGET の入力処理 2287.3 t/s・生成 27.05 t/s を載せている。ただし配布元自身が1回だけの参考値で、文脈の長さ・機材・測り方が違う数字とは比べられないと断っており、KV キャッシュも入力の長さも違う本記事の数字とは並べていない。
測定機の構成の詳細は検証環境のページにまとめている。本記事の実測値は2026年10月3日に、上記の測定機・設定で計測したもの。
まとめ
Qwen3.8-27B を VRAM 16GB の RTX 50 で使う場合を中心に、使っているファイルや目的・GPU 別にまとめる。
- いま UD-IQ4_XS を使っている: 今回の条件では、NVFP4 の GGUF に替えても生成は UD-IQ4_XS より速くならなかった。例外は、BUDGET と UD-IQ4_XS がどちらも共有メモリへあふれた RTX 5080 の長い入力の1件だけで、測定前の VRAM の使用量が両者で違い、条件はそろっていない。
- いま UD-Q4_K_M を使っている: VERY-LOW と LOW は、自動配置で文脈を縮めた回で UD-Q4_K_M より速かった (どちらも MTP あり。NVFP4 のほうがファイルが小さいので、形式だけの差とは言えない)。ただし同じ回で UD-IQ4_XS はさらに速かった。
- 文脈 40K を全部 GPU に載せたい: 共有メモリへ約0.6GB を超えて出た回を「あふれた」とすると、NVFP4 の中で収まったのは画面を出していないカードの BUDGET だけだった。同じ条件で UD-IQ4_XS も収まり、生成はそちらが速い。BUDGET が上回ったのは入力処理の速さで、その差の原因は切り分けていない。
- VRAM 12GB の RTX 4070 SUPER: MTP の無い BUDGET は MTP のある UD-IQ4_XS より生成が遅かった (形式によるのか MTP の有無によるのかは切り分けていない)。
参考資料
- esatapedico/Qwen3.8-27B-NVFP4-BUDGET-GGUF (Hugging Face)
- esatapedico/Qwen3.8-27B-NVFP4-MTP-GGUF (Hugging Face)
- unsloth/Qwen3.8-27B-GGUF (Hugging Face)
- llama.cpp PR #21896 ggml-cuda: Blackwell native NVFP4 support
- llama.cpp PR #22196 (#21896 の再投稿、2026年4月28日マージ)
- llama.cpp b11218 (リリース)
- Introducing NVFP4 for Efficient and Accurate Low-Precision Inference (NVIDIA Technical Blog)

