第2回では、CXLを推進するコンソーシアムや技術的な仕組みの概要を紹介しました。今回は、なぜCXLが実際のAI現場で不可欠になりつつあるのか、その背景を深掘りします。

キーワードは、現場のエンジニアを悩ませる2つの巨大な課題、「OOM(Out of Memory)」と「メモリーの壁(Memory Wall)」です。

AIブームの主役はGPUである——そう思っている方は多いでしょう。確かに、ChatGPTをはじめとした大規模言語モデル(LLM)の演算を担うのはGPUです。しかし、現在のボトルネックは「計算能力」そのものではなく、その計算を支える「メモリー」に移行しています。

AIの「本当の主役」はGPUではなくメモリー?

LLMの推論処理には、大きく分けて2つのフェーズがあります。

プレリフィル・フェーズ: 入力テキスト(プロンプト)を一気に処理する段階。計算量が多く、GPUの演算器をフル活用する「Compute-bound(演算依存)」な状態です。

デコード・フェーズ: 1トークンずつ順番に言葉を生成する段階。生成のたびに膨大な「モデルの重み」や「過去の計算結果」をメモリーから読み出す必要があり、「Memory-bound(メモリー依存)」な状態になります。

実運用ではデコードが処理時間の大部分を占めるため、一説には、推論全体ではGPU演算の寄与が30%、メモリーアクセスが70%と言われるほどメモリーの重要性が高まっています。ここで立ちはだかるのが、「容量」と「速度」という2つの壁です。

第1の壁:OOM(容量の限界)「計算はできるのに、データが乗り切らない」

OOM(Out of Memory)とは、GPUに搭載された専用メモリー(VRAM/HBM)が満杯になり、処理が強制終了する状態です。Stack Overflow等の技術サイトでは、以下のようなエラーに頭を抱えるエンジニアの姿が散見されます。

RuntimeError: CUDA out of memory. Tried to allocate X GiB...

このエラーが出ると、処理は完全に止まります。エラーの発生原因は、CUDAが使用するGPUメモリーが足りないため処理を続行できない、X GiBの連続メモリーを確保できなかったなどの理由があります。

GPUを効率的に稼働させるためには、物理メモリー上に連続した十分なサイズの領域が必要となる場合が多いです。メモリーが断片化している場合や容量が不足している場合、高性能なGPUを導入してもその能力を最大限活用することはできません。

GPUをシェフ、メモリーを調理台に例えましょう。高性能なシェフ(GPU)を100人揃えても、調理台(メモリー)が手狭なら料理はできません。GPTのような大規模モデルは数十〜数百GBのデータを一度に扱おうとするため、調理台があっという間に満杯になるのです。

特に問題となるのが「KVキャッシュ」という仕組みです。

KVキャッシュがなければ、すべてのトークンを生成するたびに最初から再計算が必要になります。100トークン生成するには100回の全計算が必要となり、処理時間が二乗で増加します。KVキャッシュはこれを防ぐことで推論を高速化する、不可欠な仕組みです。

LLMがテキストを生成する際、過去のトークン(単語のかたまり)の計算結果(Key・Value)を再利用するためにGPUのVRAMへ保存します。しかし、これにより高速化できる反面、コンテキスト(会話の長さ)が長くなればなるほど、KVキャッシュのサイズが線形に膨れ上がります。トークンが大きい長い会話では、KVキャッシュだけで1台分のVRAMを使い切ることもあります。

第2の壁:メモリーの壁(帯域幅の限界)「計算性能はあるのに、データが届かない」

仮にVRAMの容量が足りていたとしても、次に立ちはだかるのが「メモリーの壁(Memory Wall)」です。これは、「GPUの演算速度」に「KVキャッシュを読み書きする帯域幅」が限界に達する現象を指します。

GPUをシェフ、メモリーを調理台に例えましょう。高性能なシェフ(GPU)を100人揃えても、倉庫から調理台へ食材を運ぶ道(帯域幅)が狭すぎて、シェフが手を止めて食材の到着を待っている状態です。

つまり、いくらGPUが高速化しても、データを読み込むスピードがボトルネックとなり、GPUの性能が十分に活かせない状態が生じます。LLMは文章を1トークンずつ生成しますが、そのたびに「それまでに生成した全てのトークン情報」を参照する必要があります。

モデルが長文を生成するほど、このKVキャッシュはどんどん膨らみ、毎回メモリーから大量のデータを読み出す処理が発生します。結果として、GPUの計算能力が余っているにもかかわらず、「メモリーからKVキャッシュを読み出すスピード」が限界(ボトルネック)となり、生成速度が落ちてしまうのです。

AI、特にChatGPTのような大規模言語モデルにおいて、パフォーマンスの足を最も引っ張っているのは、単なる計算能力の不足ではありません。このKVキャッシュの肥大化と、それを読み出す際に直面するメモリーの壁こそが、OOMと並ぶ高速化を阻む課題となっています。

従来の「対処法」とその限界

もちろん、これまでこれらの問題に対してさまざまな工夫を行い、対処してきています。対策には、次のような方法が取られていました。

対処法 メリット デメリット・限界
モデルの量子化(精度を落とす) VRAM を節約できる 出力品質が低下するリスクがある
GPU の台数を増やす スケールアップできる コスト・電力・冷却すべてが比例して増大
NVMe ストレージへのオフロード 大容量化できる NVMe は DRAM の10倍以上遅く、レイテンシーが急増

量子化とは、KVキャッシュのデータ精度を落として、1トークンあたりのメモリー消費量を削る手法を指します。通常、LLMの計算は FP16(16ビット浮動小数点)や BF16 で行われます。KVキャッシュもそのまま保存すると膨大な量になりますが、これを INT8(8ビット)や INT4(4ビット)に圧縮するのが量子化です。

GPUの台数を増やすと、コスト・電力・冷却などすべての負荷が比例して増大します。

NVMe(SSD)へのオフロードは、GPUメモリー(HBM)に入り切らない巨大なコンテキストを扱うための策でした。しかし、帯域幅に圧倒的な差があり、通信プロトコルにも、オーバーヘッドが増加します。

これらの方法は、根本的な課題(VRAMの物理的な上限)を解決するものではありません。AIモデルは今後も大規模化が進むことが確実であり、いずれ限界が訪れます。

CXLが「メモリーの壁/OOM問題」を根本解決する仕組み

結局のところ、どんなにGPUの演算性能(FLOPS)を高めても、このKVキャッシュという巨大なデータを高速にやり取りできる「メモリー」の課題が改善されない限り、速度は劇的には向上しません。

ここでCXLの出番となります。CXL(Compute Express Link)は、GPUがVRAMの外にある大容量メモリーをVRAMほど高速ではないものの、NVMeに比べて圧倒的に低レイテンシーで、OSやアプリケーションからはメモリーとして扱えます。

CPUやGPUが、SSDのようにファイルを読み書きするのではなく、通常のRAMと同じように直接アドレスを指定してデータを読み書きできます。これにより、ソフトウェア側の複雑な処理がスキップされ、低レイテンシーが実現します。そして、ホスト(CPU/GPU)と拡張メモリー間でデータの整合性をハードウェアレベルで保つため、KVキャッシュの断片的な更新や同期が非常にスムーズになります。

従来の GPU クラスター構成 CXL KV キャッシュサーバー導入後
KV キャッシュ容量 VRAM 上限(例:80GB) 最大数 TB(CXL メモリーへオフロード)
コンテキスト長の上限 ~数万トークン 10 万~100 万トークン対応が可能(理論上)
GPU 稼働率 KV キャッシュ待ちでアイドル多発 GPU のアイドル時間が減少し、スループット向上
追加コスト GPU 増設(非常に高価) CXL メモリーサーバー(GPU より低コスト)

CXL技術対応メモリー  SMART Modular CXL Add-in Cards とは

ペンギンソリューションズは、業界標準プロトコルである CXL技術をSMART Modularブランドで製品展開しています。

SMART Modular CXL Add-in Cards (AIC) は、CXL 2.0/PCIe Gen5 に対応した、エンタープライズ向け RAS 機能とセキュリティー機能を持つCXL Type‑3メモリー製品です。サーバーに直接差し込んでメモリーを増設します。高価な128GB DIMMを使わず、安価な32GBや64GBのDIMMを複数枚組み合わせて大容量を実現できるため、コストパフォーマンスに優れています。

前回紹介したCXL Consortium によるCXL標準準拠を完了し、と相互接続テスト完了しているため、高い相互運用性を持ちます。

まとめ

GPUの性能は年々向上していますが、AIモデルの大規模化・長文脈化はさらに速いペースで進んでいます。メモリーの壁とOOM問題は「量子化で対応する」「GPUを増やす」では追いつかない段階に来ています。

CXLは、GPUのVRAM制約を物理的に突破する、現時点で最も現実的かつ実用的なソリューションです。すでに、ペンギンソリューションズは、SMART Modular CXL Add-in Cards (AIC)として市場に投入し、実績を積んでいます。

次回の第4回では、この革新的テクノロジーをサーバー製品として世に送り出したペンギンソリューションズの「MemoryAI TM KVキャッシュサーバー」を深掘りします。業界初の実運用に対応したCXL-KVキャッシュサーバーとは何か、具体的にどのような性能・恩恵をもたらすのかをご紹介します。

著者画像

関連記事

専門家にご相談ください
Penguin Solutions

Penguinのチームは、高性能で可用性の高いHPCおよびAI エンタープライズソリューションの設計、構築、導入、管理を行い、お客様が画期的なイノベーションを実現できるよう支援しています。

今すぐお問い合わせいただき、インフラストラクチャソリューションプロジェクトのニーズについてご相談ください。

話そう