一句话定义
embedding 选型是在四个轴上做联合决策:检索质量(用自家评测验证)、维度与成本(×N 相乘的账)、延迟与部署(API vs 自托管)、迁移成本(换模型=重建整库)——并且度量与归一化必须随模型绑定。
为什么重要
kp-002 说过:检索质量的上限由嵌入模型决定,索引只能逼近"嵌入空间的真相"。而嵌入选型又是全管线最贵的可逆性最差的决策——换模型意味着全量重嵌入、重建索引、重标阈值、重做评测,常以周计。选型阶段多花的两天,是最划算的两天。
前置知识
kp-002(嵌入的原理与铁律)、kp-026(维度如何进内存账)。
核心概念
- 检索基准:MTEB/C-MTEB(中文)等公开榜单提供初筛,但最终依据只能是自家数据的评测(kp-025 协议)。
- 模型家族版图:OpenAI text-embedding-3 系列(1536/3072 维、支持降维参数)、Cohere embed 系列(int8/binary 输出)、开源 BGE/GTE/E5/Jina 系列(384~1024 维、可自托管)、多模态 CLIP 类(图文同空间)。
- Matryoshka 表示(套娃表示):训练时让向量前缀独立有效,可截断到 256/512/768 维而不重训——维度弹性的现代来源。
- 维度账:内存(kp-026)、嵌入 API 费用、索引构建时间全部与 d 线性相关。
- 度量绑定:模型训练目标决定 cosine/IP/L2 与是否归一化(kp-003 铁律)。
原理与机制
选型流程(可执行五步):
- 定约束:领域(中文/多语言/代码/图文)、部署形态(数据能否出内网→决定 API 可用性)、延迟预算(嵌入通常在写入侧,批量可异步;查询侧嵌入需 <50 毫秒)。
- 榜单初筛:MTEB/C-MTEB 检索子榜取前 5~8 个候选,剔除不满足部署约束的。
- 自家评测:按 kp-025 协议,用真实查询与 GT 对比候选的 recall@k——榜单名次与自家数据倒挂是常态。
- 算账:对入围者算"维度×量级"的内存账(kp-026)与 API/推理成本,结合质量排序取性价比点。
- 留退路:写入迁移文档(模型版本、归一化、维度、metric),并把"重嵌入管线"做成可重跑脚本——换模型从项目降级为例行操作。
微调与否的判据:通用模型在垂直领域 recall 差 5 个点以上、且有千级标注对(查询-正样本对)时,对比学习微调值得做;否则先试"改切块+加稀疏腿"(kp-015),成本更低。
公式或模型
维度-成本联动(呼应 kp-026):
内存 ≈ N × d × bytes; 嵌入费用 ≈ N × 单token费 × 文档token数
例: 1亿条×1536d×int8 ≈ 147GB; 截断到 512d(Matryoshka) ≈ 49GB, 省 2/3图示
质量(recall) ▲
B ────●───● 3072d 旗舰
╱ C ●──● 1024d 开源自托管
A ●──╱
● D 512d(Matryoshka截断)
└──────────────────► 成本(内存+推理费)
选点=质量/成本斜率拐折处; A到C常是甜点区实例或案例
中文客服知识库选型实录:候选 OpenAI text-embedding-3-large(3072d)、BGE-M3(1024d)、bge-small-zh(512d)。自建评测(2 万真实工单查询)recall@10 分别为 0.91 / 0.90 / 0.87;内存账(8000 万条 int8)分别为 230 / 77 / 38 GB。结论取 BGE-M3:质量与旗舰差 1 个点、成本三分之一,且数据不出内网满足合规——"榜单第一"输给了"自家斜率"。
直观类比
选嵌入像招翻译:榜单第一的"同传大师"(旗舰 API)什么场都hold住,但按小时收费且资料要交出去(数据出域);自家培养的"行业译员"(开源微调)懂行话、随叫随到。多数公司需要的是后者——匹配场景比名气重要。
常见误区
- "维度越高质量越高"——质量由训练数据与方法决定,512 维微调模型在垂直域常胜 3072 维通用模型;维度只决定"容量上限"不保证"装得好"。
- "换模型只是改个 API 调用"——换模型=换坐标系(kp-002 铁律),全量重嵌入+重建索引+阈值重标+评测回归,是周级工程;所以模型名与版本要纳入配置管理。
- "归一化可做可不做"——度量口径与模型训练绑定,BGE 系建议归一化后用 IP;不按模型文档处理,检索质量静默劣化且难排查。
- "只看检索榜单不看嵌入延迟"——查询侧实时嵌入是首字节延迟的一部分;大批量写入场景还要算吞吐与费用。
自测题
- 为什么榜单名次不能替代自家评测?
- Matryoshka 截断到 512 维,内存省 3 倍,代价是什么?
- 项目中途换嵌入模型,正确的操作序列?
答:榜单数据分布、语言、领域与自家不同构;检索质量对分布敏感,只有用 kp-025 协议在自家数据上的 recall 才是决策依据。
答:精度小幅下降(前缀信息密度略低),需按 kp-025 重测 recall;若降幅可接受,这是成本第一杠杆(一切随 d 线性缩放)。
答:新模型建影子库(全量重嵌入+建索引)→ 双跑对比 recall → 业务阈值重标 → 切读路径 → 下线旧库;全程配置化、可回滚。
与其他知识点的关系
kp-002 是原理篇、本篇是决策篇;kp-026 消费它的维度输出;kp-003 绑定它的度量要求;kp-027 决策树的每个叶子都隐含"embedding 已按本篇选定"。
延伸阅读
Muennighoff et al., "MTEB: Massive Text Embedding Benchmark"(2022)——嵌入检索能力的标准化评测框架,选型初筛的工具底座。