重要なハードウェア(と重要でないもの)
ローカルLLMのパフォーマンスは3つのリソースに集約され、3つは同等ではない。VRAM容量は何を動かせるかを決める。メモリ帯域幅は生成の体感速度を決める。生の計算性能が主に決めるのは、Enterを押した直後の待ち時間。正しくランク付けすればハードウェアの判断はすべて自明になる。誤れば、使わないテラフロップスに金を払うことになる。
ランキング:容量、帯域幅、計算性能
- VRAM容量(GB)——拘束条件。収まらないモデルは動かないか、システムRAMに溢れて這う。容量はモデルサイズ、量子化レベル、コンテキスト長を同時に決め、カード上の他の何ものもその欠落を補償しない。
- メモリ帯域幅(GB/s)——トークンが出てくる速さ。生成される各トークンは実質モデル全体をVRAMから読むので、デコード速度は帯域幅をバイト単位のモデルサイズで割ったもの。生成中、計算ユニットはほぼ遊んでいる。
- 計算性能(TFLOPS)——効くのはプリフィル。最初のトークンが出る前のプロンプト消化。FLOPsが多いほど初回トークンまでの時間が短くなり、複数リクエストがGPUを共有するときのバッチスループットが増える。単一ストリームのトークン毎秒はほとんど動かない。
どのリソースがどの体験を買うか
| 体験 | 律速要因 | 体感 |
|---|---|---|
| モデルのロード | ストレージ、PCIeレーン | セッションに1回10〜60秒。品質への影響なし |
| 初回トークンまでの時間(TTFT) | 計算性能(TFLOPS) | 長いプロンプトは待たせる。FLOPsを喜ぶ |
| 生成速度(tok/s) | メモリ帯域幅 | ≈ GB/s ÷ 重みのGB数(トークンあたり) |
| 保持できるコンテキスト | VRAM容量 | KVキャッシュがトークンごとに増大(KVキャッシュ) |
| 同時ユーザー数 | 容量、次に計算性能 | まず容量、次にバッチプリフィル用のFLOPs |
2つの式が直感のほぼすべてを担う。
decode tok/s ≈ 実効帯域幅 (GB/s) ÷ モデルサイズ (GB)
prefill FLOPs ≈ 2 × パラメータ数 × プロンプトトークン数
実例。Q4_K_Mの8Bモデルは重み約5 GB。帯域幅約1,000 GB/sのGPUでは、デコードの上限は1,000 ÷ 5 ≈ 200 tok/s。オーバーヘッドを払えば実際のエンジンは100〜150に着地する。同じ2,000トークンのプロンプトには、プリフィルでおよそ2 × 8×10⁹ × 2×10³ ≈ 32 TFLOPsが必要——現代のディスクリートGPUなら1秒未満、CPUでは体感できるほど遅い。シミュレータで実際の数値によるトレードオフをいじれる。
新GPU世代がデコードをほとんど速くしない理由
GPUの各世代は計算性能をほぼ倍増させる。コア増、クロック向上、より良いテンソルユニット。プリフィルとTTFTはそれに応じて改善する——長プロンプトRAGやコードベース規模のエージェントは、新しいカードで目に見えて軽快になる。しかしメモリシステムの進化ははるかに小さい。GDDR6からGDDR6X、GDDR7で世代あたりの帯域幅増はせいぜい20〜50%で、デコードが依存するのは帯域幅だ。つまり新しいカードはプロンプトを速く消化し、その後は同帯域幅の前世代とほぼ同じ速度で生成する。ローカルLLM用のカード比較では、GB/sとVRAMの列を最初に、TFLOPSを最後に読むこと。
ほとんど重要でないもの
- **電源の余裕。**LLM推論の消費電力はカードのゲーミングピークを大きく下回る。公式要件に適合する良質な電源で十分。1,600 Wの化け物に予算を割く必要はない。
- **冷却。**意味があるのは数時間続くサービングだけ。そこではサーマルスロットリングがクロックを削る。まともな2〜3ファンカードなら問題なく持つ。
- **PCIeレーン。**x8対x16、Gen 4対Gen 5——影響するのはモデルのロード時間とCPUオフロード時の転送で、生成ではない。レイヤーをオフロードしない限り無視してよい。
- **NVLinkとプロドライバ。**趣味のサービングでデコード中にカード間を往復するデータはほぼない。あれば嬉しいが、ここで金を払う価値はない。
- **NPU。**現代のラップトップやデスクトップSoCのNPUは小規模なビジョン・音声モデルでは本当に優秀だが、執筆時点でNPU向けの実用的LLMサービングスタックはない。チャットモデルはGPU、CPU、Apple Siliconで計画すること。NPUではない。
サイジングの考え方:まずモデル、次にカード
「自分のGPUで何が動くか」を問うな。実際に欲しいモデルのティアを問い、余裕を持って収まる最安のカードを買うこと。
- ワークロードを選ぶ。カジュアルな8Bチャット、本気の32Bコーディング/推論アシスタント、予算が許すなら70B級の品質。
- 実際に使うコンテキストで良好な量子化におけるフットプリントを計算——VRAM計算に式と計算表がある。
- 10〜20%の余裕を持つカードティアに合わせる——GPUティアがティアとモデルの対応を示す。
- その上で初めて、ティア内で帯域幅を最適化する。
GPU予算から逆算すると、役に立たないほど小さいモデルしか載らない速いカードか、容量の40%しか使われない巨大カードに行き着く。予算はまずモデルに、次にメモリに割り当て、計算性能は自分で片付くに任せる。そして何かをアップグレードする前に、実際に持っているものを確認。
nvidia-smi --query-gpu=name,memory.total,memory.used --format=csv