【LLM论文日更】| GRIT如何统一文本生成与嵌入

  • 论文:https://arxiv.org/pdf/2404.05961
  • 代码:https://github.com/McGill-NLP/llm2vec
  • 机构:McGill University, Mila ServiceNow Research ,Facebook CIFAR AI Chair
  • 领域:embedding model
  • 发表:COLM 2024

研究背景

所有基于文本的语言问题都可以简化为生成或嵌入。当前的模型仅在其中之一上表现良,本文引入了生成表征指令调整(GRIT),通过指令来训练大型语言模型来处理生成任务和嵌入任务。与其他开放模型相比,本文生成的 GRITLM 7B 在大规模文本嵌入基准 (MTEB) 上树立了新的技术水平,并且在一系列生成任务上优于同等规模的所有模型。通过进一步扩展,GRITLM 8X7B 的性能优于本文尝试过的所有开放生成语言模型,同时仍然是最好的嵌入模型之一。值得注意的是,我们发现 GRIT 仅匹配生成数据或嵌入数据的训练,因此我们可以在不损失性能的情况下统一两者。而且通过 GRIT 进行统一,不再需要单独的检索和生成模型,可以将长文档的检索增强生成 (RAG) 速度提高 60% 以上

研究方法

这篇论文提出了生成表示指令调优(GRIT)方法,用于解决生成任务和嵌入任务的统一问题。具体来说,

  1. 生成表示指令调优(GRIT):GRIT通过指令区分生成任务和嵌入任务。对于嵌入任务,指令包含目标域、意图和单位,表示为一个数值张量;对于生成任务,指令生成文本输出。

损失函数:对于嵌入数据,使用对比损失函数:

其中,f是GRITLM参数化的模型,τ 是温度超参数,σ 对每个输出进行池化后应用余弦相似度,q和 d 分别是查询和文档样本。
3. 生成数据损失:对于生成数据,使用语言建模损失函数: 

                

其中,f 是GRITLM模型,η 是语言建模头,x 是生成训练样本。
4. 总损失函数:将生成和嵌入损失函数通过可选的损失权重λRep​和λGen​进行聚合。

                         

实验设计

  1. 数据集:实验使用了Mistral 7B和Mixtral 8x7B模型,并从E5和Tilu 2数据集中进行微调。E5数据集通过添加S2ORC数据集进行扩展,Tilu 2数据集过滤掉了包含模型答案的自定义提示。
  2. 批大小和训练步数:对于GRITLM 7B,嵌入数据的批大小为2048,生成数据的批大小为256,总共训练1253步。对于GRITLM 8x7B,由于计算限制,嵌入数据的批大小减少到256。
  3. 超参数:学习率为2e-5,使用3%的步骤进行线性预热,然后线性衰减到0。使用PyTorch FSDP、梯度检查点、BF16混合精度训练等策略来节省内存。

 结果与分析

嵌入模型性能:

生成性能:

RAG联动

不足与反思

  1. 计算成本:由于使用两个目标函数进行训练,GRIT需要更多的计算资源。然而,由于微调比预训练便宜得多,作者认为这些成本远远被其带来的好处所抵消。
  2. 多语言支持:尽管GRITLM在非英语任务上也有不错的表现,但主要的性能提升可能来自于数据集和架构的变化。
  3. 多模态任务:许多嵌入和生成问题不仅仅是基于文本的,如图像和文本的联合嵌入、生成图像字幕等。探索这些任务是否可以像文本嵌入和生成一样容易地统一仍需进一步研究
  4. 优化RAG:未来的工作可以考虑优化GRITLM以更好地与检索系统集成,例如通过让生成模型在其认为必要时自行发起搜索。
  5. 预训练:实验使用了现成的预训练语言模型,但也可以考虑使用GRIT方法从头开始进行预训练。
  6. 格式效率:当前的格式效率不高,未来可以通过使用特殊标记来简化编码过程,从而降低训练和推理的成本。
  7. 打包策略:未来工作可以探索在训练期间对嵌入样本进行打包,甚至将生成和嵌入训练数据打包到同一个样本中,以提高效率。

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

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

相关文章

民主测评系统可以解决哪些问题?

民主测评系统是可以把整个民主测评工作方案的测评流程、评价项目与评价结果都挪到系统上,进行调整和管理,能灵活满足事业单位对民主测评管理需求。通过运用线上民主测评系统可大大提升测评工作效率,减轻干部测评的工作量。 1、提高工作效率 …

weblogic中间件漏洞复现

后台弱口令getshell 1.开启环境 cd vulhub-master/weblogic/weak_password docker-compose up -d docker ps 2.f访问靶场 访问/console/login/LoginForm.jsp这个目录进行登录, 默认账号密码:weblogic/Oracle123 需要注意的是单个账号进行登录时&…

卷积神经网络-数据增强

文章目录 一、概述二、数据增强的类别1. 裁剪2.翻转和旋转3. 随机遮挡4. 图像变换5. 对transforms的选择操作,使数据增强更灵活 三、应用场景四、总结 一、概述 数据增强(也叫数据扩增)的目的是为了扩充数据和提升模型的泛化能力。有效的数据…

风力发电场集中监控解决方案

0引言 风力发电装机容量近年来快速增长。截至7月底,全国发电装机容量达27.4亿千瓦,同比增长11.5%。其中,太阳能和风力发电装机容量分别为4.9亿千瓦和3.9亿千瓦,同比增长42.9%和14.3%。风力发电场分陆上和海上风电,常位…

EasyFile-一整套Web大文件导出解决方案。轻松导出千万以上数据

文章目录 什么是EasyFile功能特性解决问题框架对比软件架构代码结构 时序图快速开始一、引入maven依赖二、Client端需要提供文件上传服务进行实现接口三、SpringBoot 启动入口处理四、额外处理五、异步文件处理器六、实现下载器七、Admin-管理界面八、easyfile-server 部署 什么…

美业SaaS收银系统如何收银?博弈美业实操/美业门店管理系统源码

1.打开博弈美业APP 2.工作台上方的【收银台】、【扫码核销】、【密码核销】均可完成收银 3.【收银台】可直接选择商品/服务/课程,再选择客户后提交订单收款 4.【扫码核销】【密码核销】可直接扫描二维码、输入核销码进行收银

模型结构-qwen原理

1. 背景 本文将以Qwen2系列大模型为基础,讲解Qwen2模型技术架构及模型原理。 2. 编码 词表的设计可以影响训练的效率和下游任务的表现。Qwen系列模型采用的是tiktoken分词器,这是一种快速分词方法,该方法被使用在OpenAI系列模型中,tiktoen的核心逻辑同样是基于BPE算法,…

YOLOv5-水印检测

简介: YOLOv5在YOLOv4算法的基础上做了进一步的改进,检测性能得到进一步的提升。虽然YOLOv5算法并没有与YOLOv4算法进行性能比较与分析,但是YOLOv5在COCO数据集上面的测试效果还是挺不错的。 YOLOv5是一种单阶段目标检测算法,该算…

内网私有化聊天软件:哪些企业类型最受益?

在数字化时代,企业内部通讯的效率和安全性成为了企业运营中不可或缺的一环。随着数据泄露事件频发和隐私保护意识的增强,越来越多的企业开始寻求更加安全、可控的通讯解决方案。内网部署的私有化聊天软件,以其高度的安全性、定制化特性和自主…

甩锅笔记:好好的服务端应用突然起不来,经定位是无法访问外网了?测试又说没改网络配置,该如何定位?

在工作中、团队协作时,可能遇到的问题,如集成测试等场景。但是作为偏前端的全栈,锅从天上来,不是你想甩就能甩,尤其面对测试等比较强势的团体(bug创造者),你必须有强大的心理承受能力…

C++ STL容器(二) —— list 底层剖析

计划写几篇关于C STL容器底层剖析的文章,主要基于的是MSVC的实现,本篇先从比较简单的 list 入手,个人感觉文章更偏于代码的具体实现,而不是原理的讲解,所以前置需要你了解链表的相关算法,如果有问题欢迎评论…

长方形+ 下三角形的图形 css

<div class"transform">42.48%</div>//转化.transform {position: relative;width: 70px;height: 26px;background-color: #dcdfe6; /* 长方形的颜色 */display: flex;justify-content: center;align-items: center;font-family: PingFangTC-Medium;font…

Keil5 操作

目录 1.Debug&#xff08;软件模拟调试&#xff1a;&#xff09;&#xff1a; 2.代码提示设置&#xff1a; 3.添加. c与.h文件&#xff1a; 常用技巧 安装下载推荐&#xff1a;正点原子 1.Debug&#xff08;软件模拟调试&#xff1a;&#xff09;&#xff1a; 文章讲解 …

Selenium自动化安装教程

目录 提示&#xff1a; 一、安装Python运行环境 1. 找到官方网站 ​编辑 2. 找到下载页面 3. 双击安装包 ​编辑 4. 运行 hello world 二、安装 pycharm 1. 找到官方网站 ​编辑 2. 找到下载页面 3. 双击安装包 4. 运行 hello world 5. 字体设置 三、Python管理…

JavaWeb--小白笔记07:servlet对表单数据的简单处理

这里的servlet对表单数据的处理是指使用IDEA创建web工程&#xff0c;再创建html和class文件进行连接&#xff0c;实现html创建一个表单网页&#xff0c;我们对网页中的表单进行填充&#xff0c;可以通过class文件得到网页我们填充的内容进行打印到控制台。 一登录系统页面---h…

查找和排序(选择题)

查找 寻找最大/小项 n-1 排序 前三个的时间复杂度都是O(n^2),希尔排序是O(n^1.5). 在以上排序方法中&#xff0c;最坏情况下时间复杂度最小的是堆排序。 每经过一次元素的交换会产生新的逆序的是快速排序。

为什么越来越多的网工运维转行网络安全?_idc运维转网络安全工程师_系统运维转行网安

最近越来越多的网工运维小伙伴都在吐槽&#xff1a;干网工、运维多年&#xff0c;薪资还是5.6K&#xff0c;技术也遇瓶颈上不去&#xff0c;考虑转岗或者转行。其中大部分的网工运维小伙伴们纷纷瞄准了高薪高前景的网络安全工程师岗位 网络安全是怎样的岗位&#xff1f; 网络安…

2024重组胶原蛋白行业白皮书:从美业革新先锋到精准医疗动力源

从来源上看&#xff0c;胶原蛋白主要分为动物源胶原蛋白和重组胶原蛋白两大类。重组胶原蛋白相较于传统动物来源的胶原蛋白在生物活性、生物相容性、低免疫原性、降低漏检病原体风险、水溶性、无细胞毒性等方面表现出诸多优越性。随着胶原蛋白的来源和生产方式不断演变&#xf…

改进的yolov10 deepsort目标跟踪(yolo改进+最新算法+附代码和教程)

YOLOv10_DeepSORT&#xff1a;视频中的对象检测与跟踪 本仓库包含了使用YOLOv10对象检测模型和DeepSORT算法在视频中进行对象检测与跟踪的代码。YOLOv10是目前最先进的对象检测模型之一&#xff0c;而DeepSORT是一种基于深度学习的对象跟踪算法&#xff0c;它结合了外观信息和…

BOE(京东方)携故宫博物院举办2024“照亮成长路”公益项目落地仪式以创新科技赋能教育可持续发展

2024年9月20日&#xff0c;BOE&#xff08;京东方&#xff09;“照亮成长路”智慧教室落成暨百堂故宫传统文化公益课山西活动落地仪式在山西省太原市娄烦县实验小学隆重举行。自“照亮成长路”教育公益项目正式设立以来&#xff0c;BOE&#xff08;京东方&#xff09;持续以创新…