W
AI-Wiki

AI · 源文件

入库前的原始上传文件存档。点击左侧文件名可预览文件内容。

阿里面试官怒了:Embedding-模型都不会选,BGE-和-GTE.md11.7 KBit/ai/阿里面试官怒了:Embedding-模型都不会选,BGE-和-GTE.md
大家好,我是吴师兄。

这个系列写到现在,评论区和私信里出现频率最高的一类问题不是什么高深的架构设计,而是一个看似基础但大部分人答不好的问题—— **"Embedding 模型到底怎么选?"**

很多人的回答是"用 BGE",然后就没了。面试官一追问就崩盘。

上周有个学员面阿里,聊到 RAG 的检索模块,面试官问:"你们 Embedding 用的什么模型?"

他说 BGE。

面试官追问:"BGE 哪个版本?为什么选它不选 GTE?GTE 是我们阿里自己出的模型,你了解过吗?"

他说不太了解 GTE。

面试官继续:"那你的 Rerank 模型用的什么?跟 Embedding 模型是怎么配合的?"

他说没有用 Rerank。

面试官最后问了一句:"你选模型的依据是什么?看了 MTEB 榜单吗?不同场景下选型标准一样吗?"

全场沉默。

这个问题之所以高频出现,是因为 Embedding 选型是每个 RAG 项目绕不开的第一个决策——选错了,后面检索策略再花哨也白搭。而且这个话题有一个特别适合面试的特点: **它有明确的对错之分和清晰的决策逻辑** ,面试官三两个问题就能判断你到底是查了资料还是真做过选型。

今天把 Embedding 和 Rerank 的选型逻辑一次性讲清楚。

## 一、先搞清楚:Embedding 模型在 RAG 里干什么?

很多人对 Embedding 模型的理解停留在"把文本变成向量",这没错但太粗。在 RAG 系统中,Embedding 模型本质上决定了一件事—— **什么是"相似"。**

用户问"保单现金价值怎么算",知识库里有一段"保单的现金价值是指退保或某些情况下可领取的金额"。Embedding 模型的工作就是让这两段文字的向量足够接近,这样向量检索才能把它召回来。

如果模型对"现金价值"这个保险术语理解不深,可能会把它跟"现金流""财务价值"混为一谈,召回一堆不相关的财务文档。 **模型选得好不好,直接决定了检索的上限。**

目前主流的 Embedding 模型都是 Bi-Encoder 架构(双塔模型):query 和文档各自独立编码成向量,再算余弦相似度。这种架构的优势是速度快——文档向量可以离线算好存起来,查询时只需要算一次 query 的向量就能跟整个库比对。代价是精度不如 Cross-Encoder(后面 Rerank 部分会讲),所以才需要两阶段检索。

## 二、2024-2025 主流 Embedding 模型横评

直接给结论,下面是目前开源社区里最常用的几个 Embedding 模型的核心对比:

**BGE-M3(BAAI 智源)** :目前中文场景的首选。支持中英多语言,最大 8192 token 的上下文窗口,同时支持稠密向量、稀疏向量和 ColBERT 式多向量检索三种模式。在 MTEB 中文榜单上长期稳居前列。如果你不知道选什么,无脑选 BGE-M3 不会错。

**BGE-large-zh(BAAI 智源)** :专注中文的大尺寸版本,在纯中文场景下精度略高于 M3,但不支持多语言,上下文窗口也只有 512 token。适合纯中文且文档较短的场景。

**GTE-multilingual-base(阿里达摩院)** :阿里出品的多语言 Embedding 模型,在 MTEB 多语言榜单上表现很强。跟 BGE-M3 是直接竞品关系,两者在多语言场景下各有胜负。如果你面的是阿里,了解 GTE 是基本功。

**E5-small/base/large(微软)** :微软出品,特点是有从 small 到 large 的完整尺寸梯度,small 版本只有 33M 参数,特别适合资源紧张或需要部署到边缘设备的场景。精度比 BGE 略低,但推理速度快很多。

**Jina Embeddings v2(Jina AI)** :最大亮点是支持 8K token 的超长上下文。如果你的文档 chunk 特别长(比如整段法律条文或完整的技术文档章节),其他模型可能截断,Jina v2 能全部吃进去。

**MiniLM(微软)** :极致轻量级,速度最快,适合对延迟要求极高或大批量处理的场景。精度是这几个里最低的,但胜在快。

## 怎么选?一句话决策

- **一般情况不知道选什么 → BGE-M3** ,不会错
 
- **纯中文或中英混合 → BGE-M3 或 BGE-large-zh**
 
- > 多语言场景 → GTE-multilingual-base 或 BGE-M3
 
 ,看 MTEB 榜单最新排名
 
- **资源紧张 / 边缘设备 → E5-small 或 MiniLM**
 
- > 长文档 ≥ 8K token → Jina Embeddings v2
 

面试的时候,不要只说"我用了 BGE"。要说清楚 **选的哪个版本、为什么选它、跟其他模型对比过什么** 。比如:"我们的场景是中文金融保险文档,chunk 长度控制在 500 token 以内,对多语言没有需求,所以选了 BGE-M3。也评估过 GTE-multilingual-base,在我们的测试集上 BGE-M3 的 MRR 高了 3 个百分点,所以最终选了 BGE。" 这样回答比"用了 BGE"强十倍。

![](https://p3-sign.toutiaoimg.com/tos-cn-i-ezhpy3drpa/277541c9b58a47168294383e73964e2c~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444185&x-signature=ehZkswDKUYQhOaQMUtYsXP8%2Fdwk%3D)

## 三、Rerank 模型怎么选?怎么跟 Embedding 配?

选完 Embedding 模型还没完。前面文章里讲过,向量检索(Bi-Encoder)的精度有限,需要 Rerank(Cross-Encoder)做精排。那 Rerank 模型怎么选、怎么跟 Embedding 搭配?

先理解 Bi-Encoder 和 Cross-Encoder 的本质区别

这个是面试高频追问点。很多人知道"Rerank 能提升排序效果",但说不清为什么。

**Bi-Encoder(Embedding 模型)** :query 和文档各自独立编码成向量,然后算余弦相似度。优点是快——文档向量离线算好,查询时只算一次 query 向量。缺点是 query 和文档之间没有交互,模型看不到它们放在一起时的语义关系。

**Cross-Encoder(Rerank 模型)** :把 query 和文档拼在一起,作为一个整体输入 Transformer,模型能看到两者的完整交互,输出一个相关性分数。精度远高于 Bi-Encoder,但代价是每一对 query-doc 都要做一次完整的模型推理,速度慢很多。

在我们训练营的实战项目里做过一个对比实验。query 是"世界上最高的山峰是哪个",候选文本有三条:珠穆朗玛峰、乔戈里峰(K2)、干城章嘉峰。Bi-Encoder 把 K2 排在了第一位(因为"最高的山峰"这几个字跟三条文本都很相似,细微差别区分不出来);Cross-Encoder 正确地把珠穆朗玛峰排在了第一位,因为它能理解"最高"和具体山峰名称之间的事实关系。

这就是为什么两阶段检索是标配:

> **Bi-Encoder 负责从百万文档中快速召回 Top 100,Cross-Encoder 负责对这 100 条做精排取 Top 5 给 LLM。**

## 主流 Rerank 模型和搭配方案

Rerank 模型目前主流的选择:

**BGE-Reranker-base/large(BAAI 智源)** :跟 BGE Embedding 同门,中文效果好,是目前用得最多的开源 Rerank 模型。

**GTE-multilingual-reranker(阿里达摩院)** :阿里出品,多语言场景表现强,适合跟 GTE Embedding 搭配使用。

**MiniLM-L6-cross-encoder(微软)** :轻量级 Cross-Encoder,适合 GPU 资源紧张时做 batch 推理,速度快但精度比 BGE-Reranker 低一些。

**Jina-ColBERT-v2(Jina AI)** :基于 ColBERT 架构的 Late Interaction 模型,介于 Bi-Encoder 和 Cross-Encoder 之间。精度接近 Cross-Encoder 但速度快很多,适合长文档场景。

## 四种经典搭配方案

- **经典流水线** :BGE-base 检索 Top 100 → BGE-Reranker-base 精排
 
- **多语言场景** :GTE-multilingual-base + GTE-multilingual-reranker
 
- **GPU 紧张** :E5-small + MiniLM-L6-cross-encoder(batch 推理)
 
- **长文档 / 8K** :Jina-embeddings-v2 + Jina-ColBERT-v2,段内匹配更稳
 

选型的核心原则就一条:

> **Embedding 和 Rerank 尽量选同一系列的,因为它们在训练时的数据分布和语义空间更一致,搭配效果最好。**

![](https://p3-sign.toutiaoimg.com/tos-cn-i-ezhpy3drpa/756a4137245e497b9f053fafdb792afe~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444185&x-signature=K3SlE2wQJzbM7783q1u4h5q5vLA%3D)

## 四、选型的"隐藏考点":MTEB 榜单怎么看?

面试官问"你选模型的依据是什么"时,很多人答不上来。其实业界有一个标准答案——

> **MTEB(Massive Text Embedding Benchmark)**

。

MTEB 是 Hugging Face 维护的 Embedding 模型评测榜单,覆盖 58 个任务、多种语言。你可以在上面直接看到各模型在检索、分类、聚类等任务上的得分排名。

但看榜单也有技巧:

**不要只看总分。** MTEB 的总分是多个任务的平均值,包括分类、聚类、句对匹配等。RAG 场景最关心的是 **Retrieval** 子任务的得分,要单独筛选看这一项。

**注意语言。** MTEB 有英文榜和中文榜(C-MTEB),如果你的场景是中文,要看 C-MTEB 的排名,不要看英文榜。

**注意模型大小。** 榜单上排名靠前的可能是几十亿参数的大模型,部署成本很高。在实际选型时要综合考虑精度和推理速度,不能只追排名。

面试中提到 MTEB 是一个很好的加分项——它说明你的选型不是"看博客推荐"或者"听说 BGE 好就用了",而是有系统化的评估方法论。

## 五、面试怎么答 Embedding 选型?

把上面的内容串起来,面对"你的 Embedding 模型怎么选的"这个问题,一个完整的回答框架是:

**先讲选型维度。** 我们从三个维度评估:语种支持(中文/多语言)、上下文长度(chunk 长度匹配)、部署资源(GPU 显存和推理速度)。

**再讲对比过程。** 在 MTEB/C-MTEB 榜单上筛选了 Retrieval 任务得分靠前的候选模型,包括 BGE-M3、GTE-multilingual、E5-large。在我们自己的测试集上跑了 MRR 和 Precision@5 对比,BGE-M3 综合最优。

**然后讲搭配方案。** Embedding 用 BGE-M3,Rerank 用同系列的 BGE-Reranker-base,检索 Top 100 后精排取 Top 5。选同系列是因为语义空间更一致,搭配效果最好。

**最后讲微调决策。** 通用模型在我们的金融保险场景下对专业术语匹配不够精准,所以基于 1000 条领域 QA 对做了微调,微调后 MRR 从 0.58 提升到了 0.82。

这套回答覆盖了选型维度、对比方法、搭配方案、微调决策四个层面,面试官想继续追问的点你都提前铺好了。

![](https://p3-sign.toutiaoimg.com/tos-cn-i-ezhpy3drpa/f7386cb27abf47e88d01d899bf3e9299~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444185&x-signature=Ue6Cw%2FAfcmf7ixc1EnJ9r%2BaGF4A%3D)

## 写在最后

Embedding 选型这件事,做起来不难,但要在面试中讲清楚需要一套完整的逻辑链——从需求分析到榜单筛选到对比实验到搭配方案到微调决策。大部分人卡在第一步就结束了:"我用了 BGE。" 然后就没有然后了。

如果你目前的项目还是"别人推荐什么就用什么",建议花半天时间去 MTEB 榜单上看一下各模型的 Retrieval 得分,在自己的数据上跑几个模型对比一下 MRR。有了这个过程,面试时聊起来底气完全不同。

我是吴师兄,我们下篇文章见。

同时,大模型训练营的 S5 已经开营,这一期讲的是 Skill、OpenClaw 相关,所以公众号后续的内容会围绕这些知识点同步展开讲解。

![](https://p26-sign.toutiaoimg.com/tos-cn-i-ezhpy3drpa/1139996d4aec488bbdcb91eaaf1c28c4~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444185&x-signature=cizqNT6uVaHgmsVMT65DzxhRLCY%3D)

我是吴师兄( 微信 278166530 ),我们下篇文章见。