アーキテクチャと物理 · 2026年10月3日
メモリウォール:AI チップの本当のボトルネックはデータ転送
外部 DRAM から 1 回読み出すエネルギーは、整数加算 1 回の数千倍にもなります。この物理的な事実から、オンデバイス大規模モデルの鍵がピーク性能ではなくデータ経路にある理由が見えてきます。
演算は安く、データ転送は高い
スタンフォード大学の Mark Horowitz 教授は ISSCC 2014 の基調講演で、45 nm プロセスにおける基本操作のエネルギーをまとめました。この数値は、いまもチップアーキテクチャの議論で最もよく引用される参考資料のひとつです。
| 操作(32 ビット) | エネルギー(概算) |
|---|---|
| 整数加算 | 0.1 pJ |
| 浮動小数点乗算 | 3.7 pJ |
| オンチップ SRAM キャッシュ読み出し | 5 pJ |
| 外部 DRAM 読み出し | 640 pJ |
外部 DRAM からの読み出し 1 回は、整数加算の約 6,400 倍、オンチップ SRAM 読み出しの 100 倍以上のエネルギーを消費します。プロセスの進化で絶対値は下がっても、「データを動かすほうが計算より高くつく」という構造は変わっていません。
大規模モデルで問題がより鮮明に
大規模言語モデルは文章を生成するとき、トークンを 1 つ生成するたびに、ほぼすべての重みを読み出します。15 億パラメータを 4 ビット量子化したモデルなら、重みは約 0.75 GB です。重みが外部メモリにあり、トークンごとに一度すべて読み出すと、25.6 GB/s の帯域では理論上限は毎秒約 34 トークンで、ほかのオーバーヘッドはまだ含まれていません。
このとき演算ユニットを増やしても速くはなりません。演算ユニットはほとんどの時間、データを待っているからです。この現象は一般に「メモリウォール」と呼ばれます。
3 つの代表的なアプローチ
- 外部帯域を広げる:効果は直接的ですが、消費電力、コスト、基板設計の難しさが増します。
- モデルを小さく、ビット数を下げる:量子化や枝刈りで転送量を減らせますが、精度の低下を管理する必要があります。
- 演算をデータの近くへ:メモリ内演算は、頻繁にアクセスするデータを演算ユニットのそばに置き、構造的に転送を減らします。
これらは互いに排他的ではありません。実際のシステム設計では、モデル、量子化、メモリ配置、ホスト条件を同時に検討します。
VXI のアプローチ
VXI は SRAM メモリ内演算を中核とし、頻繁にアクセスするデータをチップ上に置き、コンパイラが重みとアクティベーションの配置を計画することで、トークンあたりの外部転送を減らします。効率はデータ経路の設計から生まれ、最先端プロセスに依存しません。
ご自身のモデルに必要な重みと KV メモリを試算するには モデルメモリ容量見積もりツール を、アーキテクチャの詳細は 技術概要 をご覧ください。
表の数値は Horowitz(ISSCC 2014)がまとめた 45 nm プロセスの推定値で、桁の違いを示すためのものです。VXI 製品の仕様ではありません。