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的对比:
相关推荐
大白的编程日记.34 分钟前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql
智泊AI39 分钟前
API是什么?为什么需要API?如何调用API(Python示例)
llm
IMPYLH2 小时前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua
ziwu2 小时前
【宠物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
ziwu3 小时前
海洋生物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
WWZZ20253 小时前
快速上手大模型:深度学习12(目标检测、语义分割、序列模型)
深度学习·算法·目标检测·计算机视觉·机器人·大模型·具身智能
YJlio5 小时前
进程和诊断工具学习笔记(8.29):ListDLLs——一眼看清进程里加载了哪些 DLL,谁在偷偷注入
android·笔记·学习
lkbhua莱克瓦245 小时前
集合进阶8——Stream流
java·开发语言·笔记·github·stream流·学习方法·集合
爱学java的ptt6 小时前
jvm笔记
jvm·笔记
雾岛听蓝6 小时前
C++ 类和对象(一):从概念到实践,吃透类的核心基础
开发语言·c++·经验分享·笔记