

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

# 在 Amazon Bedrock 中提交模型蒸餾任務
<a name="submit-model-distillation-job"></a>

您可以透過 Amazon Bedrock 主控台或傳送 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) 請求與 [Amazon Bedrock 控制平面端點](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-cp)來執行模型蒸餾。

## 先決條件
<a name="submit-model-distillation-job-prerequisites"></a>
+ 建立具有所需許可的 IAM 服務角色。如需完整的安全性和許可資訊，請參閱 [模型自訂存取和安全性](custom-model-job-access-security.md)。
+ (選用) 加密輸入和輸出資料、您的自訂任務，或對自訂模型提出的推論請求。如需詳細資訊，請參閱[自訂模型的加密](encryption-custom-job.md)。
+ （選用） 建立 Virtual Private Cloud (VPC) 以保護自訂任務。如需詳細資訊，請參閱[(選用) 使用 VPC 保護模型自訂任務](custom-model-job-access-security.md#vpc-model-customization)。

如需設定隨需推論的詳細資訊，請參閱 [為自訂模型設定推論](model-customization-use.md)。

## 提交您的任務
<a name="submit-model-distillation-job-how-to"></a>

------
#### [ Console ]

1.  AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 從左側導覽窗格中，選擇**調校**下的**自訂模型**。

1. 選擇**建立蒸餾任務**。

1. 對於**蒸餾模型詳細資訊**，請執行下列動作：

   1. 針對**蒸餾模型名稱**，輸入已蒸餾模型的名稱。

   1. (選用) 對於**模型加密**，如果您想要提供用於加密任務及其相關成品的 KMS 金鑰，請選取核取方塊。

      如需詳細資訊，請參閱[自訂模型的加密](encryption-custom-job.md)。

   1. (選用) 將**標籤**套用至蒸餾的模型。

1. 對於**任務組態**，請執行下列動作：

   1. 對於**任務名稱**，輸入蒸餾任務的名稱。

   1. (選用) 對於**模型加密**，如果您想要提供用於加密任務及其相關成品的 KMS 金鑰，請選取核取方塊。

      如需詳細資訊，請參閱[自訂模型的加密](encryption-custom-job.md)。

   1. (選用) 將**標籤**套用至您的任務。

1. 對於**教師模型 – 學生模型詳細資訊**，選擇用於建立蒸餾模型的教師和學生模型。

   如需詳細資訊，請參閱[模型分割的先決條件](prequisites-model-distillation.md)。

1. 對於**合成資料產生**，請執行下列動作：

   1. 對於**最大回應長度**，指定由教師模型產生的合成回應長度上限。

   1. 對於**蒸餾輸入資料集**，選擇下列其中一個選項：
      + **直接上傳至 S3 位置** - 指定您要存放將用於蒸餾之輸入資料集 (提示) 的 S3 位置。如需詳細資訊，請參閱[選項 1：提供您自己的資料準備提示](distillation-data-prep-option-1.md)。
      + **提供對調用日誌的存取** - 指定您存放調用日誌的 S3 位置，其中包含將用於蒸餾的輸入資料集 (提示)。如需詳細資訊，請參閱[選項 2：使用調用日誌進行資料準備](distillation-data-prep-option-2.md)。
        + (選用) 對於**請求中繼資料篩選條件**，如果您希望 Amazon Bedrock 只使用日誌中的特定提示進行蒸餾，請指定篩選條件。
        + 根據您希望 Amazon Bedrock 從日誌存取的內容，選擇**讀取提示**或**讀取提示-回應對**。請記住，只有當教師模型符合日誌中的模型時，才會讀取回應。

1. 對於**蒸餾輸出**，指定您要上傳蒸餾任務相關指標和報告的 S3 位置。

   如需詳細資訊，請參閱[分析模型自訂任務的結果分析模型自訂任務結果](model-customization-analyze.md)。

1. 對於 **VPC 設定**，選擇使用訓練資料存取 S3 儲存貯體的 VPC 組態。

   如需詳細資訊，請參閱[(選用) 使用 VPC 保護模型自訂任務](custom-model-job-access-security.md#vpc-model-customization)。

1. 針對**服務存取**，指定使用訓練資料存取 S3 儲存貯體的 IAM 角色。除非您使用跨區域推論設定檔或 VPC 組態，否則，您只要在 Amazon Bedrock 主控台中建立角色，就會自動設定正確的許可。或者，您可以使用現有的服務角色。

    若是具有 Amazon VPC 組態或使用跨區域推論設定檔的任務，您必須在 IAM 中建立具有必要許可的新服務角色。

   如需詳細資訊，請參閱[建立模型自訂的 IAM 服務角色](custom-model-job-access-security.md#custom-model-job-service-role)。

1. 選擇**建立蒸餾任務**，以開始蒸餾任務。自訂模型之後，您可以為模型設定推論。如需詳細資訊，請參閱[為自訂模型設定推論](model-customization-use.md)。

------
#### [ API ]

使用 Amazon Bedrock API 時，您至少必須提供下列欄位來提交模型蒸餾任務。


****  

| 欄位 | Description | 
| --- | --- | 
| baseModelIdentifier | 學生模型的模型識別碼 | 
| customModelName | 新蒸餾模型的名稱。 | 
| jobName | 模型蒸餾任務的名稱。 | 
| roleArn | 會將讀取訓練、驗證檔案及寫入輸出路徑之許可授予 Amazon Bedrock 的角色 | 
| trainingDataConfig | 具有訓練資料的 Amazon S3 路徑 | 
| outputDataConfig | 包含訓練和驗證指標的 Amazon S3 路徑 | 
| distillationConfig | 蒸餾任務所需的輸入 | 
| customModelKmsKeyId | 加密自訂模型 | 
| clientRequestToken | 防止請求完成多次的字符 | 

以下是選填欄位：


****  

| 欄位 | Description | 
| --- | --- | 
| customizationType | 依預設，會針對蒸餾任務設定為 DISTILLATION 。 | 
| validationDataConfig | 驗證資料 Amazon S3 路徑的清單 | 
| jobTags | 將標籤與任務建立關聯 | 
| customModelTags | 將標籤與產生的自訂模型建立關聯 | 
| vpcConfig | 保護訓練資料和蒸餾任務的 VPC | 

若要防止請求完成多次，請包含 `clientRequestToken`。

您可以針對額外組態包含下列選用欄位。
+ `jobTags` 和/或 `customModelTags` – 將[標籤](tagging.md)與自訂任務或產生的自訂模型建立關聯。
+ `vpcConfig` – 包含[虛擬私有雲端 (VPC) 的組態，以保護訓練資料和自訂任務](custom-model-job-access-security.md#vpc-model-customization)。

以下是 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) API 的範例程式碼片段。此範例使用調用日誌中的提示-回應對作為輸入資料來源，並指定用於選取提示-回應對的篩選條件。

```
"trainingDataConfig": {
    "invocationLogsConfig": {
        "usePromptResponse": true,
        "invocationLogSource": {
            "s3Uri": "string"
        },
        "requestMetadataFilters": {
            "equals": {
                "priority": "High"
            }
        }
    }
}
```

**回應**

回應會傳回模型蒸餾任務的 `jobArn`。

------

## 後續步驟
<a name="submit-model-distillation-next-steps"></a>
+ [監控蒸餾任務](model-customization-monitor.md)。如需設定隨需推論的詳細資訊，請參閱 [為自訂模型設定推論](model-customization-use.md)。