这篇学完你能回答什么
- 「你们 embedding 模型怎么选的?看哪些指标?」
- 「维度越大效果越好吗?1536 维和 768 维差在哪?」
- 「MTEB 榜第一就是最优选择吗?」——这是面试官最爱设的陷阱。
从一个真实决策讲起
你要给公司知识库选 embedding 模型。打开 MTEB 排行榜,第一名分数最高,直接用它?
三周后你发现:这个模型是 8B 参数的,向量化 50 万个 chunk 花了两天,线上每次查询要额外 200ms 编码延迟,GPU 账单比预算翻倍——而效果比一个 0.6B 的小模型只高了 1.5 个点。
Embedding 选型是典型的多约束优化,榜单分数只是其中一个约束。 面试官问这题,就是想看你有没有意识到另外几个。
打开 MTEB 排行榜
第一名分数最高,直接用它
照榜首选型
8B 参数的模型,向量化 50 万个 chunk
三周后账单来了断点
跑了两天,GPU 账单比预算翻倍
一比才发现
比 0.6B 的小模型只高 1.5 个点
核心概念:Embedding 决定了什么
Embedding(文本嵌入)把文本映射成高维向量,让语义相近的文本在向量空间里距离更近。
关键认知:它决定了整个 RAG 检索精度的上限。语义在编码阶段丢掉了,后面的 rerank 和 LLM 都补不回来——检索不到的东西,排序排不出来,模型也编不出来。所以这一步的选型比大多数人以为的更重要。
把一段文字压成一串数字
意思近的挨得近 —— 但压缩总有取舍,这一步丢了就是真丢了
文本 → 高维向量
把文本映射成高维向量,让语义相近的文本在向量空间里距离更近
这一步丢的,后面谁都补不回来
检索不到的东西,排序排不出来,模型也编不出来
rerank 和 LLM 都补不回来
语义在编码阶段丢掉了,后面的环节没有一个能找回来 —— 所以这一步的选型比大多数人以为的更重要
原理拆解:四个选型维度
维度那一档的加分答法:「维度是精度和成本的旋钮,我会用评测集测几个档位的 recall@k,选拐点,而不是默认用最大维度。」
许可证是能让整个项目返工的合规问题。部分高分开源模型采用 CC-BY-NC 协议(不可商用),企业场景选型前必须确认 —— 面试时顺口提一句,专业度立刻不一样。
维度一:检索精度——**看子榜,别看综合分**
MTEB(Massive Text Embedding Benchmark)是最权威的通用基准,涵盖分类、聚类、检索、重排序、语义相似度等多类任务;中文场景对应 C-MTEB。
这里是第一个陷阱:MTEB 综合分包含大量与 RAG 无关的任务(分类、聚类)。做 RAG 应该只看 Retrieval 子榜。一个模型可能靠聚类拉高了综合分,检索却不如榜下的模型。
第二个陷阱:榜单是通用语料,你的领域可能完全不同(法律条文、医疗记录、内部代号)。最终依据只能是你自己的评测集——哪怕只有 100 条人工标注的「问题→正确文档」对,也比榜单可信。
维度二:向量维度——不是越大越好
维度高 = 表达能力强,但也 = 存储更大、检索更慢。
一个反直觉但重要的事实:很多场景把 1536 维降到 512 甚至 256 维,召回率只掉 1–2%,而存储和查询速度能提升数倍。 现代模型普遍支持维度截断(MRL,套娃表示学习——训练时就让前 N 维承载主要信息,所以可以直接截断而不必重训)。
面试加分答法:「维度是精度和成本的旋钮,我会用评测集测几个档位的 recall@k,选拐点,而不是默认用最大维度。」
维度三:运营适配——2026 年真正的分水岭
到 2026 年,多语言覆盖已经不再是差异化因素(主流开源模型普遍支持 90–100+ 语言),选型决策更多取决于运营适配:延迟、吞吐、许可证、部署方式。
其中最容易被忽略的是成本量级差:一个典型生产负载(每天 1 亿 token),用闭源 API 的月成本与自托管开源模型可能相差一个数量级以上。数据量大的场景,自托管往往是唯一可持续的选择。
还有一个能直接踩雷的点:许可证。 部分高分开源模型采用 CC-BY-NC 协议(不可商用)。企业场景选型前必须确认许可证类型——这是能让整个项目返工的合规问题,面试时提一句会显得很专业。
维度四:稀疏 or 稠密 or 混合
- 稠密向量(Dense):主流,擅长语义泛化,弱在精确词匹配。
- 稀疏向量(Sparse / learned sparse):保留词项信息,擅长专有名词、编号。
- 三合一模型:如 BGE-M3 同时输出稠密、稀疏、多向量表示,一个模型撑起混合检索(见 T2-5),省掉维护两套系统的麻烦。
工程实践(截至 2026-08)
主流候选(生态变化很快,具体分数请以最新 MTEB 榜和官方文档为准):
| 方向 | 常见选择 | 特点 |
|---|---|---|
| 中文 RAG 通用 | BGE-M3 | 稠密+稀疏+多向量三合一,中文强,开源可自托管 |
| 多语言 / 长文档 | Qwen3-Embedding 系列(0.6B–8B) | MTEB 多语言榜曾登顶(8B 约 70.6 分),尺寸可选,支持自定义指令 |
| 快速接入 | OpenAI text-embedding-3-small / large | 免运维,支持维度截断 |
| 多语言 API | Cohere embed 系列 | 多语言与长文档表现好 |
| 私有化 / 数据不出内网 | BGE-M3、Qwen3-Embedding、GTE | 本地部署 |
一个重要变化:2025–2026 年开源模型在主流基准上已追平甚至反超闭源 API。所以「用 OpenAI 更保险」这个默认假设在 2026 年需要重新论证,尤其在中文和成本敏感场景。
避坑清单:
- query 和 document 必须用同一个模型编码,否则向量空间不一致,结果全乱。
- 部分模型要求 query 侧加指令前缀(如「为这个句子生成表示用于检索:」),漏加会明显掉点,这是新手最常见的静默错误。
- 换模型 = 全量重建索引,几百万向量重跑一次成本不小,所以选型要在项目早期慎重定。
- 注意模型的最大输入长度,chunk 超限会被静默截断。
- 归一化:多数模型输出已归一化,此时余弦相似度和内积等价——库的距离度量要配对,配错了排序会莫名其妙。
怎么建你的评测集(最重要的一步):
- 从真实用户提问日志里抽 100–200 条,覆盖不同类型(口语化、专有名词、长问题)。
- 人工标注每条问题对应的正确文档(chunk 级别)。
- 用 recall@k、MRR、NDCG 对比候选模型,按问题类型分桶看,不要只看总平均。
- 同时记录编码耗时与存储成本,把效果和成本一起摆到桌面上做决策。
| 方向 | 常见选择 | 特点 |
|---|---|---|
| 中文 RAG 通用 | BGE-M3 | 稠密+稀疏+多向量三合一,中文强,开源可自托管 |
| 多语言 / 长文档 | Qwen3-Embedding 系列(0.6B–8B) | MTEB 多语言榜曾登顶(8B 约 70.6 分),尺寸可选,支持自定义指令 |
| 快速接入 | OpenAI text-embedding-3-small / large | 免运维,支持维度截断 |
| 多语言 API | Cohere embed 系列 | 多语言与长文档表现好 |
| 私有化 / 数据不出内网 | BGE-M3、Qwen3-Embedding、GTE | 本地部署 |
- 编码要配对
- query 和 document 必须用同一个模型编码,否则向量空间不一致,结果全乱
- 指令前缀
- 部分模型要求 query 侧加前缀(「为这个句子生成表示用于检索:」),漏加会明显掉点
- 换模型的代价
- 换模型 = 全量重建索引,几百万向量重跑一次成本不小,所以选型要在项目早期定
- 距离度量
- 多数模型输出已归一化,此时余弦与内积等价 —— 库里配错度量,排序会莫名其妙
- 评测集怎么建
- 真实提问日志抽 100–200 条,覆盖口语化 / 专有名词 / 长问题,人工标到 chunk 级
- 怎么比
- 用 recall@k、MRR、NDCG 按问题类型分桶看,同时记录编码耗时与存储成本
面试视角
- 先给三个约束精度、成本、合规
- 精度怎么看Retrieval 子榜 + 自建评测集
- 维度怎么定当成精度与成本的旋钮,测拐点
- 顺带提许可证CC-BY-NC 不可商用,一句话的事
- 最后一句定调「用自己的 100 条标注集拍的板」
- 「我们用的 MTEB 第一名」—— 综合分里全是和 RAG 无关的任务
- 「维度当然越大越好」—— 不知道降到 512 召回也只掉 1–2%
- 答不出换模型的代价 —— 没经历过几百万向量全量重建索引
- 全程不提许可证 —— CC-BY-NC 那一刀能让整个项目返工
- 说不清领域词效果怎么验 —— 只有榜单,没有自己的标注集
- 明确说「只看 Retrieval 子榜」—— 知道综合分被分类聚类拉高过
- 把维度讲成旋钮:测几个档位的 recall@k,选拐点再定
- 主动提「换模型 = 全量重建索引」,所以选型要在早期慎重定
- 顺口带一句许可证:高分开源里有 CC-BY-NC,企业不能商用
- 报指标时带上分桶:recall@k、MRR、NDCG 按问题类型分开看
Q2-06。小结与延伸
一句话总结:Embedding 决定检索精度的上限,但选型不是挑榜首——看 Retrieval 子榜、用自己的评测集拍板、把维度当成本旋钮、别忘了许可证。
下一篇 T2-4:向量存进去之后,千万级数据怎么在毫秒内检索——HNSW 与向量库选型。
继续深入
本篇归属第 2 章「RAG 工程化」,去做这一章的题。