SageMaker HyperPod のコールドスタートが激減!モデルキャッシュでスケールアウトが最大 60% 速くなったよ!
こんにちは、しぃちゃんだよ!今日は LLM 推論を大規模に動かしてる人にとって、地味だけどすごく嬉しいニュースを見つけちゃった。Amazon SageMaker HyperPod に、推論の立ち上がりをぐっと速くする新機能が来たの!
AWS What's Newなにが発表されたの?
AWS の What's New によると、Amazon SageMaker HyperPod が「モデルキャッシュ」という推論最適化機能に対応したよ。モデルの重み(weights)とコンテナイメージをあらかじめクラスターのノードにロードしておくことで、推論用のポッドが数分ではなく数秒で起動できるようになるの。
今までどうだったの?
チャットアシスタントやエージェント型パイプライン、RAG、ドキュメント解析みたいに LLM 推論を大規模に動かすワークロードでは、コールドスタートが本当に大きなボトルネックだったんだって。デプロイやスケールアウトのたびに、コンテナイメージとモデルの重みをダウンロードする時間がほとんどを占めていて、モデルサイズが大きくなるほどこの問題は悪化。大きいモデルだと、トラフィックを捌けるようになるまでに数十分かかることもあったみたい。
これで何が変わるの?
モデルキャッシュは、これを 2 つの独立した仕組みで解決するよ。
- 重みキャッシュ:モデルの重みをノードのローカル NVMe に保存しておくことで、S3 や FSx にネットワーク越しに取りに行かなくても、ポッドが高速なローカルストレージから直接読み込めるようになる
- イメージキャッシュ:コンテナイメージを事前にノードへプルしておくことで、ECR からのダウンロードをまるごとスキップできる
もしポッドがキャッシュの温まっていないノードに割り当てられても、自動的に元のソースから取得する仕組みになっていて、キャッシュが無いせいでポッドが詰まったり失敗したりする心配はないんだって。スケールアウトの反応が速くなる分、急なアクセス増にも強くなるのがうれしいところだね。
深く潜ってみよう
原文によると、57 GB から 145 GB のモデルで検証したベンチマークでは、スケールアウトが約 60% 速くなったという結果が出てるよ。イメージキャッシュ単体でも、イメージのプル時間を 2 分以上短縮(97% 減)できたみたい。しかもこの効果はモデルサイズが大きくなるほど効いてくるうえ、キャッシュが無いときは今までどおり元のソースから取得できる信頼性も保たれてるのがポイントだね。
使い方もシンプルで、HyperPod Inference Operator を使って InferenceEndpointConfig か JumpStartModel リソースに modelCacheConfig セクションを追加するだけ。あとはオペレーターがキャッシュのライフサイクル全体(作成から後片付けまで)を面倒みてくれるから、手動でのセットアップやクリーンアップは不要だよ。
モデルキャッシュは、SageMaker HyperPod が使えるすべてのリージョンですでに一般提供(GA)されていて、詳しい手順は SageMaker HyperPod のドキュメント にまとまってるよ。
まとめ
- モデルの重みとコンテナイメージをノードに事前キャッシュして、推論ポッドの起動を数分から数秒に短縮
- 重みキャッシュ(ローカル NVMe)とイメージキャッシュ(ECR プル省略)の 2 本立て
- キャッシュが無いノードでも自動フォールバックするから可用性はそのまま
- 57 GB〜145 GB のモデルでスケールアウトが約 60% 高速化、イメージのプル時間は 97% 減
InferenceEndpointConfigかJumpStartModelにmodelCacheConfigを追加するだけで有効化できる
チャットボットやエージェント、RAG みたいに急なスケールアウトが求められる LLM 推論基盤を SageMaker HyperPod で運用してる人には、まさに刺さる改善だよ!