基于注意力的大型 Transformer 模型在自然语言处理 (NLP) 上获得了巨大的收益。 然而,从头开始训练这些巨大的网络需要大量的数据和计算。 对于较小的 NLP 数据集,一个简单而有效的策略是使用预训练的转换器,通常以无监督方式在非常大的数据集上进行训练,然后在感兴趣的数据集上对其进行微调。 拥抱脸 维护这些预先训练的变压器的大型模型库,即使对于新手用户也可以轻松访问。
然而,微调这些模型仍然需要专业知识,因为它们对其超参数非常敏感,例如学习率或批量大小。 在这篇文章中,我们展示了如何使用开源框架优化这些超参数 同音调 用于分布式超参数优化 (HPO)。 Syne Tune 使我们能够找到更好的超参数配置,与流行的默认超参数相比,实现了 1-4% 的相对改进 胶 基准数据集。 预训练模型本身的选择也可以被视为超参数,因此由 Syne Tune 自动选择。 在文本分类问题上,与默认模型相比,这会导致准确率额外提高约 5%。 但是,我们可以自动化用户需要做出的更多决策; 我们通过将实例类型公开为稍后用于部署模型的超参数来证明这一点。 通过选择正确的实例类型,我们可以找到最佳权衡成本和延迟的配置。
Syne Tune 的介绍请参考 使用 Syne Tune 运行分布式超参数和神经架构调整作业.
使用 Syne Tune 进行超参数优化
我们将使用 胶 基准套件,由用于自然语言理解任务的九个数据集组成,例如文本蕴涵识别或情感分析。 为此,我们改编了 Hugging Face 的 run_glue.py 训练脚本。 GLUE 数据集带有一个预定义的带有标签的训练和评估集,以及一个没有标签的保留测试集。 因此,我们将训练集拆分为训练集和验证集(70%/30% 拆分),并将评估集用作我们的保留测试数据集。 此外,我们向 Hugging Face 的 Trainer API 添加了另一个回调函数,该函数将每个 epoch 后的验证性能报告回 Syne Tune。 请参阅以下代码:
我们从优化典型的训练超参数开始:学习率、提高学习率的预热率,以及微调预训练 BERT 的批量大小(基于 bert 的案例) 模型,这是 Hugging Face 示例中的默认模型。 请参阅以下代码:
作为我们的 HPO 方法,我们使用 ASHA,它随机均匀地对超参数配置进行采样,并迭代地停止对性能不佳的配置的评估。 尽管更复杂的方法利用目标函数的概率模型,例如存在 BO 或 MoBster,但我们在这篇文章中使用 ASHA,因为它没有对搜索空间进行任何假设。
在下图中,我们比较了 Hugging Faces 的默认超参数配置在测试误差方面的相对改进。
为简单起见,我们将比较限制为 MRPC、COLA 和 STSB,但我们也观察到其他 GLUE 数据集的类似改进。 对于每个数据集,我们在单个 ml.g4dn.xlarge 上运行 ASHA 亚马逊SageMaker 运行时预算为 1,800 秒的实例,分别对应于对这些数据集的大约 13、7 和 9 次全功能评估。 为了解释训练过程的内在随机性,例如由小批量采样引起的,我们运行 ASHA 和默认配置进行五次重复,并为随机数生成器提供一个独立的种子,并报告随机数生成器的平均值和标准偏差。重复次数的相对改善。 我们可以看到,在所有数据集上,相对于精心挑选的默认配置的性能,我们实际上可以将预测性能提高 1-3%。
自动选择预训练模型
我们可以使用 HPO 不仅找到超参数,还可以自动选择正确的预训练模型。 我们为什么要这样做? 因为没有一个模型在所有数据集上都表现出色,所以我们必须为特定数据集选择正确的模型。 为了证明这一点,我们评估了 Hugging Face 中一系列流行的 Transformer 模型。 对于每个数据集,我们根据其测试性能对每个模型进行排名。 跨数据集的排名(见下图)发生变化,并且没有一个模型在每个数据集上得分最高。 作为参考,我们还在下图中显示了每个模型和数据集的绝对测试性能。
为了自动选择正确的模型,我们可以将模型的选择转换为分类参数并将其添加到我们的超参数搜索空间:
尽管现在搜索空间更大,但这并不一定意味着它更难优化。 下图显示了当我们在原始空间(蓝线)中搜索时,ASHA 的 MRPC 数据集上的最佳观察配置(基于验证错误)的测试误差(使用基于 BERT 的预训练模型) ) 或在新的增强搜索空间(橙色线)中。 给定相同的预算,ASHA 能够在扩展搜索空间中找到比在较小空间中性能更好的超参数配置。
自动选择实例类型
在实践中,我们可能不仅仅关心优化预测性能。 我们可能还关心其他目标,例如训练时间、(美元)成本、延迟或公平性指标。 除了模型的超参数,我们还需要做出其他选择,例如选择实例类型。
尽管实例类型不会影响预测性能,但它会强烈影响(美元)成本、训练运行时间和延迟。 部署模型时,后者变得尤为重要。 我们可以将 HPO 表述为一个多目标优化问题,我们的目标是同时优化多个目标。 但是,没有一种解决方案可以同时优化所有指标。 相反,我们的目标是找到一组配置,以最佳地权衡一个目标与另一个目标。 这被称为 帕累托集.
为了进一步分析这个设置,我们将实例类型的选择作为附加的分类超参数添加到我们的搜索空间:
我们使用 莫阿莎,它通过使用非支配排序使 ASHA 适应多目标场景。 在每次迭代中,MO-ASHA 还为每个配置选择我们想要评估它的实例类型。 为了在一组异构实例上运行 HPO,Syne Tune 提供了 SageMaker 后端。 使用此后端,每个试验都被评估为在其自己的实例上独立的 SageMaker 训练作业。 工作人员的数量定义了我们在给定时间并行运行的 SageMaker 作业数量。 优化器本身,在我们的例子中是 MO-ASHA,可以在本地机器、Sagemaker 笔记本或单独的 SageMaker 训练作业上运行。 请参阅以下代码:
下图显示了在 MRPC 数据集上运行 10,800 秒后,MO-ASHA 采样的随机配置(我们限制了可见性轴)在四个工人上运行后,延迟与测试误差的关系和延迟与成本的关系。 颜色表示实例类型。 黑色虚线代表帕累托集,表示在至少一个目标中支配所有其他点的一组点。
我们可以观察到延迟和测试错误之间的权衡,这意味着具有最低测试错误的最佳配置不会达到最低延迟。 根据您的偏好,您可以选择牺牲测试性能但延迟更小的超参数配置。 我们还看到了延迟和成本之间的权衡。 例如,通过使用较小的 ml.g4dn.xlarge 实例,我们只会略微增加延迟,但需要支付 ml.g4dn.8xlarge 实例四分之一的成本。
结论
在这篇文章中,我们讨论了基于 Syne Tune 的 Hugging Face 微调预训练变压器模型的超参数优化。 我们看到,通过优化学习率、批量大小和预热率等超参数,我们可以改进精心选择的默认配置。 我们还可以通过超参数优化自动选择预训练模型来扩展它。
在 Syne Tune 的 SageMaker 后端的帮助下,我们可以将实例类型视为超参数。 尽管实例类型不影响性能,但它对延迟和成本有显着影响。 因此,通过将 HPO 转换为多目标优化问题,我们能够找到一组配置,以最佳地权衡一个目标与另一个目标。 如果您想自己尝试一下,请查看我们的 示例笔记本.
作者简介
亚伦·克莱恩(Aaron Klein) 是 AWS 的应用科学家。
马蒂亚斯·西格 是 AWS 的首席应用科学家。
戴维·萨利纳斯(David Salinas) 是 AWS 的高级应用科学家。
艾米丽·韦伯(Emily Webber) 在 SageMaker 推出后就加入了 AWS,从那时起就一直在努力向全世界宣传它! 除了为客户打造新的机器学习体验之外,Emily 还喜欢冥想和研究藏传佛教。
塞德里克·阿尔尚博 是 AWS 的首席应用科学家,也是欧洲学习和智能系统实验室的研究员。
- "
- 10
- 100
- 7
- 9
- a
- 关于我们
- 绝对
- 无障碍
- 账号管理
- 横过
- 额外
- 影响
- 所有类型
- 允许
- 尽管
- Amazon
- 量
- 分析
- 分析
- 另一个
- API
- 应用的
- 约
- 架构
- 增强
- 自动化
- 自动
- AWS
- 轴
- 因为
- 基准
- 最佳
- 更好
- 之间
- 超越
- 黑色
- 无所畏惧
- 促进
- 预算
- 建筑物
- 关心
- 案件
- 造成
- 选择
- 选择
- 选择
- 程
- 分类
- 码
- 如何
- 相比
- 计算
- 配置
- 控制
- 合作伙伴
- data
- 决定
- 演示
- 部署
- 部署
- 分布
- 不会
- 美元
- 每
- 容易
- 有效
- 欧洲
- 评估
- 评估
- 例子
- 体验
- 技术专家
- 延长
- 面部彩妆
- 时尚
- 数字
- 以下
- 骨架
- 止
- ,
- 功能
- 进一步
- 此外
- 发电机
- 帮助
- 点击此处
- 创新中心
- How To
- 但是
- HTTPS
- 影响力故事
- 重要
- 改善
- 改进
- 增加
- 独立
- 影响
- 例
- 智能化
- 兴趣
- IT
- 本身
- 工作
- 工作机会
- 加盟
- 知识
- 实验室
- 标签
- 语言
- 大
- 大
- 推出
- 信息
- 学习
- 极限
- Line
- 本地
- 机
- 使
- 制作
- 大规模
- 意
- 方法
- 指标
- 可能
- ML
- 模型
- 模型
- 更多
- 多
- 自然
- 一定
- 需要
- 网络
- 笔记本
- 数
- 目标
- 获得
- 优化
- 优化
- 追求项目的积极优化
- 原版的
- 其他名称
- 己
- 尤其
- 性能
- 执行
- 请
- 点
- 热门
- 在练习上
- 校长
- 市场问题
- 过程
- 处理
- 提供
- 范围
- 排行
- 报告
- 记者
- 业务报告
- 代表
- 需要
- 成果
- 运行
- 运行
- 同
- 科学家
- 搜索
- 秒
- 种子
- 选
- 情绪
- 集
- 设置
- 显示
- 显著
- 类似
- 简易
- 单
- 尺寸
- 方案,
- 极致
- 太空
- 具体的
- 分裂
- 标准
- 开始
- 州/领地
- 仍
- 策略
- 产品
- 任务
- test
- 世界
- 因此
- 次
- 贸易
- 产品培训
- 治疗
- 巨大
- 试用
- 理解
- us
- 使用
- 用户
- 平时
- 利用
- 验证
- 能见度
- 维基百科上的数据
- 也完全不需要
- 工人
- 世界
- 您一站式解决方案