

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建机器学习产品的要求和最佳实操
<a name="ml-listing-requirements-and-best-practices"></a>

务必使买家能够轻松测试您的模型包和算法产品。以下各节介绍了关于机器学习产品的最佳实践。有关要求和建议的完整摘要，请参阅[机器学习产品列表的要求和建议摘要](#ml-summary-table-of-requirements-and-recommendations)。

**注意**  
如果您发布的商品不符合这些要求，销售 AWS Marketplace 代表可能会与您联系以帮助您满足这些要求。

**Topics**
+ [机器学习产品的一般最佳实操](#ml-general-best-practices)
+ [使用信息要求](#ml-requirements-for-usage-information)
+ [输入和输出的要求](#ml-requirements-for-inputs-and-outputs)
+ [Jupyter 笔记本的要求](#ml-requirements-for-jupyter-notebook)
+ [机器学习产品列表的要求和建议摘要](#ml-summary-table-of-requirements-and-recommendations)

## 机器学习产品的一般最佳实操
<a name="ml-general-best-practices"></a>

 为您的机器学习产品提供以下信息：
+  对于产品描述，请包括以下内容：
  +  模型的作用 
  +  目标客户 
  +  最重要的用例 
  +  模型训练方式及使用的数据量 
  +  性能指标及使用的验证数据 
  +  如果是医疗用途，则您的模型是否用于诊断 
+ 默认情况下，机器学习产品配置为公开可见。但是，您可以创建具有有限可见性的产品。有关更多信息，请参阅 [步骤 7：配置允许列表](configure-allowlist.md)。
+  （可选）对于付费产品，提供 14-30 天的免费试用，让客户试用您的产品。有关更多信息，请参阅 [的机器学习产品定价 AWS Marketplace](machine-learning-pricing.md)。

## 使用信息要求
<a name="ml-requirements-for-usage-information"></a>

描述产品预期输入和输出的清晰使用信息（附示例）对于提供积极的买家体验至关重要。

对于添加到产品列表中的每个新资源版本，都必须提供使用信息。

要编辑特定版本的现有使用情况信息，请参阅[更新版本信息](ml-manage-product-version.md#ml-updating-versions)。

## 输入和输出的要求
<a name="ml-requirements-for-inputs-and-outputs"></a>

清晰解释支持的输入参数和返回的输出参数，并附上示例，这对于帮助买家了解并使用您的产品至关重要。这种理解可以帮助您的买家对输入数据进行任何必要的转换，以获得最佳的推理结果。

将您的 Amazon A SageMaker I 资源添加到您的产品清单时，系统会提示您输入以下信息。

### 推理输入和输出
<a name="ml-inference-inputs-and-outputs"></a>

对于推理输入，需说明您的产品对实时端点和批量转换作业所期望的输入数据。包括用于对数据进行任何必要预处理的代码片段。说明适用的限制条件。提供托管在上的输入示例[GitHub](https://github.com)。

对于推理输出，需说明您的产品对实时端点和批量转换作业返回的输出数据。说明适用的限制条件。提供托管在上的输出示例[GitHub](https://github.com)。

对于示例，请提供适用于您的产品的输入文件。如果您的模型执行多分类器，请为每个类提供至少一个示例输入文件。

### 训练输入
<a name="ml-training-inputs"></a>

在**训练模型的信息**部分，提供输入数据格式和代码片段，以便对数据进行任何必要的预处理。描述数值含义及限制条件（如适用）。提供托管在上的输入示例[GitHub](https://github.com)。

解释买家可以提供的可选和必备特征，并指定是否支持 `PIPE` 输入模式。如果支持[分布式训](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-running-container.html#your-algorithms-training-algo-running-container-dist-training)练（使用超过 1 个 CPU/GPU 实例进行训练），请指定此项。要进行调整，请列出推荐的超参数。

## Jupyter 笔记本的要求
<a name="ml-requirements-for-jupyter-notebook"></a>

将你的 SageMaker AI 资源添加到产品列表时，请提供一个指向托管的 Jupyter 笔记本的示例 Jupyter 笔记本的链接 [GitHub](https://github.com)，该笔记本演示了完整的工作流程，而无需要求买家上传或查找任何数据。

使用 AWS SDK for Python (Boto)。精心开发的示例笔记本可以让买家更轻松地尝试使用您的产品。

对于模型包产品，您的示例笔记本演示了输入数据的准备、实时推理端点的创建以及批量转换作业的性能。有关更多信息，请参阅上的 [Model Package 列表和示例笔记本](https://github.com/aws/amazon-sagemaker-examples/tree/main/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/ModelPackage) GitHub。有关示例笔记本，请参阅 [auto\$1insurance](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/using_model_packages/auto_insurance)。这款笔记本可以正常工作 AWS 区域，无需输入任何参数，买家也无需查找样本数据。

**注意**  
开发不足的 Jupyter 笔记本示例无法显示多个可能的输入和数据预处理步骤，这可能会使买家难以完全了解您产品的价值主张。

对于算法产品，示例笔记本演示了完整的训练、调整、模型创建、实时推理端点的创建以及批处理转换作业的性能。有关更多信息，请参阅[算法列表和示例笔记本](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/Algorithm) GitHub。[有关示例笔记本，请参阅 [amazon\$1demo\$1pro](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/using_algorithms/amazon_demo_product) duct 和 automl on。](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/using_algorithms/automl) GitHub这些示例笔记本可在所有区域使用，无需输入任何参数，也无需买家查找示例数据。

**注意**  
缺少示例训练数据可能会使您的买家无法成功运行 Jupyter 笔记本。开发不足的示例笔记本可能会使您的买家无法使用您的产品并阻碍其采用。

## 机器学习产品列表的要求和建议摘要
<a name="ml-summary-table-of-requirements-and-recommendations"></a>

下表提供了机器学习产品列表页面要求和建议的摘要。


|  **详细信息**  |  **对于模型包列表**  |  **对于算法列表**  | 
| --- |--- |--- |
| **Product descriptions** | 
| --- |
| 详细解释产品对支持的内容类型（例如，“检测图像中的 X”）的作用。 |  必需  |  必需  | 
| 提供有关产品的有说服力和差异化的信息（避免使用诸如 “最佳” 或未经证实的说法之类的形容词）。 |  推荐  |  推荐  | 
| 列出该产品最重要的用例。 |  必需  |  必需  | 
| 描述其训练所依据的数据（来源和大小），并列出所有已知的限制。 |  必需  |  不适用 | 
| 描述模型所依据的核心框架。 |  推荐  |  推荐  | 
| 根据验证数据汇总模型性能指标（例如，“使用 Z 数据集进行基准测试的 XX.YY 精度百分比”）。 |  必需  |  不适用 | 
| 根据建议的实例类型汇总模型延迟 and/or 吞吐量指标。 |  必需  |  不适用 | 
| 描述算法类别。例如，“这种决策森林回归算法基于树结构分类器的集合，这些分类器是使用引导聚合的通用技术和随机选择的特征构建的。”  |  不适用 |  必需  | 
| **Usage information** | 
| --- |
| 为了进行推断，请描述实时端点和批量转换作业的预期输入格式。说明适用的限制条件。请参阅[输入和输出的要求](#ml-requirements-for-inputs-and-outputs)。 |  必需  |  必需  | 
| 为了进行推理，请为实时端点和批量转换作业提供输入样本。样品必须托管在 GitHub。请参阅[输入和输出的要求](#ml-requirements-for-inputs-and-outputs)。 |  必需  |  必需  | 
| 为了进行推理，请提供每个输入参数的名称和描述。提供有关其限制的详细信息，并指定它是必需的还是可选的。 | 推荐 | 推荐 | 
| 为了进行推断，请提供有关您的产品为实时终端节点和批量转换作业返回的输出数据的详细信息。包括任何限制（如果适用）。请参阅[输入和输出的要求](#ml-requirements-for-inputs-and-outputs)。 |  必需  |  必需  | 
| 为了进行推理，请为实时端点和批量转换作业提供输出样本。样品必须托管在 GitHub。请参阅[输入和输出的要求](#ml-requirements-for-inputs-and-outputs)。 |  必需  |  必需  | 
| 为了进行推理，请举一个使用端点或批处理转换作业的示例。包括使用 AWS Command Line Interface (AWS CLI) 命令或使用 AWS SDK 的代码示例。 |  必需  |  必需  | 
| 为了进行推断，请提供每个输出参数的名称和描述。指定是否总是返回。 | 推荐 | 推荐 | 
| 对于训练，请提供有关训练模型的必要信息的详细信息，例如所需的最少数据行数。 见[输入和输出的要求](#ml-requirements-for-inputs-and-outputs)。 |  不适用 |  必需  | 
| 要进行训练，请提供托管在上的输入样本 GitHub。请参阅[输入和输出的要求](#ml-requirements-for-inputs-and-outputs)。 |  不适用 |  必需  | 
| 对于培训，请提供执行训练作业的示例。描述支持的超参数、其范围及其总体影响。指定算法是否支持超参数调整、分布式训练或 GPU 实例。包括代码示例，例如 AWS CLI 命令或使用 S AWS DK。 |  不适用 |  必需  | 
| 提供一本 Jupyter 笔记本，用于 GitHub 演示产品的完整使用情况。请参阅[Jupyter 笔记本的要求](#ml-requirements-for-jupyter-notebook)。 |  必需  |  必需  | 
| 提供与产品使用相关的技术信息，包括用户手册和样本数据。 |  推荐  |  推荐  | 