【论文解读】《C-Pack: Packed Resources For General Chinese Embeddings》

论文链接:https://arxiv.org/pdf/2309.07597

本论文旨在构建一套通用中文文本嵌入的完整资源包——C-Pack,解决当前中文文本嵌入研究中数据、模型、训练策略与评测基准缺失的问题。论文主要贡献体现在以下几个方面:

  • 大规模训练数据(C-MTP)
  • 统一的评测基准(C-MTEB)
  • 多尺度中文嵌入模型(BGE)
  • 完整的训练方案

下面逐节对论文内容进行详细解读。


1. 摘要

  • 资源组成
    论文介绍了 C-Pack 这一资源包,它包含三大关键资源:

    1. C-MTP:一个大规模的训练数据集,用于文本嵌入模型的学习,其中既包含从海量无标签语料中抽取的文本对,也整合了高质量标注数据;
    2. C-MTEB:一个专门为中文文本嵌入设计的评测基准,覆盖 6 种任务和 35 个数据集,能全面评估嵌入模型的各项能力;
    3. BGE:一系列预训练的中文嵌入模型,提供小型、基础和大型三个版本,用户可根据计算资源与任务需求进行选择。
  • 性能提升与扩展
    BGE 模型在 C-MTEB 上的整体表现比此前中文嵌入模型提升了超过 10%,此外,论文还同步发布了英文文本嵌入的训练数据和模型,其英文数据量甚至是中文数据的两倍。


2. 引言

  • 文本嵌入的重要性
    文本嵌入技术通过将文本映射到低维语义向量空间,成为搜索、问答、检索增强生成等多种任务的基础。随着大语言模型(LLMs)的快速发展,文本嵌入在连接外部知识库和工具模块方面扮演着至关重要的角色。

  • 通用嵌入 vs. 任务特定嵌入
    与仅针对某一任务优化的嵌入方法不同,通用文本嵌入要求模型具备足够的泛化能力,能够应对检索、排序、分类等多种应用场景。这对训练数据的规模、数据的多样性、清洗质量以及训练策略提出了更高要求。

  • 当前挑战与动因
    尽管近年来英文领域在此方向上取得了不少成果(如 Contriever、E5、GTR、OpenAI Text Embedding 等),但中文领域由于数据和基准缺失,仍面临严重制约。因此,构建适用于中文场景的通用嵌入系统尤为重要。


3. C-Pack 框架

论文的核心贡献是搭建了一个由数据、模型、评测以及训练方案构成的完整系统,下文详细介绍各个组成部分。
在这里插入图片描述

3.1 C-MTEB:中文文本嵌入评测基准

  • 数据集构成
    C-MTEB 汇集了 35 个公开数据集,并根据文本嵌入模型的能力分为 6 大任务:

    • 检索(Retrieval):
      给定查询,在大规模文档库中找出最相关文档。主要评测指标为 NDCG@10。
    • 重排序(Re-ranking):
      针对候选文档(通常包含一个正样本和多个负样本)进行排序,主要指标为 MAP(平均精度)。
    • 语义文本相似度(STS):
      测量两个句子的语义相似性,采用 Spearman 相关系数作为指标。
    • 分类(Classification):
      使用逻辑回归等方法对文本进行分类,评测指标为平均准确率。
    • 句对分类(Pair Classification):
      针对句子对之间的二元关系进行分类,同样以平均准确率为评测指标。
    • 聚类(Clustering):
      采用 mini-batch k-means 聚类方法,通过 V-measure 分数来评估聚类质量。
  • 统一评测流程
    论文中构建了标准化评测协议和自动化评测管道,使得不同嵌入模型能在统一标准下进行公平对比,并且评测结果可直接提交至 C-MTEB 排行榜。

3.2 C-MTP:大规模中文文本对训练数据

  • 数据规模与来源
    C-MTP 包含两大部分:

    • 无标签部分(C-MTP unlabeled):
      主要从开放网页(如百度百科、知乎、新闻网站等)中提取,构成 1 亿对文本对。这些文本对通过从标题-正文、问题-答案、摘要-全文等多种结构中抽取。
    • 有标签部分(C-MTP labeled):
      整合了来自 T2-Ranking、DuReader、mMARCO、NLI 等数据集,总计约 83.8 万对文本对,具备较高标注质量。
  • 数据清洗策略
    由于直接从海量数据中抽取的文本对可能存在噪声,论文采用了两步清洗:

    1. 一般过滤: 去除非文本、重复或恶意内容。
    2. 语义过滤: 利用第三方模型 Text2Vec-Chinese 对每对文本计算语义相关性分数,并设定阈值(0.43)筛除相关性不足的样本。

3.3 BGE:BAAI 通用嵌入模型

  • 模型架构与规模
    BGE 模型基于 BERT 类架构,并经过三阶段训练:

    1. 预训练;
    2. 对比学习;
    3. 任务特定微调。
      提供三种模型规模:
    • Small: 参数量 24M,适用于高吞吐量场景;
    • Base: 参数量 102M,性能与效率兼顾;
    • Large: 参数量 326M,在多个任务上表现最佳。
  • 优势
    实验表明,无论在检索、语义相似度还是分类等任务上,BGE 模型均大幅超越现有中文嵌入模型。此外,BGE 模型不仅可以直接用于下游应用,也为进一步任务特定的微调提供了坚实基础。

3.4 训练方案

训练方案分为三个阶段,每个阶段均针对提升文本嵌入的泛化能力设计。

3.4.1 预训练
  • 目标与方法
    在大规模未标注的文本数据上,使用自编码思想训练嵌入编码器。论文借鉴了 RetroMAE 的 MAE 风格预训练方法。其预训练目标如下:

    min ⁡ ∑ x ∈ X − log ⁡ D e c ( x ∣ e ( x ~ ) ) , e ( x ~ ) ← E n c ( x ~ ) \min \sum_{x \in X} -\log \mathrm{Dec}(x | e(\tilde{x})), \quad e(\tilde{x}) \leftarrow \mathrm{Enc}(\tilde{x}) minxXlogDec(xe(x~)),e(x~)Enc(x~)

    其中, X X X 表示干净文本集合, x ~ \tilde{x} x~ 为经过噪声处理的文本; E n c \mathrm{Enc} Enc D e c \mathrm{Dec} Dec 分别为编码器和解码器。

3.4.2 对比学习
  • 目的
    利用从 C-MTP 无标签数据中获得的文本对,通过对比学习提升模型的辨识能力,使得正样本对的嵌入更为接近,而与负样本的距离更远。

  • 损失函数
    对比学习采用 in-batch 负样本,损失函数形式为:

    min ⁡ ∑ ( p , q ) − log ⁡ e ⟨ e p , e q ⟩ / τ e ⟨ e p , e q ⟩ / τ + ∑ q ′ ∈ Q ′ e ⟨ e p , e q ′ ⟩ / τ \min \sum_{(p,q)} -\log \frac{e^{\langle e_p, e_q \rangle/\tau}}{e^{\langle e_p, e_q \rangle/\tau} + \sum_{q' \in Q'} e^{\langle e_p, e_{q'} \rangle/\tau}} min(p,q)logeep,eq/τ+qQeep,eq/τeep,eq/τ

    其中, ( p , q ) (p,q) (p,q) 为正样本对, q ′ q' q 表示负样本, τ \tau τ 为温度超参数, ⟨ ⋅ , ⋅ ⟩ \langle \cdot,\cdot \rangle , 表示向量内积。

  • 批次策略
    论文通过梯度检查点和跨设备嵌入共享等技术,实现了高达 19,200 的大批次规模,从而充分利用 in-batch 负样本,尤其对检索任务效果显著。

3.4.3 任务特定微调
  • 数据与目标
    使用 C-MTP 的有标签数据进行微调,以使模型在具体任务(如检索、分类、句对判断等)上获得更好的表现。

  • 策略

    1. 指令微调(Instruction-based Fine-tuning):
      为每个文本对附加一个任务指令 I t I_t It(例如“为查询搜索相关段落”),将输入由 ( p , q ) (p, q) (p,q) 转换为 q ′ = q + I t q' = q + I_t q=q+It,以帮助模型区分不同任务需求。
    2. 硬负样本采样:
      除了 in-batch 的负样本,还从任务原始语料中采样一个硬负样本,以进一步增强模型区分能力。

4. 实验与分析

论文通过大量实验验证了 C-Pack 的有效性,主要分为总体评估和详细消融分析两部分。

4.1 总体评估

在这里插入图片描述

  • 评测设置
    在 C-MTEB 基准上,论文评测了检索、STS、句对分类、分类、重排序和聚类等多个任务,并计算了各任务的平均性能作为整体指标。

  • 对比模型
    实验对比了 Text2Vec、Luotuo、M3E、多语种 E5 以及 OpenAI-Ada-002 等多种现有中文文本嵌入模型。

  • 主要发现

    • 显著超越: BGE 模型在各项任务上均取得了明显提升,特别是在检索和语义相似度任务上优势突出。
    • 模型规模效应: 随着模型规模从 Small、Base 到 Large,整体性能呈现一致上升趋势。
    • 跨语言扩展: 基于相同训练策略训练的英文嵌入模型在 MTEB 英文基准上也实现了最先进水平。

4.2 详细消融分析

在这里插入图片描述

  • 训练数据的影响

    • C-MTP (unlabeled): 单独使用无标签数据训练得到的中间模型(BGE-pretrain)在检索任务上就能明显超越其他基线模型;
    • C-MTP (labeled): 通过在 BGE-pretrain 基础上进行有标签数据微调(BGE-finetune),整体平均性能从 59.0 提升到 63.96,尤其在检索、重排序、STS 和句对分类任务上效果尤为显著。
  • 批次大小对比学习的作用
    实验表明,增大批次大小(如从 256 到 19,200)能够稳定提升模型性能,主要原因在于更多的 in-batch 负样本使得嵌入向量具有更强的判别能力,尤其适用于大规模检索任务。

  • 指令微调的效果
    消融实验显示,若去除任务指令(即不采用 instruction-based 微调),模型在多任务上的表现会有所下降,证明任务指令在帮助模型适应不同任务中的关键作用。

  • 预训练编码器的选择
    实验还验证了专门预训练的文本编码器相较于通用预训练模型(如 Chinese-RoBERTa)的优势,特别在检索性能上,专用预训练的编码器能提供更优的语义表示。


5. 结论与贡献

  • 资源开放性:
    论文公开了最大规模的中文文本嵌入训练数据、统一的评测基准以及多尺度的 BGE 嵌入模型,为研究人员和应用开发者提供了一站式解决方案。

  • 技术创新:
    通过集成预训练、对比学习和任务特定微调的全链路训练方案,BGE 模型在多项任务上取得了显著性能提升,证明了大规模数据与精心设计训练策略在提升文本嵌入泛化能力方面的有效性。

  • 应用前景:
    除了直接支持搜索、问答、聚类等应用外,BGE 模型还可以作为下游任务微调的基础,从而推动中文自然语言处理各个方向的进步。


总的来说,本论文通过构建一整套从数据到评测再到模型训练的闭环体系,显著推动了中文文本嵌入领域的发展。C-Pack 不仅为当前研究提供了重要资源,也为后续方法的改进和应用落地奠定了坚实基础。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ARM 处理器平台 eMMC Flash 存储磨损测试示例

By Toradex秦海 1). 简介 目前工业嵌入式 ARM 平台最常用的存储器件就是 eMMC Nand Flash 存储,而由于工业设备一般生命周期都比较长,eMMC 存储器件的磨损寿命对于整个设备来说至关重要,因此本文就基于 NXP i.MX8M Mini ARM 处理器平台演示…

html中的元素(2)

在用块级元素完成网页的组织和布局以后&#xff0c;要为其中的每一个小区块添加内容&#xff0c;就需要用到行内元素&#xff1a; 1.字体样式元素 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>HTML5 保留的文本格式元…

代码随想录二刷|动态规划12

dp动态规划 动态规划五步曲 动态规划数组的含义 dp[i] 递推公式 动态规划数组的初始化 确定遍历顺序 手动模拟验证 动态规划遇到问题要打印dp数组&#xff0c;看和模拟结果哪里不一样 一 基础问题 斐波那契数 题干 斐波那契数 &#xff08;通常用 F(n) 表示&#xf…

linux 系统 安装禅道教程

禅道&#xff08;ZenTao&#xff09;是一款开源的项目管理软件&#xff0c;特别适用于敏捷开发和团队协作。它集成了需求管理、任务管理、缺陷管理、版本管理、文档管理等功能&#xff0c;旨在帮助团队更高效地管理项目&#xff0c;提升工作协同和开发效率。 禅道的主要特点&a…

CineMaster: 用于电影文本到视频生成的 3D 感知且可控的框架。

CineMaster是一种 3D 感知且可控的文本到视频生成方法允许用户在 3D 空间中联合操纵物体和相机&#xff0c;以创作高质量的电影视频。 相关链接 论文&#xff1a;cinemaster-dev.github.io 论文介绍 CineMaster是一种用于 3D 感知和可控文本到视频生成的新型框架。目标是让用…

Linux红帽:RHCSA认证知识讲解(四)修改远程配置文件,取消root禁用,便于使用root身份远程

Linux红帽&#xff1a;RHCSA认证知识讲解&#xff08;四&#xff09;修改远程配置文件&#xff0c;取消root禁用&#xff0c;便于使用root身份远程 前言一、远程连接的用途和原因二、通过 ssh 远程登陆系统三、默认限制及解决方案&#xff08;一&#xff09;非常规方法一&#…

OpenEuler学习笔记(三十五):搭建代码托管服务器

以下是主流的代码托管软件分类及推荐&#xff0c;涵盖自托管和云端方案&#xff0c;您可根据团队规模、功能需求及资源情况选择&#xff1a; 一、自托管代码托管平台&#xff08;可私有部署&#xff09; 1. GitLab 简介: 功能全面的 DevOps 平台&#xff0c;支持代码托管、C…

Rk3568驱动开发_点亮led灯(手动挡)_5

1.MMU简介 完成虚拟空间到物理空间的映射 内存保护设立存储器的访问权限&#xff0c;设置虚拟存储空间的缓冲特性 stm32点灯可以直接操作寄存器&#xff0c;但是linux点灯不能直接访问寄存器&#xff0c;linux会使能mmu linux中操作的都是虚拟地址&#xff0c;要想访问物理地…

免费使用 DeepSeek API 教程及资源汇总

免费使用 DeepSeek API 教程及资源汇总 一、DeepSeek API 资源汇总1.1 火山引擎1.2 百度千帆1.3 阿里百炼1.4 腾讯云 二、其他平台2.1 华为云2.2 硅基流动 三、总结 DeepSeek-R1 作为 2025 年初发布的推理大模型&#xff0c;凭借其卓越的逻辑推理能力和成本优势&#xff0c;迅速…

QML Text部件的使用

一个简单的Text代码 Text {id: txttext: qsTr("文本123abc\n数量的")color: "blue" } 效果&#xff1a; Text一般用于显示文本&#xff0c;例如可以给Button或者Rectangle等部件提供文本的显示&#xff1b; 1.文本常用 contentWidth 文本的宽度…

《Android-RecyclerView实现封面滑动到指定位置放大》---ViewPager封面指示器

一、实现效果 二、关键代码 1、自定义:LinearLayoutManager 指定位置放大item import android.content.Context; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup;import androidx.recyclerview.widget.LinearLayoutManager;…

【Bug】natten:安装报错(临近注意力机制的高效cuda内核实现)

正常安装natten报错 pip install natten 报错 可以尝试使用以下网站进行安装 https://shi-labs.com/natten/ 可以根据自己的cuda与pytorch版本进行安装 之间复制命令即可&#xff0c;不需要进行任何修改

智能合约安全 | 合约无效化攻击

目录&#xff1a; 智能合约安全 合约无效化攻击 合约自毁函数 selfdestruct 攻击实现 漏洞防御 总结 智能合约安全 合约无效化攻击 合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个…

Linux:(3)

一&#xff1a;Linux和Linux互传&#xff08;压缩包&#xff09; scp:Linux scp 命令用于 Linux 之间复制文件和目录。 scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的&#xff0c;rcp 是不加密的&#xff0c;scp 是…

qt-C++笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试

qt-C笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试 code review! 文章目录 qt-C笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试1.Application(Qt):Qt Widgets Application1.1.qmake版本1.2.cmake版本 2.Application(Qt):Qt Console Applicati…

学习threejs,Materials常量汇总

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️Materials常量汇总1.1.1 面…

SOC-ATF 安全启动BL1流程分析(1)

一、ATF 源码下载链接 1. ARM Trusted Firmware (ATF) 官方 GitHub 仓库 GitHub 地址: https://github.com/ARM-software/arm-trusted-firmware 这是 ATF 的官方源码仓库&#xff0c;包含最新的代码、文档和示例。 下载方式&#xff1a; 使用 Git 克隆仓库&#xff1a; git…

AI如何改变传统工厂的生产模式?

随着第四次工业革命的浪潮席卷全球&#xff0c;制造业的数字化转型成为企业在竞争中脱颖而出的关键。过去&#xff0c;传统制造业往往依赖于大量的人工操作和低效率的管理流程&#xff0c;而如今&#xff0c;智能化、自动化、数据化已经成为未来制造业的必由之路。从车间到云端…

Deepseek开源周第三天:DeepGEMM发布

Deepseek开源周第三天&#xff1a;DeepGEMM发布 前言 上周deepseek宣布&#xff0c;将在本周陆续发布五个开源项目&#xff0c;这些库已经在生产环境中经过了记录、部署和实战测试。 今天是deepseek开源周的第三天&#xff0c;deepseek发布了一个名为 DeepGEMM 的项目&#x…

【组态PLC】基于三菱西门子S7-200PLC和组态王液料混合系统组态设计【含PLC组态源码 M016期】

控制要求 总体控制要求&#xff1a;如面板图所示&#xff0c;本装置为三种液体混合模拟装置&#xff0c;由液面传感器SL1、SL2、SL3&#xff0c;液体A、B、C阀门与混合液阀门由电磁阀YV1、YV2、YV3、YV4&#xff0c;搅匀电机M&#xff0c;加热器H&#xff0c;温度传感器T组成。…