本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
微调模型
微调过程在新数据集上训练已经预训练的模型,而无需从头开始训练。这个过程也称为转移学习,可以使用较小数据集和较短的训练时间生成准确模型。如果模型的卡片显示可微调属性设置为是,则可以对其进行微调。
重要
截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息,请参阅 亚马逊 SageMaker Studio。
注意
有关在 Studio 中微调 JumpStart 模型的更多信息,请参阅 在 Studio 中微调模型
微调数据来源
在微调模型时,您可以使用默认数据集或选择自己的数据,该数据位于 Amazon S3 存储桶中。
要浏览可供您使用的存储桶,请选择查找 S3 存储桶。这些存储桶受用于设置 Studio Classic 帐户的权限的限制。您也可以URI通过选择输入亚马逊 S3 存储桶位置来指定 Amazon S3。
提示
要了解如何格式化存储桶中的数据,请选择了解更多。模型的描述部分还提供了有关输入和输出的详细信息。
对于文本模型:
-
存储桶必须具有 data.csv 文件。
-
第一列必须是用于类标签的唯一整数。例如,
1
、2
、3
、4
、n
-
第二列必须是字符串。
-
第二列应包含与模型的类型和语言相符的对应文本。
对于视觉模型:
-
存储桶中的子目录数量必须与类数相同。
-
每个子目录都应包含属于该类的 .jpg 格式的图像。
注意
Amazon S3 存储桶必须与您运行 SageMaker AI Studio Classic 的 AWS 区域 位置相同,因为 SageMaker AI 不允许跨区域请求。
微调部署配置
p3 系列是用于深度学习训练最快的系列,建议用于微调模型。下图显示了每种实例类型GPUs中的数量。还有其他可供选择的选项,包括 p2 和 g4 实例类型。
实例类型 | GPUs |
---|---|
p3.2xlarge | 1 |
p3.8xlarge | 4 |
p3.16xlarge | 8 |
p3dn.24xlarge | 8 |
超参数
您可以自定义用于微调模型的训练作业的超参数。每个可微调模型的可用超参数因模型而异。有关每个可用超参数的信息,请参阅您在Amazon 中的内置算法和预训练模型 SageMaker中选择的模型的超参数文档。例如,有关可微调图像分类- TensorFlow 超参数的图像分类- TensorFlow 超参数的详细信息,请参阅。
如果您在不更改超参数的情况下将默认数据集用于文本模型,则会得到几乎相同的模型。对于视觉模型,默认数据集与预训练模型在训练时使用的数据集不同,因此您的模型也会不同。
以下超参数在模型中很常见:
-
纪元 – 一个纪元是遍历整个数据集的一个周期。通过多个时间间隔完成一个批次,通过多个批次最终完成一个纪元。系统运行多个纪元,直到模型的准确性达到可接受的水平,或者说当错误率降至可接受的水平以下时。
-
学习率 – 各个纪元之间应该变化的值的数量。随着模型的优化,其内部权重将被调整,并检查错误率以确定模型是否有所改善。典型的学习率为 0.1 或 0.01,其中 0.01 是一个小得多的调整,可能会导致训练需要很长时间才能收敛,而 0.1 则要大得多,可能会导致训练过度。这是在训练模型时可能会调整的主要超参数之一。请注意,对于文本模型,较小的学习率(5e-5BERT)可以生成更准确的模型。
-
Batch siz e — 要从数据集中为每个间隔选择的记录数量,然后发送到GPUs进行训练。
在图片示例中,您可能每张发出 32 张图片GPU,因此 32 张将是您的批量大小。如果您选择的实例类型不止一个GPU,则批次将除以数量GPUs。建议的批次大小因数据和所使用的模型而异。例如,针对图像数据进行优化的方式与处理语言数据的方式不同。
在部署配置部分的实例类型图表中,您可以看到GPUs每种实例类型的数量。从推荐的标准批次大小开始(例如,对于视觉模型为 32)。然后,将其乘以您选择的实例类型GPUs中的数量。例如,如果您使用的是
p3.8xlarge
,则这将是 32(批次大小)乘以 4 (GPUs),总共为 128,因为批量大小会根据数量进行调整。GPUs对于像这样的文本模型BERT,请尝试从 64 的批量大小开始,然后根据需要缩小。
训练输出
微调过程完成后, JumpStart 提供有关模型的信息:父模型、训练作业名称、训练作业ARN、训练时间和输出路径。输出路径是您在 Amazon S3 存储桶中可以找到新模型的位置。文件夹结构使用您提供的模型名称,模型文件位于 /output
子文件夹内,其名称始终为 model.tar.gz
。
示例:s3://bucket/model-name/output/model.tar.gz
配置模型训练的默认值
您可以为IAM角色和KMS密钥等参数配置默认值VPCs,以便为 JumpStart 模型部署和训练预先填充。有关更多信息,请参阅为 JumpStart 模型配置默认值。