精选·RAG工程

Embedding 是什么?你们用的哪个模型?怎么选型?

91学AI·2026/7/13·7 阅读

考察点

「Embedding 是什么,你们用的哪个」是 2026 年多份面经里反复出现的基础题。面试官表面问概念,实际想看两点:你懂不懂 Embedding 的训练原理(对比学习),以及选型是不是拍脑袋——有没有 benchmark 意识、知不知道领域适配问题。追问常走「为什么你们场景要换模型」「怎么验证换了更好」。

参考答案

Embedding 的本质

Embedding 模型把一段文本映射成一个稠密向量(比如 768 或 1024 维),让语义相近的文本在向量空间里距离也近。它通常基于 BERT 类 Encoder 架构,训练目标是对比学习:给定一个 query,让它的向量靠近正例文档、远离负例文档(InfoNCE 损失)。训练数据里负例的构造(随机负例 vs 难负例)很大程度决定模型质量。

理解这一点就能明白选型的核心:模型在训练时见过什么样的 query-文档对,它就擅长什么样的匹配。通用模型没学过「七天无理由退货」和「不想要了能退吗」是一回事,在你领域就得补课。

主流选型对比

模型特点适用
BGE 系列(bge-large-zh / bge-m3)中文效果好,开源可私有部署,bge-m3 支持多语言+稠密稀疏混合国内项目默认首选
OpenAI text-embedding-3效果稳定,API 调用省事,维度可裁剪海外业务、快速验证
m3e / GTE 系列老牌中文开源模型轻量场景
Jina / E5 多语言版多语言混排强跨语言检索

选型的硬指标看 MTEB / C-MTEB 榜单的 Retrieval 分项,但榜单只是初筛,最终一定要用你自己的数据做离线评测:抽 200-500 条真实 query,人工标注每条对应的正确文档,跑 Recall@10 对比候选模型。榜单高分的模型在你的垂类上不一定赢。

实战考量的四个维度

  • 语言与领域:中英混合文档优先 bge-m3;电商、医疗这类行话密集的领域,通用模型经常翻车,需要领域微调。
  • 维度与成本:1024 维比 384 维表达力强,但存储和检索成本翻倍。百万 chunk 以下不用纠结,千万级才需要权衡,或者用 Matryoshka 表示(前 256 维就能用)做裁剪。
  • 部署方式:API 适合冷启动;自建 GPU 推理(TEI、vLLM 部署)适合大批量离线建库,成本差一个数量级。
  • 一致性红线:换 Embedding 模型必须全量重建索引,新旧模型的向量空间不兼容,混着用等于没检索。

领域微调

当评测显示通用模型在你的领域 Recall 明显偏低(比如低于 70%),就该微调了。数据来源:拿历史的客服对话/搜索日志构造 query-正例对,负例用同 batch 内其他文档加少量难负例(字面上像但答案不对的)。用 LoRA 在 bge 基座上调,几百到几千条高质量对就能见效。微调完第一件事是回归评测,防止领域涨分、通用能力掉分。

可能的追问

Q:为什么不能用大模型(如 GPT)直接出 Embedding? 生成式模型输出的是下一个 token 的概率分布,不是为相似度优化的向量空间。Decoder 模型的 hidden state 可以勉强当向量用,但同参数下效果远不如专门训练的 Encoder,成本还高。

Q:query 和文档长度差很多,会有问题吗? 会,这是非对称检索问题。很多模型通过给 query 加指令前缀(如 bge 的「为这个句子生成表示以用于检索相关文章」)区分两种编码模式,query 侧务必带上,裸编码会掉几个点。

Q:向量维度和效果什么关系? 不是单调的。同系列模型维度翻倍通常有小提升,但边际递减明显;跨系列比,训练数据和对比学习目标的影响远大于维度。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.