浪潮信息 Yuan-embedding-1.0 模型登顶MTEB榜单第一名

简介: 浪潮信息Yuan-Embedding-1.0模型在C-MTEB评测基准中荣获Retrieval任务第一名,推动中文语义向量技术发展

在自然语言处理(NLP)和机器学习领域,Embedding模型是将文本数据转换为高维向量表示的核心技术,直接影响NLP任务(如文本分类、情感分析等)的效果,对于提升模型性能和深入理解文本语义具有至关重要的作用。随着大模型(LLMs)技术的迅猛发展,基于检索增强生成(RAG,Retrieval-Augmented Generation)架构的应用日益增多,Embedding模型在RAG流程中扮演着关键角色,决定了私域知识向量化的准确性。

近期,浪潮信息开源了Yuan系列Embedding模型(Yuan-Embedding-1.0),该模型在中文语义向量评测基准——C-MTEB(Chinese Massive Text Embedding Benchmark)的Retrieval任务中荣获第一名,为用户加速基于大模型的智能应用创新提供了有力支持。

image.png

01什么是Embedding模型

Embedding技术的核心在于将高维稀疏数据转化为低维稠密向量,从而有效地捕捉数据中的语义和特征关系。Embedding模型(嵌入模型)是一种将词语或句子转化为数字向量的技术,它将高维、离散的输入数据(如文本、图像、声音等)映射为低维、连续的向量表示。这些向量不仅能揭示单词或短语之间的复杂关系,还能捕捉深层的语义信息,使计算机能够进行数学运算,例如比较词语的相似性或分析句子的含义。借助Embedding模型,文本信息得以以更加结构化、可操作的形式进行处理。

image.png

当文本信息被转换为向量后,这些向量可以为多种后续任务提供强大支持,包括:

  • 搜索:向量化使得搜索引擎能够根据查询与文档之间的向量相似度进行排序,从而优先展示最相关的结果。
  • 聚类:在文本聚类任务中,向量化帮助衡量文本间的相似性,从而将相似的文本归为一类或簇。
  • 推荐:向量化可用于构建用户和项目的特征表示,推荐系统通过计算用户与项目之间的向量相似度,根据用户的历史行为或偏好推荐相关的项目。
  • 异常检测:在异常检测任务中,向量化将文本数据映射到向量空间,通过计算文本向量与正常数据的相似度或距离,识别出与常规行为不同的异常数据。
  • 多样性测量:通过分析文本数据在向量空间中的分布情况,向量化可以用来评估数据集的多样性。
  • 分类:通过将文本数据转化为数值向量,向量化使得分类算法能够根据文本向量与不同类别的相似度,将文本准确地归入最匹配的类别或标签。

02什么是MTEB榜单

1、MTEB榜单

MTEB(Massive Text Embedding Benchmark)是衡量文本嵌入模型(Embedding模型)的评估指标的合集,是目前业内评测文本向量模型性能的重要参考。

image.png

MTEB的目的是为了评估向量模型在不同向量任务上的表现,希望作为寻找适用于不同任务的通用文本向量的入口,评测任务包括涵盖112种语言的58个数据集。

2、C-MTEB榜单

C-MTEB(Chinese Massive Text Embedding Benchmark)榜单是专门用来评估中文Embedding模型的多任务混合评测榜单,具体包含了Classification、Clustering、Pair Classification、Reranking、Retrieval、STS六种任务类型,共35个公开数据集。其中,Retrieval作为检索场景下最常用、最重要的测试任务,被广泛应用与大模型应用的落地场景,Retrieval任务包括查询语句和语料库,对于每个查询,从语料库中查询最相似的top-k个文档,使用BEIR相同的设置,nDCG@10是主要指标。

Retrieval是C-MTEB中的一个任务方向,共包含8个中文文本数据集,涉及了医疗、政策、电商、娱乐等各个方面。数据集主要有三部分组成:query、corpus、dev,其中query为中文问题,corpus为中文文档,包括了query的回答,该任务主要就是从海量corpus中检索出与query最为相关的内容。

Retrieval任务的8个子任务简介如下:

  • Ecom:中文电商领域检索任务;
  • Medical:中文医疗领域检索任务;
  • Covid:中文政策文件类检索任务;
  • Video:中文娱乐视频领域检索任务;
  • T2:来源于搜索引擎的段落排序中文基准测试;
  • Dureader:来源于百度搜索引擎的段落检索任务;
  • Mmarco:中文微软问答文摘检索测试;
  • Cmedqa2:中文社区医疗问答测试;

考虑到公平性,在使用上述开源训练集进行训练时,已对其中包含的部分测试集进行了筛选和清洗,保证最终模型测试结果的准确性和真实性。

03源系列Embedding模型

Yuan-embedding-1.0 是专为增强中文文本检索能力而设计的嵌入模型,使用2阶段微调进行对比任务学习。首先,Yuan-embedding-1.0模型使用涵盖各个领域的大量对比学习数据进行训练,数据主要来在Yuan2.0所用的问答数据,在第二阶段,使用清洗后的开源及合成数据对检索任务进行增强;最终在 C-MTEB 榜单Retrieval任务重排名第一,检索评测性能为78.41。

1、模型结构

Yuan-embedding-1.0模型结构如下:

  • 采用bert-large模型作为基础模型,模型参数量为326M,使用FC Layer将输出维度从1024扩展到1792。Yuan-embedding-1.0的最大输入长度为 512 个 token,使用模型最后一层输出所有token的平均值作为Embedding向量;
  • 使用多尺度表征学习(Matryoshka Representation Learning, MRL)技术来实现灵活的输出维度长度,提升模型表征性能和鲁棒性,表示维度配置为256、 512、 768、1024、1536 和 1792

2、训练数据构建

在构建数据集时,我们采用了对比学习的方法,创建了包含中文问题(query)、正确回答(positive response)和与问题意思相近但不正确的回答(negative response)的训练样本。这个过程的核心在于挖掘难以区分的负样本,即那些与正确回答相似但不相关的回答。我们通过两个阶段的微调来实现这一目标:第一阶段使用大规模的对比学习数据集,通过生成相似问题并筛选出低相似度的问题来构建负样本;第二阶段则基于C-MTEB训练数据,利用Yuan2.0-M32重写问题和答案,并通过向量化和索引技术来提取难负样本。最终,我们通过评估模型来选择那些得分低于正确回答的样本作为负样本,以此来提高模型的区分能力。

3、模型微调

Yuan-embedding-1.0模型的微调采用了最大排名损失(MRL)方法,并支持多种向量维度。在微调过程中,我们特别关注批量大小和负样本数量的选择,因为这些参数对模型的训练效果有显著影响。我们通过实验确定了最佳的参数设置,以确保模型性能。正负样本的选择策略也经过了消融实验的验证,以确保模型能够从标注的正样本和随机选择的负样本中学习。此外,为了克服显存限制和提高计算资源的利用率,我们还应用了梯度检查点技术,这允许我们在有限的内存资源下训练更大的模型。

4、实验结果

使用Yuan2.0-M32 模型对Retrieval各子任务进行强化,通过输入Corpus生成相关Query以提高数据质量和扩充数据集;LLM生成的Query与输入的Corpus相关性很高,Corpus中也可以找到Query的答案,但是Corpus能回答的问题可能不止一个,因此,对于较长的Corpus进行切分,分别输入到LLM中进行Query生成。生成相关数据后,具体的筛选过程如下:

  1. Query全部生成之后,删除Corpus与Query相似度低于0.7的数据
  2. 其余text作为新的Query构建训练数据,具体如下:
  3. 利用stella-large-zh-v2模型将测试集中的Corpus向量化,并构建faiss索引;
  4. 对于新生成的每个Query,向量化之后计算与pos之间的相似度;
  5. 检索出相似度低于0.7的top200个样本;
  6. 将pos与top200样本输入rerank模型评分
  7. 选择rerank得分低于pos的样本作为负样本;

在Query生成过程中,可以进行定期采样与评估,并通过调整LLM生成的筛选预置,达到高质量数据生成的要求,具体过程如下:

  1. 构造prompt,输入到LLM生成text;
  2. 将Query与text向量化,计算Query与text之间的相似度,并且将(Query, text)输入到rerank模型bge-reranker-large进行评分;
  3. 如果相似度低于0.75或者rerank得分低于0.9,返回第一步重新生成;
  4. 所有的Query生成完成之后,构建训练数据,方法同上;

以Retrieval中MedicalRetrieval任务的测试结果为例:

Retrieval子任务

Base Model

LLM生成方法

CmedqaRetrieval

47.14

51.472 ↑

CovidRetrieval

89.399

93.163 ↑

DuRetrieval

89.435

89.432 ↑

EcomRetrieval

70.498

70.875 ↑

MMarcoRetrieval

82.191

82.414 ↑

MedicalRetrieval

68.19

74.665 ↑

T2Retrieval

85.013

85.716 ↑

VideoRetrieval

80.09

79.572 ↑

Average

76.4945

78.413 ↑

5、C-MTEB测试

Yuan-Embedding-1.0模型在中文语义向量评测基准——C-MTEB(Chinese Massive Text Embedding Benchmark)的Retrieval任务中荣获第一名,在多个子任务和总成绩上均处于领先地位,可以为用户提供更为高效、精准的检索能力。

  • Yuan-Embedding-1.0的使用方法:
```bash
pip install -U sentence-transformers
```

相似度计算:

```python
from sentence_transformers import SentenceTransformer
sentences_1 = ["样例数据-1", "样例数据-2"]
sentences_2 = ["样例数据-3", "样例数据-4"]
model = SentenceTransformer('lier007/xiaobu-embedding-v2')
embeddings_1 = model.encode(sentences_1, normalize_embeddings=True)
embeddings_2 = model.encode(sentences_2, normalize_embeddings=True)
similarity = embeddings_1 @ embeddings_2.T
print(similarity)
```

Yuan-Embedding-1.0下载链接:

https://modelscope.cn/models/IEITYuan/Yuan-embedding-1.0/files

04源系列Embedding模型助力EPAI

浪潮信息-企业大模型开发平台“元脑企智”EPAI(Enterprise Platform of AI),面向企业大模型应用开发,提供了全链路、高可用的系列能力工具,能够帮助企业有效降低大模型应用门槛,帮助伙伴提升模型开发效能,打造智能生产力。EPAI平台现已支持Yuan-Embedding-1.0模型的选择,结合EPAI自研多阶段检索增强生成(RAG)技术,通过本地化检索基础知识+行业知识+企业知识,能弥补微调大模型知识更新不及时的问题,确保专业场景下大模型生成内容的准确性和可靠性。

image.png

更高效:

  • 数据处理工具从多样的企业数据中,高效地生成微调数 据和知识库数据,效率提升40%。
  • 微调工具支持千亿参数模型的高效微调。知识检索工具 检索准确率达90%。
  • 支持API、对话式UI的应用交互方式,满足企业系统接 入要求。

更好用:

  • 一站式大模型开发部署平台,EPAI提供先进的生成式AI 开发工具链。
  • EPAI已适配十余种大模型,包括Yuan、Qwen、
  • Llama、GLM等。行业领先大模型的开箱即用。
  • 数据处理、模型微调、检索增强、应用构建等功能可视 化,降低了生成式AI应用的构建门槛。

更低成本的多元多模适配:

  • 内置多元多模的大模型计算框架,降低企业跨算力平台 迁移、多元模型部署适配的成本。
  • EPAI的算力调度管理系统,支持大型数据中心的数千卡 多元算力集群管理。

更安全:

  • EPAI提供企业级数据安全防护,通过权限管理、数据加 密、内容审查等方式,保护企业数据、模型的安全。
  • 构建既能充分利用数据价值,又能保护用户隐私、符合 法规要求的数据安全环境。

点击链接跳转:https://modelscope.cn/models/IEITYuan/Yuan-embedding-1.0/files/?from=alizishequ__text

相关文章
|
7天前
|
Linux iOS开发 异构计算
Ollama完成本地模型的运行
# Ollama完成本地模型的运行
65 5
Ollama完成本地模型的运行
|
6月前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。
60 3
|
6天前
|
搜索推荐 Java 数据库
打造个性化安卓启动器:从概念到实现##
【10月更文挑战第40天】 在数字时代,智能手机不仅是通讯工具,更是个性展示的窗口。本文将带你了解如何打造一个独一无二的安卓启动器,让你的手机界面与众不同,并提升你的开发技能。 ##
41 18
|
3天前
|
存储 人工智能 数据库
通义灵码与云计算平台的融合:基础与概述
在数字化时代,云计算已成为企业和开发者构建应用的核心基石,其高可用性、可扩展性和成本效益等优势重塑了IT架构。通义灵码作为先进的人工智能代码生成工具,能将自然语言转换为高质量代码,大幅提高开发效率。本文将探讨通义灵码与云计算平台的融合,开启开发新纪元。
通义灵码与云计算平台的融合:基础与概述
|
3天前
|
人工智能 安全 JavaScript
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
Open Interpreter 是一个让语言模型运行代码的强大工具,提供了一个类似 ChatGPT 的界面,支持多种编程语言和丰富的功能。
45 7
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
|
3天前
|
存储 NoSQL Linux
《探秘程序崩溃:核心转储(Core Dump)分析全攻略》
在软件开发中,程序崩溃如同暴风雨,核心转储(Core Dump)则是这场风暴后的“事故现场记录”。它保存了程序崩溃时的内存状态和寄存器信息,为开发者提供了关键线索,帮助快速定位问题根源,节省调试时间。通过设置如Linux的`ulimit -c unlimited`或Windows的WinDbg,可生成核心转储文件,并利用GDB等工具分析调用栈和内存信息,结合源代码,揭示崩溃原因,提升软件稳定性。
|
10天前
|
API
车牌号归属地查询免费API接口教程
本接口用于根据车牌号查询社会车辆的归属地,不支持军车、使馆等特殊车牌。请求地址为 `https://cn.apihz.cn/api/other/chepai.php`,支持 POST 和 GET 请求。请求参数包括 `id`、`key` 和 `words`,返回数据包含车牌归属地信息。示例请求:`https://cn.apihz.cn/api/other/chepai.php?id=88888888&key=88888888&words=川B1234`。
45 21
|
5天前
|
Perl
perl之print,printf,sprintf使用案例详解
perl之print,printf,sprintf使用案例详解
|
5天前
|
监控 Java Android开发
深入探讨Android系统的内存管理机制
本文将深入分析Android系统的内存管理机制,包括其内存分配、回收策略以及常见的内存泄漏问题。通过对这些方面的详细讨论,读者可以更好地理解Android系统如何高效地管理内存资源,从而提高应用程序的性能和稳定性。
35 16
|
6天前
|
SQL 安全 网络安全
Web应用防火墙(WAF)与数据库应用防火墙有什么区别?
Web应用防火墙(WAF)与数据库应用防火墙有什么区别?
40 16
下一篇
无影云桌面