【LLM论文日更】| LLM2Vec揭秘大型语言模型的文本嵌入潜能
- 论文: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
研究背景
- 研究问题:这篇文章要解决的问题是如何将解码器仅的语言模型(LLMs)有效地转换为强大的文本编码器。尽管LLMs在大多数自然语言处理(NLP)任务中表现出色,但社区对其在文本嵌入任务中的应用进展缓慢。
- 研究难点:该问题的研究难点包括:解码器仅的LLMs的因果注意力机制限制了它们生成丰富上下文表示的能力;需要在不依赖昂贵适应或合成数据的情况下实现参数高效的转换。
- 相关工作:该问题的研究相关工作有:传统的预训练双向编码器或编码器-解码器模型(如BERT和T5),这些模型通常通过多步骤训练管道进行适应;最近的研究开始探索解码器仅的LLMs在文本嵌入任务中的应用
研究方法
这篇论文提出了LLM2Vec,一种简单的无监督方法,可以将任何解码器仅的LLM转换为通用文本编码器。具体来说,LLM2Vec包括三个简单步骤:
- 启用双向注意力:通过替换解码器仅的LLM的因果注意力掩码为一个全1矩阵,使每个令牌能够访问序列中的每个其他令牌,从而将其转换为双向LLM。
- 掩码下一个令牌预测(MNTP):使用MNTP训练目标,结合下一个令牌预测和掩码语言建模。给定一个输入序列,随机掩盖一部分输入令牌,然后训练模型根据过去和未来的上下文预测被掩盖的令牌。重要的是,在预测位置i的掩码令牌时,基于前一个位置的令牌表示计算损失。
- 无监督对比学习:通过SimCSE应用无监督对比学习,生成同一句子的两种不同表示,并训练模型最大化这两种表示之间的相似性,同时最小化与其他句子表示的相似性。

实验设计
- 模型选择:实验使用了三种不同的解码器仅的LLMs,参数从1.3B到8B不等:S-LLaMA-1.3B、LLaMA-2-7B和Mistral-7B。
- 训练数据:使用英文维基百科数据进行MNTP和无监督SimCSE步骤的训练。具体来说,使用Wikitext-103数据集进行MNTP步骤,使用Gao等人发布的维基百科句子子集进行无监督SimCSE步骤。
- 训练过程:
- MNTP训练:随机掩盖输入序列的一部分令牌,使用LoRA进行微调,掩码概率分别为20%(S-LLaMA-1.3B、LLaMA-2-7B和Meta-LLaMA-3-8B)和80%(Mistral-7B)。
- 无监督SimCSE训练:对同一输入序列应用两次模型,使用独立采样的dropout掩码,训练模型最大化两次表示之间的相似性。
监督训练流程:
监督训练是通过以下步骤完成的:
数据准备:
- 使用E5数据集的公共部分进行训练。E5数据集包含约150万个样本,涵盖多种NLP任务。
模型初始化:
- 使用LoRA进行微调,初始权重从SimCSE权重中继承。
- MNTP LoRA权重合并到基础模型中,可训练LoRA权重使用SimCSE权重初始化。
训练过程:
- 训练模型1000步,批量大小为512。
- 使用Adam优化器,学习率为2e-4,前300步采用线性学习率预热。
- 训练过程中使用bfloat16量化、Flash Attention 2和梯度检查点等技术优化GPU内存消耗。
评估:
- 在MTEB基准上进行评估,比较不同模型在公开数据集上的表现。
- 结果表明,LLM2Vec模型在仅使用公开数据训练的模型中达到了最新的最佳性能。
结果与分析
-
词级任务评估:在词级任务(如分块、命名实体识别和词性标注)上,LLM2Vec转换的模型显著优于仅编码器模型。例如,在分块任务中,S-LLaMA-1.3B模型的改进幅度为5%。

-
序列级任务评估:在Massive Text Embeddings Benchmark(MTEB)上,LLM2Vec转换的模型在无监督模型中达到了新的最佳性能,最佳模型的得分为56.8。结合监督对比学习后,Meta-LLaMA-3-8B模型在仅使用公开数据训练的模型中达到了最新的最佳性能。


3. 通过分析模型在不同层级的表示变化,发现Mistral-7B模型在无需任何训练的情况下就可以很好地处理双向注意力
优点与创新
- 提出了LLM2Vec方法:LLM2Vec提供了一种简单且无监督的方法,可以将任何解码器仅语言模型(Decoder-only LLM)转换为强大的文本编码器。
- 有效提升模型性能:通过在多个流行的解码器仅LLM上应用LLM2Vec,研究者在词级任务和序列级任务上均取得了显著的性能提升。
- 无需标签数据:LLM2Vec不需要任何标注数据,具有高度的数据和参数效率。
- 新的无监督状态:在MTEB基准测试中,LLM2Vec转换的模型在无监督模型中达到了新的最佳水平。
- 结合监督对比学习:当将LLM2Vec与监督对比学习结合时,研究者在仅使用公开可用数据进行训练的模型中达到了最新的最佳性能。
- 广泛的分析:提供了对LLM2Vec如何影响底层模型的深入分析,并揭示了Mistral-7B的一个有趣特性,即该模型可以在不进行任何微调的情况下处理双向注意力。
不足与反思
- 大尺寸解码器仅LLM的挑战:近年来,训练非常大的解码器仅LLM的趋势日益明显,这些模型的参数规模和输出嵌入维度都较大,导致训练和推理延迟增加,内存和计算需求更高。
- 预训练数据的污染:尽管研究中使用的是公开可用的数据集,但仍有可能存在来自LLaMA-2-7B和Mistral-7B模型预训练数据的污染风险。
- 扩展到其他语言:目前的研究仅使用了英语文本语料库和基准测试,未来工作需要将LLM2Vec方法扩展到其他语言。
相关文章:
【LLM论文日更】| LLM2Vec揭秘大型语言模型的文本嵌入潜能
论文: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 研…...
大模型微调有必要做吗?LoRa还是RAG?
我需要对大模型做微调吗? 想自定义大模型时,选择:微调还是RAG还是ICL? 需要对大模型做微调? 在人工智能的世界里,大型语言模型(LLM)已经成为了我们探索未知、解决问题的得力助手。…...
机器人外呼系统如何使用呢?
智能电话机器人作为人工智能进入电销行业的一个分类,目前已取得不错的成绩。智能电话机器人针对电销行业的痛点所作出了改善。 作为新兴的一种电销手段,很多企业对其充满好奇又望而却步。那么很多朋友都有想知道为什么现在很多人都用AI机器人拓客&#x…...
python-月份有几天
题目描述 小理现在有一份日历,但是这个日历很奇怪并不能告诉小理日期信息。小理现在有年和月,希望你能帮他计算出来这一年这个月有几天。 输入 输入共一行,两个整数,代表年和月,中间用空格隔开。 输出 一个整数&am…...
1017 Queueing at Bank
链接: 1017 Queueing at Bank - PAT (Advanced Level) Practice (pintia.cn) 题目大意: 有n个客户,k个窗口。已知每个客户的到达时间和需要的时长,如果有窗口就依次过去,如果没有窗口就在黄线外等候(黄线…...
DPDK 测试说明
文章目录 2.DPDK 测试说明2.1硬件pci加密设备绑定到igb_uio驱动IGB_UIO 主要负责什么内容 ? 2.2 test命令使用说明2.3 dpdk-test-crypto-perf命令使用说明2.4 使用testpmd测试网卡性能 2.DPDK 测试说明 2.1硬件pci加密设备绑定到igb_uio驱动 dpdk-stable/usertool…...
上传及接收pdf文件,使用pdfbox读取pdf文件内容
前端上传pdf文件 html <form class"layui-form"><div style"background-color: #ffffff" ><div style"padding: 30px"><div class"layui-form-item"><div class"layui-inline"><label c…...
第一个搭建SpringBoot项目(连接mysql)
首先新建项目找到Spring Initializr 我使用的URL是https://start.spring.io这里最低的JDK版本是17,而且当网速不好的时候可能会显示超时,这里可以选用阿里云的镜像https://start.aliyun.com可以更快一些但是里面还是有一些区别的 我们这里选择Java语言&a…...
docker部署rabbitMQ 单机版
获取rabbit镜像:我们选择带有“mangement”的版本(包含web管理页面); docker pull rabbitmq:management 创建并运行容器: docker run -d --name rabbitmq -p 5677:5672 -p 15677:15672 rabbitmq:management --name:…...
PDF 全文多语言 AI 摘要 API 数据接口
PDF 全文多语言 AI 摘要 API 数据接口 PDF / 文本摘要 AI 生成 PDF 文档摘要 AI 处理 / 智能摘要。 1. 产品功能 支持多语言摘要生成;支持 formdata 格式 PDF 文件流传参;快速处理大文件;基于 AI 模型,持续迭代优化;…...
《信息系统安全》课程实验指导
第1关:实验一:古典密码算法---代换技术 任务描述 本关任务:了解古典密码体制技术中的代换技术,并编程实现代换密码的加解密功能。 注意所有明文字符为26个小写字母,也就是说字母表为26个小写字母。 相关知识 为了完…...
Accelerated Soft Error Testing 介绍
加速软错误测试(Accelerated Soft Error Testing, ASET)是一种评估半导体器件或集成电路(ICs)在高辐射环境中发生软错误率(Soft Error Rate, SER)的方法。这种测试方法通过模拟或加速软错误的发生,以便在较短时间内评估器件的可靠性。软错误指的是那些不会对硬件本身造成…...
Redis缓存常用的读写策略
缓存常用的读写策略 缓存与DB的数据不一致问题,大多数都是指DB的数据已经修改,而缓存中的数据还是旧数据的情况。 旁路缓存模式 对于读操作:基本上所有模式都是先尝试从缓存中读,没有的话再去DB读取,然后写到缓存中…...
9月产品更新 | 超10项功能升级,快来看看你的需求上线了吗?
Smartbi用户可以在官网(PC端下载),更新后便可以使用相关功能,也可以在官网体验中心体验相关功能。 接下来,我们一起来看看都有哪些亮点功能更新吧。 ▎插件商城 Smartbi麦粉社区的应用市场新增了“插件”模块…...
ARP协议工作原理析解 (详细抓包分析过程)
目录 1. ARP 协议 2. 工作原理 3. ARP 协议报文格式 4. ARP 缓存的查看和修改 5. tcpdump 抓包分析 ARP 协议工作原理 5.1 搭建 2 台虚拟机 5.2 在主机 192.168.0.155 打开一个shell命令行开启抓包监听 5.3 在主机 192.168.0.155 打开另一个shell命令行 telnet 192.168.…...
axure动态面板
最近转管理岗了,作为项目负责人,需要常常与客户交流沟通,这时候画原型的能力就是不可或缺的本领之一了,关于axure可能很多it行业者都不是很陌生,简单的功能呢大家就自行去摸索,我们这次从动态面板开始讲起。…...
[论文笔记]Making Large Language Models A Better Foundation For Dense Retrieval
引言 今天带来北京智源研究院(BAAI)团队带来的一篇关于如何微调LLM变成密集检索器的论文笔记——Making Large Language Models A Better Foundation For Dense Retrieval。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们&quo…...
Linux平台屏幕|摄像头采集并实现RTMP推送两种技术方案探究
技术背景 随着国产化操作系统的推进,市场对国产化操作系统下的生态构建,需求越来越迫切,特别是音视频这块,今天我们讨论的是如何在linux平台实现屏幕|摄像头采集,并推送至RTMP服务。 我们知道,Linux平台&…...
梧桐数据库|中秋节活动·抽奖领取大闸蟹
有话说 众所周不知,我的工作就是做一个国产的数据库产品—中国移动梧桐数据库(简称WuTongDB)。 近期我们举办了一次小活动,来提升梧桐数据库的搜索量和知名度,欢迎大家来参加,免费抽奖领取大闸蟹哦~~~ 具…...
Python怎么发送邮件:基础步骤与详细教程?
Python怎么发送邮件带附件?怎么使用Python发送邮件? 无论是工作中的通知、报告,还是生活中的问候、邀请,电子邮件都扮演着不可或缺的角色。那么,Python怎么发送邮件呢?AokSend将详细介绍Python发送邮件的基…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
