KVキャッシュは何割減るか — Nemotron 3.5 Lightning 30B-A3B を実GBで計算する
「この手法だとKVキャッシュは何割減るか」を答えるには、KVキャッシュそのものと推論時の総RAMを分ける必要がある。以下はまず「token数に比例して増えるKV部分」を、同規模の標準MHA Transformer = 100% とした比較である。
KV削減率の早見表
| 手法 | KV量の目安 | 標準MHAからの削減 | ctx依存 |
|---|---|---|---|
| 標準 MHA | 100% | 0% | O(L) |
| GQA 8KV / 32Q | 25% | 75%減 | O(L) |
| GQA 4KV / 32Q | 12.5% | 87.5%減 | O(L) |
| GQA 2KV / 32Q | 6.25% | 93.75%減 | O(L) |
| MQA 1KV / 32Q | 3.125% | 96.9%減 | O(L) |
| MLA | おおむね数%級 | 約90〜98%減 | O(L) |
| Mamba / recurrent | token履歴KV ≈ 0 | 長ctxではほぼ100%減 | stateはO(1) |
| Mamba + Attention hybrid | Attention比率次第 | 90〜99%級も可能 | Attention部分だけO(L) |
| Diffusion KV-less | AR KV = 0 | 100%減 | activationは増える |
GQAの削減率は単純で、KV量の比はほぼ N(KV heads) / N(Q heads) に等しい。たとえば Qwen3-30B-A3B の 32Q / 4KV なら 1 − 4/32 = 87.5% で、KVキャッシュを8分の1にしているだけである。contextを2倍にすれば、それでもKVは2倍になる。
Nemotron 3.5 Lightning はかなり特殊
NVIDIA Nemotron 3.5 Lightning 30B-A3B は、単なる「Mambaを少し混ぜたモデル」ではない。configを見ると、23 Mamba-2層、6 Attention層、23 MoE層、Attentionは32 Q heads / 2 KV heads、30B total / 3B active、最大1M contextである。
sequence mixing部分だけ見ると 23 Mamba + 6 Attention で、Attentionの割合は 6/29 ≈ 20.7% しかない。しかもその6 Attentionも32Q / 2KVなので 2/32 = 6.25% しかKVを持たない。この2つを掛けると (6/29) × (2/32) ≈ 0.0129 となり、標準的な29層MHA Transformerと同じsequence-mixing深さを基準にすると KV ≈ 1.29%、つまり約98.7%削減である。
KVを実GBで計算する
Attention層についてBF16 KV cacheを概算する。Attention層6、KV heads 2、head dim 128、K+V = 2、BF16 = 2 bytesで、1 token当たり 6 × 2 × 2 × 128 × 2 = 6,144 bytes ≈ 6 KiB/token である。
| Context | Nemotron 3.5 Attention KV |
|---|---|
| 32K | 約0.19 GiB |
| 128K | 約0.75 GiB |
| 256K | 約1.5 GiB |
| 1M | 約6 GiB |
同条件の29層・32 heads・head dim 128・BF16すべてMHAと仮定すると、32Kで約14.5 GiB、128Kで約58 GiB、256Kで約116 GiB、1Mで約464 GiBになる。1M contextを普通のTransformerでやるとKVだけで数百GBになり得るところを、Nemotronは数GB級まで落としている。NVIDIAが最大1M contextを掲げられる理由のかなり大きな部分がここにある。
ただしMamba stateもゼロではない
NemotronのMamba部分では各sequenceについて固定サイズのstateを保持する。configは mamba_num_heads = 64、mamba_head_dim = 64、ssm_state_size = 128、Mamba層23。SSM stateだけを粗く計算すると1層あたり 64 × 64 × 128 = 524,288要素で、FP16なら約1 MiB/層、23層で約23 MiB/sequence程度。conv stateなどもあるので実際には少し増える。重要なのは、32K → 128K → 1M とcontextを伸ばしてもこの部分は基本的に増えないことである。
したがってざっくり、総メモリ ≈ weights + Mamba state(固定) + 6 KiB × L + workspace となる。これは非常に美しい設計である。
性能(Artificial Analysis 現行ページ基準)
現在のArtificial Analysisページでは、Intelligence Index 14、rank #23/140、speed 285.5 tok/s、speed rank #1/140、1M context である。30B total / 3B active。
現行AA Intelligence の比較
| Model | AA Intelligence |
|---|---|
| Nemotron 3.5 Lightning | 14 |
| Ling 3.0 Tiny | 12 |
| Qwen3-30B-A3B-2507 Reasoning | 10 |
| Nemotron 3 Nano Reasoning | 9 |
出力速度は約285 tok/sで、AAの比較ではトップ級。
「AA 24って見たけど?」という点
リリース時の記事では Nemotron 3.5 Lightning は Intelligence Index = 24 で、gpt-oss-120b と同程度と紹介されていた。一方、現在のモデルページでは 14 になっている。これは「モデルが劣化した」という意味ではなく、Artificial AnalysisのIntelligence Indexの評価セット・スケールが更新されているためで、異なる世代のAAスコアは直接比較してはいけない。現在比較するなら現行ページ同士の数字を使うのが妥当である。
Ling-3.0-tiny と比べる
Ling 3.0 Tiny は 7.9B total / 1.3B active、AA = 12、18 KDA + 6 MLA、262K context、約158.5 tok/s。Nemotron 3.5 Lightning は 30B total / 3B active、AA = 14、23 Mamba + 6 Attention、Attentionは2 KV heads、1M context、約285.5 tok/s。
絶対性能では Nemotron 3.5 > Ling 3.0 Tiny。一方、モデルweight RAMでは Ling Tiny ≪ Nemotron である。32GB RAMではここが決定的になる。
32GB RAMでの評価
30B weightsなので、Q4の理論最低値は 30B × 0.5 bytes = 15GB だが、scale/metadataなどが入るので実際のGGUF Q4は概ね17〜20GB前後になる見込み。そこにruntime、Mamba state、KV、scratch/workspaceを足す。NemotronではKVが極端に小さいので、Q4なら32GB RAMとかなり相性がいい。
普通の30B Transformerでは「weightは入るけど128K KVが入らない」となる。Nemotronなら「weightが入れば長ctxもかなり伸ばせる」という逆転が起きる。
結論
30B total / 3B active で、KV約98.7%削減、AA Intelligence 14(現行ページ基準)、1M context。この4つが揃う「32GB RAMで高性能かつ超長文」という条件に、Nemotron 3.5 Lightning はかなり理想に近い。
注意: これは「KVが98.7%減」であって「総RAMが98.7%減」ではない。30Bのweightsは当然残る。この区別をしないと、メモリ節約の広告が突然魔法になる。
測定の性質と限界
この記事の数値は3種類に分かれる。(1) config.json からの KV・state バイト計算は、列挙した構成定数の掛け算であり、実行時workspaceやallocatorの都合は含まない。(2) AA Intelligence Index・tok/s は第三者測定値であり、自前実測ではない。(3) Q4 GGUF の17〜20GBは理論下限への経験的加算で、実ファイルは測っていない。実GGUFファイルサイズ、実際のruntime RSS、32GB実機での128K/1M context動作は未取得である。
一次資料
NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 (Hugging Face)
Nemotron 3.5 Lightning — Artificial Analysis
NVIDIA launches Nemotron 3.5 Lightning — Artificial Analysis