本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 API 创建文本分类 AutoML 作业
以下说明演示如何使用 SageMaker API 参考创建 Amazon SageMaker Autopilot 作业作为试点实验,用于文本分类问题类型。
注意
文本和映像分类、时间序列预测和大型语言模型微调等任务都可以通过 AutoML REST API 的第 2 版独家实现。如果您选择的语言是 Python,则可以直接参考 Amazon SageMaker Python SDK 的 适用于 Python (Boto3) 的 AWS SDK
喜欢用户界面便利性的用户可以使用 Amazon SageMaker Canvas 访问预训练模型和生成式人工智能基础模型,或创建针对特定文本、映像分类、预测需求或生成式人工智能的定制模型。
您可以在 Amazon SageMaker Autopilot 或 AWS CLI 支持的任何语言中,通过调用 CreateAutoMLJobV2 API 操作,以编程方式创建 Autopilot 文本分类实验。
有关此 API 操作如何转换为所选语言中函数的信息,请参阅 CreateAutoMLJobV2 中的另请参阅部分并选择 SDK。例如,对于 Python 用户,请参阅 适用于 Python (Boto3) 的 AWS SDK 中 create_auto_ml_job_v2 的完整请求语法。
以下参数集合介绍了文本分类中使用的 CreateAutoMLJobV2 API 操作的必需和可选输入请求参数。
必需参数
在调用 CreateAutoMLJobV2 以创建 Autopilot 实验进行文本分类时,您必须提供以下值:
-
AutoMLJobName,用于指定您作业的名称。 -
AutoMLJobInputDataConfig中至少有一个AutoMLJobChannel来指定您的数据来源。 -
一个类型为
TextClassificationJobConfig的AutoMLProblemTypeConfig。 -
OutputDataConfig,指定用于存储 AutoML 作业构件的 Amazon S3 输出路径。 -
RoleArn,指定用于访问您的数据的角色的 ARN。
所有其他参数都是可选的。
可选参数
以下各节提供了一些可以传递给文本分类 AutoML 作业的可选参数的详细信息。
您可以提供自己的验证数据集和自定义的数据拆分比率,也可以让 Autopilot 自动拆分数据集。
每个 AutoMLJobChannel 对象(参见必需参数 AutoMLJobInputDataConfig)都有一个 ChannelType,可以将其设置为 training 或 validation 值,指定在构建机器学习模型时如何使用数据。
数据来源至少需要一个,最多可以有两个:一个用于训练数据,一个用于验证数据。如何将数据拆分为训练和验证数据集,取决于您有一个还是两个数据来源。
如何将数据拆分为训练和验证数据集,取决于您有一个还是两个数据来源。
-
如果您只有一个数据来源,则默认情况下
ChannelType设置为training,并且必须具有此值。-
如果未设置
AutoMLDataSplitConfig中的ValidationFraction值,则默认情况下,将使用来自此来源中数据的 0.2 (20%) 进行验证。 -
如果
ValidationFraction设置为介于 0 和 1 之间的值,则根据指定的值拆分数据集,该值指定用于验证的数据集的比例。
-
-
如果您有两个数据来源,则其中一个
AutoMLJobChannel对象的ChannelType必须设置为默认值training。另一个数据来源的ChannelType必须设置为validation。这两个数据来源必须具有相同的格式(CSV 或 Parquet)和相同的架构。在这种情况下,您不可为ValidationFraction设置值,因为每个来源的所有数据都用于训练或验证。设置此值会导致错误。
要为 AutoML 作业的最佳候选模型启用自动部署,请在 AutoML 任务请求中包括 ModelDeployConfig。这样便可以将最佳模型部署到 SageMaker AI 端点。以下是可供自定义的配置。
-
要让 Autopilot 生成端点名称,请将
AutoGenerateEndpointName设置为True。 -
要为端点提供自己的名称,请设置
AutoGenerateEndpointName to。Falseand provide a name of your choice in EndpointName