AI

B200でLLMを機密計算、出力トークン処理量は非機密構成の96.1~98.2%

この記事のポイント

  1. 実現したこと

    メモリーを暗号化した仮想マシンと機密GPUを使い、保護された環境でLLM推論を実行する。

  2. 実現の仕組み

    B200への暗号化された転送経路に合わせ、推論ソフトウェアがメモリーの選択と結果の読み戻し方を変える。

  3. 得られた結果

    8基のB200を使ったNVIDIAの測定で、出力トークン処理量は機密計算なしの構成の96.1~98.2%だった。

  4. 従来との違い

    カーネル候補の計測は、機密計算時にCUDAイベントからGPUの%globaltimerへ切り替わった。

機密VMの保護メモリーから暗号化バッファを経て、8基のB200へ推論データが渡る概念図
AI生成画像

B200の機密計算下で、LLM推論のデータ転送とカーネル計測を保護された実行経路に合わせた。NVIDIAが8基のB200で測定した出力トークン処理量は、機密計算を無効にした構成の96.1~98.2%だった。

暗号化された実行環境が転送経路を変える

NVIDIAの機密計算構成は、メモリーを暗号化した機密仮想マシンと機密GPUを組み合わせ、GPU間には暗号化されたNVLinkを使う。この構成では、推論の入力やモデルが扱うデータを保護された環境で処理する。

B200のGPUは、保護された仮想マシンのメモリーへ直接アクセスできない。そのため、ホストからGPUへ送るデータは、ソフトウェアで暗号化する中継用のバウンスバッファを通る。

データ転送に合わせてメモリーと読み戻しを調整

バウンスバッファを通る転送では、ピン留めしたメモリーが通常持つ非同期転送上の利点がなくなり、一部のコピーは呼び出し元のスレッドを待たせる。LLM推論ソフトウェアのTensorRT LLMは、この影響を受ける経路でページング可能なメモリーを選ぶ。

出力生成中には、トークンやサンプリングデータをGPUから繰り返し読み戻す。この処理を非同期ワーカーへ移すことで、保護されたコピーが推論要求を進める主スケジューラーを止めないようにしている。

カーネル計測とGPU間通信にも機密計算の条件

推論に使うカーネルの自動調整は、複数の候補の実行時間を比べて選択する。NVIDIAが試した機密計算構成ではCUDAイベントの時刻情報が不安定だったため、TensorRT LLMは機密計算時の計測にGPUの%globaltimerを使い、機密計算以外ではCUDAイベントを使う。

複数GPU間の通信条件も変わる。B200の機密計算構成では、NVLSによるマルチキャストを利用できない。

8基のB200で測った処理量とトークン生成時間

NVIDIAは8基のB200でDeepSeek-R1-0528-NVFP4を動かし、入力32Kトークン、出力1Kトークン、同時要求数1~16を比較した。モデル、ハードウェア、ソフトウェア、系列長、並列構成、同時要求数を揃え、機密計算の有効・無効を切り替えている。

この条件で、機密計算時の出力トークン処理量は、無効時の96.1~98.2%だった。一方、出力1トークン当たりの平均所要時間は1.2~4.3%長かった。