您当前的位置:首页 > 电脑百科 > 人工智能

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列

时间:2023-10-06 14:54:53  来源:微信公众号  作者:AI大模型咨讯

2018 年谷歌发布了 BERT,一经面世便一举击败 11 个 NLP 任务的 State-of-the-art (Sota) 结果,成为了 NLP 界新的里程碑; BERT 的结构如下图所示, 左边是 BERT 模型预训练过程, 右边是对于具体任务的微调过程。其中, 微调 阶段是后续用于一些下游任务的时候进行微调, 例如: 文本分类, 词性标注, 问答系统等, BERT 无需调整结构 就可以在不同的任务上进行微调。通过”预训练语言模型 + 下游任务微调”的任务设计, 带来了强大的模型效 果。从此,“预训练语言模型 + 下游任务微调”便成为了 NLP 领域主流训练范式。

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列BERT 结构图,左边是预训练过程,右边是具体任务微调过程

但是, 以 GPT3 为代表的大规模语言模型(LLM) 参数规模变得越来越大, 这使得在消费级硬件上进行全量 微调变得不可行。下表展示了在一张 A100 GPU  (80G 显存) 以及 CPU 内存 64GB 以上的硬件上进行模型全量 微调以及参数高效微调对于 CPU/GPU 内存的消耗情况。

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列全量参数微调与参数高效微调显存占用对比

除此之外, 模型全量微调还会损失多样性, 存在灾难性遗忘的问题。因此, 如何高效的进行模型微调就成了业界研究的重点,这也为参数高效微调技术的快速发展带来了研究空间。

参数高效微调是指微调少量或额外的模型参数, 固定大部分预训练模型(LLM) 参数, 从而大大降低了计 算和存储成本, 同时, 也能实现与全量参数微调相当的性能。参数高效微调方法甚至在某些情况下比全量微调 效果更好,可以更好地泛化到域外场景。

高效微调技术可以粗略分为以下三大类,如下图所示:增加额外参数(A)、选取一部分参数更新(S)、引入重参数化(R)。 而在增加额外参数这类方法中,又主要分为类适配器(Adapter-like)方法和软提示(Soft prompts)两个小类。

常见的参数高效微调技术有 BitFit 、Prefix Tuning 、Prompt Tuning 、P-Tuning 、Adapter Tuning 、LoRA 等, 后 面章节将对一些主流的参数高效微调方法进行讲解。

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列常见的参数高效微调技术和方法

BitFit/Prefix/Prompt 微调系列

BitFit

虽然对每个任务进行全量微调非常有效, 但它也会为每个预训练任务生成一个独特的大型模型, 这使得很 难推断微调过程中发生了什么变化,也很难部署,特别是随着任务数量的增加,很难维护。

理想状况下,我们希望有一种满足以下条件的高效微调方法:

上述的问题取决于微调过程能多大程度引导新能力的学习以及暴露在预训练 LM 中学到的能力。虽然, 之 前的高效微调方法 Adapter-Tuning 、Diff-Pruning 也能够部分满足上述的需求。一种参数量更小的稀疏的微调方 法 BitFit 可以满足上述所有需求。

BitFit 是一种稀疏的微调方法, 它训练时只更新 bias 的参数或者部分 bias 参数。对于 Transformer 模型而言, 冻结大部分 transformer-encoder 参数, 只更新 bias 参数跟特定任务的分类层参数。涉及到的 bias 参数有 attention  模块中计算 query,key,value 跟合并多个 attention 结果时涉及到的bias,MLP 层中的bias,Layernormalization 层的 bias 参数,预训练模型中的bias参数如下图所示。

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列图片

PLM 模块代表了一个特定的 PLM 子层, 例如注意力或 FFN,图中橙色块表示可训练的提示向量, 蓝色 块表示冻结的预训练模型参数

在 Bert-Base/Bert-Large 这种模型里, bias 参数仅占模型全部参数量的 0.08%~0.09%。但是通过在 Bert-Large  模型上基于 GLUE 数据集进行了 BitFit、Adapter 和 Diff-Pruning 的效果对比发现, BitFit 在参数量远小于Adapter、 Diff-Pruning 的情况下,效果与 Adapter 、Diff-Pruning 想当,甚至在某些任务上略优于 Adapter 、Diff-Pruning。

通过实验结果还可以看出, BitFit 微调结果相对全量参数微调而言, 只更新极少量参数的情况下, 在多个数 据集上都达到了不错的效果, 虽不及全量参数微调, 但是远超固定全部模型参数的 Frozen 方式。同时, 通过对 比 BitFit 训练前后的参数, 发现很多 bias 参数并没有太多变化(例如:跟计算 key 所涉及到的 bias 参数)。发现 计算 query 和将特征维度从 N 放大到 4N 的 FFN 层(intermediate) 的 bias 参数变化最为明显, 只更新这两类 bias 参数也能达到不错的效果,反之,固定其中任何一者,模型的效果都有较大损失。

Prefix Tuning

在 Prefix Tuning 之前的工作主要是人工设计离散的模版或者自动化搜索离散的模版。对于人工设计的模版, 模版的变化对模型最终的性能特别敏感, 加一个词、少一个词或者变动位置都会造成比较大的变化。而对于自动 化搜索模版, 成本也比较高;同时, 以前这种离散化的 token 搜索出来的结果可能并不是最优的。除此之外, 传 统的微调范式利用预训练模型去对不同的下游任务进行微调, 对每个任务都要保存一份微调后的模型权重, 一 方面微调整个模型耗时长;另一方面也会占很多存储空间。基于上述两点, Prefix Tuning 提出固定预训练 LM,为LM 添加可训练, 任务特定的前缀, 这样就可以为不同任务保存不同的前缀, 微调成本也小; 同时, 这种 Prefix  实际就是连续可微的 Virtual Token  (Soft Prompt/Continuous Prompt),相比离散的 Token ,更好优化,效果更好。

那么 prefix 的含义是什么呢?prefix 的作用是引导模型提取 x 相关的信息, 进而更好地生成 y。例如, 我们 要做一个 summarization 的任务, 那么经过微调后, prefix 就能领悟到当前要做的是个“总结形式”的任务, 然后 引导模型去 x 中提炼关键信息;如果我们要做一个情感分类的任务, prefix 就能引导模型去提炼出 x 中和情感相 关的语义信息,以此类推。这样的解释可能不那么严谨,但大家可以大致体会一下 prefix 的作用。

Prefix Tuning 是在输入 token 之前构造一段任务相关的 virtual tokens 作为 Prefix,然后训练的时候只更新 Prefix 部分的参数,而 PLM 中的其他部分参数固定。针对不同的模型结构,需要构造不同的 Prefix:

  • 针对自回归架构模型:在句子前面添加前缀, 得到 z = [PREFIX; x; y],合适的上文能够在固定 LM 的情况 下去引导生成下文(比如:GPT3 的上下文学习)。
  • 针对编码器-解码器架构模型:Encoder 和 Decoder 都增加了前缀,得到 z = [PREFIX; x; PREFIX0; y]。Encoder 端增加前缀是为了引导输入部分的编码, Decoder 端增加前缀是为了引导后续 token 的生成。

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列图片

上部分的微调更新所有 Transformer 参数(红色框),并且需要为每个任务存储完整的模型副本。下部分 的 Prefix Tuning 冻结了 Transformer 参数并且只优化前缀(红色框)

该方法其实和构造 Prompt 类似, 只是 Prompt 是人为构造的“显式”的提示, 并且无法更新参数, 而 Prefix 则是可以学习的“隐式”的提示。同时,为了防止直接更新 Prefix 的参数导致训练不稳定和性能下降的情况,在 Prefix 层前面加了 MLP 结构, 训练完成后, 只保留 Prefix 的参数。除此之外, 通过消融实验证实, 只调整 embedding 层的表现力不够,将导致性能显著下降,因此,在每层都加了 prompt 的参数,改动较大。

Prefix Tuning 虽然看起来方便,但也存在以下两个显著劣势:

Prompt Tuning

大模型全量微调对每个任务训练一个模型, 开销和部署成本都比较高。同时, 离散的 prompts  (指人工设计 prompts 提示语加入到模型) 方法, 成本比较高, 并且效果不太好。Prompt Tuning 通过反向传播更新参数来学习 prompts,而不是人工设计 prompts;同时冻结模型原始权重, 只训练 prompts 参数, 训练完以后, 用同一个模型 可以做多任务推理。

大规模语言模型高效参数微调--BitFit/Prefix/Prompt 微调系列图片

模型调整需要为每个任务制作整个预训练模型的特定任务副本下游任务和推理必须在分开批次。Prompt Tuning 只需要为每个任务存储一个小的特定于任务的提示,并且使用原始预训练模型启用混合任务推理。

Prompt Tuning 可以看作是 Prefix Tuning 的简化版本,它给每个任务定义了自己的 Prompt,然后拼接到数据 上作为输入,但只在输入层加入 prompt tokens,并且不需要加入 MLP 进行调整来解决难训练的问题。

通过实验发现,随着预训练模型参数量的增加,Prompt Tuning 的方法会逼近全参数微调的结果。同时, Prompt Tuning 还提出了 Prompt Ensembling,也就是在一个批次(Batch) 里同时训练同一个任务的不同 prompt  (即采用 多种不同方式询问同一个问题) ,这样相当于训练了不同模型, 比模型集成的成本小多了。除此之外, Prompt Tuning 论文中还探讨了 Prompt token 的初始化方法和长度对于模型性能的影响。通过消融实验结果发现, 与随机 初始化和使用样本词汇表初始化相比, Prompt Tuning 采用类标签初始化模型的效果更好。不过随着模型参数规 模的提升, 这种 gap 最终会消失。Prompt token 的长度在 20 左右时的表现已经不错(超过 20 之后, 提升Prompt token 长度, 对模型的性能提升不明显了),同样的, 这个 gap 也会随着模型参数规模的提升而减小(即对于超大 规模模型而言,即使 Prompt token 长度很短,对性能也不会有太大的影响)。



Tags:大规模   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
微软史上最大规模投资计划!微软发布最新“AI访问原则”
快科技2月27日消息,在MWC 2024上,微软发布了最新的AI访问原则,微软称是为了解决Microsoft作为人工智能创新者和市场领导者日益增长的作用和责任。微软表示,AI与过去的其他通用技...【详细内容】
2024-02-27  Search: 大规模  点击:(23)  评论:(0)  加入收藏
比尔·盖茨年度展望:AI能给创新提供超动力,明年将为大规模技术繁荣奠定基础
出品 | 搜狐科技编辑 | 梁昌均“这是一个充满挑战的时代,但我对未来依然乐观。创新的速度前所未有,而人工智能将为创新提供超动力。”在最新发布的年度展望信中,比尔·盖...【详细内容】
2023-12-20  Search: 大规模  点击:(117)  评论:(0)  加入收藏
考研倒计时,今年将会迎来最大规模“弃考潮”,原因很真实
距离今年的考研时间越来越近了,很多考生已经进入冲刺阶段。研究生考试之所以如此火热,是因为我国随着教育的发展,已经出现了学历不值钱的情况,很多学生都想再次提升自己的学历,以...【详细内容】
2023-12-17  Search: 大规模  点击:(54)  评论:(0)  加入收藏
在Linux系统中实现容器化的大规模数据分析平台:Hadoop和Spark
在Linux系统中实现容器化的大规模数据分析平台,我们可以利用Hadoop和Spark这两个强大的开源工具。Hadoop是一个分布式计算框架,适用于处理大规模数据集。它提供了分布式文件系...【详细内容】
2023-12-15  Search: 大规模  点击:(154)  评论:(0)  加入收藏
基于Python实现大规模光栅人口数据可视化
译者 | 朱先忠审校 | 重楼我经常看到网上流传着美丽的人口地图;然而,我也常常会遇到一些技术问题,比如可视化本文中显示的其他的地图片段,或者将大规模光栅数据转换为更便于计算...【详细内容】
2023-12-14  Search: 大规模  点击:(257)  评论:(0)  加入收藏
谷歌大杀器终于来了,最大规模Gemini震撼发布:真超GPT4,三大版本,手机直接可用
图片来源:由无界 AI生成迄今为止规模最大,能力最强的谷歌大模型来了。当地时间 12 月 6 日,谷歌 CEO 桑达尔・皮查伊官宣 Gemini 1.0 版正式上线。这次发布的Gemini 大模型是原...【详细内容】
2023-12-07  Search: 大规模  点击:(147)  评论:(0)  加入收藏
面向大规模数据的增量学习算法研究
随着大数据时代的到来,我们面临着处理海量数据的挑战。传统的机器学习算法在处理大规模数据时面临着计算资源消耗大、模型更新困难等问题。为了解决这些问题,增量学习算法应运...【详细内容】
2023-11-24  Search: 大规模  点击:(76)  评论:(0)  加入收藏
聚类算法在大规模数据分析中的效果评估
在大规模数据分析中,聚类算法是一种常用的数据挖掘技术,用于将数据集划分为具有相似特征的群组。然而,对于大规模数据集,评估聚类算法的效果变得尤为重要。本文将探讨聚类算法在...【详细内容】
2023-11-21  Search: 大规模  点击:(268)  评论:(0)  加入收藏
负载均衡在大规模分布式系统中的应用:解决性能瓶颈
随着互联网的快速发展,大规模分布式系统在各行各业得到了广泛应用。这些系统需要处理大量的请求和数据,面临着性能瓶颈的挑战。负载均衡作为一种关键的技术手段,可以帮助大规模...【详细内容】
2023-11-14  Search: 大规模  点击:(298)  评论:(0)  加入收藏
局部敏感哈希算法:高效处理大规模数据的方法
随着大数据时代的到来,处理大规模数据成为了许多领域的挑战。在这个背景下,局部敏感哈希算法应运而生。局部敏感哈希算法是一种高效处理大规模数据的方法,它可以在保持数据的相...【详细内容】
2023-11-14  Search: 大规模  点击:(214)  评论:(0)  加入收藏
▌简易百科推荐
藏在AI背后的“吃电狂魔”
人工智能时代的能耗黑洞据估算,到2027年,人工智能行业每年将消耗85~134太瓦时的电力,相当于瑞典或荷兰一年的总用电量。马斯克判断,电力缺口最早可能会在2025年发生,“明年你会看...【详细内容】
2024-04-09    雪豹财经社  Tags:AI   点击:(1)  评论:(0)  加入收藏
OpenAI和谷歌再起纷争:AI的尽头是内容
日前,纽约时报的一篇报道称,人工智能公司 OpenAI为收集高质量训练数据而开发了一个语音转录模型Whisper。该模型主要用于转录 OpenAI 获取的超过 100 万小时的 YouTube 视频,也...【详细内容】
2024-04-09  小编也疯狂  新浪网  Tags:AI   点击:(1)  评论:(0)  加入收藏
AI产业的灰色暗面:OpenAI、谷歌、META如何搞训练语料
财联社4月7日讯(编辑 史正丞)种种迹象显示,目前站在全世界AI领域潮头浪尖的这些公司,早在几年前就已经陷入对训练语料的“绝望”追逐中——为此他们不惜修改政策条款...【详细内容】
2024-04-09    财联社  Tags:AI产业   点击:(1)  评论:(0)  加入收藏
和“数字人”交朋友,当心隐私被出卖......
在虚拟社交中如何在保护用户隐私和数据安全的同时提供高质量的社交体验?如何避免过度依赖虚拟社交找到虚拟与真实之间的平衡点?《中国消费者报》记者就此展开了调查APP里有个...【详细内容】
2024-04-09    中国消费者报  Tags:数字人   点击:(2)  评论:(0)  加入收藏
AI“复活”成产业链:成本可降至数百元
大模型应用落地,带火数字人(11.560, 0.29, 2.57%)赛道。文|《中国企业家》记者李艳艳 实习生 孙欣编辑|姚赟头图来源|《流浪地球2》电影画面截图清明节前,预估会有需求的庞立...【详细内容】
2024-04-09    中国企业家  Tags:AI“复活”   点击:(2)  评论:(0)  加入收藏
多方热议人工智能产业新机遇
编者按  从前沿科技展会到高层对话平台,从上海、重庆到博鳌,从线上到线下……一场场高规格、大规模的盛会中,人工智能正在成为各界热议的高频词。赋能千...【详细内容】
2024-04-08    中国家电网  Tags:人工智能   点击:(4)  评论:(0)  加入收藏
​人形机器人时代来了吗
日前,由中国人形机器人(11.080, -0.05, -0.45%)百人会主办的人形机器人大赛在北京经济技术开发区开赛。工作人员向参观者展示一款人形机器人。参观者与一款陪护型人形机器人...【详细内容】
2024-04-08    中国青年报  Tags:​人形机器人   点击:(5)  评论:(0)  加入收藏
AI重塑社交:腾讯与字节跳动的新赛场
文|新火种 一号编辑|美美最近,腾讯和字节跳动这两大互联网巨头几乎同步推出了各自的AI社交产品,尽管腾讯和字节跳动在前段时间刚刚“破冰”,但这一举措不仅意味着这两大巨头之...【详细内容】
2024-04-07    蓝鲸财经  Tags:AI   点击:(8)  评论:(0)  加入收藏
第一批用 Kimi 做内容的网红已经杀疯了
作者:王东东 文章来自:斗战圣佛小组技术信仰派 VS 市场信仰派 朱啸虎和月之暗面老板杨植麟在前几天有一场不算 battle 的 battle。battle 的争论点是:大模型有没有戏。技术派...【详细内容】
2024-04-04    斗战圣佛小组  Tags:Kimi   点击:(4)  评论:(0)  加入收藏
昆仑万维发布面向人工智能时代的六条人才宣言
过去的一年多,是人工智能取得非凡进步的一年。在这充满突破性技术飞跃和备受争议的一年里,我们见证了人工智能的快速发展和广泛的影响,人工智能已经迅速地融入了我们的生活,深刻...【详细内容】
2024-04-03    砍柴网  Tags:昆仑万维   点击:(7)  评论:(0)  加入收藏
站内最新
站内热门
站内头条