本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立演算法資源
若要建立可用於在 Amazon 中執行訓練任務 SageMaker 和發佈的演算法資源, AWS Marketplace 請指定下列資訊:
-
包含訓練的 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/ -
從左側選單中選擇訓練。
-
從下拉式選單中選擇演算法,然後選擇建立演算法。
-
在 Training specifications (訓練規格) 頁面上,提供以下資訊:
-
針對 Algorithm name (演算法名稱),輸入您演算法的名稱。演算法名稱在您的帳戶和 AWS 區域中必須是唯一的。名稱長度必須介於 1 至 64 個字元。有效字元為 a-z、A-Z、0-9 和 - (連字號)。
-
輸入您演算法的描述。此說明會顯示在 SageMaker 主控台和中 AWS Marketplace。
-
對於訓練影像,請在 Amazon ECR 中輸入存放訓練容器的路徑。
-
針對 Support distributed training (支援分散式訓練),若您的演算法支援在多個執行個體上進行訓練,請選擇 Yes (是)。否則請選擇 No (否)。
-
針對 Support instance types for training (支援用於訓練的執行個體類型),請選擇您演算法支援的執行個體類型。
-
針對 Channel specification (通道規格),為您的演算法指定最多 8 個輸入資料通道。例如,您可以指定 3 個輸入通道,分別名為
train
、validation
和test
。針對每個通道,指定下列資訊:-
針對 Channel name (通道名稱),輸入通道的名稱。名稱長度必須介於 1 至 64 個字元。有效字元為 a-z、A-Z、0-9 和 - (連字號)。
-
若要使通道成為您演算法的必要項目,請選擇 Channel required (需要通道)。
-
輸入通道的描述。
-
針對 Supported input modes (支援的輸入模式),若您的演算法支援串流輸入資料,請選擇 Pipe mode (管道模式);若您的演算法支援將輸入資料做為檔案下載,請選擇 File mode (檔案模式)。您可以同時選擇兩者。
-
針對 Supported content types (支援的內容類型),請輸入您演算法預期收到的輸入資料 MIME 類型。
-
針對 Supported compression type (支援的壓縮類型),若您的演算法支援 Gzip 壓縮,請選擇 Gzip。否則,請選擇 None (無)。
-
請選擇 Add channel (新增通道) 來新增其他資料輸入通道;或者,若您已完成新增通道,請選擇 Next (下一步)。
-
-
-
在 Tuning specifications (調校規格) 頁面上,提供以下資訊:
-
針對 Hyperparameter specification (超參數規格),請編輯 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 指標監控和分析訓練任務。針對每個指標,請提供以下資訊:
-
針對 Metric name (指標名稱),輸入指標的名稱。
-
對於
Regex
,請輸入 SageMaker 用來剖析訓練記錄檔的規則運算式,以便找出指標值。 -
針對 Objective metric support (目標指標支援),若此指標可以用來做為超參數調校任務的目標指標,請選擇 Yes (是)。如需相關資訊,請參閱 執行自動模型調整 SageMaker。
-
請選擇 Add metric (新增指標) 來新增其他指標;或者,若您已完成新增指標,請選擇 Next (下一步)。
-
-
-
在 Inference specifications (推論規格) 頁面上,若您的演算法支援推論,請提供以下資訊:
-
對於推論影像的位置,請在 Amazon ECR 中輸入存放推論容器的路徑。
-
針對 Container DNS host name (容器 DNS 主機名稱),輸入您映像的 DNS 主機名稱。
-
針對 Supported instance types for real-time inference (即時推論支援的執行個體類型),請選擇您演算法針對做為 SageMaker 中託管端點部署的模型所支援的執行個體類型。如需相關資訊,請參閱 部署用於推論的模型。
-
針對 Supported instance types for batch transform jobs (批次轉換任務的支援執行個體類型),請選擇您演算法針對批次轉換任務所支援的執行個體類型。如需相關資訊,請參閱 使用批次轉換來使用 Amazon 執行推論 SageMaker。
-
針對 Supported content types (支援的內容類型),請輸入您演算法針對推論請求所預期的輸入資料類型。
-
針對 Supported response MIME types (支援的回應 MIME 類型),請輸入您演算法針對推論回應支援的 MIME 類型。
-
選擇下一步。
-
-
在 Validation specifications (驗證規格) 頁面上,提供以下資訊:
-
對於「發佈此演算法」 AWS Marketplace,請選擇「是」 以在上發佈演算法 AWS Marketplace。
-
對於驗證此資源,如果您想 SageMaker 要執行訓練工作和/或批次轉換工作 (或) 指定來測試演算法的訓練和/或推論程式碼,請選擇 [是]。
注意
若要在上發佈演算法 AWS Marketplace,您的演算法必須經過驗證。
-
對於 IAM 角色,請選擇具有執行訓練任務和批次轉換工作所需許可的 IAM 角色 SageMaker,或選擇 [建立新角色] SageMaker 以允許建立已附加
AmazonSageMakerFullAccess
受管政策的角色。如需相關資訊,請參閱 如何使用 SageMaker 執行角色。 -
針對 Validation profile (驗證描述檔),請指定下列項目:
-
驗證描述檔的名稱。
-
Training job definition (訓練任務定義)。這是描述訓練任務的 JSON 區塊。此處的格式與
CreateAlgorithm
API 的TrainingJobDefinition
輸入參數相同。 -
Transform job definition (轉換任務定義)。此為描述批次轉換任務的 JSON 區塊。此處的格式與
CreateAlgorithm
API 的TransformJobDefinition
輸入參數相同。
-
-
選擇 Create algorithm (建立演算法)。
-
建立演算法資源 (API)
若要使用 SageMaker API 建立演算法資源,請呼叫 CreateAlgorithm
API。