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的对比:
相关推荐
骁的小小站1 小时前
Verilator 和 GTKwave联合仿真
开发语言·c++·经验分享·笔记·学习·fpga开发
kkkkk0211061 小时前
软考高级-系统架构设计师案例专题三:系统开发基础
笔记·系统架构
新子y5 小时前
【小白笔记】区分类方法/实例方法和静态函数/命名空间函数
笔记·分类
梁辰兴6 小时前
企业培训笔记:外卖平台后端--套餐管理模块--新建套餐信息
笔记·vue·mybatis·springboot·外卖管理系统
degen_6 小时前
第一次进入 PEICORE 流程
c语言·笔记
YJlio6 小时前
Process Monitor 学习笔记(5.24):工具栏参考与高效快捷键指南
笔记·学习·php
摇滚侠7 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 核心语法 笔记39
spring boot·笔记·后端·thymeleaf
张人玉7 小时前
WPF 常用样式属性及示例笔记
笔记·wpf
没有梦想的咸鱼185-1037-16638 小时前
AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
人工智能·python·深度学习·机器学习·chatgpt·数据分析
周杰伦_Jay8 小时前
【MCP开发部署流程表格分析】MCP架构解析、开发流程、部署方案、安全性分析
人工智能·深度学习·opencv·机器学习·架构·transformer