秋招准备3:BGE
秋招准备3:BGE
1、简单介绍一些BGE
BGE(BAAI General Embedding)是由智源研究院(BAAI)开源的一系列通用文本向量化模型,目标是生成高质量的文本语义向量。它的主要用途包括语义检索、问答匹配、推荐系统等。BGE 模型基于 Transformer 架构(通常是 BERT 或 RoBERTa 的改进),通过有监督的对比学习和指令微调,使得向量更好地适配下游语义匹配任务。
支持的两类任务:
- 双塔模式(bi-encoder):生成向量表征,适合向量检索,效率高。
- 交叉编码模式(cross-encoder / reranker):输入 query + 文档拼接,模型直接预测语义相关性分数,精度更高,但推理速度较慢。
什么是双塔模式?
用 两个独立的神经网络(两座“塔”),分别对 查询(Query) 和 候选文档(Document) 编码成向量。这两个向量通过 相似度函数(如余弦相似度、点积)来衡量匹配度。
2、BGE是如何训练的,与传统的embedding模型有什么区别
BGE 的训练主要分为两个阶段:
对比学习(Contrastive Learning): 模型学习让语义相近的句子向量更接近,语义无关的句子更远离。
指令微调(Instruction Tuning): 给模型输入自然语言指令,比如“把这个句子转成向量”,让它学会在不同任务下保持一致的向量表示能力。
相比传统的 embedding 模型(如 Sentence-BERT),BGE 在大规模语料和更强的监督信号下训练,尤其强调跨任务的泛化能力。
BGE的应用场景
BGE 的核心能力是生成高质量语义向量,因此可以应用在:
向量检索(Vector Search): 比如搜索引擎、企业知识库。
问答匹配(QA Matching): 用户问题和候选答案做相似度匹配。
推荐系统: 根据用户行为和内容语义相似度做推荐。
跨模态任务: 结合其他模态 embedding(如图像 embedding),实现多模态检索。
BGE 相比 OpenAI 的 text-embedding-ada-002 或者 Cohere 的 embedding 模型,有什么优势?
BGE 的优势主要有:
开源免费: 方便国内外研究和落地,适合企业自建服务。
中文能力强: 相比很多海外 embedding 模型,BGE 在中文语义检索上的表现更优。
多模型规模: 提供了不同大小(small、base、large)的模型,可以根据业务性能需求选择。
指令微调: 让模型更适合多任务迁移,而不仅限于单一检索场景。
为什么需要重排序
多路召回通常包括关键词检索、向量检索、规则召回等,它们能保证高召回率,但排序质量不够高。
为了提升最终结果的相关性,需要一个 精排阶段。
BGE 重排序模型的优势是:
- 能够理解查询和候选文档之间的语义关系,而不仅仅依赖向量相似度或关键词匹配。
- 能结合上下文和语义细粒度差异,给出更准确的相关性分数。
在项目中,我的流程是:
多路召回 → 合并候选结果(大约几十条)。
输入到 BGE-reranker,输出相关性分数。
根据分数进行重排,结合业务规则(如热门度/时效性),形成最终结果。
更多推荐

所有评论(0)