NV-Embed论文阅读笔记

  • 这是NVIDIA的一篇论文,LLM通常使用的是GPT的decoder范式作为一个生成模型,文章探讨如何利用这样的decoder生成模型来实现BERT这样的encoder的功能,即提取有效的embedding。
  • 现有的方法提取embedding的方式无非是 1 mean pooling; 2 the last token embedding。前者是encoder-like的model用得多,后者是decoder-like的model用得多。然而这两者都有问题。
  • 文章提出的方法是,decoder模型正常是会通过循环的方式生成一段序列嘛,最后一个time step的一层的Q就是 l × d l\times d l×d的, l l l个token每个 d d d维,然后我预定义一个latent array,是 r × d r\times d r×d的,它作为 r r r个token的K和V,用来和Q算attention(实际上做的是多头注意力,这里简单起见按单头注意力讲解),得到 O O O是 l × d l\times d l×d的,再接MLP GELU MLP,再过一个mean pooling,得到最终的embedding。
  • 文章一边说train from scratch,又说用LoRA,就很奇怪。
  • 另外呢,文章把mask去掉了,之前的GPT,每个token做注意力只能看到前面的token,但文章发现直接全都看得到在提取embedding方面效果更好:
  • 文章试验了bidirect attention/causal attention的对比,EOS Mean latent-attention self-attention的对比:
相关推荐
SLY司赖9 分钟前
大模型应用开发之LLM入门
语言模型·chatgpt·llm
俺的图图呢?25 分钟前
Django笔记——CSRF
笔记·django·csrf
BB_CC_DD25 分钟前
四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)
深度学习·算法·聚类
我的golang之路果然有问题35 分钟前
快速了解redis,个人笔记
数据库·经验分享·redis·笔记·学习·缓存·内存
CodeDevMaster1 小时前
browser-use:AI驱动的浏览器自动化工具使用指南
python·llm
无心水1 小时前
【Java面试笔记:基础】8.对比Vector、ArrayList、LinkedList有何区别?
java·笔记·面试·vector·arraylist·linkedlist
卡皮巴拉爱吃小蛋糕1 小时前
MySQL的MVCC【学习笔记】
数据库·笔记·mysql
清流君1 小时前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Blossom.1181 小时前
人工智能在智能家居中的应用与发展
人工智能·深度学习·机器学习·智能家居·vr·虚拟现实·多模态融合
王上上2 小时前
【论文阅读25】-滑坡时间预测-PFTF
论文阅读