本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
取得您的推論建議任務結果
使用 AWS SDK for Python (Boto3)、 AWS CLI Studio Classic 或 SageMaker 主控台,以程式設計方式收集推論建議任務的結果。
- AWS SDK for Python (Boto3)
-
推論建議完成後,您可以使用
DescribeInferenceRecommendationsJob
來取得任務詳細資料和建議。提供建立推論建議任務時所使用的任務名稱。job_name=
'<INSERT>'
response = sagemaker_client.describe_inference_recommendations_job( JobName=job_name)列印回應物件。先前的程式碼範例會將回應儲存在名為 的變數中
response
。print(response['Status'])
這會傳回類似下列範例的JSON回應。請注意,此範例顯示建議的即時推論執行個體類型 (如需顯示無伺服器推論建議的範例,請參閱此範例之後的範例)。
{ 'JobName':
'job-name'
, 'JobDescription':'job-description'
, 'JobType': 'Default', 'JobArn': 'arn:aws:sagemaker:region
:account-id
:inference-recommendations-job/resource-id
', 'Status': 'COMPLETED', 'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 'InputConfig': { 'ModelPackageVersionArn': 'arn:aws:sagemaker:region
:account-id
:model-package/resource-id
', 'JobDurationInSeconds': 0 }, 'InferenceRecommendations': [{ 'Metrics': { 'CostPerHour': 0.20399999618530273, 'CostPerInference': 5.246913588052848e-06, 'MaximumInvocations': 648, 'ModelLatency': 263596 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5.xlarge', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 2.92620870823157e-06, 'MaximumInvocations': 655, 'ModelLatency': 826019 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5d.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 3.3625731248321244e-06, 'MaximumInvocations': 570, 'ModelLatency': 1085446 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.m5.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }], 'ResponseMetadata': { 'RequestId':'request-id'
, 'HTTPStatusCode': 200, 'HTTPHeaders': { 'x-amzn-requestid':'x-amzn-requestid'
, 'content-type':'content-type'
, 'content-length': '1685', 'date': 'Tue, 26 Oct 2021 20:31:10 GMT' }, 'RetryAttempts': 0 } }前幾行提供推論建議任務本身的相關資訊。這包括任務名稱、角色 ARN以及建立和刪除時間。
InferenceRecommendations
字典包含 Inference Recommender 推論建議的清單。EndpointConfiguration
巢狀字典包含執行個體類型 (InstanceType
) 建議,以及建議任務期間使用的端點和變體名稱 (部署的 AWS 機器學習模型)。您可以使用端點和變體名稱在 Amazon CloudWatch Events 中進行監控。如需更多資訊,請參閱 SageMaker 使用 Amazon 監控 Amazon 的指標 CloudWatch。Metrics
巢狀字典包含有關即時端點的預估每小時成本 (CostPerHour
) 以美元為單位、即時端點的預估每次推論成本 (CostPerInference
) 以美元為單位、每分鐘傳送至端點 (MaxInvocations
) 的預期InvokeEndpoint
請求數上限,以及模型延遲 (ModelLatency
),這是模型回應 所花費的時間間隔 (以毫秒為單位) SageMaker。模型延遲包含傳送請求和從模型容器擷取回應的本機通訊時間,以及在容器中完成推論的時間。下列範例顯示設定為傳回無伺服器推論建議之推論建議任務的
InferenceRecommendations
回應部分:"InferenceRecommendations": [ { "EndpointConfiguration": { "EndpointName": "
value
", "InitialInstanceCount":value
, "InstanceType": "value
", "VariantName": "value
", "ServerlessConfig": { "MaxConcurrency":value
, "MemorySizeInMb":value
} }, "InvocationEndTime":value
, "InvocationStartTime":value
, "Metrics": { "CostPerHour":value
, "CostPerInference":value
, "CpuUtilization":value
, "MaxInvocations":value
, "MemoryUtilization":value
, "ModelLatency":value
, "ModelSetupTime":value
}, "ModelConfiguration": { "Compiled": "False", "EnvironmentParameters": [], "InferenceSpecificationName": "value
" }, "RecommendationId": "value
" } ]您可以解讀無伺服器推論的建議,類似於即時推論的結果,但不包括
ServerlessConfig
,它會告訴您具有指定MemorySizeInMB
和於MaxConcurrency = 1
的無伺服器端點傳回之指標。若要增加端點上可能的輸送量,請線性地增加MaxConcurrency
的值。例如,如果推論建議將MaxInvocations
顯示為1000
,則將MaxConcurrency
增加到2
會支援 2000MaxInvocations
。請注意,這僅在某個特定時間點才是準確的,這可能會根據您的模型和程式碼而有所差異。無伺服器建議也會測量指標ModelSetupTime
,以測量在無伺服器端點上啟動電腦資源所需的時間 (以微秒為單位)。如需有關設定無伺服器端點的詳細資訊,請參閱無伺服器推論文件。 - AWS CLI
-
推論建議完成後,您可以使用
describe-inference-recommendations-job
來取得任務詳細資料和建議的執行個體類型。提供建立推論建議任務時所使用的任務名稱。aws sagemaker describe-inference-recommendations-job\ --job-name
<job-name>
\ --region<aws-region>
類似 的JSON回應應類似於下列範例。請注意,此範例顯示建議的即時推論執行個體類型 (如需顯示無伺服器推論建議的範例,請參閱此範例之後的範例)。
{ 'JobName':
'job-name'
, 'JobDescription':'job-description'
, 'JobType': 'Default', 'JobArn': 'arn:aws:sagemaker:region
:account-id
:inference-recommendations-job/resource-id
', 'Status': 'COMPLETED', 'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 'InputConfig': { 'ModelPackageVersionArn': 'arn:aws:sagemaker:region
:account-id
:model-package/resource-id
', 'JobDurationInSeconds': 0 }, 'InferenceRecommendations': [{ 'Metrics': { 'CostPerHour': 0.20399999618530273, 'CostPerInference': 5.246913588052848e-06, 'MaximumInvocations': 648, 'ModelLatency': 263596 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5.xlarge', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 2.92620870823157e-06, 'MaximumInvocations': 655, 'ModelLatency': 826019 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5d.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 3.3625731248321244e-06, 'MaximumInvocations': 570, 'ModelLatency': 1085446 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.m5.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }], 'ResponseMetadata': { 'RequestId':'request-id'
, 'HTTPStatusCode': 200, 'HTTPHeaders': { 'x-amzn-requestid':'x-amzn-requestid'
, 'content-type':'content-type'
, 'content-length': '1685', 'date': 'Tue, 26 Oct 2021 20:31:10 GMT' }, 'RetryAttempts': 0 } }前幾行提供推論建議任務本身的相關資訊。這包括任務名稱、角色 ARN、建立和刪除時間。
InferenceRecommendations
字典包含 Inference Recommender 推論建議的清單。巢狀字典包含執行個體類型
EndpointConfiguration
(InstanceType
) 建議,以及建議任務期間使用的端點和變體名稱 (部署的 AWS 機器學習模型)。您可以使用端點和變體名稱在 Amazon CloudWatch Events 中進行監控。如需更多資訊,請參閱 SageMaker 使用 Amazon 監控 Amazon 的指標 CloudWatch。Metrics
巢狀字典包含有關即時端點的預估每小時成本 (CostPerHour
)、即時端點的預估每次推論成本 (CostPerInference
)、每分鐘傳送至端點 (MaxInvocations
) 的預期InvokeEndpoint
請求數上限,以及模型延遲 (ModelLatency
),這是模型回應 所花費的時間間隔 (以毫秒為單位) SageMaker。模型延遲包含傳送請求和從模型容器擷取回應的本機通訊時間,以及在容器中完成推論的時間。下列範例顯示設定為傳回無伺服器推論建議之推論建議任務的
InferenceRecommendations
回應部分:"InferenceRecommendations": [ { "EndpointConfiguration": { "EndpointName": "
value
", "InitialInstanceCount":value
, "InstanceType": "value
", "VariantName": "value
", "ServerlessConfig": { "MaxConcurrency":value
, "MemorySizeInMb":value
} }, "InvocationEndTime":value
, "InvocationStartTime":value
, "Metrics": { "CostPerHour":value
, "CostPerInference":value
, "CpuUtilization":value
, "MaxInvocations":value
, "MemoryUtilization":value
, "ModelLatency":value
, "ModelSetupTime":value
}, "ModelConfiguration": { "Compiled": "False", "EnvironmentParameters": [], "InferenceSpecificationName": "value
" }, "RecommendationId": "value
" } ]您可以解讀無伺服器推論的建議,類似於即時推論的結果,但不包括
ServerlessConfig
,它會告訴您具有指定MemorySizeInMB
和於MaxConcurrency = 1
的無伺服器端點傳回之指標。若要增加端點上可能的輸送量,請線性地增加MaxConcurrency
的值。例如,如果推論建議將MaxInvocations
顯示為1000
,則將MaxConcurrency
增加到2
會支援 2000MaxInvocations
。請注意,這僅在某個特定時間點才是準確的,這可能會根據您的模型和程式碼而有所差異。無伺服器建議也會測量指標ModelSetupTime
,以測量在無伺服器端點上啟動電腦資源所需的時間 (以微秒為單位)。如需有關設定無伺服器端點的詳細資訊,請參閱無伺服器推論文件。 - Amazon SageMaker Studio Classic
-
推論建議會填入 Studio Classic 中的新推論建議索引標籤中。最多可能需要 45 分鐘,結果才會顯示。此索引標籤包含結果和詳細資訊欄標題。
詳細資訊欄提供推論建議任務的相關資訊,例如推論建議的名稱、建立任務的時間 (建立時間) 等等。它也提供設定資訊,例如每分鐘發生的調用次數上限,以及所使用之 Amazon Resource Name 的相關資訊。
結果欄提供部署目標和SageMaker建議視窗,您可以根據部署重要性調整結果顯示的順序。您可以使用三個下拉式清單選單,為您的使用案例提供成本、延遲和輸送量的重要性層級。您可以針對每個目標 (成本、延遲和輸送量) 設定重要性層級:最低重要性、低重要性、中等重要性、高重要性或最高重要性。
根據您對每個目標的重要性選擇,推論建議程式會在面板右側的SageMaker建議欄位中顯示其最佳建議,以及每小時的預估成本和推論請求。它也提供預期的模型延遲、調用次數上限以及執行個體數目等相關資訊。如需無伺服器建議,您可以看到並行上限和端點記憶體大小的理想值。
除了顯示的最佳建議之外,您也可以看到在所有執行段落中,Inference Recommender 測試過的所有執行個體處理所顯示的相同資訊。
- SageMaker console
-
您可以執行下列動作,在 SageMaker 主控台中檢視執行個體建議任務:
-
前往 SageMaker 主控台https://console.aws.amazon.com/sagemaker/
。 -
在左側導覽窗格中,選擇推論,然後選擇推論建議程式。
-
在推論建議程式任務頁面上,選擇推論建議任務的名稱。
在任務的詳細資訊頁面上,您可以檢視推論建議 ,這是適用於模型的執行個體類型 SageMaker 建議,如下列螢幕擷取畫面所示。
在本節中,您可以依各種因素比較執行個體類型,例如模型延遲、每小時成本、每個推論的成本、每分鐘調用數。
您也可以在此頁面檢視針對您指定的組態。在監控區段中,您可以檢視針對每個執行個體類型記錄的 Amazon CloudWatch 指標。若要深入了解如何解讀這些指標,請參閱解讀結果。
-
如需解讀建議任務結果的詳細資訊,請參閱建議結果。