浪潮信息“源”Embedding模型登顶MTEB榜单第一名

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

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

一、什么是Embedding模型

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

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

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

二、什么是MTEB榜单

1. MTEB榜单

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

        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:中文社区医疗问答测试;

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

三、源系列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构建训练数据,具体如下:
    1. 利用stella-large-zh-v2模型将测试集中的Corpus向量化,并构建faiss索引;
    2. 对于新生成的每个Query,向量化之后计算与pos之间的相似度;
    3. 检索出相似度低于0.7的top200个样本;
    4. 将pos与top200样本输入rerank模型评分
    5. 选择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.1451.472 ↑

CovidRetrieval

89.39993.163 ↑

DuRetrieval

89.43589.432 ↑

EcomRetrieval

70.49870.875 ↑

MMarcoRetrieval

82.19182.414 ↑

MedicalRetrieval

68.1974.665 ↑

T2Retrieval

85.01385.716 ↑

VideoRetrieval

80.0979.572 ↑
Average76.494578.413 ↑

5. C-MTEB测试

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

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

相似度计算:

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://huggingface.co/IEITYuan/Yuan-embedding-1.0
  • Modelscopehttps://modelscope.cn/models/IEITYuan/Yuan-embedding-1.0/files
  • 始智ai:https://www.wisemodel.cn/models/IEIT-Yuan/Yuan-embedding-1.0/file

四、源系列Embedding模型助力EPAI

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

  • 更高效:
    • 数据处理工具从多样的企业数据中,高效地生成微调数 据和知识库数据,效率提升40%。
    • 微调工具支持千亿参数模型的高效微调。知识检索工具 检索准确率达90%。
    • 支持API、对话式UI的应用交互方式,满足企业系统接 入要求。
  • 更好用:
    • 一站式大模型开发部署平台,EPAI提供先进的生成式AI 开发工具链。
    • EPAI已适配十余种大模型,包括Yuan、Qwen、
    • Llama、GLM等。行业领先大模型的开箱即用。
    • 数据处理、模型微调、检索增强、应用构建等功能可视 化,降低了生成式AI应用的构建门槛。
  • 更低成本的多元多模适配:
    • 内置多元多模的大模型计算框架,降低企业跨算力平台 迁移、多元模型部署适配的成本。
    • EPAI的算力调度管理系统,支持大型数据中心的数千卡 多元算力集群管理。
  • 更安全:
    • EPAI提供企业级数据安全防护,通过权限管理、数据加 密、内容审查等方式,保护企业数据、模型的安全。
    • 构建既能充分利用数据价值,又能保护用户隐私、符合 法规要求的数据安全环境。

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

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

相关文章

catchadmin-webman 宝塔 部署

1:宝塔的php 中删除禁用函数 putenv 问题: 按照文档部署的时候linux(php) vue (本地) 无法访问后端api/login 的接口 。 解决办法: webman 没有配置nginx 反向代理 配置就能正常访问了

【AutoGen 】简介

学习笔记AutoGen。它可以使用多个代理来开发 LLM 应用程序,这些代理可定制、可相互对话,可在各种模式下运行,且无缝允许人的参与,进一步在更大程度上为开发者提供助力。AutoGen 智能应用开发(一)|AutoGen 基础 学习笔记

【月之暗面kimi-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击,存在如下风险: 暴力破解密码,造成用户信息泄露,不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 ,造成用户无法登陆、注册,大量收到垃圾短信的…

统信UOS开发接口DTK

DTK(Development ToolKit)是基于 Qt 开发的简单且实用的通用开发框架。提供丰富的开发接口与支持工具,能有效提升开发效率。 文章目录 一、简介DTK 常见模块介绍概述二、框架创建开发环境准备使用 cmake三、常见模块窗口和对话框一、简介 DTK 常见模块介绍 概述 DTK(Dev…

城市轨道交通数据可视化的应用与优势

通过图扑可视化技术将复杂的数据转化为易于理解的图像,助力交通管理者优化线路规划、提升运营效率和乘客信息服务。轨道交通管理者能够更直观地分析乘客流量、运营效率等关键指标,从而优化线路设计与调度,提高服务质量,为乘客提供…

【JavaEE初阶 — 多线程】生产消费模型 阻塞队列

1. 阻塞队列 (1) 阻塞队列 1. 概念 阻塞队列是一种特殊的队列,也遵守"先进先出"的原则;阻塞队列能是一种线程安全的数据结构,主要用来阻塞队列的插入和获取操作: 当队列满了的时候,插入操作会被…

重构开发之道,Blackbox.AI为技术注入智能新动力

本文目录 一、引言二、Blackbox.AI实战体验2.1 基于网页界面生成前端代码进行应用开发2.2 与AI助手实现实时智能对话2.3 重塑大型文件交互方式2.4 链接Github仓库进行对话编程 三、总结 一、引言 在生产力工具加速进化的浪潮中,Blackbox.AI开始崭露头角&#xff0c…

idea 弹窗 delete remote branch origin/develop-deploy

想删除远程分支,就选delete,仅想删除本地分支,选cancel; 在 IntelliJ IDEA 中遇到弹窗提示删除远程分支 origin/develop-deploy,这通常是在 Git 操作过程中出现的情况,可能是在执行如 git branch -d 或其他…

第四十五章 Vue之Vuex模块化创建(module)

目录 一、引言 二、模块化拆分创建方式 三、模块化拆分完整代码 3.1. index.js 3.2. module1.js 3.3. module2.js 3.4. module3.js 3.5. main.js 3.6. App.vue 3.7. Son1.vue 3.8. Son2.vue 四、访问模块module的state ​五、访问模块中的getters ​六、mutati…

【OpenEuler】配置虚拟ip

OpenEuler系统手动配置虚ip 介绍操作方法临时生效永久生效 验证 介绍 我们知道通过keepalived服务可以为linux服务器设置虚拟ip,但是有些特殊场景下若无法安装部署keepalived服务,则需要通过手动设置的方式,配置服务器的虚拟ip。 本方案提供…

CCI3.0-HQ:用于预训练大型语言模型的高质量大规模中文数据集

摘要 我们介绍了 CCI3.0-HQ,它是中文语料库互联网 3.0(CCI3.0)的一个高质量500GB子集,采用新颖的两阶段混合过滤管道开发,显著提高了数据质量。为了评估其有效性,我们在不同数据集的100B tokens上从头开始…

fastadmin多个表crud连表操作步骤

1、crud命令 php think crud -t xq_user_credential -u 1 -c credential -i voucher_type,nickname,user_id,voucher_url,status,time --forcetrue2、修改控制器controller文件 <?phpnamespace app\admin\controller;use app\common\controller\Backend;/*** 凭证信息…

安装SQL server中python和R

这两个都是编程语言 R 是一种专门为统计计算和数据分析而设计的语言&#xff0c;它具有丰富的统计函数和绘图工具&#xff0c;常用于学术研究、数据分析和统计建模等领域。 Python 是一种通用型编程语言&#xff0c;具有简单易学、语法简洁、功能强大等特点。它在数据科学、机…

项目技术栈-解决方案-web3去中心化

web3去中心化 Web3 DApp区块链:钱包:智能合约:UI:ETH系开发技能树DeFi应用 去中心化金融P2P 去中心化网络参考Web3 DApp 区块链: 以以太坊(Ethereum)为主流,也包括Solana、Aptos等其他非EVM链。 区块链本身是软件,需要运行在一系列节点上,这些节点组成P2P网络或者半…

【linux】centos7 换阿里云源

查看yum配置文件 yum的配置文件通常位于/etc/yum.repos.d/目录下。你可以使用以下命令查看这些文件&#xff1a; ls /etc/yum.repos.d/ # 或者 ll /etc/yum.repos.d/备份当前的yum配置文件 建议备份当前的yum配置文件&#xff1a; sudo cp /etc/yum.repos.d/CentOS-Base.re…

Python 中.title()函数和.lower()函数

一.title()函数 1.title()函数的功能 将字符串中的每一单词的首字母大写 2.举例 S1"i love you" S2S1.title() print(S2)3.输出 二.lower()函数 1.lower()函数的功能 将字符串中的每一大写字母都变成的小写字母 2.举例 S1"I LOVE YOU" S2S1.lower()…

[DEBUG] 服务器 CORS 已经允许所有源,仍然有 304 的跨域问题

背景 今天有一台服务器到期了&#xff0c;准备把后端迁移到另一台服务器上&#xff0c;结果前端在测试的时候&#xff0c;出现了 304 的跨域问题。 调试过程中出现的问题&#xff0c;包括但不限于&#xff1a; set the request’s mode to ‘no-cors’Redirect is not allow…

【AI构思渲染】网络直播——建筑绘图大模型生成渲染图

家人们&#xff01;&#xff01;好消息来了&#xff01;&#xff01; 2024年11月19日&#xff0c;上午10:00-11:00 构力学堂将会给大家带来一场直播课《AI构思渲染第一课&#xff0c;建筑绘图大模型生成渲染图》 课程亮点&#xff1a; 1、AI插件相关介绍 2、AI构思渲染安装…

初级数据结构——栈

目录 前言一、栈的基本概念二、栈的实现方式三、栈的性能分析四、栈的应用场景五、栈的变体六、出栈入栈的动态图解七、代码模版八、总结结语 前言 数据结构栈&#xff08;Stack&#xff09;是一种线性的数据结构&#xff0c;它只允许在序列的一端&#xff08;称为栈顶&#x…

ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决

前言 在现代前端开发中&#xff0c;代码质量与代码风格的统一是两个非常重要的方面。良好的代码质量能减少 bug 的产生&#xff0c;而统一的代码风格则能提高团队协作的效率。为了实现这两个目标&#xff0c;我们通常会使用一些工具。 为了保证代码的可读性和维护性&#xff0…