NVIDIA、AIの立ち上げを速くする技術を発表
NVIDIA AI Releases Dynamo Snapshot: A CRIU-Based Fast Startup System for AI Inference on Kubernetes

NVIDIAがAIの起動を速くする新システムを発表。AIがすぐに動き出し、急な利用増にも対応でき、サービス停止のリスクを減らせます。
本番環境での推論デプロイメントでは、需要が時間とともに変動するため、推論レプリカは柔軟にスケールする必要があります。Kubernetes上での推論ワークロードのコールドスタートには数分かかることがあります。その間、GPUは割り当てられているもののアイドル状態であり、トークンを生成せず、リクエストを処理しません。「コールドスタート」とは、モデルサーバーがいずれかのリクエストを処理する前に完了しなければならない一連の動作全体を指します。具体的には、コンテナイメージのプル、モデルの重みをGPUメモリにロード、CUDA kernelsのウォームアップ、CUDA graphsのコンパイルまたはキャプチャ、そしてサービスディスカバリ層への登録が含まれます。この遅延は、トラフィックスパイク時にシステムが急な需要増加を吸収するのに十分な速さでスケールできないため、SLA違反のリスクを高めます。単一GPUのvLLM (v0.20.0) ワークロードにおけるコールドスタートの遅延は、コンテナ/イメージのプル、エンジン初期化(重みロード、kernelウォームアップ、グラフコンパイル)、および分散ランタイムの起動という3つのセグメントに分かれます。この問題に対処するため、NVIDIAのAI研究チームは、Kubernetes上でのAI推論ワークロード向けにチェックポイント/リストア方式であるNVIDIA Dynamo Snapshotを導入しました。https://developer.nvidia.com/blog/nvidia-dynamo-snapshot-fast-startup-for-inference-workloads-on-kubernetes/?linkId=100000423964029 CRIUとcuda-checkpointとは?実行中の推論ワーカーのチェックポイント可能な状態には2つのコンポーネントがあります。デバイス状態(GPU側)には、CUDA contexts、streams、device memory、およびvirtual address mappingsが含まれます。これらはホストからは見えません。これをシリアル化するために、cuda-checkpointはCUDA driverのチェックポイント機能を使い、各CUDA contextを所有するプロセスのCPUメモリにデバイス状態をダンプします。ホスト状態(CPU側)には、CPU memory、threads、file descriptors、およびnamespacesが含まれます。CRIU (Checkpoint/Restore in Userspace) は、Linux kernelの管理情報をたどり、プロセスツリーの状態をディスクにシリアル化します。チェックポイント時には、これら2つのツールが順に実行されます。まずcuda-checkpointがすべてのデバイス状態をCPUメモリにダンプし、次にCRIUがすべてをダンプします。