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

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

3天内不再提示

如何更高效地使用预训练语言模型

深度学习自然语言处理 来源:夕小瑶的卖萌屋 作者:小伟 2022-07-08 11:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概览

本文对任务低维本征子空间的探索是基于 prompt tuning, 而不是fine-tuning。原因是预训练模型的参数实在是太多了,很难找到这么多参数的低维本征子空间。作者基于之前的工作提出了一个基本的假设:预训练模型在不同下游任务上学习的过程,可以被重新参数化(reparameterized)为在同一个低维本征子空间上的优化过程。如下图所示,模型在不同的任务上学习的参数虽然不同,但这些参数共享了同一个低维本征子空间。

c5318178-ed60-11ec-ba43-dac502259ad0.png

基于这一假设,作者提出了探索公共低维本征子空间的方法:intrinsic prompt tuning (IPT)。

IPT由两个阶段组成:

Multi-task Subspace Finding (MSF):寻找多个任务的公共子空间,这是一个低维的、更为本征的一个空间

Intrinsic Subspace Tuning (IST):在找到的公共本征子空间上进行模型优化

下图展示了 IPT 与 fine-tuning 和 prompt tuning 的对比。

c5542552-ed60-11ec-ba43-dac502259ad0.png

下面我们具体来了解一下IPT的两个阶段

IPT

作者使用intrinsic prompt tuning (IPT)来验证本文的基本假设: 预训练模型对多个不同下游任务的学习可以被重新参数化为在同一个低维本征子空间上的优化。

第一个阶段是multi-task subspace finding (MSF)。

1. 寻找公共本征子空间(MSF)

MSF阶段旨在通过对多个任务进行学习,来找到公共的低维本征子空间。如上图所示,本质上就是在学习一个自编码器

我们用 来代表自编码器的Encoder部分(上图中处于下方的梯形),用 来代表自编码器的Decoder部分(上图中处于上方的梯形),那么自编码器会先用把Prompt参数映射为一个低维(维)的向量(向量所在的维空间就是我们想要的低维本征子空间),然后再用把该低维向量重新映射回原始的prompt空间,得到 这样我们就可以使用 和 的距离来计算自编码器的重建loss ,形式化表述就是:

另外,使用自编码器来学习公共低维本征子空间的最终目的还是为了解决多个任务,所以作者引入了面向任务的语言模型loss 来提供任务相关的监督(例如图中模型生成的结果"positive"和正确标签之间的交叉熵)。那么MSF阶段最终的loss就是:

其中 代表 和 的参数,这也是我们在MSF阶段要学习的参数。

2. 本征子空间优化(IST)

在MSF阶段中,我们通过对多个任务的学习找到了维的公共本征子空间,然后就进入了第二个阶段IST。在这一阶段中,我们想评价我们在MSF阶段中找到的低维本征子空间是不是能够很好的泛化到 (a) MSF阶段训练过的任务的新数据,以及 (b) MSF阶段没有训练过的任务。如果该低维本征子空间在这两种情况下都有比较好的泛化性能的话,那么在我们在一定程度上就成功地找到了想要的本征子空间。

在本阶段中,如上图 所示, 我们只保留自编码器的Decoder部分并冻结它的参数。对于每个测试任务,我们只微调本征子空间中的个自由参数 , 会将解码回原始的prompt空间中来计算loss:

实验

作者使用了120个few-shot任务来进行实验,并进行了三种不同的训练-测试任务划分

random: 随机选择100个任务作为训练任务,其余20个任务作为测试任务

non-cls: 随机选择非分类任务中的35作为训练任务,其余所有任务作为测试任务

cls: 随机选择分类任务中的35个作为训练任务,其余所有任务作为测试任务

同时,对每一种任务划分,作者进行了5种不同的实验

: 在MSF阶段,直接使用学习到的低维本征子空间来评估训练任务在训练数据上的性能

: 在MSF阶段,直接使用学习到的低维本征子空间来评估测试任务(0-shot)的泛化性能

: 在IST阶段,微调学习到的低维本征子空间来评估训练任务在训练数据上的性能

: 在IST阶段,微调学习到的低维本征子空间来评估训练任务在新数据上的泛化性能

: 在IST阶段,微调学习到的低维本征子空间来评估测试任务的泛化性能

c594f0fa-ed60-11ec-ba43-dac502259ad0.png

整体的实验结果如上图所示,作者通过分析不同实验的结果,得出了一些比较重要的结论:

在random划分中,仅仅微调低维本征子空间中的5个自由参数,就可以分别获得full prompt tuning 87%(训练过的任务,不同训练数据)以及65%(未训练过的任务)的性能,这证明我们在MSF阶段中找到的低维本征子空间是比较有效的。但从另一个方面来讲,使用低维本征子空间无法获得和full prompt tuning相当的性能,所以我们不能直接得出预训练模型对多个任务的学习可以被重新参数化为在完全相同的子空间中的优化的结论。

训练-测试任务的划分会对结果有很大的影响。比如在cls划分中,训练时找到的本征子空间可以在分类的测试任务上有比较合理的表现,但在非分类的测试任务上表现很差。

随着MSF阶段中训练任务数量的增加,找到的本征子空间的泛化能力会有所提高。这反映了增加MSF阶段中训练任务的覆盖范围和多样性可以帮助IPT找到更通用的本征子空间。

结论

本文设计了IPT框架来验证提出的假设: 预训练模型对多个不同下游任务的学习可以被重新参数化为在同一个低维本征子空间上的优化。详尽的实验为假设提供了一定的积极证据,也帮助大家对如何更高效地使用预训练语言模型有了更好的了解。

思考

虽然文章中的实验结果不能直接验证“预训练模型对多个任务的学习可以被重新参数化为在完全相同的子空间中的优化”这一假设是完全正确的,但起码它证明了各种任务重参数化后的低维子空间是有比较大的交集的,而且我们可以通过MSF来找到这个交集。

审核编辑:郭婷

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

    关注

    45

    文章

    3903

    浏览量

    141442

原文标题:Prompt Learning | 五个参数解决下游任务 fine-tuning

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于大规模人类操作数据训练的VLA模型H-RDT

    近年来,机器人操作领域的VLA模型普遍基于跨本体机器人数据集训练,这类方法存在两大局限:不同机器人本体和动作空间的差异导致统一训练困难;现有大规模机器人演示数据稀缺且质量参差不齐。得
    的头像 发表于 08-21 09:56 779次阅读
    基于大规模人类操作数据<b class='flag-5'>预</b><b class='flag-5'>训练</b>的VLA<b class='flag-5'>模型</b>H-RDT

    利用自压缩实现大型语言模型高效缩减

    随着语言模型规模日益庞大,设备端推理变得越来越缓慢且耗能巨大。一个直接且效果出人意料的解决方案是剪除那些对任务贡献甚微的完整通道(channel)。我们早期的研究提出了一种训练阶段的方法——自压
    的头像 发表于 07-28 09:36 363次阅读
    利用自压缩实现大型<b class='flag-5'>语言</b><b class='flag-5'>模型</b><b class='flag-5'>高效</b>缩减

    龙芯中科与文心系列模型开展深度技术合作

    ”解决方案。 强强联合!自主架构赋能大模型训练 文心大模型 文心4.5系列模型均使用飞桨深度学习框架进行高效
    的头像 发表于 07-02 16:53 1136次阅读

    如何高效训练AI模型?这些常用工具你必须知道!

    特定领域的中小型模型。这类模型针对垂直领域,性价比更高,在特定场景下能以较低资源实现高准确率的专项任务。例如在边缘计算领域,模型推理所需资源远少于
    的头像 发表于 04-17 16:43 2239次阅读
    如何<b class='flag-5'>高效</b><b class='flag-5'>训练</b>AI<b class='flag-5'>模型</b>?这些常用工具你必须知道!

    用PaddleNLP为GPT-2模型制作FineWeb二进制训练数据集

    作者:算力魔方创始人/英特尔创新大使刘力 《用PaddleNLP在4060单卡上实践大模型训练技术》发布后收到读者热烈反响,很多读者要求进一步讲解更多的技术细节。本文主要针对大语言
    的头像 发表于 03-21 18:24 3825次阅读
    用PaddleNLP为GPT-2<b class='flag-5'>模型</b>制作FineWeb二进制<b class='flag-5'>预</b><b class='flag-5'>训练</b>数据集

    训练好的ai模型导入cubemx不成功怎么处理?

    训练好的ai模型导入cubemx不成功咋办,试了好几个模型压缩了也不行,ram占用过大,有无解决方案?
    发表于 03-11 07:18

    从Open Model Zoo下载的FastSeg大型公共训练模型,无法导入名称是怎么回事?

    从 Open Model Zoo 下载的 FastSeg 大型公共训练模型。 运行 converter.py 以将 FastSeg 大型模型转换为中间表示 (IR): pyth
    发表于 03-05 07:22

    小白学大模型训练语言模型的深度指南

    在当今人工智能飞速发展的时代,大型语言模型(LLMs)正以其强大的语言理解和生成能力,改变着我们的生活和工作方式。在最近的一项研究中,科学家们为了深入了解如何高效
    的头像 发表于 03-03 11:51 1209次阅读
    小白学大<b class='flag-5'>模型</b>:<b class='flag-5'>训练</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的深度指南

    用PaddleNLP在4060单卡上实践大模型训练技术

    作者:算力魔方创始人/英特尔创新大使刘力 之前我们分享了《从零开始训练一个大语言模型需要投资多少钱》,其中高昂的训练费用让许多对大
    的头像 发表于 02-19 16:10 2133次阅读
    用PaddleNLP在4060单卡上实践大<b class='flag-5'>模型</b><b class='flag-5'>预</b><b class='flag-5'>训练</b>技术

    让大模型训练更高效,奇异摩尔用互联创新方案定义下一代AI计算

      电子发烧友网报道(文/吴子鹏)近一段时间以来,DeepSeek现象级爆火引发产业对大规模数据中心建设的思考和争议。在训练端,DeepSeek以开源模型通过算法优化(如稀疏计算、动态架构)降低
    的头像 发表于 02-18 09:19 1917次阅读
    让大<b class='flag-5'>模型</b><b class='flag-5'>训练</b><b class='flag-5'>更高效</b>,奇异摩尔用互联创新方案定义下一代AI计算

    腾讯公布大语言模型训练新专利

    近日,腾讯科技(深圳)有限公司公布了一项名为“大语言模型训练方法、装置、计算机设备及存储介质”的新专利。该专利的公布,标志着腾讯在大语言模型
    的头像 发表于 02-10 09:37 714次阅读

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

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

    KerasHub统一、全面的训练模型

    深度学习领域正在迅速发展,在处理各种类型的任务中,训练模型变得越来越重要。Keras 以其用户友好型 API 和对易用性的重视而闻名,始终处于这一动向的前沿。Keras 拥有专用的内容库,如用
    的头像 发表于 12-20 10:32 771次阅读

    GPU是如何训练AI大模型

    在AI模型训练过程中,大量的计算工作集中在矩阵乘法、向量加法和激活函数等运算上。这些运算正是GPU所擅长的。接下来,AI部落小编带您了解GPU是如何训练AI大模型的。
    的头像 发表于 12-19 17:54 1322次阅读

    AI大语言模型开发步骤

    开发一个高效、准确的大语言模型是一个复杂且多阶段的过程,涉及数据收集与预处理、模型架构设计、训练与优化、评估与调试等多个环节。接下来,AI部
    的头像 发表于 12-19 11:29 1215次阅读