向量嵌入(Embedding)
AI TERM术语词条Vector Embedding
术语释义
把文字、图片、音频等非结构化数据转换为固定长度的数字向量,让计算机能够度量语义相似度,是检索、推荐与 RAG 的共同基础。
向量嵌入(Embedding)是 AI 理解世界的一项基础技术:它把文字、图片、声音、代码转换成一串固定长度的数字,也就是向量,用来编码语义信息。它的重要性在于把「意思像不像」变成向量空间里的距离计算。语义一旦可比,检索、去重、聚类、推荐就有了统一的数学接口,这也是检索增强生成(RAG)能成立的前提。
工作原理
- 编码过程:输入「猫」,经过嵌入模型输出一个定长向量,例如数百到数千个浮点数组成的一维数组,每个维度都不单独可解释,整体表示语义位置。
- 相近即相似:语义接近的词(如「猫」与「小猫」)在向量空间中距离很近,方向也接近。
- 相远即无关:语义无关的词(如「猫」与「汽车」)方向差异大、距离远。
- 度量方式:常用余弦相似度衡量方向一致性,或用欧氏距离衡量绝对距离,选择取决于模型训练时使用的目标。
关键应用
- 语义搜索:用自然语言直接搜索文档,理解意图而非依赖关键词字面匹配,能处理同义改写与跨语言查询。
- 推荐系统:把用户偏好与内容都嵌入同一空间,找到「向量接近」的候选内容。
- RAG 系统:把知识库文档切块后转为向量存入向量库,查询时先检索相关片段再交给模型生成答案。
- 聚类与去重:自动发现数据中的相似群组,或识别重复与近似重复内容。
常见模型与选型思路
实际选择时通常按语言与场景划分:中文场景常优先考虑国内开源模型,英文场景多选主流商用接口,多语言需求则选择原生支持多语种的模型。除通用模型外,还有专门面向代码、图像或多模态的嵌入模型,跨模态检索必须使用能同时编码两种模态的模型。维度越高,能承载的信息越丰富,但存储占用与检索耗时也随之上升,因此需要在效果与成本之间取平衡。
实践要点
- 查询与文档用同一模型:两侧编码器不一致或版本不匹配,相似度分数会失去意义。
- 切块策略决定检索质量:块过大导致语义稀释,过小则丢失上下文,通常需按文档结构切分并保留适度重叠。
- 用真实数据做评测:检索效果要看召回率与最终回答质量,不要只凭直觉挑选模型。
- 引入混合检索:向量检索对专有名词、编号、精确短语不敏感,配合关键词检索与重排能明显改善结果。
- 规划向量库成本:维度与数据量共同决定内存与索引开销,规模增长后需要提前考虑量化与分层索引。
常见误区
- 以为向量能表达事实正确性:嵌入只编码语义相似,无法判断内容真假,相关但不正确的内容照样会被召回。
- 把维度高等同于效果好:多数任务在中等维度即可达到接近最优的检索质量,盲目追高维度只增加成本。
- 忽略模型更新带来的漂移:更换嵌入模型后,旧向量与新查询向量不可混用,必须整体重建索引。
- 依赖单一相似度阈值:不同模型、不同语料的分数分布差异很大,固定阈值往往在换场景后失效。