推論系統
NVIDIA、マルチGPUでの動画推論テストを公開、GPU 8基で生成遅延を約34秒に短縮
NVIDIAはDynamo-TritonとTensorRTを用いてCosmos 3 Nanoを実行し、GPU 8基で生成遅延を単一GPUの156.6秒から34.2秒に短縮した。テストでは同時実行時のスループットと動画1本当たりのコストは評価しておらず、品質検証も抽出したフレームに限られる。

NVIDIAは9月21日、Dynamo-TritonとTensorRTを組み合わせたマルチGPUでの動画生成テストを公開した。Cosmos 3 Nanoは単一GPUでは平均156.6秒を要したが、GPU 8基では34.2秒に短縮され、全体で約4.58倍の高速化を達成した。今回の新情報はサービングの統合と測定結果であり、マルチデバイスのバックエンド対応はすでにバージョン26.07のリリースノートに記載されている。[技術発表](https://developer.nvidia.com/blog/simplifying-model-serving-across-multiple-gpus-with-nvidia-tensorrt-multi-device-integration-in-nvidia-dynamo-triton/)、[リリースノート](https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-26-07.html)
このアーキテクチャでは、ノイズ除去を担うTransformerを単一のgRPCモデルエンドポイントとして公開し、バックエンドが各GPUの実行コンテキスト、CUDAストリーム、NCCL通信を管理する。アプリケーション側では引き続きDiffusersを使って生成処理を制御する。Cosmos 3 Nanoのモデルカードによると、そのアーキテクチャにはテキストの自己回帰と連続モダリティの拡散という2種類のTransformerが含まれる。このため、今回のテスト結果をマルチモーダルモデル全体の各機能に共通する高速化率とみなすことはできない。モデルカードで現時点で検証済みとされているのはBF16精度のみで、ほかの精度における品質とメモリ要件は、それぞれ確認する必要がある。[モデルカード](https://huggingface.co/nvidia/Cosmos3-Nano)
開発者は、まず分散計算グラフをコンパイルし、その後に`KIND_MODEL`とマルチデバイス設定を有効にする必要がある。GPUリストに追加するだけで、単一GPU用のエンジンが自動的に分割されるわけではない。TensorRTのドキュメントでは、各rankが専用の実行コンテキストとバッファを使用し、同時に処理を投入することを求めている。集合通信にはすべての参加rankがそろう必要があり、いずれかが欠けると待ち状態になる可能性がある。公式には通信結果を個別に検証できるコードサンプルも提供されており、指定した集合演算を構築した後、各GPUの出力が期待どおりかを確認できる。これにより通信や実行コンテキストの問題を事前に切り分けられるが、生成処理全体の検証に代わるものではない。[実行ドキュメント](https://docs.nvidia.com/deeplearning/tensorrt/latest/inference-library/multi-device-inference.html)、[通信サンプル](https://github.com/NVIDIA/TensorRT/tree/main/samples/sampleDistCollective)
測定条件は720p、189フレーム、ノイズ除去35ステップに固定し、各条件で1回のウォームアップ後に5回測定した。測定には生成処理を含むが、モデルの読み込みとMP4エンコードは除外している。Transformer RPCの高速化率は6.09倍と全体の改善幅を上回っており、ほかの段階が依然として総遅延を制約していることを示す。品質確認では5フレームのみを抽出して誤差の閾値を用いて判定しており、出力はピクセル単位で一致するものではない。[テスト条件](https://developer.nvidia.com/blog/simplifying-model-serving-across-multiple-gpus-with-nvidia-tensorrt-multi-device-integration-in-nvidia-dynamo-triton/)
導入判断には、同時実行時のスループットと動画1本当たりのコストの情報がなお不足している。エンジニアリングチームはまずGPUの型番、インターコネクト、精度、エンジンのバージョンを確認し、そのうえで同じハードウェア群を使って単一GPUのレプリカを動かす場合と、複数GPUにまたがるリクエストを処理する場合のスケジューリング効果を比較し、キュー待ち時間と高負荷時のテールレイテンシを記録すべきだ。上記の数値は1回当たりの待ち時間を短縮できることを裏付けるが、同じGPU予算でより多くの動画を生成できると推論するには不十分だ。繁体字中国語のプロンプトや異なるシーンでの生成品質も別途検証する必要がある。再検証では、相互比較できるようプロンプト、シード、すべてのデプロイ設定を保存しておくべきだ。