微调模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

微调模型

微调过程在新数据集上训练已经预训练的模型,而无需从头开始训练。这个过程也称为转移学习,可以使用较小数据集和较短的训练时间生成准确模型。如果模型的卡片显示可微调属性设置为,则可以对其进行微调。

JumpStart fine-tunable Image Classification - TensorFlow model

重要

截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新后的 Studio 体验的信息,请参阅亚马逊 SageMaker Studio

注意

有关在 Studio 中微调 JumpStart 模型的更多信息,请参阅 在 Studio 中微调基础模型

微调数据来源

在微调模型时,您可以使用默认数据集或选择自己的数据,该数据位于 Amazon S3 存储桶中。

要浏览可供您使用的存储桶,请选择查找 S3 存储桶。这些存储桶受用于设置 Studio Classic 账户的权限的限制。您也可以通过选择输入 Amazon S3 存储桶位置来指定 Amazon S3 URI。

JumpStart data source settings with default dataset selected.

提示

要了解如何格式化存储桶中的数据,请选择了解更多。模型的描述部分还提供了有关输入和输出的详细信息。 

对于文本模型:

  • 存储桶必须具有 data.csv 文件。

  • 第一列必须是用于类标签的唯一整数。例如,1234n

  • 第二列必须是字符串。

  • 第二列应包含与模型的类型和语言相符的对应文本。 

对于视觉模型:

  • 存储桶中的子目录数量必须与类数相同。

  • 每个子目录都应包含属于该类的 .jpg 格式的图像。

注意

Amazon S3 存储桶必须与您运行 SageMaker Studio Classic 的 Amazon Web Services 区域 位置相同,因为 SageMaker 不允许跨区域请求。

微调部署配置

p3 系列是用于深度学习训练最快的系列,建议用于微调模型。下图显示了每种实例类型中 GPU 的数量。还有其他可供选择的选项,包括 p2 和 g4 实例类型。

实例类型 GPU
p3.2xlarge 1
p3.8xlarge 4
p3.16xlarge 8
p3dn.24xlarge 8

超参数

您可以自定义用于微调模型的训练作业的超参数。每个可微调模型的可用超参数因模型而异。有关每个可用超参数的信息,请参阅您在使用 Amazon SageMaker 内置算法或预训练模型中选择的模型的超参数文档。例如,有关可微调图像分类- TensorFlow 超参数的图像分类- TensorFlow 超参数的详细信息,请参阅。

如果您在不更改超参数的情况下将默认数据集用于文本模型,则会得到几乎相同的模型。对于视觉模型,默认数据集与预训练模型在训练时使用的数据集不同,因此您的模型也会不同。

以下超参数在模型中很常见:

  • 纪元 – 一个纪元是遍历整个数据集的一个周期。通过多个时间间隔完成一个批次,通过多个批次最终完成一个纪元。系统运行多个纪元,直到模型的准确性达到可接受的水平,或者说当错误率降至可接受的水平以下时。

  • 学习率 – 各个纪元之间应该变化的值的数量。随着模型的优化,其内部权重将被调整,并检查错误率以确定模型是否有所改善。典型的学习率为 0.1 或 0.01,其中 0.01 是一个小得多的调整,可能会导致训练需要很长时间才能收敛,而 0.1 则要大得多,可能会导致训练过度。这是在训练模型时可能会调整的主要超参数之一。请注意,对于文本模型,小得多的学习率(BERT 为 5e-5)可以生成更准确的模型。

  • 批次大小 – 对于每个间隔,从数据集中选择的用来发送到 GPU 的记录数,以进行训练。

    在图像示例中,您可以向每个 GPU 发送 32 张图像,所以批次大小是 32。如果您选择具有多个 GPU 的实例类型,则该批次要除以 GPU 的数量。建议的批次大小因数据和所使用的模型而异。例如,针对图像数据进行优化的方式与处理语言数据的方式不同。

    在部署配置部分的实例类型图表中,您可以看到每种实例类型的 GPU 数量。从推荐的标准批次大小开始(例如,对于视觉模型为 32)。然后,将此值乘以您选择的实例类型中的 GPU 数量。例如,如果您使用 p3.8xlarge,则应是 32(批次大小)乘以 4(GPU 数量),总计 128 个,因为您的批量大小根据 GPU 数量进行了调整。对于 BERT 这样的文本模型,请尝试从批次大小 64 开始,然后根据需要减少。

训练输出

微调过程完成后, JumpStart 提供有关模型的信息:父模型、训练作业名称、训练作业 ARN、训练时间和输出路径。输出路径是您在 Amazon S3 存储桶中可以找到新模型的位置。文件夹结构使用您提供的模型名称,模型文件位于 /output 子文件夹内,其名称始终为 model.tar.gz。 

例如:s3://bucket/model-name/output/model.tar.gz

配置模型训练的默认值

您可以为 IAM 角色、VPC 和 KMS 密钥等参数配置默认值,以便为 JumpStart 模型部署和训练进行预填充。有关更多信息,请参阅为 JumpStart 模型配置默认值