从此告别繁琐的模型微调,LLM-Adapters助力NLP任务快速高效微调!

fa7e29ab8827c35f6b2d95cd9250ea27.gif

ee3d7dd1abc848c0ed00aa3d0656280e.png

动机和背景

大型语言模型(LLMs)的成功,如 GPT-3 和 ChatGPT,发起了许多替代方案的开发。这些替代方案通过使用特定于任务的数据(如 ChatDoctor)或指令数据(如 Alpaca),微调 LLMs 来提高性能。但是,其中最具吸引力的方法是基于 Adapter 的参数微调(PEFT),因为它只需要微调插入的外部参数,而不是整个与训练模型,就能获得不错的性能。

为了进一步研究 LLM 的 PEFT 方法,我们开发了一个易于使用的框架——LLM-Adapters,它将各种 Adapter 集成到 LLMs 中。该框架包括最先进的 LLMs,如 LLaMA、BLOOM 和 GPT-J 等模型,以及广泛使用的 Adapter,如 Series adapter、Parallel adapter 和 LoRA。同时,我们也会持续更新新的 LLMs 和 Adapter,以满足用户不断变化的需求。

b37dcf2b862a672dd4198517ad41e80d.png

项目名称:

LLM-Adapters: An Adapter Family for Parameter-Efficient Fine-Tuning of Large Language

论文链接:

https://arxiv.org/abs/2304.01933

开源链接:

https://github.com/AGI-Edgerunners/LLM-Adapters

如果您是自然语言处理领域的从业者或爱好者,LLM-Adapters 将是您的强大工具。使用这个框架,您可以快速实现高性能模型,而不需要进行繁琐的模型微调。无论您正在构建聊天机器人、进行文本分类,或是进行其他自然语言处理任务,LLM-Adapters 都能为您提供强有力的支持。不要犹豫,赶快试试吧,它会为您的工作带来意想不到的帮助!

60ffe9e860841b976702e8a15bd7e52c.png

Adapters大家族

3c420bb03e7285890570236ea5fe3c9a.png

Adapters 是包含少量可训练参数并集成到 LLM中的外部模块。在训练期间,LLM 的参数保持固定,而 Adapter 模型的参数被调整以执行特定的任务。因此,由 LLM 生成的表示不会因任务特定的调整而扭曲,而 Adapter 模型则获得了编码特定任务信息的能力。

本框架在 LLM 中提出了三种 Adapter 类型:Series Adapter, Parallel Adapter 和 LoRA。我们将在之后的工作更新更多的 Adapter。

Series Adapter:受 [1] 的启发,我们的框架将瓶颈前馈层依次添加到 Transformer 的多头注意力层和前馈层。图(a)显示了瓶颈 Adapter 由两层前馈神经网络组成,包括一个下投影矩阵,一个非线性函数,和投影,以及输入和输出之间的残差连接

Parallel Adapter:将瓶颈前馈层与 LLMs 中 Transformer 的多头注意力层和前馈层并行集成。如图(b)所示,Adapter 与每个 Transformer 合并在一起

LoRA:[2] 提出了 LoRA,旨在用更少的可训练参数有效地微调预训练模型。LoRA 在 LLMs 的现有层中引入了可训练的低秩分解矩阵,使模型能够适应新的数据,同时保持原始 LLMs 固定以保留现有的知识。

具体来说,LoRA 通过注入低秩分解矩阵,对表示为矩阵乘法的每个模型层执行重新参数化,如图(c)所示。这种重新参数化使模型能够进行微调,而不需要计算完整的密集矩阵乘法,这可能是计算成本很高的。通过降低矩阵的秩,LoRA 有助于减少微调 llm 时的参数数量。

4a4c8f356b8496ddec7275cac759ed8a.png

数据集验证

下面展示了不同模型是否可以使用的各类 Adapter:

e0877154390fd6321cb6eefa5c67020d.png

我们 6 个数学推理数据集上,测试不同 LLMs 参数高效微调的精度,6 个数据集分别是:(1)MultiArith;(2)GSM8K;(3)AddSub;(4)AQuA;(5) SingleEq;(6)SVAMP.

我们使用 Zero-shot-Cot 方法在 GPT-3.5 text-Davinci-003 收集到的数据 math_data.json 进行微调。结果如下:

165584353f023c095f82481b42440da7.png

00a7cdb73d268cdb1699114f7235ee40.png

未来规划

在任务和数据集上:我们计划进一步扩展我们的推理任务,尽可能多的收集数据集

在 Adapter 上:我们将整合更多类型的 Adapter,并在大语言模型上测试

在 LLM 上:我们将整合更多的 LLM 进行测试

outside_default.png

参考文献

outside_default.png

[1] Neil Houlsby, Andrei Giurgiu, Stanislaw Jastrzebski, Bruna Morrone, Quentin De Laroussilhe, Andrea Gesmundo, Mona Attariyan, and Sylvain Gelly. 2019. Parameter-efficient transfer learning for nlp. In International Conference on Machine Learning, pages 2790–2799. PMLR. 2,3,4

[2] Edward J Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. 2021. Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685. 2,3,4

ed0f7e5194ffe4f33470482c6275e33d.jpeg

更多阅读

e47b1146b4a0c7dafbc1009d3b34df5d.png

fd8b565387f2be725580b86066159175.png

592a5077167f7e4b39edd1ed218aad62.png

8f436c9a976a01a99178db62cf5ed7ad.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

595bed0702f4558d1d51b89d86ca99a1.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

e6d21325520dcbcda3cc382ef51f4c70.jpeg

查看全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/2225432.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章:

e6d21325520dcbcda3cc382ef51f4c70.jpeg

从此告别繁琐的模型微调,LLM-Adapters助力NLP任务快速高效微调!

动机和背景大型语言模型(LLMs)的成功,如 GPT-3 和 ChatGPT,发起了许多替代方案的开发。这些替代方案通过使用特定于任务的数据(如 ChatDoctor)或指令数据(如 Alpaca),微调……

jumpserver 远程执行漏洞分析和复现

0 简介JumpServer是一款开源的堡垒机,是符合4A规范的运维安全审计系统,通俗来说就是跳板机。2021年1月15日,JumpServer发布安全更新,修复了一处远程命令执行漏洞。由于JumpServer某些接口未做授权限制,攻击者可构造恶意……

医疗耗材缺陷视觉检测的应用

近年来,全球医疗耗材市场规模持续增长,GMP标准不断提高,用工成本不断上升。 在药品生产和包装环节,传统的人造灯检测方式已经不能满足生产自动化和质量控制的要求。 随着AI、医疗耗材缺陷视觉检测等新技术的发展和应用&#xff0c……

Spark core 弹性式数据集RDD

目录 一.RDD简介 二.RDD的特性: 三.执行原理:
1.启动Yarn集群环境: 2.Spark通过申请资源创建调度节点和计算节点: 3.Spark框架根据需求将计算逻辑根据分区划分不同的任务: 4.调度节点将任务根据计算节点状态发送到对应……

C++ Primer Plus编程作业

编写一个C程序,如下述输出示例所示的那样请求并显示信息: What is your first name? Betty Sue What is your last name? Yewe What letter grade do you deserve? B What is your age? 22 Name: Yewe, Betty Sue Grade: Age: 22
#include <iost……

【ConfluxNews】2023.4.7 ALL IN @HK

1.【网络状态】当前版本V2.2.3,全网算力≈8T,昨日交易次数92K,昨日新增账户1.19K,昨日新增合约2个; 2.【POS参数】总锁仓246M(1),节点总数266,年利率14.5%(理……

Python 02 数据类型(03列表)

目录 一、列表
1.1 创建列表
1.1.1 创建一个空列表
1.1.2 列表可以容纳任意数据类型的数据的有序集合,可以通过索引访问其中的元素
1.1.3 列表可以容纳字符串、浮点数、整数、集合、字典、元组、列表
1.1.4 列表可以嵌套
1.1.5 使用list()也可以创建一个列表……

python逝练(三)

目录
1、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)
2、写一个方法,计算列表所有偶数下标元素的和(注意返回值)
3、根据完整的路径从路径中分离文件路径、文件名及扩展名
4、根据标点符号对字符串进行分行
5……

本地打开dist文件

npm run build打包后
cd dist
http-server
没有http-server,npm install -g http-server
http-server…

多任务处理

目录1.多任务的概念2.线程的使用threading模块的使用线程的run方法使用线程的执行顺多线程-共享全局变量多线程并发的问题思考互斥锁死锁案例-实现2个线程收发udp消息3. 进程的使用进程的创建-multiprocessing查看进程pidProcess语法结构介绍给子进程指定的函数传递参数进程和线……

基于copula的风光联合场景生成与缩减

目录
1 主要内容
风光出力场景生成方法
2 部分程序
3 程序结果
4 程序链接
点击直达! 1 主要内容
该程序方法复现《融合风光出力场景生成的多能互补微网系统优化配置》风光出力场景生成部分,目前大多数研究的是不计风光出力之间的相关性影响&amp……

TS 使用自动提示生成对象中的键

TS 使用自动提示生成对象中的键
使用 plain object 而不是 class 的原因主要是在于 redux 中保存的对象需要为可序列化的对象。当然,具体操实现的时候肯定是可以无视这个需求的,不过 Redux 团队强烈建议使用可序列化对象,具体的官方文档说明……

Spring Boot概述(一)

1. SpringBoot 概述
1.1 SpringBoot 概念
SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的……

计算机笔试/面试常见逻辑题/智力题汇总

说明:按种类汇总,难度不分先后,做了分级罗列,方便后续扩充,大家有比较有意思的题目可以在讨论区讨论。 下面有的题题解相对复杂的直接参考了网上的一些解答,而有的题解我认为并不好的也做了补充&#xff0c……

OpenAI文档翻译——搭建第一个自己的ChatGPT应用

这篇主要是讲了重头到位创建一个基于OpenAI API的应用程序的过程,同时给出了Node.js、Python版本的实例代码。应用程序的构建总体来说是很简单的就是一个接口调用,前提是我们需要提供密匙。
如果想要获取更好的结果返回一个是可以给模型提供一些列子从而……

python以及PyCharm工具的环境安装与配置

这里以Windows为例
Python的安装
当然是到Python官网下载咯,https://www.python.org/downloads/点我直达,如图: 可以下载最新版本,可以下拉找到之前特定的版本安装,如图: 这里先择的是最新版的进行安装……

JavaScript【六】JavaScript中的字符串(String)

文章目录🌟前言🌟字符串(String)🌟单引号和双引号的区别🌟属性🌟 length :字符串的长度🌟 方法🌟 str.charAt(index);🌟 str.charCodeAt(index);🌟 String.fromCharCode(……

获取文件MD5小案例(未拆分文件)

文章目录前端获取MD5后端获取MD5前端获取MD5
1、引入js
<script src"js/spark-md5.min.js" type"text/javascript"></script>注:spark-md5库GitHub链接 2、这里是一个按钮和被隐藏调的<input/>标签 <body><button……

Java 进阶(15)线程安全集合

CopyOnWriteArrayList
线程安全的ArrayList,加强版读写分离。
写有锁,读⽆锁,读写之间不阻塞,优于读写锁。
写⼊时,先copy⼀个容器副本、再添加新元素,最后替换引⽤。
使⽤⽅式与ArrayList⽆异。
示例……

HR:面试官最爱问的linux问题,看看你能答对多少

文章目录摘要Linux的文件系统是什么样子的?如何访问和管理文件和目录?如何在Linux中查看和管理进程?如何使用Linux命令行工具来查看系统资源使用情况?如何配置Linux系统的网络设置?如何使用Linux的cron任务调度器来执行……

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注