6月30日、Vetted Consumerが「Bandwidth, Not TFLOPS: What Sets Your Local LLM Speed (and Why the Newest Card Isn't Always Fastest)」と題した記事を公開した。36 TFLOPSの中古RTX 3090が122 TFLOPSのAMD RX 7900 XTXを生成速度で3倍近く上回り、最大帯域幅を誇る最新RTX 5090すら下回る——この逆転現象の原因を、16種のGPU/Macの実測データで解き明かした記事だ。ローカルLLMのトークン生成速度を決める真の指標はTFLOPSではなくメモリ帯域幅であることが、データをもって示されている。
「TFLOPS最強」説を崩す3つの実測値
まずこの数字を見てほしい。
- AMD RX 7900 XTX(122 TFLOPS):約39トークン/秒
- NVIDIA RTX 3090(36 TFLOPS):約95トークン/秒
- Mac(約7 TFLOPS):約30トークン/秒
TFLOPSが生成速度を決めるなら、3090がXTXに3倍近い差をつけることも、7 TFLOPSのMacが122 TFLOPSのGPUに追いつくことも説明がつかない。
なぜ生成はメモリの問題なのか
トークンを1つ生成するたびに、モデルはその全ウェイト(重み)をメモリから読み出す必要がある。5GBに量子化した8Bモデルなら、1トークンごとに5GBをメモリからチップへ転送する計算だ。
つまりボトルネックは演算速度(TFLOPS)ではなく、メモリ読み出し速度(帯域幅、GB/s)である。演算ユニットはウェイトが届くのをひたすら待ち続けており、演算能力自体はほぼ遊んでいる状態になる。チップがデータを待つ間、どれだけ演算ユニットを積んでいても意味をなさない——これが「メモリ帯域幅バウンド」と呼ばれる状態の物理的な実態だ。
生成速度の粗い目安は以下の式で表せる:
トークン/秒 ≈ メモリ帯域幅 ÷ メモリ上のモデルサイズ
帯域幅が上がれば速くなる。TFLOPSが上がっても変わらない。
NVIDIAラインナップで見る「帯域幅と速度の相関」
同一ソフトウェアスタック(CUDA)内で比較すると関係が鮮明になる。以下はLocalScore(ユーザーが自分のマシンで同一テストを実行して投稿するクラウドソース型の実機ベンチマークDB)によるLlama 3.1 8B(Q4_K_M)の実測値だ。
| GPU | メモリ帯域幅 | FP16 TFLOPS | 生成速度(tok/s) |
|---|---|---|---|
| RTX 4060 Ti 16GB | 288 GB/s | 22 | 48 |
| RTX 3060 12GB | 360 GB/s | 13 | 52 |
| RTX 4070 12GB | 504 GB/s | 29 | 76 |
| RTX 4080 16GB | 717 GB/s | 49 | 88 |
| RTX 3090 24GB | 936 GB/s | 36 | 95 |
| RTX 4090 24GB | 1008 GB/s | 83 | 約90〜120※ |
※RTX 4090の生成速度は元記事が範囲表記を採用しており、他の単一値とは記載方法が異なる。
帯域幅で並べ替えると速度でも同じ順序になる。帯域幅とトークン/秒の順位相関は0.93とほぼ完璧だ。一方、TFLOPSでは同じパターンは見えない。RTX 3090はRTX 4080より演算性能が低い(36 vs 49 TFLOPS)が、帯域幅が広い(936 vs 717 GB/s)ため生成は速い。RTX 4090は4080のほぼ2倍のTFLOPSを持つが、帯域幅は約40%しか高くないため、速度も2倍にはほど遠い。
中古の3090が「ローカルAI向け割安GPU」として今も語られる理由がここにある。
16GPUで見るとTFLOPSの相関はほぼゼロ
ベンダーをまたいで16デバイス全体で分析すると:
- TFLOPSと生成速度の相関:0.09(統計的にほぼ無意味)
- 帯域幅と生成速度の相関:0.54(混在環境でも帯域幅がリード)
冒頭のXTX(122 TFLOPS → 39 tok/s)とMac(7 TFLOPS → 30 tok/s)の逆転現象は、まさにこの数字を体現している。
重要な落とし穴:帯域幅は上限であって約束ではない
ここが「帯域幅の高いカードを買え」というアドバイスが省きがちな核心だ。帯域幅はあくまで速度の上限を決めるにすぎず、その上限に達するにはソフトウェアスタックが十分に成熟している必要がある。
| GPU | 帯域幅 | 実測(tok/s) | 上限に達しない理由 |
|---|---|---|---|
| RTX 5090 32GB | 1792 GB/s(最高) | 66 | Blackwellアーキテクチャ向けllama.cppデコードパスが未成熟 |
| RTX 5080 16GB | 960 GB/s | 45 | 同上 |
| RX 7900 XTX 24GB | 960 GB/s | 39 | AMD ROCm/Vulkanバックエンドの成熟度不足(チューニング済み環境では約50) |
| Strix Halo(128GB統合) | 256 GB/s | 21 | ROCmパス初期段階(チューニング済みで約50) |
| Intel Arc B580 12GB | 456 GB/s | 約25〜42 | バックエンド依存(VulkanはSYCLより速い)、ドライバ成熟途上 |
RTX 5090は本テスト中最大の帯域幅(1792 GB/s)を持ちながら、RTX 3090(936 GB/s)より遅い66 tok/sしか出ていない。帯域幅から計算すると120〜130 tok/sが期待値だが、新しいBlackwellアーキテクチャに対応したソフトウェアがまだ追いついていないためだ。
最新・最高帯域幅のカードが発売日から最速とは限らない。 成熟した936 GB/sのプラットフォームが、未成熟な1792 GB/sを上回ることは実際に起きている。
TFLOPSが活きる場面も存在する
8Bモデルの生成だけがユースケースではない。高スペックカードが本領を発揮する局面が2つある。
プロンプト処理(プリフィル)は演算バウンドである。長いプロンプトを読み込む処理はTFLOPSにスケールする。同ベンチマークでRTX 4090は約6,600トークン/秒、RTX 5090は約6,300トークン/秒を記録する一方、Macは約300〜1,100トークン/秒にとどまる。RAGやエージェントで長いコンテキストを頻繁に処理する用途では、この差が「最初のトークンが出るまでの時間」に直結する。
モデルが乗るかどうかはVRAM容量が決める。 70Bモデルや長いコンテキストのKVキャッシュには大容量メモリが必要で、モデルがVRAMに乗り切らずシステムRAMにあふれた瞬間、速度はこれらの表の数値をはるかに下回る水準に落ちる。
購入判断のまとめ
| 目的 | 何を優先するか |
|---|---|
| フィットするモデルの生成を速くしたい | 帯域幅(成熟したスタックで)。中古RTX 3090は多くの新ミドルレンジより速い |
| 大きなモデルや長いコンテキストを動かしたい | まずVRAM容量。速度より先に「乗るかどうか」を確認 |
| 長いプロンプト・RAG・エージェント | 演算性能と帯域幅の両方。プリフィル速度がボトルネックになる |
| コストパフォーマンス重視 | CUDAで中古の高帯域幅カード |
スペックシートの1つの数字だけで判断しないこと。帯域幅は生成速度の最良の予測指標だが、「今日存在するソフトウェアで、自分が動かすモデルを動かしたとき」の実際の数字は、オーナーによる実測値が最も信頼できる。
詳細はBandwidth, Not TFLOPS: What Sets Your Local LLM Speed (and Why the Newest Card Isn't Always Fastest)を参照していただきたい。