← [ BACK_TO_NOTES ]

Embedding 模型

Embedding 模型把对象编码为固定维度向量,使相似性、聚类和近邻检索可以在向量空间中计算;效果取决于训练目标、输入模式、相似度度量与任务评估,而不是单纯向量维度。

#ai #concept #growing #embedding

[!info] related notes

Embedding 模型

一句话定义

Embedding 模型学习一个编码函数:

object
→ vector in embedding space

让“相关 / 相似”的对象在模型学到的表示空间中更容易被数学距离或相似度区分。

向量不是“语义坐标真理”

Embedding 输出例如:

[0.13, -0.72, 0.08, ...]

这个向量本身没有人类可直接解释的固定语义轴。

“相近”是否代表我们想要的业务相似性,取决于:

  • 模型训练目标;
  • 数据领域;
  • 输入格式;
  • query/document prompt;
  • similarity metric;
  • 评估集。

所以:

向量距离是模型空间里的关系,不是现实世界相似性的绝对真理。

相似度

常见检索会使用:

  • cosine similarity;
  • dot product;
  • Euclidean/L2 distance。

到底使用哪种度量,应匹配模型训练与服务文档。

如果模型要求 normalization,数据库和检索端也要保持一致。

Query 与 Document 不一定同编码方式

某些 embedding 模型是对称的:

text A
text B
→ 同一编码方式

有些 retrieval 模型则区分:

query encoder intent
document encoder intent

甚至要求不同 instruction / prefix。

因此不能假设“把所有字符串扔进同一个 encode() 就一定最优”。

RAG 中的角色

典型链路:

document
→ chunk
→ embedding
→ vector index

query
→ embedding
→ ANN retrieval
→ candidate chunks
→ optional reranker
→ context
→ LLM

Embedding 主要负责 candidate recall。

它不直接负责:

  • 最终答案生成;
  • 事实验证;
  • 权限控制;
  • chunk freshness;
  • citation correctness。

Dense Retrieval 与关键词检索

Embedding 擅长:

  • 语义近义;
  • paraphrase;
  • 模糊意图;
  • 概念相近。

关键词/BM25 擅长:

  • exact identifier;
  • error code;
  • API name;
  • rare token;
  • 人名/型号/版本。

实际系统常采用 hybrid retrieval。

Reranker

Embedding 检索通常需要在大量候选中快速召回。

Reranker 则对少量候选做更精细的 query-document 相关性判断。

所以常见结构:

Embedding / lexical
→ high recall

Reranker
→ better precision

详见 Reranker 模型。

向量维度

更高维不自动等于更好。

需要权衡:

  • retrieval quality;
  • index size;
  • memory;
  • latency;
  • bandwidth;
  • model cost。

最终应根据实际 benchmark / eval 选择,而不是按维度大小排名模型。

Chunking 会影响 Embedding

一个 2000 字 chunk 和一个 80 字 chunk 即使用同一模型,也会产生不同检索行为。

chunking 影响:

  • semantic focus;
  • recall;
  • context overlap;
  • storage;
  • downstream answer quality。

因此 embedding quality 与 retrieval pipeline 不能完全分开评估。

Model Migration

更换 embedding model 时,旧向量和新向量通常不应直接混在同一向量空间里比较。

常见做法是:

  • 全量 re-embed;
  • version index;
  • 双写迁移;
  • 切流量后淘汰旧 index。

学习检查

  1. Embedding 向量为什么不是可直接解释的“语义坐标轴”?
  2. cosine / dot product 的选择为什么要匹配模型约定?
  3. query 与 document 为什么可能需要不同 prefix / encoder 语义?
  4. Embedding retrieval 与 Reranker 的职责如何分工?
  5. 精确 error code 为什么可能更适合 lexical/hybrid retrieval?
  6. 向量维度越高为什么不自动越好?
  7. 为什么更换 embedding model 往往需要重新向量化整个 corpus?
  8. 给一个 RAG 系统,指出 chunking、embedding、vector index、reranker、LLM 分别负责哪一步。
创建于 2026/6/23 更新于 2026/9/30
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本