建立機器學習產品的需求和最佳做法 - AWS Marketplace

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

建立機器學習產品的需求和最佳做法

重要的是,您的買家發現它很容易測試您的模型包和算法產品。下列各節說明建立機器學習 (ML) 產品清單的需求,以及 ML 產品的最佳做法。如需需求和建議的完整摘要,請參閱ML 產品清單的需求和建議摘要

注意

如果您發佈的產品不符合這些需求,AWS Marketplace代表可能會與您聯絡,協助您達成這些需求。

所需資產

在建立機器學習產品清單之前,請確定您擁有下列必要資產:

  • Amazon 資源名稱 (ARN) — 提供您要發佈的來源模型套件或演算法資源AWS 區域的 ARN (請參閱支援AWS 區域發佈)。

    • 模型包的 ARN 具有以下形式:arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>

    • 算法的 ARN 具有以下形式:arn:aws:sagemaker:<region>:<account-id>:algorithm/<algorithm-name>

  • 使用資訊的要求— 提供有關輸入、輸出和程式碼範例的詳細資訊。

  • 輸入和輸出的要求— 提供檔案或文字。

  • Jup筆記本的需求— 展示完整的產品使用情況。

ML 產品的一般最佳實務

根據您的機器學習產品提供下列資訊:

  • 對於產品說明,請包括以下內容:

    • 你的模型做什麼

    • 目標客戶是誰

    • 最重要的用例是什麼

    • 模型的訓練方式或使用的資料量

    • 什麼是性能指標和使用的驗證數據

    • 如果是醫療,無論您的模型是否用於診斷用途

  • 根據預設,機器學習產品設定為具有公開可見度。不過,您可以建立具有隱私可見度的產品。如需詳細資訊,請參閱建立您的產品清單

  • (選擇性) 針對付費產品,提供 14 至 30 天的免費試用期,讓客戶試用您的產品。如需詳細資訊,請參閱機器學習產品定價

  • (選擇性) 對於模型套件產品,如果您想要在產品清單頁面上啟用即時產品示範,請聯絡AWS Marketplace賣家營運團隊。產品示範可讓潛在買家直接在清單頁面上試用您的模型,而無需自行訂閱或部署模型。

使用資訊的要求

清晰的使用信息描述了產品的預期輸入和輸出(帶有示例)對於推動積極的買家體驗至關重要。

對於新增至產品清單的每個新版本的資源,您都必須提供使用資訊。

若要為您第一次發佈的新產品新增使用資訊,請登入AWS Marketplace 管理入口網站主控台。從產品下拉式清單中,選擇機器學習。選取您的產品。在「啟動」選項下的「產品概述」中,提供模型套件或演算法資源的 ARN,然後選擇「新增」。

若要編輯特定版本的現有使用情況資訊,請選擇啟動選項下的編輯,然後選擇編輯版本

輸入和輸出的要求

對於幫助買家了解和使用您的產品,對您的形式進行清晰的說明,以及輸入和輸出的示例非常重要。這種理解可以幫助您的購買者對輸入數據執行任何必要的轉換,以獲得最佳的推論結果。

將 Amazon SageMaker 資源新增至產品清單時,系統會提示您輸入以下內容。

推論輸入和輸出

對於推論輸入,請提供即時端點和批次轉換工作的輸入格式。包含任何必要的資料預先處理的程式碼片段。包括支援的 MIME 內容類型 (例如,影像 /jpeg、影像 /png、影像 /bmp)、值的描述 (如果適用),以及限制。包括託管於的輸入樣本GitHub

對於推論輸出,請提供即時端點和批次轉換工作的輸出格式。包括輸出 MIME 內容類型(例如,應用程序 /json圖像/JPEG)和值的描述(如果適用)。包括託管於的輸出樣本GitHub

對於範例,請提供與您的產品搭配使用的輸入檔案。如果您的模型執行多類別分類,請為每個類別提供至少一個範例輸入檔案。

訓練輸入

在「訓練模型的資訊」區段中,為任何必要的資料預先處理提供輸入資料格式和程式碼片段。包括支援的 MIME 內容類型 (例如,影像 /jpeg、影像 /png、影像 /bmp)、值的描述 (如果適用),以及限制。請確保包含託管於的輸入範例GitHub

說明買方可以提供的可選功能和強制功能,並指定是否支持PIPE輸入模式。如果支援分散式訓練 (使用 1 個以上 CPU/GPU 執行個體的訓練),請指定此選項。若要進行調整,請列出建議的超參數。

Jup筆記本的需求

將資 SageMaker 源新增至產品清單時,請提供一個連結,指向裝載於上面的範例 Jupyter 記事本,GitHub以示範完整的工作流程,而不需要買家上傳或尋找任何資料。

使用 AWS SDK for Python (Boto)。開發完善的範例筆記本可讓買家更輕鬆地嘗試使用您的刊登物品。

對於模型封裝產品,您的範例筆記本會示範輸入資料的準備、建立用於即時推論的端點,以及批次轉換工作的效能。如需詳細資訊,請參閱模型 Package 清單和上的範例筆記本 GitHub。有關樣本筆記本,請參閱通用筆記本汽車保險。後一個樣本筆記本可以完全工作AWS 區域,無需輸入任何參數,也無需購買者查找樣本數據。

注意

未開發的 Jupyter 筆記本樣本,如果沒有顯示多個可能的輸入和數據預處理步驟,可能會使買方難以完全理解您的產品的價值主張。

對於演算法產品,範例筆記本示範了完整的訓練、調整、模型建立、即時推論端點的建立,以及批次轉換工作的效能 (請參閱上的演算法清單和範例筆記本 GitHub)。如需範例筆記本,請參閱的 GitHub。這些範例筆記本可在所有區域運作,無需輸入任何參數,買家也不需要尋找範例資料。

注意

缺少範例訓練資料可能會導致買家無法成功執行 Jupyter 筆記本。未開發的樣本筆記本可能會阻止您的買家使用您的產品並阻礙採用。

ML 產品清單的需求和建議摘要

下表提供機器學習產品清單頁面的需求和建議摘要。

詳細資訊 對於模型包裝清單 對於演算法清單
Product descriptions
Explain in detail what the product does for supported content types (for example, “detects X in images"). Required Required
Provide compelling and differentiating information about the product (avoid adjectives like "best" or unsubstantiated claims). Recommended Recommended
List most important use case(s) for this product. Required Required
Describe the data (source and size) it was trained on and list any known limitations. Required Not applicable
Describe the core framework that the model was built on. Recommended Recommended
Summarize model performance metric on validation data (for example, "XX.YY percent accuracy benchmarked using the Z dataset"). Required Not applicable
Summarize model latency and/or throughput metrics on recommended instance type. Required Not applicable
Describe the algorithm category. For example, “This decision forest regression algorithm is based on an ensemble of tree-structured classifiers that are built using the general technique of bootstrap aggregation and a random choice of features.” Not applicable Required
Usage information
For inference, provide the input format for both the real-time endpoint and batch transform job. Include supported MIME content types (for example, 影像/JPEG, 圖片/png, 圖像/BMP), description of values if applicable, and limitations. See 輸入和輸出的要求. Required Required
For inference, provide input samples for both the real-time endpoint and batch transform job. Samples must be hosted on GitHub. See 輸入和輸出的要求. Required Required
For inference, provide the output format for both the real-time endpoint and batch transform job. Include output MIME content type (for example, application/json, 影像/JPEG) and description of values if applicable. See 輸入和輸出的要求. Required Required
For inference, provide output samples for both the real-time endpoint and batch transform job. Samples must be hosted on GitHub. See 輸入和輸出的要求. Required Required
For inference, provide an example of using an endpoint or batch transform job. Include a code example using the AWS Command Line Interface (AWS CLI) commands or using an AWS SDK. Required Required
For training, provide input format. Include supported MIME content types (for example, 影像/JPEG, 圖片/png, 圖像/BMP), description of values if applicable, and limitations (for example, minimum rows of data required). See 輸入和輸出的要求. Not applicable Required
For training, provide input samples hosted on GitHub. See 輸入和輸出的要求. Not applicable Required
For training, provide an example of performing training jobs. Describe the supported hyperparameters, their ranges, and their overall impact. Specify if the algorithm supports hyperparameter tuning, distributed training, or GPU instances. Include code example such as AWS CLI commands or using an AWS SDK, for example. Not applicable Required
Provide a Jupyter notebook hosted on GitHub demonstrating complete use of your product. See Jup筆記本的需求. Required Required
Provide technical information related to the usage of the product, including user manuals and sample data. Recommended Recommended