徐慧志的个人博客

2025-06-13 论文阅读BGE-M3

发布于 2025年06月13日  •  2 分钟  • 312 字
Table of contents

论文地址:https://arxiv.org/abs/2402.03216

M3的意思是 Multi-Linguality, Multi-Functionality和Multi-Granularity

(图来源于论文)

Contribution

  1. 实现了自知识蒸馏,将来自不同检索功能的相关性分数集成到教师信号,从而提高训练质量。
  2. 优化了批处理策略,实现较大的批处理大小和高训练吞吐量,以提高Embedding的区分能力。
  3. 用data curation来得到高质量的数据

细节

不同的向量检索方法

Dataset sources

Self-Knowledge Distillation

InfoNCE loss 的目标是最大化正样本对的相似度,同时最小化负样本对的相似度。

InfoNCE loss的计算

$$Loss= -log \frac{ \exp(sim(x_i,x_i^+)/\tau) }{\sum_{j=1}^K \exp(sim(x_i, x_i^{-j})/\tau) }$$

假设我们有一个数据集,其中每个样本 xi 有一个对应的正样本 $$x_i^+$$ 和多个负样本 $$x_i^{-1}, x_i^{-2}, …, x_i^{-K} $$。

对于每个样本 $$x_i$$,我们希望其与正样本 $$x_i^+ $$的相似度尽可能高。

$$x_i$$与所有负样本的相似度尽可能低。多目标训练时多个目标会产生冲突,所以本文提出了self-knowledge distillation。

用了Ensemble Learning 的的概念: $$L = (\lambda_1 L_{dense} + \lambda_2 L_{lex} + \lambda_3 L_{mul} + L_{inter})/4$$

Training Process

  1. XLM-RoBERTa is pre-trained with unsupervised data
  2. Self-Knowledge Distillation, three retrieval functionalities is fine-tuned with supervised data
  3. Synthesized data especially hard negative samples

Batching 批处理策略

Batchsize 必须很大,才能保证差异性。在有限的GPU资源的情况下,通常的做法是把输入数据切割成小序列来进行实验。但是M3-Embedding需要同时处理长文本和短序列。

优化策略

实验

Multi-Lingual Retrieval

Cross-Lingual Retrieval

Multilingual Long-Doc Retrieval

Ablation study 消融实验

消融实验通过有选择地移除或修改系统中的某些部分,来观察这些变化对整体性能的影响。(消融实验是针对创新点的对照实验,通过对比来表明创新点的有效性)

术语和概念

Dense Retrieval(密集检索)

参考文献:Karpukhin et al., 2020;Xiong et al., 2020; Nee-lakantan et al., 2022; Wang et al., 2022; Xiao et al.,2023

Sparse/lexical Retrieval(稀疏检索)

Multi-Vector Retrieval(多向量检索)

其他

为什么general text embedding发展如此迅速

  1. 预训练语言模型的普及,让文本的语义能够被很好地encode

  2. Contrastive learning特别是negative sampling的发展

  3. 知识蒸馏的利用

  4. 学习多功能的嵌入模型变得越来越流行,这些模型能够统一支持各种应用场景

  5. 预训练语言模型的普及,让文本的语义能够被很好地encode

  6. Contrastive learning特别是negative sampling的发展

  7. 知识蒸馏的利用

  8. 学习多功能的嵌入模型变得越来越流行,这些模型能够统一支持各种应用场景

如何将向量模型从English拓展到multi-lingual

Sein heißt werden, leben heißt lernen.

Der einfache Weg is immer verkehrt.