跳至內容

如何對 SageMaker AI 多模型端點問題進行疑難排解?

1 分的閱讀內容
0

我想對部署 Amazon SageMaker AI 多模型端點時出現的問題進行疑難排解。

解決方法

冷啟動或延遲問題會導致端點花費更長時間進行預測,進而影響多模型端點的效能。內部伺服器例外狀況也會影響效能。

冷啟動和延遲問題

當多模型端點快速連續呼叫模型時,SageMaker AI 會從端點的記憶體和磁碟中移除這些模型。當下次端點呼叫模型時,模型載入執行個體的記憶體端點時,就會發生冷啟動。

若要防止冷啟動或延遲問題,請執行下列動作:

  • 如果您的模型對時間敏感,請使用單一模型進行即時推論

  • 如果您的模型對時間不敏感,請選取具有足夠記憶體以在記憶體中容納多個模型的執行個體類型,例如 r5 執行個體。或者,實作根據 MemoryUtilization 係數進行擴展的自動擴展。
    範例:

    response = client.put_scaling_policy(
        PolicyName='MemoryUtilisation-ScalingPolicy',
        ServiceNamespace='sagemaker',
        ResourceId=resource_id,
        ScalableDimension='sagemaker:variant:DesiredInstanceCount',
        PolicyType='TargetTrackingScaling',
        TargetTrackingScalingPolicyConfiguration={
            'TargetValue': 80.0,
            'CustomizedMetricSpecification':
            {
                'MetricName': 'MemoryUtilization',
                'Namespace': '/aws/sagemaker/Endpoints',
                'Dimensions': [
                    {'Name': 'EndpointName', 'Value': endpoint_name },
                    {'Name': 'VariantName','Value': 'AllTraffic'}
                ],
                'Statistic': 'Average',
                'Unit': 'Percent'
            },
            'ScaleInCooldown': 600,
            'ScaleOutCooldown': 300
        }
    )
  • 在部署端點組態之前,請確定您指定的 VolumeSizeInGB 大小足以容納所有經常存取的模型。

  • 將測試請求傳送到目標模型,以便某些模型無限期地保留在端點的記憶體中。

  • 若要最佳化多模型端點效能,最佳做法是選擇具有相似效率和延遲時間的模型成品。為了協助最大限度地提高系統的整體效率和可靠性,請將流量均勻分配到各個模型之間。

  • 為了獲得最佳端點效能,請監控主要的 Amazon CloudWatch 指標,例如 ModelCacheHitModelLoadingWaitTime。如果 ModelCacheHit 率較高且 ModelLoadingWaitTime 率較低,表示您的端點正在有效地管理調用。

內部伺服器例外狀況

如果多模型端點因記憶體不足而無法載入模型,那麼您可能會遇到內部伺服器例外狀況。例如,當您在只有 4 GB CPU 記憶體的 ml.t3.medium 執行個體上部署 14 GB 模型時,就會出現錯誤。若要防止錯誤,請選取具有足夠記憶體的端點執行個體,以在執行時期時容納多個模型。

AWS 官方已更新 1 年前