本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為多模型端點部署設定自動擴展政策
SageMaker AI 多模型端點完全支援自動擴展,可管理模型複本,以確保模型根據流量模式進行擴展。建議您根據 多模型端點部署的執行個體建議 來設定多模型端點與執行個體大小,也請為端點設定基於執行個體的自動擴展功能。用來觸發自動擴展事件的調用率,是根據由端點提供服務之整組模型之間的彙總預測集合。如需設定端點自動擴展的其他詳細資訊,請參閱自動擴展 Amazon SageMaker AI 模型。
您可在 CPU 與 GPU 支援的多模型端點利用預先定義及自訂指標來設定自動擴展政策。
注意
SageMaker AI 多模型端點指標以一分鐘的精細程度提供。
定義擴展政策
若要指定擴展政策的指標和目標值,您可設定目標追蹤擴展政策。您可以使用預先定義的指標或自訂指標。
擴展政策的組態設定是以 JSON 區塊表示。您會將擴展政策的組態設定,儲存為文字檔案中的 JSON 區塊。叫用 AWS CLI 或 Application Auto Scaling API 時,您可以使用該文字檔案。如需政策組態語法的詳細資訊,請參閱 Application Auto Scaling API 參考中的 TargetTrackingScalingPolicyConfiguration
。
您可使用下列的選項,來定義目標追蹤擴展政策的組態設定。
使用預先定義的指標
若要快速定義變體的目標追蹤擴展政策,請使用 SageMakerVariantInvocationsPerInstance
預先定義的指標。SageMakerVariantInvocationsPerInstance
是每個變體執行個體每分鐘調用的平均次數。我們強烈建議您使用此指標。
若要在擴展政策中使用預先定義的指標,請為您的政策建立目標追蹤組態設定。在目標追蹤的組態設定中,請針對預先定義的指標加入 PredefinedMetricSpecification
,以及針對該指標的目標值加入 TargetValue
。
下列的範例是變體目標追蹤擴展的典型政策組態設定。在此一組態設定中,我們使用了 SageMakerVariantInvocationsPerInstance
這個預先定義的指標,來調整變體執行個體的數量,如此每個執行個體的 InvocationsPerInstance
指標值都是 70
。
{"TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "InvocationsPerInstance" } }
注意
建議您在運用多模型端點時採用 InvocationsPerInstance
。此指標的 TargetValue
取決於應用程式的延遲需求。同時建議您對端點進行負載測試,以便設定合適的擴展參數值。若要進一步了解負載測試和設定端點的自動擴展,請參閱 Amazon SageMaker AI 中的部落格設定自動擴展推論端點
使用自訂的指標
如果您需要制定目標追蹤擴展政策,來滿足您的自訂需求,請定義自訂的指標。您可以根據與擴展成比例變動的任何生產變體指標,來定義自訂的指標。
並非所有 SageMaker AI 指標都適用於目標追蹤。指標必須是有效的使用率指標,而且必須能夠表示執行個體的忙碌程度。指標的值必須與變體執行個體的數量,反向地按比例增加或減少。也就是說,當執行個體的數量增加時,指標的值就應該減少。
重要
在生產運作中部署自動擴展功能之前,您必須使用自訂的指標來測試此項功能。
CPU 支援多模型端點的自訂指標範例
下列的範例是擴展政策的目標追蹤組態設定。在此組態,針對名為 my-model
的模型,自訂指標 CPUUtilization
會根據所有執行個體 50% 的平均 CPU 使用率來調整端點的執行個體計數。
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "CPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "ModelName","Value": "my-model"} ], "Statistic": "Average", "Unit": "Percent" } }
GPU 支援多模型端點的自訂指標範例
下列的範例是擴展政策的目標追蹤組態設定。在此組態,針對名為 my-model
的模型,自訂指標 GPUUtilization
會根據所有執行個體50% 的平均 GPU 使用率來調整端點的執行個體計數。
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "GPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "ModelName","Value": "my-model"} ], "Statistic": "Average", "Unit": "Percent" } }
新增冷卻時間
若要針對端點的橫向擴展來新增冷卻時間,請指定 ScaleOutCooldown
的值 (秒)。同樣地,若要針對模型的規模縮減來新增冷卻時間,請新增 ScaleInCooldown
的值 (秒)。如需 ScaleInCooldown
和 ScaleOutCooldown
的詳細資訊,請參閱 Application Auto Scaling API 參考中的 TargetTrackingScalingPolicyConfiguration
。
下列的範例是擴展政策的目標追蹤組態設定。此組態採用預先定義指標 SageMakerVariantInvocationsPerInstance
,以便根據該變體所有執行個體的 70
平均值來調整擴展。這個組態設定分別提供了 10 分鐘的規模縮減冷卻時間,和 5 分鐘的橫向擴展冷卻時間。
{"TargetValue": 70.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }