SalesforceがSageMaker推論コンポーネントでMulti-AZ HAを達成した方法:負荷分散による高可用性とコスト最適化
SageMaker推論コンポーネントにおけるMulti-AZ高可用性の課題
Salesforceは、AI基盤であるAgentforceにおいて、複数のアベイラビリティーゾーン(AZ)にわたる高可用性(HA)の実現を目指す中で、Amazon SageMaker推論コンポーネント(IC)の導入に際し、重要な課題に直面しました。ICはGPUコストを8倍削減する効果があり、複数のモデルを共有GPU上で同居させることでインフラコストを大幅に削減できるという利点がありました。しかし、デフォルトのIC配置アルゴリズムはコスト最適化に重点を置いており、AZ間の均等なモデルコピー分散を保証していませんでした。
このデフォルト動作は、たとえMulti-AZエンドポイントを使用していたとしても、特定のモデルのコピーが単一のAZに集中する可能性があり、以下のような単一障害点(SPOF)を生み出すリスクがありました。
- インスタンスレベルの障害: 単一のインスタンスがクラッシュすると、そのインスタンス上のモデルコピーがすべて利用不可になる。
- AZレベルの障害: あるAZが停止すると、そこに集中していたモデル全体が利用不可になる。
- コンプライアンスリスク: Salesforceは、すべての本番モデルに対し、2-AZサポートを義務付けており、コスト最適化のみを目的としたデフォルトのIC配置ではこの要件を満たすことができませんでした。
SageMaker推論コンポーネント配置の新機能:SchedulingConfigによる制御
AWSは、この課題に対処するため、CreateInferenceComponent APIにSchedulingConfigパラメータを導入しました。この新機能により、顧客はICコピーのインスタンスおよびAZ間での配置をきめ細かく制御できるようになりました。特に、以下の2つのサブパラメータが高可用性動作を実現します。
AvailabilityZoneBalance: クロスAZ分散を制御し、設定可能な不均衡許容度に基づいてアベイラビリティーゾーン間でコピーを均等に分散させます。これにより、SageMakerは最善の努力目標として、AZ全体にコピーを均等に分散させ、エンドポイントおよび推論コンポーネントの更新操作中もMulti-AZ配置を維持し、HAを確保します。PlacementStrategy(各AZ内): 各AZ内のインスタンスレベルの分散を制御します。SPREAD戦略はコピーを複数のインスタンスに分散させることで、インスタンスレベルの障害に対する回復力を高めます。一方、BINPACK戦略は、GPU利用率を最大化するために、より少ないインスタンスにコピーを詰め込みます。
これらのパラメータを活用することで、Salesforceは、Multi-AZエンドポイントレベルだけでなく、ICレベルでの高可用性を設計し、モデルコピーが単一のAZに集中するリスクを回避できるようになりました。
Salesforceの実装戦略と推奨事項
Salesforceは、2つのAZに均等に分散された4つのインスタンスを持つSageMakerエンドポイントに、高可用性のために4つのICコピーを両方のAZに分散してデプロイするシナリオで、SchedulingConfigを適用しました。この機能により、SageMakerは最終的な分散のバランスを考慮し、即時の配置ニーズだけでなく、継続的なバランスを重視するようになりました。
実装における重要な教訓と推奨事項は以下の通りです:
-
ICレベルでのHA設計: エンドポイントレベルだけでなく、推論コンポーネント(IC)レベルで高可用性を設計することが不可欠です。明示的な配置制御がない場合、Multi-AZエンドポイントであってもICコピーが単一のAZに集中する可能性があります。
-
SchedulingConfigの活用: 高可用性要件のあるワークロードには、SPREADとAvailabilityZoneBalanceを含むSchedulingConfigの使用が推奨される初期設定となります。 -
容量の事前プロビジョニング: 最適なAZバランス配置を実現するためには、各ターゲットAZで利用可能な容量を事前にプロビジョニングすることが重要です。これはオンデマンドキャパシティ予約(ODCR)を用いて実現できます。ただし、容量制約によりAZバランスが完全に取れない場合でも、SageMakerは操作を完全に失敗させるのではなく、利用可能なインスタンスにコピーを配置するため、ODCRなしでもこの機能は利用可能です。その場合、バランスは最適ではない可能性があります。
開発者・エンジニア視点での考察
-
AIモデルデプロイメントにおけるインフラストラクチャレベルのHA設計の重要性: エンドポイントのMulti-AZ設定だけでは、内部的な推論コンポーネントの配置が最適化されていない場合、SPOFが生じる可能性があるという点は、AIシステムのスケーラビリティとレジリエンスを設計する上で見落とされがちな落とし穴です。開発者は、上位層の抽象化だけでなく、基盤となるリソースの配置戦略まで考慮に入れる必要があります。
-
APIパラメータによるきめ細かなリソース制御の活用: AWS SageMakerが
SchedulingConfigのような新しいAPIパラメータを通じて、推論コンポーネントの配置にまで制御を提供したことは、エンタープライズレベルでの厳格なコンプライアンス要件やビジネス継続性計画(BCP)に対応するために不可欠です。これにより、開発者はコスト最適化と高可用性という相反する要件を、APIレベルで柔軟に調整できるようになります。 -
コスト効率とHAのバランス戦略: SageMaker Inference ComponentsによるGPU共有は、AIモデルの推論コストを大幅に削減する強力な手段ですが、その利点を享受しつつ高可用性を確保するためのトレードオフ管理が重要です。今回のSalesforceの事例は、コスト削減とHAを両立させるための具体的なアーキテクチャパターンとして、
SchedulingConfigを活用した負荷分散が有効であることを示しています。
Source / 元記事
この記事について
この記事は、公開されているニュース、論文、公式発表、RSSフィードなどをもとに、AIが要約・補足調査・考察を行って作成しています。
元記事の完全な翻訳・逐語的な要約ではなく、AIによる背景説明や開発者向けの考察を含みます。
重要な技術仕様・価格・提供状況などは、必ず元記事または公式情報をご確認ください。


