ダウンタイムなしのモデル更新を実現するローリングデプロイ
Baseten がローリングデプロイを発表。チームは GPU コストを倍増させたりダウンタイムを発生させることなく、段階的にモデルバージョンを更新できる。レプリカを1つずつ置き換え、トラフィックを徐々に移行。一時停止、再開、ロールバックも可能。顧客はデプロイ頻度が50~60%向上し、オフピーク時の手動監視が不要になった。
AI エンジニアリング
ダウンタイムなしのモデル更新を実現するローリングデプロイ
Baseten は、チームがダウンタイムや GPU コストの倍増なしにモデルバージョンを段階的に更新できるローリングデプロイ機能を公開した。この独自の手法は、推論環境においてレプリカを1つずつ置き換え、トラフィックを徐々に新しいバージョンに移行する。
従来の方式には課題があった。ブルーグリーンデプロイでは並行して完全なフリートを稼働させる必要があり、計算コストが2倍になる。一方、ハードカットオーバーは低コストだが、問題発生時に途中で一時停止できず、リスクが高い。リスクを軽減するため、多くのチームはオフピーク時に手動でデプロイを監視していたが、その結果、更新頻度が低下し、本番モデルが最新バージョンから数週間遅れることもあった。
ローリングデプロイはこれらの問題を解決する。新しいレプリカが起動し、ヘルスチェックを通過した後にトラフィックを受け取り、古いレプリカは徐々に縮小される。このサイクルを繰り返して新デプロイが完全に稼働する。トラフィックは新しいレプリカが正常になって初めて移行されるため、スケジュール起因の問題が発生しない。
デプロイ中はいつでも以下の操作が可能:
- 一時停止してメトリクスやログを確認
- 中断したところから再開
- グレースフルキャンセル(トラフィックを旧デプロイに戻す)
- 即時ロールバック
- 状況が良好なら強制ロールフォワード
内部では2つのプロビジョニングモードを提供:max_surge はレイテンシ重視のシナリオ向けに新レプリカを先にスケールアップ、max_unavailable はコスト重視で旧レプリカを先にスケールダウンする。各モードのステップサイズは0~50%で設定可能。
長時間のデプロイに備え、耐久性のあるワークフローエンジン上で動作。各ステップは明確な入出力を持ち、自動リトライ、一時停止・再開、完全なデプロイ履歴のクエリが可能。オートスケーリングと連携し、負荷変動時には両バージョンのレプリカ数を調整して競合を防止。設定可能な安定期間(0~3600秒)により、次のステップ前に新バージョンの正常性を確認できる。
実際の顧客からは、デプロイ頻度が50~60%向上したとの報告がある。途中での一時停止やキャンセル、強制ロールフォワードが日常的に活用され、従来は手動監視が必要だったデプロイが無人で実行できるようになった。
ローリングデプロイは Baseten の Dedicated Inference チームによって開発され、Speechify などの顧客からのフィードバックを反映している。詳細は Baseten のウェブサイトをご覧いただくか、ニュースレターを購読されたい。