LLM2Vec论文阅读笔记

  • 这是篇LLM论文,用decoder-like的LLM去提取embedding
  • 文章认为,decoder-like的LLM在text embedding task表现不优的一大原因就是其casual attention mechanism,其实就是mask的问题。所以只要对现有的decoder-only LLM进行如下三步改进,就将pre-trained decoder-only LLM into a universal text encoder:
    • 双向注意力,就是取消掉MSA的mask,用全1的mask 矩阵
    • masked next token prediction (MNTP),就是用类似BERT的预训练方式,给一个序列,挖掉中间某几个单词,让模型根据剩下的单词去预测这几个单词,但是些许不同的是,我要预测第i个单词并非使用第i个token的输出来算loss,而是用它前一个token的输出来算loss,也就是i-1.这就是next token。但是我感到奇怪的是,这样不是把模型变成encoder-like 了吗,那模型还能保持原来的性能吗。。
    • unsupervised contrastive learning。即使用了上述两部,模型离embedding模型还差一点,因为模型还是在学word-level的特征,相比encoding模型在next sentence prediction任务上学sentence-level的特征,decoder模型缺乏这样的训练。用的是这样的训练方式,就是在random drop out掉一个句子的一些单词,同一个句子,drop out 两次,forward 两次,得到两个embedding,然后这两个embedding 作为positive sample算相似度,不同句子之间的作为negative sample算相似度。
    • sentence embedding 的获得方式文章做了消融试验,一种是EOS pooling,一种是mean pooling,一种是weighted mean pooling,mean pooling效果比较好。weighted mean pooling用的是GPT sentence embeddings for semantic search这篇文章中的方法,EOS pooling就是直接用最后一个token作为从这个句子提取的embedding。也就是说,如果不特别设计提取embedding的方法,naive的使用EOS的token和对token进行average pooling这两种方法中,average pooling效果更好
相关推荐
handler015 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
寒秋花开曾相惜8 小时前
(学习笔记)4.1 Y86-64指令集体系结构(4.1.4 Y86-64异常&4.1.5 Y86-64程序)
开发语言·jvm·数据结构·笔记·学习
Theodore_10229 小时前
深度学习(15):倾斜数据集 & 精确率-召回率权衡
人工智能·笔记·深度学习·机器学习·知识图谱
不会聊天真君6479 小时前
JavaScript基础语法(Web前端开发笔记第三期)
前端·javascript·笔记
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.9 小时前
Redis主从复制配置全攻略
数据库·redis·笔记
海绵宝宝的月光宝盒10 小时前
2-非金属材料
经验分享·笔记·学习·其他·职场和发展·课程设计·制造
zzh08111 小时前
GluserFS笔记
笔记
三品吉他手会点灯13 小时前
C语言学习笔记 - 9.C概述 - 常见问题答疑
c语言·笔记·学习
传说故事13 小时前
【论文阅读】Being-H0.7: A Latent World-Action Model from Egocentric Videos
论文阅读·人工智能·具身智能
YMWM_13 小时前
论文阅读《Diffusion Policy: Visuomotor Policy Learning via Action Diffusion》
论文阅读·diffusion·policy