英伟达开源新利器NV-Embed向量模型,基于双向注意力的LLM嵌入模型,MTEB 56项任务排名第一

前言

文本嵌入模型能够将文本信息转化为稠密的向量表示,并在信息检索、语义相似度计算、文本分类等众多自然语言处理任务中发挥着关键作用。近年来,基于解码器的大型语言模型 (LLM) 开始在通用文本嵌入任务中超越传统的 BERT 或 T5 嵌入模型,展现出更强的语义理解能力和更灵活的应用潜力。

  • Huggingface模型下载:https://huggingface.co/nvidia/NV-Embed-v1

  • AI快站模型免费加速下载:https://aifasthub.com/models/nvidia

技术特点

英伟达近期推出了全新开源模型 NV-Embed,旨在提升解码器 LLM 的嵌入能力,使其成为更强大的通用嵌入模型。NV-Embed 结合了独特的架构设计和训练方法,在性能上取得了突破性的进展,主要体现在以下几个方面:

  • 双向注意力: 传统解码器 LLM 为了预测下一个词,采用了因果注意力机制,限制了模型对整个文本的理解能力。NV-Embed 巧妙地移除了因果注意力机制,采用双向注意力机制,使模型能够同时关注文本中的所有词语,从而提升文本表示的质量。

  • 潜在注意力层: 为了更有效地对文本进行池化,获取更具表达力的文本表示,NV-Embed 引入了潜在注意力层。该层通过与可训练的潜在数组进行交叉注意力,对文本序列进行重新编码,并通过多层感知器 (MLP) 进一步优化表示。

  • 两阶段指令微调: 为了使模型在检索和非检索任务 (例如分类、聚类) 上都表现出色,NV-Embed 采用了两阶段指令微调方法。第一阶段,模型在检索数据集上进行对比训练,利用批内负样本和人工筛选的困难负样本进行优化。第二阶段,将精心选择的非检索数据集加入到第一阶段的训练数据中,并关闭批内负样本训练。这种策略不仅提高了非检索任务的准确性,也意外地增强了检索性能。

性能表现

NV-Embed 模型在 MTEB (Massive Text Embedding Benchmark) 上取得了令人瞩目的成绩。该基准包含 56 项任务,涵盖了信息检索、重排序、分类、聚类和语义文本相似度等多种任务。NV-Embed 在这 56 项任务中获得了 69.32 的总分,排名第一,超越了包括 E5-mistral-7b-instruct、SFR-Embedding、Voyage-large-2-instruct 等在内的所有领先模型。值得注意的是,NV-Embed 在 BEIR (Benchmark for Information Retrieval) 基准测试 (包含 MTEB 中的 15 个检索任务) 上也获得了最高分 59.36。

应用场景

NV-Embed 拥有强大的文本嵌入能力,能够在各种自然语言处理任务中发挥作用,例如:

  • 信息检索: 更精准地找到与用户查询相关的文档。

  • 问答系统: 提升问答模型的理解能力,生成更准确的答案。

  • 语义相似度计算: 更精确地判断两个文本之间的语义关系。

  • 文本分类: 将文本准确地分类到相应的类别中。

  • 聚类分析: 将文本按照语义进行分组。

总结

NV-Embed 是一种基于双向注意力的解码器 LLM 嵌入模型,它融合了创新的架构设计和训练方法,在 MTEB 和 BEIR 基准测试中取得了突破性的成绩。NV-Embed 的开源发布,为研究人员和开发者提供了一个强大的文本嵌入工具,推动着文本嵌入模型的进一步发展和应用。

模型下载

Huggingface模型下载

https://huggingface.co/nvidia/NV-Embed-v1

AI快站模型免费加速下载

https://aifasthub.com/models/nvidia

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/340127.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业打款验证API在Java、Python、PHP中的使用教程

随着企业银行账号数量的增加和银行间的连接方式不断丰富,企业在进行资金交易时需要确保所填写的收款方账户信息的准确性和合法性,以避免资金损失和风险。然而,由于银行数量众多、地域分布广泛,不同银行间的账户验证机制和信息交互…

网络编程(八)

网络编程(八) 数据库数据库的分类基于嵌入式的数据库什么是SQLite?为什么使用SQLite?sqlite3数据库的安装 sqlite3中的点命令.open 数据库文件名字.tables [数据库文件名].schema 表名.database.quit.head on.mode column SQLite数据库中的数据类型SQL…

【Linux】Linux环境基础开发工具_4

文章目录 四、Linux环境基础开发工具gcc和g动静态库的理解 make和MakefileLinux小程序---进度条 未完待续 四、Linux环境基础开发工具 gcc和g 动静态库的理解 动态库的优点:比较节省资源,不会出现太多重复代码。 动态库的缺点:对库的依赖性…

C语言 数组——数组的其他应用之筛法求素数

目录 数组的其他应用 求100以内的所有素数 筛法求100以内的所有素数 自顶向下、逐步求精设计算法 数组的其他应用 求100以内的所有素数 筛法求100以内的所有素数 自顶向下、逐步求精设计算法 step 1:设计总体算法  初始化数组a,使a[2]2, a[3]3,..…

算法 java 排序和查找

排序和查找 冒泡排序(稳定)选择排序(不稳定)插入排序(稳定)希尔排序(不稳定)归并排序(稳定)快速排序(不稳定)堆排序计数排序桶排序基数…

C++设计模式——Adapter适配器模式

一,适配器模式简介 适配器模式是一种结构型设计模式,用于将已有接口转换为调用者所期望的另一种接口。 适配器模式让特定的API接口可以适配多种场景。例如,现有一个名为"Reader()"的API接口只能解析txt格式的文件,给这…

【AR开发-开源框架】使用Sceneform-EQR快速开发AR应用,当前接入了AREngine、ORB-SLAM,可快速地适配不同的安卓设备

Sceneform-EQR Sceneform 概览 Sceneform是一个3D框架,具有基于物理的渲染器,针对移动设备进行了优化,使您可以轻松构建增强现实应用程序,而无需OpenGL。 借助 Sceneform,您可以轻松地在 AR 应用和非 AR 应用中渲染…

Caused by: java.rmi.server.ExportException: Port already in use: 1100;解决方案

Caused by: java.rmi.server.ExportException: Port already in use: 1100; 根据端口号找占用程序的进程号 netstat -ano|findstr 1100 最右边那个数字就是进程号 在任务管理器中 详细信息,点击pid即可按照进程号排序,找到相应的进程,判断…

盲盒小程序预售机制的设计与实施

随着盲盒市场的不断发展,预售机制逐渐成为商家吸引用户、提升销售额的重要手段。本文将探讨盲盒小程序预售机制的设计与实施,以帮助商家更好地满足用户需求并优化库存周转率。 一、预售机制设计原则 在设计预售机制时,商家需要遵循以下几个…

基于 vue-element-template 框架添加 tagsview

1. 需求 vue-element-template 是一个基础模板,默认没有 tagsview。所以要手动添加。 参考最全面的集成方案框架 vue-element-admin ,拷贝和修改相关文件到你的项目中。 2. 修改 复制如下文件或文件夹 \src\layout\components\TagsView\src\store\mo…

Docker基础篇之本地镜像发布到阿里云

文章目录 1. 本地镜像发布到阿里云的流程2. 阿里云开发平台3. 将自己的本地镜像推送到阿里云 1. 本地镜像发布到阿里云的流程 阿里云ECS Docker生态如下图所示: 2. 阿里云开发平台 在控制台找到容器和镜像服务: 然后创建一个个人实例: 下面…

号称超级增程电动,领克07EM-P带来技术变革?

近年来,自主品牌在新能源汽车领域百花齐放,尤其是在混合动力市场上,比亚迪的DM-i技术引领了风潮,秦L的一经亮相,整个车圈都沸腾了,“超级混动”的概念深入人心。 各大自主品牌都有了自己的混动平台和技术。…

实战

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 实战一:大乐透号码生成器 使用Random模块模拟大乐透号码生成器。选号规则为:前区在1~35的范围内随机产生不重复的…

大数据—元数据管理

在大数据环境中,元数据管理是确保数据资产有效利用和治理的关键组成部分。元数据是描述数据的数据,它提供了关于数据集的上下文信息,包括数据的来源、格式、结构、关系、质量、处理历史和使用方式等。有效的元数据管理有助于提高数据的可发现…

【Qt】win10,QTableWidget表头下无分隔线的问题

1. 现象 2. 原因 win10系统的UI样式默认是这样的。 3. 解决 - 方法1 //横向表头ui->table->horizontalHeader()->setStyleSheet("QHeaderView::section{""border-top:0px solid #E5E5E5;""border-left:0px solid #E5E5E5;""bord…

【C语言】位段(结构体实现位段)

目录 一、位段的定义 二、位段的声明 三、位段的内存分配 四、位段在内存中的存储方式 五、位段的优点 六、位段的跨平台问题 七、位段的应用 八、位段使用的注意事项 一、位段的定义 信息的存取一般以字节为单位。实际上,有时存储一个信息不必用一个或多个字…

经典获奖案例 | 度小满互联网金融开源软件治理解决方案

近日,广东省粤港澳合作促进会金融专业委员会和粤港澳大湾区金融创新研究院在广州联合举办“2024年粤港澳大湾区数智金融峰会暨第二届金融创新优秀应用案例与解决方案技术成果授牌仪式”。《度小满互联网金融开源软件治理解决方案》从数百个申报项目中脱颖而出&#…

Java面试八股之死锁和饥饿的区别

死锁和饥饿的区别 定义与现象: 死锁(Deadlock)是指两个或多个线程互相等待对方持有的资源而无法继续执行的情况。每个线程至少持有一个资源,并尝试获取另一个由其他线程持有的资源,从而形成一个循环等待的僵局&#…

Python 图书馆管理系统(MySQL数据库) 有GUI界面 【含Python源码 MX_032期】

使用python3,PyQt5,MySQL数据库搭建 主要功能: 用户注册、登录、修改密码、用户管理存储图书信息、采购增加和淘汰删除功能、租借功能实现图书采购、淘汰、租借功能。实现查询图书信息、采购和淘汰、库存、和租借情况实现统计图书的采购、库…

多输入多输出非线性对象的模型预测控制—Matlab实现

本示例展示了如何在 Simulink 中设计多输入多输出对象的闭环模型预测控制。该对象有三个操纵变量和两个测量输出。 一、非线性对象的线性化 运行该示例需要同时安装 Simulink 和 Simulink Control Design。 % 检查是否同时安装了 Simulink 和 Simulink Control Design if ~m…