How unified memory works on GB10
DGX Spark uses NVIDIA’s GB10 chip, which combines a Grace ARM CPU and a Blackwell GPU on one package. They share 128GB of LPDDR5X memory over a 273 GB/s interconnect. 専用のVRAMは存在しません。vLLMが「GPUメモリ」として割り当てる領域も、DGX OSやCUDAランタイム、その他のアプリケーションが利用する同一の 128GBプール内の一部に過ぎません。つまり以下のような特性が生じます。gpu_memory_utilizationは全体プールの一部を制御するだけであり、専用のGPUメモリ枠を確保するわけではない。- システムプロセスも同じメモリ領域を争う形になる。DGX OSやバックグラウンドサービス、CUDAコンテキストのオーバーヘッドもモデルが利用可能なメモリ量を減少させる要因となる。
- メモリ不足時の強制終了機能が存在しない。プールが枯渇すると、問題のプロセスが強制終了されるのではなくシステム全体がフリーズしてしまう。
KV cache overhead on 128GB
KVキャッシュには、アクティブなすべてのシーケンス内の各トークンに対応するキー・値テンソルが保存される。そのサイズは 3 の要素によって増大する。具体的にはコンテキスト長、同時に処理されるシーケンス数、そしてモデルのアーキテクチャ(レイヤー数やKVヘッド数)である。計算式
特定のコンテキスト長における単一シーケンス用として:例:さまざまなコンテキスト長における70B型の密なモデル
一般的な70Bモデルで層数が80、KVヘッド数が8、ヘッド次元が128だと仮定すると:例:35B形式のMoEモデル
MoE models have the same KV cache math as dense models for their total layer count. A 35B MoE model with ~64 layers at the same KV head configuration:
At 35B MoE with NVFP4 weights (~18 GB), you can fit 128K context with FP8 KV cache and still have ~65 GB of headroom.
コンテキスト長とバッチサイズのトレードオフ
アクティブな各シーケンスにおけるすべてのコンテキストトークンがKVキャッシュメモリを消費します。全体のKVキャッシュ容量は以下の通りです。
For a 70B dense model at NVFP4 (~35 GB weights, ~75 GB remaining for KV cache):
実際のベンチマークとNVIDIAの主張との比較
NVIDIAがDGX Sparkについて公表した 82,739 トークン/秒 という数値は、複数ユーザーでのファインチューニング時の総スループットを示したものであり、単一ユーザーでの推論性能を示すものではありません。実際のインタラクティブなサービング時の数値は以下の通りです:ここで示されている 82,739トークン/秒という数値は、複数の微調整処理が並行して行われた際の総合的なスループットを表している。単一ユーザー向けの対話型推論は別のワークロードであり、モデル規模やエンジンによって 15から120トークン/秒程度の速度が見込まれる。これでもリアルタイムのチャットやコーディングエージェント利用には十分な速さだ。
メモリ保護機能:システムのフリーズを防ぐ
DGX Sparkにおいて最も重要なチューニングパラメーターは--gpu-memory-utilizationである。この値を高く設定しすぎると復旧不可能なエラーでシステムがフリーズしてしまう。控えめな値に設定すればKVキャッシュの余裕が減少する。
推奨される初期値
メモリ使用状況をリアルタイムで監視する
別のターミナルを開き、サービス実行中のメモリ使用量を確認してください:memory.free の値が 2 から 3 GB未満まで下がると、システムがフリーズする恐れがあります。その場合は max_model_len、max_num_seqs、または gpu_memory_utilization の値を減らしてください。
各パラメーターの調整に関する参考情報
DGX Sparkにおいて最も影響力の大きい vLLM フラグを、影響度の高い順に示します:決定表:一般的な設定例
チューニングの手順例
シングルユーザー向けのスループットを最大化する方法
Maximize concurrent users for 70B
大規模モデル用の最も安全な設定例
次に行うべき手順
DGX Spark上でのvLLMの利用方法
各モデルサイズごとのインストールおよび起動コマンド一覧
モデルの互換性について
どのモデルが128GBのメモリ容量に対応しており、どのような量子化オプションが利用可能か。
スパークを一つ使用する場合と二つ使用する場合の違い
メモリ調整だけでは不十分で、第二のスパークが必要になるケースについて
KVキャッシュの基本概念について
各種モデルアーキテクチャにおけるKVキャッシュの仕組みに関する詳細な解説