

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於推論端點的 Amazon SageMaker AI 增強指標
<a name="monitoring-cloudwatch-enhanced-metrics"></a>

增強型指標可為 Amazon SageMaker AI 即時端點提供執行個體層級和容器層級監控資料。當您啟用增強型指標時，Amazon CloudWatch 指標可以包含 `InstanceId`、 `ContainerId`和 `AcceleratorId`維度 （可用性因命名空間而異），以取得每個執行個體、每個容器和每個 GPU 的精細可見性。增強型指標適用於單一模型端點和推論元件。多容器端點 (MCE) 支援執行個體層級增強指標，但不支援容器層級指標。

增強型指標的主要特性：
+ **執行個體層級精細程度**。使用率和調用指標包括一個維`InstanceId`度，可識別託管端點的特定執行個體。這適用於所有即時端點。
+ **容器層級精細程度**。對於使用推論元件的端點，指標包含可識別執行模型之特定容器的`ContainerId`維度。容器層級維度會出現在`AWS/SageMaker`命名空間 （調用指標） 和`/aws/sagemaker/InferenceComponents`命名空間 （使用指標） 中。
+ **每個 GPU 精細程度**。GPU 使用率指標包含可識別執行個體上特定 GPU 的`AcceleratorId`維度。
+ **可設定的發佈頻率**。您可以將指標發佈間隔設定為 10、30、60、120、180、240 或 300 秒。預設值為 60 秒。無論是否啟用增強型指標，此間隔都適用於使用率指標。啟用增強型指標後，它也適用於調用指標。

## 啟用增強型指標
<a name="enhanced-metrics-enabling"></a>

當您呼叫 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API 時，您可以在 [MetricsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricsConfig.html) 參數`True`中將 `EnableEnhancedMetrics`設定為 ，以啟用增強型指標。

`MetricsConfig` 參數具有下列欄位：


**MetricsConfig 參數**  

| 參數 | Type | 必要 | 預設 | 說明 | 
| --- | --- | --- | --- | --- | 
| EnableEnhancedMetrics | Boolean | 否 | False | 啟用執行個體層級和容器層級指標維度。 | 
| MetricPublishFrequencyInSeconds | Integer | 否 | 60 | 指標發佈至 Amazon CloudWatch 的間隔，以秒為單位。預設為 `60`。有效值：`10`、`30`、`60`、`120`、`180`、`240`、`300`。當 `EnableEnhancedMetrics` 設為 時`False`，此間隔僅適用於使用率指標；調用指標會以預設的 60 秒間隔繼續發佈。設為 時`True`，此間隔適用於使用率和調用指標。 | 

**注意**  
`MetricsConfig` 在端點組態層級設定 。您無法為相同端點上的個別推論元件設定不同的設定。

若要在現有端點上啟用增強型指標，請使用所需的`MetricsConfig`設定建立新的端點組態，然後使用新的端點組態名稱呼叫 [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)。這會觸發藍/綠或滾動部署。在部署完成之前，增強型指標不會顯示。在已設定的端點上變更`MetricsConfig`設定時，套用相同的程序。

當您設定 時`MetricsConfig`，[DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) 和 [DescribeEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html) 都會在回應`MetricsConfig`中傳回 。

當您啟用增強型指標時，SageMaker AI 會在三個 CloudWatch 命名空間中為指標新增額外的維度：`/aws/sagemaker/Endpoints`用於使用率指標、`AWS/SageMaker`用於調用指標，以及`/aws/sagemaker/InferenceComponents`用於推論元件使用率指標。

## 執行個體層級使用率指標
<a name="enhanced-metrics-instance-utilization"></a>

`/aws/sagemaker/Endpoints` 命名空間包含所有即時端點的使用率指標，包括使用推論元件的端點。當您啟用增強型指標時， `InstanceId`和 `AcceleratorId`（僅限 GPU 指標） 維度會與現有的命名空間維度一起提供。如需指標和維度的完整清單，請參閱 [SageMaker AI 端點指標](monitoring-cloudwatch.md#cloudwatch-metrics-endpoints)。

當您啟用增強型指標時，可使用下列額外維度：


**執行個體層級使用率指標的其他維度**  

| 維度 | 說明 | 
| --- | --- | 
| InstanceId | 篩選特定執行個體的使用率指標。 | 
| AcceleratorId | （僅限 GPU 指標） 篩選特定 GPU 的使用率指標。 | 

## 執行個體和容器層級調用指標
<a name="enhanced-metrics-invocation"></a>

`AWS/SageMaker` 命名空間包含調用指標。當您啟用增強型指標時， `InstanceId`和 `ContainerId`（僅限推論元件） 維度會與現有的命名空間維度一起提供。如需指標和維度的完整清單，請參閱 [SageMaker AI 端點調用指標](monitoring-cloudwatch.md#cloudwatch-metrics-endpoint-invocation)。

當您啟用增強型指標時，可使用下列額外維度：


**呼叫指標的其他維度**  

| 維度 | 說明 | 
| --- | --- | 
| InstanceId | 篩選特定執行個體的調用指標。 | 
| ContainerId | （僅限推論元件） 篩選特定容器的調用指標。 | 

## 容器層級使用率指標
<a name="enhanced-metrics-container"></a>

`/aws/sagemaker/InferenceComponents` 命名空間包含使用推論元件之端點的使用率指標。當您啟用增強型指標時，`InstanceId`、 `ContainerId`和 `AcceleratorId`（僅限 GPU 指標） 維度會與現有的命名空間維度一起可用。如需指標和維度的完整清單，請參閱 [SageMaker AI 推論元件指標](monitoring-cloudwatch.md#cloudwatch-metrics-inference-component)。

當您啟用增強型指標時，可使用下列額外維度：


**容器層級使用率指標的其他維度**  

| 維度 | 說明 | 
| --- | --- | 
| InstanceId | 篩選特定執行個體的使用率指標。 | 
| ContainerId | 篩選特定容器的使用率指標。 | 
| AcceleratorId | （僅限 GPU 指標） 篩選特定 GPU 的使用率指標。 | 

## 可設定的指標頻率
<a name="enhanced-metrics-frequency"></a>

您可以設定指標發佈至 CloudWatch 的間隔。預設頻率為 60 秒。

**有效值：**10、30、60、120、180、240 或 300 秒。

當 `EnableEnhancedMetrics` 設為 時`False`，此頻率僅適用於使用率指標；調用指標會以預設的 60 秒間隔繼續發佈。設為 時`True`，此頻率同時適用於使用率和調用指標。

**注意**  
以少於 60 秒 （高解析度） 的間隔發佈的指標會保留 3 小時。

標準 CloudWatch 定價適用於每個唯一維度組合的每個指標。增強型指標會增加指標串流的數量，因為每個執行個體、容器和 GPU 都會建立額外的維度組合。如需定價詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

## 程式碼範例：設定增強型指標
<a name="enhanced-metrics-code-examples"></a>

下列範例示範如何在啟用增強型指標的情況下建立端點組態，以及如何驗證組態。

### 使用增強型指標建立端點組態
<a name="enhanced-metrics-create-example"></a>

------
#### [ AWS SDK for Python (Boto3) ]

**Example 使用增強型指標建立端點組態**  

```
import boto3

sagemaker_client = boto3.client('sagemaker')

response = sagemaker_client.create_endpoint_config(
    EndpointConfigName='{{my-enhanced-metrics-config}}',
    ProductionVariants=[
        {
            'VariantName': '{{AllTraffic}}',
            'ModelName': '{{my-model}}',
            'InstanceType': '{{ml.m5.xlarge}}',
            'InitialInstanceCount': {{2}},
        }
    ],
    MetricsConfig={
        'EnableEnhancedMetrics': True,
        'MetricPublishFrequencyInSeconds': {{60}}
    }
)
```

------
#### [ AWS CLI ]

**Example 使用增強型指標建立端點組態**  

```
aws sagemaker create-endpoint-config \
    --endpoint-config-name {{my-enhanced-metrics-config}} \
    --production-variants file://production-variants.json \
    --metrics-config file://metrics-config.json
```
其中 `metrics-config.json` 包含：  

```
{
    "EnableEnhancedMetrics": true,
    "MetricPublishFrequencyInSeconds": {{60}}
}
```

------

### 驗證增強型指標組態
<a name="enhanced-metrics-verify-example"></a>

------
#### [ AWS SDK for Python (Boto3) ]

**Example 驗證增強型指標組態**  

```
response = sagemaker_client.describe_endpoint_config(
    EndpointConfigName='{{my-enhanced-metrics-config}}'
)
print(response['MetricsConfig'])
# {'EnableEnhancedMetrics': True, 'MetricPublishFrequencyInSeconds': 60}

response = sagemaker_client.describe_endpoint(
    EndpointName='{{my-endpoint}}'
)
print(response['MetricsConfig'])
```

------
#### [ AWS CLI ]

**Example 驗證增強型指標組態**  

```
aws sagemaker describe-endpoint-config \
    --endpoint-config-name {{my-enhanced-metrics-config}} \
    --query 'MetricsConfig'
```

```
aws sagemaker describe-endpoint \
    --endpoint-name {{my-endpoint}} \
    --query 'MetricsConfig'
```

------