本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立演算法資源
您可以在 Amazon 中建立演算法資源,以搭配訓練任務使用 SageMaker,並且可以在 上發佈 AWS Marketplace。下列各節說明如何使用 AWS Management Console 和 來執行此操作 SageMaker API。
若要建立演算法資源,您可以指定下列資訊:
-
包含訓練以及可選擇包含推論程式碼的 Docker 容器。
-
您的演算法預期用於訓練的輸入資料之組態。
-
您演算法支援的超參數。
-
您的演算法在訓練任務 CloudWatch 期間傳送至 Amazon 的指標。
-
您演算法支援用來進行訓練和推論的執行個體類型,以及其是否支援多個執行個體間的分散式訓練。
-
驗證設定檔,這是 SageMaker 用來測試演算法訓練程式碼的訓練任務,以及 SageMaker 用來測試演算法推論程式碼的批次轉換任務。
為了確保買方和賣方可以確信產品在 中運作 SageMaker,我們會要求您先驗證演算法,才能在 上列出演算法 AWS Marketplace。 AWS Marketplace 只有在驗證成功時,您才能在 中列出產品。若要驗證您的演算法, SageMaker 會使用驗證設定檔和範例資料來執行下列驗證任務:
-
在帳戶中建立訓練任務,以確認您的訓練映像是否與 搭配使用 SageMaker。
-
若您在演算法中包含了推論程式碼,請使用演算法的推論映像和訓練工作所產生的模型成品,在您的帳戶中建立模型。
-
如果您在演算法中包含推論程式碼,請使用模型在帳戶中建立轉換任務,以驗證推論映像是否與 搭配使用 SageMaker。
當您在 上列出產品時 AWS Marketplace,此驗證程序的輸入和輸出會保留為產品的一部分,並可供您的買家使用。這可協助買家在購買之前了解和評估產品。例如,買家可以檢查您使用的輸入資料、所產生的輸出,以及您程式碼發出的日誌和指標。您的驗證規格越完整,客戶便越能輕鬆地評估您的產品。
注意
在您的驗證設定檔中,請只提供您要公開的資料。
驗證可能需要耗費數小時。若要查看帳戶中任務的狀態,請參閱 SageMaker 主控台中的訓練任務和轉換任務頁面。如果驗證失敗,您可以從 SageMaker 主控台存取掃描和驗證報告。若發現任何任務,您將必須重新建立演算法。
注意
若要在 上發佈您的演算法 AWS Marketplace,至少需要一個驗證設定檔。
-
您可以使用 SageMaker 主控台 SageMaker或 建立演算法API。
建立演算法資源 (主控台)
建立演算法資源 (主控台)
-
在 開啟 SageMaker 主控台https://console.aws.amazon.com/sagemaker/
。 -
從左側選單中選擇訓練。
-
從下拉式選單中選擇演算法,然後選擇建立演算法。
-
在訓練規格頁面上,提供以下資訊:
-
針對演算法名稱,輸入您的演算法的名稱。演算法名稱在您的帳戶和 AWS 區域中必須是唯一的。名稱長度必須介於 1 至 64 個字元。有效字元為 a-z、A-Z、0-9 和 - (連字號)。
-
輸入您的演算法的描述。此描述會顯示在 SageMaker 主控台和 中 AWS Marketplace。
-
針對訓練映像,在存放ECR訓練容器的 Amazon 中輸入路徑。
-
針對支援分散式訓練,若您的演算法支援在多個執行個體上進行訓練,請選擇是。否則請選擇否。
-
針對支援用於訓練的執行個體類型,請選擇您的演算法支援的執行個體類型。
-
針對通道規格,為您的演算法指定最多 8 個輸入資料通道。例如,您可以指定 3 個輸入通道,分別名為
train
、validation
和test
。針對每個通道,指定下列資訊:-
針對通道名稱,輸入通道的名稱。名稱長度必須介於 1 至 64 個字元。有效字元為 a-z、A-Z、0-9 和 - (連字號)。
-
若要使通道成為您演算法的必要項目,請選擇需要通道。
-
輸入通道的描述。
-
針對支援的輸入模式,若您的演算法支援串流輸入資料,請選擇管道模式;若您的演算法支援將輸入資料做為檔案下載,請選擇檔案模式。您可以同時選擇兩者。
-
針對支援的內容類型 ,輸入演算法預期輸入資料的MIME類型。
-
針對支援的壓縮類型,若您的演算法支援 Gzip 壓縮,請選擇 Gzip。否則,請選擇無。
-
請選擇新增通道來新增其他資料輸入通道;或者,若您已完成新增通道,請選擇下一步。
-
-
-
在調校規格頁面上,提供以下資訊:
-
對於超參數規格 ,請編輯JSON物件來指定演算法支援的超參數。對於演算法支援的每個超參數,請建構類似下列的JSON區塊:
{ "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }
在 中JSON,提供下列項目:
-
針對
DefaultValue
,請指定超參數的預設值 (若有的話)。 -
針對
Description
,請指定超參數的描述。 -
針對
IsRequired
,請指定是否需要超參數。 -
針對
IsTunable
,若可在使用者執行使用此演算法的超參數調校工作時調校此超參數,請指定true
。如需相關資訊,請參閱使用 自動模型調校 SageMaker。 -
針對
Name
,請指定超參數的名稱。 -
針對
Range
,請指定下列其中一項:-
IntegerParameterRangeSpecification
- 超參數的值為整數。為超參數指定最小值及最大值。 -
ContinuousParameterRangeSpecification
- 超參數的值為浮點數值。為超參數指定最小值及最大值。 -
CategoricalParameterRangeSpecification
- 超參數的值為類別值。指定所有可能值的清單。
-
-
針對
Type
,請指定Integer
、Continuous
或Categorical
。該值必須對應到您所指定的Range
類型。
-
-
針對指標定義 ,指定您希望演算法發出的任何訓練指標。 SageMaker 會使用您指定的規則運算式,在訓練期間從訓練容器剖析日誌以尋找指標。使用者可以在使用演算法執行訓練任務時檢視這些指標,而且他們可以監控和繪製 Amazon 中的指標 CloudWatch。如需相關資訊,請參閱 監控和分析訓練任務的 Amazon CloudWatch 指標。針對每個指標,請提供以下資訊:
-
針對指標名稱,輸入指標的名稱。
-
對於
Regex
,輸入 SageMaker 用來剖析訓練日誌的規則運算式,以便找到指標值。 -
針對目標指標支援,若此指標可以用來做為超參數調校工作的目標指標,請選擇是。如需相關資訊,請參閱使用 自動模型調校 SageMaker。
-
請選擇新增指標來新增其他指標;或者,若您已完成新增指標,請選擇下一步。
-
-
-
在推論規格頁面上,若您的演算法支援推論,請提供以下資訊:
-
針對推論影像的位置 ,在存放推論容器的 Amazon ECR 中輸入路徑。
-
針對容器DNS主機名稱 ,輸入映像的DNS主機名稱。
-
針對即時推論的支援執行個體類型 ,選擇演算法在 中部署為託管端點的模型支援的執行個體類型 SageMaker。如需相關資訊,請參閱 部署用於推論的模型。
-
針對批次轉換工作支援的執行個體類型,請選擇您的演算法針對批次轉換工作所支援的執行個體類型。如需相關資訊,請參閱使用 Amazon 進行推論的批次轉換 SageMaker。
-
針對支援的內容類型,請輸入您的演算法預期用於推論請求的輸入資料類型。
-
針對支援的回應MIME類型 ,輸入演算法支援推論回應的MIME類型。
-
選擇 Next (下一步)。
-
-
在驗證規格頁面上,提供以下資訊:
-
對於在 上發佈此演算法 AWS Marketplace,請選擇是,以在 上發佈演算法 AWS Marketplace。
-
對於驗證此資源 ,如果您 SageMaker 想要執行訓練任務和/或批次轉換任務,以測試演算法的訓練和/或推論程式碼,請選擇是。
注意
若要在 上發佈您的演算法 AWS Marketplace,則必須驗證您的演算法。
-
針對IAM角色 ,選擇具有在 中執行訓練任務和批次轉換任務所需許可IAM的角色 SageMaker,或選擇建立新角色 SageMaker ,以允許建立已連接
AmazonSageMakerFullAccess
受管政策的角色。如需相關資訊,請參閱 如何使用 SageMaker 執行角色。 -
針對驗證設定檔,請指定下列項目:
-
驗證設定檔的名稱。
-
訓練工作定義。這是描述訓練任務的JSON區塊。這與
CreateAlgorithm
的TrainingJobDefinition
輸入參數格式相同API。 -
轉換工作定義。這是描述批次轉換工作的JSON區塊。這與
CreateAlgorithm
的TransformJobDefinition
輸入參數格式相同API。
-
-
選擇建立演算法。
-
建立演算法資源 (API)
若要使用 建立演算法資源 SageMaker API,請呼叫 CreateAlgorithm
API。