BGE 系列有两份核心技术报告,分别对应 BGE(v1/v1.5)与 BGE-M3。下面给出可直接阅读或下载的原始 PDF / arXiv 链接,方便你后续对话时引用。

  1. BGE(v1/v1.5)
    标题:C-Pack: Packaged Resources To Advance General Chinese Embedding
    arXiv: https://arxiv.org/abs/2309.07597
    对应模型:bge-large-zh-v1.5、bge-base-zh-v1.5 等

  2. BGE-M3
    标题:BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation
    arXiv: https://arxiv.org/abs/2402.03216
    对应模型:bge-m3(支持 100+ 语言、8192 token 超长输入)

把这两篇论文读完即可覆盖 BGE 系列的全部技术细节,后续讨论可随时引用对应章节。

(基于 arXiv:2402.03216v4 与社区实践)


1 背景与定位

现有文本检索系统普遍面临“语言割裂、功能单一、长度受限”的三重瓶颈:

  • 多语言:除英语外,低资源语言缺乏可用嵌入。
  • 多功能:稠密、稀疏、多向量检索需三套独立模型。
  • 多粒度:主流模型≤512 token,长文档只能分段后聚合,效果衰减明显。

M3-Embedding(简称 BEG-M3)由 BAAI 与 USTC 联合提出,目标是用统一模型同时解决“多语言×多功能×多粒度”检索,单模型即可输出 100+ 语、8 192 token 的稠密、稀疏、多向量三种表示,并可任意组合。


2 模型架构

单塔 XLM-RoBERTa-large(24L/1024H)(图 1)

┌─[CLS]──────────────┐ → norm(H[0]) ──► 稠密向量 1024D
Transformer 最后一层隐状态 H
├─token i────────────┤ → ReLU(W_lex^T H[i]) ──► 词权重 1D (稀疏)
├─token i────────────┤ → norm(W_mul^T H[i]) ──► 多向量 1024D
└─…──────────────┘

  • W_lex ∈ R^{1024×1},W_mul ∈ R^{1024×1024} 可学习
  • 三头共享同一套 H,一次前向同时拿到三种表示

3 支持 8 192 token 的关键步骤

步骤 ① 位置重训
随机初始化 8 K×1024 位置矩阵,用 RetroMAE(MLM+检索目标)在 2 K-8 K 长单语上继续预训练 20 K 步,让模型重新学会长距离依赖。

步骤 ② 大 batch 长样本
长度分层采样 + split-batch + 梯度检查点:8192 token 序列单卡 batch 从 6 → 130,保证对比学习所需的大量负例。

步骤 ③ 8 K 级监督
GPT-3.5 合成 41 k“问题-长文档”对,平均 4 737 token;训练时 50 % 概率打乱段落顺序,防止“首段捷径”。

缺任何一步,MLDR 长文档 nDCG 均掉 15-20 点。


4 训练数据总览

来源 规模 语言 用途
无监督回标 1.2 B 对 194 语 对比预训练
人工标注 1.6 M 对 18 语 微调
合成数据 41 k 对 多语 长文档微调

5 自知识蒸馏

三路得分 s_dense、s_sparse、s_multi 加权集成得到教师信号 s_inter,再用 KL 散度把每一路对齐到 s_inter,缓解多目标冲突。实验 sparse 头提升 17.2 点(36.7→53.9)。


6 推理模式

模式 1 仅稠密
模式 2 仅稀疏(存 {token:weight},兼容 Lucene)
模式 3 仅多向量(ColBERT-like late-interaction)
模式 4 任意融合 s_rank = w1·s_d + w2·s_s + w3·s_m
推荐通用设置:w1=1, w2=0.3, w3=1(已在 18 语验证)。


7 主要评测结果

7.1 同语检索 MIRACL(18 语 nDCG@10)
M3-All 71.5,超最强基线 mE5-large(66.6)4.9 点;低资源语言 km 提升 41.1 点。

7.2 跨语检索 MKQA(25→en Recall@100)
M3-All 75.5,领先 E5-mistral-7b 5.4 点;高棉语 km 提升 34.9 点。

7.3 长文档 MLDR(14 语 8192 token nDCG@10)
M3-All 65.0,领先 E5-mistral-7b 22.4 点;仅稀疏头已达 62.2,超全部对比模型。

7.4 英文长文档 NarrativeQA
M3-All 61.7,超 OpenAI-3-large 10+ 点。


8 应用技巧

  • 长文本免训练增强:MCLS(每 256 token 插 [CLS],平均池化)41.2→45.0。
  • 稀疏剪枝:weight>0.01 才入库,倒排体积 ↓30 %,精度不变。
  • 显存不足:打开 split-batch + 梯度检查点,8192 token 单卡可跑 130 batch。

9 局限与展望

  • 极长文档(>16 K)(法律、医学)尚未验证;后续将引入 Rotary-PI 或 Yarn 继续外推。
  • 低资源语言性能差异仍大,计划通过回译+质量过滤进一步平衡数据。
  • 计划发布“蒸馏小模型”版,3× 提速,边缘设备可跑。

10 结论

BEG-M3 通过“位置重训-大 batch-自蒸馏”三连环,首次实现单模型同时输出 100+ 语、8 K token 的稠密/稀疏/多向量表示,在多国、跨语、长文档三大 benchmark 全面 SOTA,可直接替代现有“多模型+分段”架构,显著降低部署与维护成本。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐