统一通用多功能表征的新标杆
在过去,构建高精度混合检索往往需要引入两个完全独立的模型体系:由专用的 BM25 算法计算关键词词频,再由单独的 Sentence-BERT 模型计算密集向量。维护两套异构索引对工程流水线造成了额外负担。
智源开源的 BGE-M3 (Multi-Linguality, Multi-Functionality, Multi-Granularity) 创造性地实现了三合一输出:同一个模型的一次前向传播,同时吐出 Dense 向量、Lexical Sparse 稀疏权重以及 Multi-Vector(ColBERT 式细粒度 Token 交互)。
三合一联合损失函数与领域对比学习
在领域数据微调时,BGE-M3 采用联合优化目标: $$\mathcal{L} = \mathcal{L}{dense} + \mathcal{L}{sparse} + \mathcal{L}_{multi}$$
- 密集对比损失 (Dense InfoNCE):拉近正例查询与文档在高维球面的余弦距离;
- 词项权重稀疏正则 (Lexical Sparsity Loss):学习重要专业词汇的倒排自权重,自动抑制停用词;
- 晚期交互多向量 (Late-Interaction Multi-Vector):保留每个 Token 的独立向量,通过 MaxSim 算子捕获微观匹配。
晚期交互 MaxSim 算法纯 JS 模拟
import assert from "node:assert/strict";
function dotProduct(a, b) {
return a.reduce((sum, v, i) => sum + v * b[i], 0);
}
assert.equal(dotProduct([1, 2], [3, 4]), 11);原始资料与溯源链接
感谢阅读本文
如果你觉得内容有帮助,欢迎点赞支持或分享给同行开发者。
0 次阅读0 人赞过