NVIDIA Run:ai Model Streamer を使用して GKE 上のモデルのダウンロードを高速化
Peter Schuurman
Software Engineer, Google
Brian Kaufman
Senior Product Manager, Google
※この投稿は米国時間 2025 年 12 月 5 日に、Google Cloud blog に投稿されたものの抄訳です。
大規模言語モデル(LLM)のサイズと複雑さが増大し続けるのに伴って、推論のためにストレージからアクセラレータ メモリを読み込む時間が重大なボトルネックになる可能性があります。この「コールド スタート」の問題は、単なる軽微な遅延ではありません。レジリエントかつスケーラブルな費用対効果の高い AI サービスを構築するうえで、大きな障壁となります。モデルの読み込みに費やされる 1 分 1 分は、GPU のアイドル状態、需要に応じたサービスのスケーリングの遅延、ユーザーのリクエストの待機がそれぞれ生じている 1 分です。
Google Cloud と NVIDIA は、こうした障壁を取り除くことに取り組んでいます。AI デベロッパーがまさにそれを実現するのに役立つ、強力なオープンソースのコラボレーションをご紹介できることをうれしく思います。NVIDIA Run:ai Model Streamer にネイティブの Google Cloud Storage サポートが追加され、Google Kubernetes Engine(GKE)上の vLLM 推論ワークロードが大幅に強化されました。GKE 上の Cloud Storage から AI/ML のデータにアクセスする速度がこれまで以上に高速になりました。


上のグラフは、デフォルトの vLLM モデルローダと比較して、モデル ストリーマーが 141 GB の Llama 3.3-7 70B モデルを Cloud Storage から取得できる速度を示しています(値が小さいほど高速)。
コールド スタートを減らしてレジリエンスとスケーラビリティを向上
Kubernetes 上で実行される推論サーバーの場合、「コールド スタート」には、コンテナ イメージの pull、プロセスの開始、そして最も時間がかかるモデルの重みの GPU メモリへの読み込みといういくつかのステップが含まれます。大規模モデルの場合、この読み込みフェーズには数分かかることがあり、ワークロードの起動を待機する間に自動スケーリングが遅延したり、GPU のアイドル状態になったりするなど、深刻な影響が生じます。
モデル ストリーマーは、モデルを GPU メモリにストリーミングすることで、起動プロセスで最も時間がかかる可能性のある部分を大幅に短縮します。ストリーマーは、モデル全体がダウンロードされてから読み込まれるのを待つのではなく、オブジェクト ストレージからモデルテンソルを直接取得し、GPU メモリに同時にストリーミングします。これにより、モデルの読み込み時間が数分から数秒に大幅に短縮されます。
単一のモデルを分割して複数の GPU で実行するモデル並列処理に依存するワークロードの場合、モデル ストリーマーはさらに一歩進んだ機能を提供します。その分散ストリーミング機能は、NVIDIA NVLink を最大限に活用するよう最適化されており、高帯域幅の GPU 間通信を使用して、複数のプロセス間での読み込みを調整します。ストレージからの重みの読み込みは、参加するすべてのプロセスに効率的かつ均等に分割されます。各プロセスは、モデルの重みの一部をストレージから取得し、そのセグメントを NVLink 経由で他のプロセスと共有します。これにより、マルチ GPU デプロイでも、起動時間の短縮とコールド スタートのボトルネックの低減というメリットが得られます。
パフォーマンスとシンプルさ
Model Streamer の最新のアップデートでは、Cloud Storage のファーストクラスのサポートが導入され、Google Cloud ユーザー向けに統合された高性能なエクスペリエンスが実現します。この統合は、特に GKE 上で実行されるワークロード向けに、シンプルで高速かつ安全になるように設計されています。
vLLM などの一般的な推論サーバーのユーザーは、vLLM コマンドラインに 1 つのフラグを追加するだけでストリーマーを有効化できます。
--load-format=runai_streamer
Cloud Storage バケットに保存されたモデルを vLLM で起動する手順は以下のとおりです。
NVIDIA Run:ai Model Streamer は、Vertex AI Model Garden の大規模モデルのデプロイに不可欠なコンポーネントです。コンテナ イメージ ストリーミングとモデル ウェイト ストリーミングにより、ユーザーの初回デプロイと自動スケーリングのエクスペリエンスと、NVIDIA GPU の効率を大幅に向上させることができました。
GKE 上で実行する場合、Model Streamer は自動的にクラスタの Workload Identity を使用できます。つまり、サービス アカウント キーを手動で管理してマウントする必要がなくなり、デプロイ マニフェストが簡素化され、セキュリティ ポスチャーが強化されます。以下のデプロイ マニフェストは、GKE 上で Llama3 70B を提供するコンテナを起動する方法を示しています。モデルの並列処理が 1 より大きい場合に読み込みを高速化するモデルローダの分散オプションを追加しました。
これで完了です。残りの処理はストリーマーが行い、VM のパフォーマンスに合わせてストリーミングの同時実行数を自動調整します。詳しくは、GKE 上での vLLM モデルの読み込みの最適化に関するドキュメントをご覧ください。
NVIDIA Run:ai Model Streamer と Cloud Storage Anywhere Cache の組み合わせ
Anywhere Cache は、リージョンまたはマルチリージョンの Cloud Storage バケットに保存されたデータに対して、ゾーン内にコロケーションされた SSD ベースのキャッシュを提供します。レイテンシを最大 70% 短縮し、最大 2.5 TB/ 秒の読み込みスループットを提供する Anywhere Cache は、同じモデルが複数のノードにわたって何度もダウンロードされるスケールアウト推論ワークロードに最適なソリューションです。Anywhere Cache のサーバーサイド アクセラレーションと、NVIDIA Run:ai Model Streamer のクライアントサイド アクセラレーションを組み合わせることで、管理が容易で非常にパフォーマンスの高いモデル読み込みシステムが実現します。
今すぐ使ってみる
NVIDIA Run:ai Model Streamer は、AI インフラストラクチャのパズルの重要なピースへと進化しています。これにより、チームは GKE 上でより高速かつ復元力がある、より柔軟な MLOps パイプラインを構築できるようになります。
-
GKE で Model Streamer を使用する方法の詳細については、GKE NVIDIA Run:ai ガイドをご覧ください。
-
vLLM でストリーマーを使用する詳しい手順については、vLLM の公式ドキュメントをご覧ください。
-
モデル ストリーマーの詳細と、継続的な開発への貢献については、GitHub の NVIDIA Run:ai Model Streamer プロジェクトをご覧ください。
-Google、ソフトウェア エンジニア Peter Schuurman
-Google、シニア プロダクト マネージャー Brian Kaufman
