LLM2Vec: 改造Decoder-only LLM以生成高质量text embedding

机器学习MySQL图像处理

提纲

1 简介

2 LLM2Vec

3 实验

4 实验结果

5 讨论

参考文献

1 简介

  **如今Decoder-only的大模型在诸多NLP任务上表现出色,但是直接利用其生成文本表征的效果往往比较糟糕,这跟大模型本身的训练任务跟模型架构有关。** 最近有研究人员提出了LLM2Vec,一种能将任何decoder-only模型改造成文本表征模型的无监督方法,该方法主要涉及了双向注意力机制改造,masked next token prediction任务,以及无监督对比学习三个部分。并通过实验发现这种方法能够有效的将大模型改造成通用化的文本编码器,而不需要其他适配任务或者数据。  

2 LLM2Vec

picture.image

图1:LLM2Vec的三步走策略

LLM2Vec包括修改注意力机制以及两个无监督训练任务,具体如下。

双向注意力机制

第一步是将decoder-only LLM的的单向注意力机制改成双向注意力机制,使得每个位置的token都可以看到其他位置的信息。改造的原因在于研究人员认为decoder-only LLM看不到未来信息的机制可能会损害文本表征的质量。‍‍‍‍‍‍‍‍‍‍‍

Masked next token prediction(MNTP) ‍‍‍‍‍‍‍‍‍‍

完成第一步改造后,需要让模型适应新的双向注意力机制,于是研究人员就设计了MNTP这个任务,跟BERT预训练的MLM任务相似,但是预测被mask位置的token时,用的是前一个位置的token的表征,也就是用前一个位置的表征,去预测下一个位置(被mask)的token。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Unsupervised contrastive learning(SimCSE) ‍‍

前两步改造使得LLM可以生成高质量的token级别的表征,但是还不能生成高质量的句子级别的表征,所以研究人员直接搬用了SimCSE的训练方法,对LLM做进一步的训练,将每个位置的隐状态通过mean pooling作为句向量,通过对比学习的方式去拉进相似文本的距离,疏远不相似文本之间的距离。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

3 实验

研究人员在3个不同的LLM上进行了实验,包括Sheared-LLaMA-1.3B, Llama-2-7B-chat, Mistral-7B-Instruct-v0.2。另外,为了防止训练过程中模型学到新的知识,MNTP跟unsupervised训练所用到的语料都只来源于英文wiki,而这些语料都存在于大模型预训练过程中的。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


除此之外,LLM2Vec采用了lora这种参数训练策略,首先会为MNTP初始化对应的lora参数,进行对应的训练后将lora的参数合并入大模型参数中,然后再为无监督对比学习初始化对应的lora参数,进行对应的训练后再将新的lora查宿合并到大模型中。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

4 实验结果

a) 在word-level的任务上(比如NER,POS等任务,模型先获得文本的表征,然后再过一层需要进一步训练的线性分类层),LLM2Vec都取得明显提升,  **但是进一步的无监督对比学习训练并没能进一步提升模型性能,研究人员认为这是因为这类任务更多关注的是token本身的表征,而非句子整体的信息,所以只进行了MNTP就能取得不错效果。** ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

picture.image

图2: 词级别任务上的效果对比

b) 而对于更关注句子整体表征的MTEB任务中,LLM2Vec取得巨大提升,并且可以看到第三步对比学习的加入进一步提升了效果。

‍‍‍‍‍‍‍‍‍‍

picture.image

图3:MTEB效果对比

5 讨论

**文中提出的LLM2Vec,首先直接将单向注意力机制改成双向注意力机制,然后利用MNTP进行训练使得模型能适配双向注意力机制,这个时候其实模型已经具备生成高质量的token级别的表征了,然后再利用无监督对比学习Simcse进一步训练,使得模型可以生成高质量的句子级别的表征。是一种行之有效的将LLM改造成强大的文本编码器,使之能生成高质量的text embedding,虽然涉及两个训练任务,但都是无监督学习,不需要高质量的标注数据。**

针对decoder-only LLM无法直接生成高质量text embedding的方法,之前也有一些工作,包括Echo embedding这种将文本重复两次输入大模型的zero-shot方案 Echo embedding: 把文本重复两次,自回归模型就能生成更高质量的embedding,或者让模型做进一步的对比学习训练微软E5-mistral-7b-instruct: 站在LLM肩膀上的text embedding等方式,都能取得不错效果。所以对于文中提出的双向注意力机制改造,我觉得未必如此,只有有相应的设计或者训练,单向注意力机制的LLM也是具备生产出高质量text embedding的潜力的。LLM2Vec这种方案的优势,相比echo embedding没有增加输入长度,保证了推理成本,相比其他进一步训练的方案,不需要高昂成本的标注训练数据。

参考文献

‍‍‍‍‍

1 LLM2Vec: Large Language Models Are Secretly Powerful Text Encoders

https://arxiv.org/pdf/2404.05961

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
高性能存储虚拟化方案 NVMe over Fabric 在火山引擎的演进
在云计算中,虚拟化存储扮演着重要角色,其中 iSCSI 协议在业界开放、流行多年。近年来,拥有更优性能的 NVMe over Fabrics 协议也得到了发展。本次分享介绍了 NVMe over Fabrics 在云原生和虚拟化方向的演进工作和成果。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论