向量数据库

embedding 选型与维度权衡

进阶工程实践约 20 分钟kp-028

前置知识

一句话定义

embedding 选型是在四个轴上做联合决策:检索质量(用自家评测验证)、维度与成本(×N 相乘的账)、延迟与部署(API vs 自托管)、迁移成本(换模型=重建整库)——并且度量与归一化必须随模型绑定。

为什么重要

kp-002 说过:检索质量的上限由嵌入模型决定,索引只能逼近"嵌入空间的真相"。而嵌入选型又是全管线最贵的可逆性最差的决策——换模型意味着全量重嵌入、重建索引、重标阈值、重做评测,常以周计。选型阶段多花的两天,是最划算的两天。

前置知识

kp-002(嵌入的原理与铁律)、kp-026(维度如何进内存账)。

核心概念

原理与机制

选型流程(可执行五步):

  1. 定约束:领域(中文/多语言/代码/图文)、部署形态(数据能否出内网→决定 API 可用性)、延迟预算(嵌入通常在写入侧,批量可异步;查询侧嵌入需 <50 毫秒)。
  2. 榜单初筛:MTEB/C-MTEB 检索子榜取前 5~8 个候选,剔除不满足部署约束的。
  3. 自家评测:按 kp-025 协议,用真实查询与 GT 对比候选的 recall@k——榜单名次与自家数据倒挂是常态。
  4. 算账:对入围者算"维度×量级"的内存账(kp-026)与 API/推理成本,结合质量排序取性价比点。
  5. 留退路:写入迁移文档(模型版本、归一化、维度、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住,但按小时收费且资料要交出去(数据出域);自家培养的"行业译员"(开源微调)懂行话、随叫随到。多数公司需要的是后者——匹配场景比名气重要。

常见误区

  1. "维度越高质量越高"——质量由训练数据与方法决定,512 维微调模型在垂直域常胜 3072 维通用模型;维度只决定"容量上限"不保证"装得好"。
  2. "换模型只是改个 API 调用"——换模型=换坐标系(kp-002 铁律),全量重嵌入+重建索引+阈值重标+评测回归,是周级工程;所以模型名与版本要纳入配置管理。
  3. "归一化可做可不做"——度量口径与模型训练绑定,BGE 系建议归一化后用 IP;不按模型文档处理,检索质量静默劣化且难排查。
  4. "只看检索榜单不看嵌入延迟"——查询侧实时嵌入是首字节延迟的一部分;大批量写入场景还要算吞吐与费用。

自测题

  1. 为什么榜单名次不能替代自家评测?
  2. 答:榜单数据分布、语言、领域与自家不同构;检索质量对分布敏感,只有用 kp-025 协议在自家数据上的 recall 才是决策依据。

  3. Matryoshka 截断到 512 维,内存省 3 倍,代价是什么?
  4. 答:精度小幅下降(前缀信息密度略低),需按 kp-025 重测 recall;若降幅可接受,这是成本第一杠杆(一切随 d 线性缩放)。

  5. 项目中途换嵌入模型,正确的操作序列?
  6. 答:新模型建影子库(全量重嵌入+建索引)→ 双跑对比 recall → 业务阈值重标 → 切读路径 → 下线旧库;全程配置化、可回滚。

与其他知识点的关系

kp-002 是原理篇、本篇是决策篇;kp-026 消费它的维度输出;kp-003 绑定它的度量要求;kp-027 决策树的每个叶子都隐含"embedding 已按本篇选定"。

延伸阅读

Muennighoff et al., "MTEB: Massive Text Embedding Benchmark"(2022)——嵌入检索能力的标准化评测框架,选型初筛的工具底座。

相关知识点