0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用RAPIDS机器学习实现Transformer的微调

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-20 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近年来, transformers 已成为一种强大的深度神经网络体系结构,已被证明在许多应用领域,如 自然语言处理 ( NLP )和 computer vision ,都超过了最先进的水平。

这篇文章揭示了在微调变压器时,如何以最快的训练时间获得最大的精度。我们展示了 RAPIDS Machine Learning 库中的 cuML 支持向量机( SVM )算法如何显著加快这一过程。 GPU 上的 CuML SVM 比基于 CPU 的实现快 500 倍。 这种方法使用支持向量机磁头,而不是传统的 多层感知器( MLP )头 ,因此可以精确轻松地进行微调。

什么是微调?为什么需要微调?

transformer 是一个 deep learning 模型,由许多多头、自我关注和前馈完全连接的层组成。它主要用于序列到序列任务,包括 NLP 任务,如机器翻译和问答,以及计算机视觉任务,如目标检测等。

从头开始训练 transformer 是一个计算密集型过程,通常需要几天甚至几周的时间。在实践中,微调是将预训练的变压器应用于新任务的最有效方法,从而减少培训时间。

用于微调变压器的 MLP 磁头

如图 1 所示,变压器有两个不同的组件:

主干,包含多个自我注意块和前馈层。

头部,对分类或回归任务进行最终预测。

在微调过程中, transformer 的主干网络被冻结,而只有轻型头部模块接受新任务的培训。 head 模块最常见的选择是 multi-layer perceptron ( MLP ),用于分类和回归任务。

pYYBAGJfb-iAGlrbAAEiRFk8VSQ882.png

图 1 。以 cuML-SVM 为磁头加速变压器的微调

事实证明,实现和调整 MLP 可能比看起来要困难得多。为什么?

有多个超参数需要调整: 层数、辍率、学习率、正则化、优化器类型等。选择要调整的超参数取决于您试图解决的问题。例如,辍 和 batchnorm 等标准技术可能会导致 回归问题的性能退化 。

必须采取更多措施防止过度安装。 变压器的输出通常是一个长的嵌入向量,长度从数百到数千不等。当训练数据大小不够大时,过度拟合很常见。

执行时间方面的性能通常不会得到优化。 用户必须为数据处理和培训编写样板代码。批量生成和从 CPU 到 GPU 的数据移动也可能成为性能瓶颈。

SVM 磁头用于变压器微调的优势

支持向量机 (支持向量机)是最受欢迎的监督学习方法之一,当存在有意义的预测性特征时,支持向量机是最有效的。由于 SVM 对过度拟合的鲁棒性,对于高维数据尤其如此。

然而,出于以下几个原因,数据科学家有时不愿尝试支持向量机:

它需要手工特征工程,这可能很难实现。

传统上,支持向量机速度较慢。

RAPIDS cuML 通过提供 在 GPU 上的加速比高达 500 倍 重新唤起了人们对重温这一经典模型的兴趣。有了 RAPIDS cuML ,支持向量机在数据科学界再次流行起来。

例如, RAPIDS cuML SVM 笔记本电脑已在多个 Kaggle 比赛中频繁使用:

TReNDS Neuroimaging by Ahmet Erdem

CommonLit Readability by Chris Deotte

PetFinder by Chris Deotte

由于 transformers 已经学会了以长嵌入向量的形式提取有意义的表示, cuML SVM 是头部分类器或回归器的理想候选。

与 MLP 头相比, cuML SVM 具有以下优势:

容易调整。 在实践中,我们发现在大多数情况下,仅调整一个参数 C 就足以支持 SVM。

速度 。在 GPU 上处理之前, cuML 将所有数据一次性移动到 GPU 。

多样化 。支持向量机的预测与 MLP 预测在统计上不同,这使得它在集合中非常有用。

Simple API. cuML SVM API 提供 scikit-learn 风格的拟合和预测功能。

案例研究: PetFinder 。我的掌门人竞赛

提出的带有 SVM 磁头的微调方法适用于 NLP 和 计算机视觉任务 。为了证明这一点,我们研究了 宠物搜寻者。我的掌门人竞赛 ,这是一个 Kaggle 数据科学竞赛,它根据宠物的照片预测了它们的受欢迎程度。

该项目使用的数据集由 10000 张手动标记的图像组成,每个图像都有一个我们想要预测的目标 pawpularity 。当 pawpularity 值在 0 到 100 之间时,我们使用回归来解决这个问题。

由于只有 10000 个标记图像,因此训练深层神经网络以从零开始获得高精度是不切实际的。相反,我们通过使用预训练的 swin transformer 主干,然后用标记的 pet 图像对其进行微调来实现这一点。

poYBAGJfb-mALrMPAAF-bIA87Ac361.png

图 2 。如何使用 cuML SVM 头进行微调。

如图 2 所示,我们的方法需要三个步骤:

首先,将使用 MLP 的回归头添加到主干 swin 变压器,并对主干和回归头进行微调。一个有趣的发现是,二进制交叉熵损失优于常见的均方误差损失( MSE ) 由于目标的分布 。

接下来,主干被冻结, MLP 头被替换为 cuML SVM 头。然后用常规的 MSE 损失对 SVM 头进行训练。

为了获得最佳预测精度,我们对 MLP 头和 SVM 头进行了平均。求值度量根意味着平方误差从 18 优化到 17.8 ,这对该数据集非常重要。

值得注意的是,第 1 步和第 3 步是可选的,在这里实施的目的是优化模型在本次比赛中的得分。仅步骤 2 是微调最常见的场景。因此,我们在步骤 2 测量了运行时间,并比较了三个选项: cuML SVM ( GPU )、 sklearn SVM ( CPU )和 PyTorchMLP ( GPU )。结果如图 3 所示。

pYYBAGJfb-qAVtGAAACPhWPJYcA406.png

图 3 。运行时比较

使用 sklearn SVM 对运行时间进行归一化, cuML SVM 实现了 15 倍的训练加速比和 28.18 倍的推理加速比。值得注意的是,由于 GPU 利用率高, cuML SVM 比 PyTorch MLP 更快。 笔记本可以在 Kaggle 上找到。

Transformer 微调的关键要点

Transformer 是革命性的深度学习模式,但培训它们很耗时。 GPU 上变压器的快速微调可以通过提供显著的加速而使许多应用受益。 RAPIDS cuML SVM 也可以作为经典 MLP 头的替代品,因为它速度更快、精度更高。

GPU 加速为 SVM 等经典 ML 模型注入了新的能量。使用 RAPIDS ,可以将两个世界中最好的结合起来:经典的机器学习( ML )模型和尖端的深度学习( DL )模型。在里面 RAPIDS cuML ,你会发现更多闪电般快速且易于使用的型号。

后记

在撰写和编辑本文时, PetFinder.my 掌门人竞赛 得出结论。 NVIDIA KGMON Gilberto Titericz 通过使用 RAPIDS 支持向量机获得第一名。他成功的解决方案是集中变压器和其他深层 CNN 的嵌入,并使用 RAPIDS SVM 作为回归头。

关于作者

Jiwei Liu 是 NVIDIA 的数据科学家,致力于 NVIDIA 人工智能基础设施,包括 RAPIDS 数据科学框架。

Chris Deotte 是 NVIDIA 的高级数据科学家。克里斯有博士学位。在计算科学和数学中,有一篇关于优化并行处理的论文。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5513

    浏览量

    109159
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5112

    浏览量

    134518
  • 人工智能
    +关注

    关注

    1813

    文章

    49786

    浏览量

    261934
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    Transformer 模型的后继者 二、用创新方法实现深度学习AI芯片 1、基于开源RISC-V的AI加速器 RISC-V是一种开源、模块化的指令集架构(ISA)。优势如下: ①模块化特性②标准接口③开源
    发表于 09-12 17:30

    NVIDIA RAPIDS 25.06版本新增多项功能

    RAPIDS 是一套面向 Python 数据科学的 NVIDIA CUDA-X 库,最新发布的 25.06 版本引入了多项亮眼新功能,其中包括 Polars GPU 流执行引擎——这是一种面向图
    的头像 发表于 09-09 09:54 769次阅读

    自动驾驶中Transformer大模型会取代深度学习吗?

    [首发于智驾最前沿微信公众号]近年来,随着ChatGPT、Claude、文心一言等大语言模型在生成文本、对话交互等领域的惊艳表现,“Transformer架构是否正在取代传统深度学习”这一话题一直被
    的头像 发表于 08-13 09:15 3951次阅读
    自动驾驶中<b class='flag-5'>Transformer</b>大模型会取代深度<b class='flag-5'>学习</b>吗?

    明晚开播 |数据智能系列讲座第7期:面向高泛化能力的视觉感知系统空间建模与微调学习

    鹭岛论坛数据智能系列讲座第7期「面向高泛化能力的视觉感知系统空间建模与微调学习」明晚8点精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目面向高泛化能力的视觉感知系统空间建模与微调学习
    的头像 发表于 06-24 08:01 865次阅读
    明晚开播 |数据智能系列讲座第7期:面向高泛化能力的视觉感知系统空间建模与<b class='flag-5'>微调</b><b class='flag-5'>学习</b>

    Transformer架构概述

    由于Transformer模型的出现和快速发展,深度学习领域正在经历一场翻天覆地的变化。这些突破性的架构不仅重新定义了自然语言处理(NLP)的标准,而且拓宽了视野,彻底改变了AI的许多方面。
    的头像 发表于 06-10 14:24 1017次阅读
    <b class='flag-5'>Transformer</b>架构概述

    直播预约 |数据智能系列讲座第7期:面向高泛化能力的视觉感知系统空间建模与微调学习

    建模与微调学习报告简介构建高效、物理一致且具备良好泛化能力的视觉感知系统,是视觉智能、边缘计算与具身机器人中的关键挑战。为提升系统的泛化与适应能力,一类方法致力于构
    的头像 发表于 05-29 10:04 480次阅读
    直播预约 |数据智能系列讲座第7期:面向高泛化能力的视觉感知系统空间建模与<b class='flag-5'>微调</b><b class='flag-5'>学习</b>

    Sapphire Rapids与OpenVINO™工具套件是否兼容?

    无法确定 Sapphire Rapids 与 OpenVINO™ 工具套件的兼容性
    发表于 03-05 06:55

    如何使用MATLAB构建Transformer模型

    LanguageProcessing, NLP)中的序列到序列任务,如机器翻译。Transformer 通过引入自注意力机制使得处理长距离依赖关系时变得高效。因此 Vaswani 等人的论文强调“注意力是所需的一切”。
    的头像 发表于 02-06 10:21 5797次阅读
    如何使用MATLAB构建<b class='flag-5'>Transformer</b>模型

    【「基于大模型的RAG应用开发与优化」阅读体验】+大模型微调技术解读

    今天学习<基于大模型的RAG应用开发与优化>这本书。大模型微调是深度学习领域中的一项关键技术,它指的是在已经预训练好的大型深度学习模型基础上,使用新的、特定任务相关的数据
    发表于 01-14 16:51

    transformer专用ASIC芯片Sohu说明

    的旧图像模型,也不能运行CNN、RNN或LSTM。 但对于transformer来说,Sohu是有史以来最快的芯片。 借助Llama 70B每秒超过50万个token的吞吐量,Sohu可以让您构建在GPU上无法实现的产品
    的头像 发表于 01-06 09:13 1705次阅读
    <b class='flag-5'>transformer</b>专用ASIC芯片Sohu说明

    传统机器学习方法和应用指导

    在上一篇文章中,我们介绍了机器学习的关键概念术语。在本文中,我们会介绍传统机器学习的基础知识和多种算法特征,供各位老师选择。 01 传统机器
    的头像 发表于 12-30 09:16 1997次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    【「具身智能机器人系统」阅读体验】2.具身智能机器人大模型

    ,能够利用\"思维链\"的技术将复杂任务分解为多个子任务,以渐进的方式解决问题。这不仅提高了任务的成功率,也显著增强了系统的鲁棒性,使得机器人可以更高效地应对复杂环境和多样化需求
    发表于 12-29 23:04

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器
    的头像 发表于 12-25 11:54 714次阅读

    《具身智能机器人系统》第7-9章阅读心得之具身智能机器人与大模型

    医疗领域,手术辅助机器人需要毫米级的精确控制,书中有介绍基于视觉伺服的实时控制算法,以及如何利用大模型优化手术路径规划。工业场景中,协作机器人面临的主要挑战是快速适应新工艺流程。具身智能通过在线
    发表于 12-24 15:03

    如何在低功耗MCU上实现人工智能和机器学习

    人工智能 (AI) 和机器学习 (ML) 的技术不仅正在快速发展,还逐渐被创新性地应用于低功耗的微控制器 (MCU) 中,从而实现边缘AI/ML的解决方案。
    的头像 发表于 12-17 16:06 1311次阅读