分散负载:Salesforce 如何使用 SageMaker Inference 组件实现多可用区 HA

了解 Salesforce 如何使用 Amazon SageMaker AI Inference 组件放置(SchedulingConfig 参数)跨多个可用区分发模型副本,满足其多可用区高可用性合规性要求,同时又不牺牲多模型共同托管的成本效率。

来源:亚马逊云科技 _机器学习

当 Salesforce 着手让 Agentforce(Salesforce 的 AI 客服基础)在多个可用区 (AZ) 上实现高可用性 (HA) 时,团队面临着差距。 Amazon SageMaker AI 推理组件 (IC) 可以降低 GPU 成本,但其默认放置并不能保证 Salesforce 合规性标准所需的多可用区弹性。

对于 Salesforce,IC 通过在共享 GPU 上共同托管多个模型,将基础设施成本降低了 8 倍。然而,这种成本优势带来了一个新问题:如何使 IC 端点跨多个可用区高度可用?

本文探讨了 Salesforce 如何使用新的 IC 放置功能(通过 CreateInferenceComponent API 中的 SchedulingConfig 参数显示)来满足其多可用区 HA 合规性要求。

挑战:IC 部署中的单点故障

默认情况下,SageMaker 放置算法独立优化每个 IC 部署操作,在实例之间均匀分配新副本,而不考虑可用区平衡。即使使用多可用区端点,这种按操作视图也意味着特定模型的副本最终可能会不均匀地分布在可用区中,从而产生潜在的单点故障:

  • 实例级故障:单个实例崩溃会导致模型的所有副本失效。
  • 可用区级故障:可用区中断导致整个模型不可用。
  • 合规风险:Salesforce 要求为每种生产模型提供 2-AZ 支持。仅针对成本进行优化的 IC 默认布局尚未满足其内部 2-AZ 合规标准。
  • 解决方案:SchedulingConfig

    AWS 在 CreateInferenceComponent API 中引入了 SchedulingConfig 参数。它使客户能够对跨实例和可用区的 IC 副本放置进行细粒度控制。两个关键子参数驱动 HA 行为:

  • AvailabilityZoneBalance:控制跨可用区分布,通过可配置的不平衡容差在可用区之间均匀平衡副本。
  • 代码示例:部署具有多可用区 HA 放置的 IC

    容量预留