← 专题深读

专题深读 · 2026-10-30 · 基础 · 作者 bombong

嵌入模型:将句子转换为向量、决定检索质量的组件

嵌入模型把句子转换成一串数字(向量),让意思相近的文本落在相近的位置。在RAG和语义检索中,要找回哪些文档是在这一步决定的,因此选择哪个模型、如何适配,会直接影响回答质量。

目录
要点
  • 嵌入模型把一个句子压缩成一个向量。这样可以预先计算好文档并快速检索,但容易丢失数字或细小写法差异之类的细节信息。
  • 训练方式是“让相关的对靠近,让不相关的对远离”。因此,模型被训练成把哪些对视为相同,就决定了模型所说的“相似”的标准。
  • 排行榜第一的模型不一定在你的业务中也是最好的。已有针对特定语言或领域的小模型超过大得多的通用模型的案例。
  • 嵌入模型存在Sticky token、数字感知不足等已知弱点;即使是同一批文档,换一个模型,“最相近文档”列表也会大不相同。
  • 近来的研究方向是自动生成定制训练数据,或者无需训练、根据指令改变嵌入。

为什么需要嵌入

关键词检索要求问题和文档中出现相同的字词才能找到文档。用“怎么请年假”搜索时,标题为“休假申请流程”的文档即使意思相同也可能被漏掉。BM25这类关键词检索排序函数快速而精确,但并不知道“意思相同”。计算机擅长的是比较数字。于是有了这样的想法:把句子转换成一串数字,并让意思相近的句子对应的数字也相近。这样转换的结果就是嵌入,负责这一转换的模型就是嵌入模型。

如今,嵌入模型在RAG(检索增强生成)、聊天机器人和语义检索中负责“检索阶段”。LLM再强,如果拿到的是不相干的文档,答案也会出错。嵌入模型选择框架研究(paper)把嵌入模型的选择列为构建检索系统时对结果影响最大的决定之一,同时指出它却是最少被认真权衡的决定。

嵌入并不只用于检索。ADEPT(paper)把时间序列等原始数据改写成文字,再用文本嵌入来表示,以此尝试将数据采集、预处理、特征工程这一系列数据工程步骤自动化。该研究报告称,即使在含有缺失值或格式损坏的数据上,它在医疗、金融、工业IoT数据集上的预测性能也优于现有基准。这说明把句子转换为向量的能力正在成为一种通用组件。

核心思路:在意义地图上标坐标

嵌入模型类似于绘制一张巨大地图的测绘员。它给每个句子标一个坐标,意思越相近的句子,在地图上的位置也越近。不过真实地图只有横、纵两个轴,而嵌入的地图是一个有非常多轴的空间。两个句子有多相似,用两个坐标有多近来衡量。通常使用余弦相似度,即用两个向量之间的夹角来衡量。

这一设计的关键选择是“把一个句子压缩成一个向量”。这样就可以预先把数百万份文档转换成向量并存储。问题进来时,只需把这一个问题转换成向量并查找相近的坐标,因此速度很快。代价是压缩时会丢失信息。“增长2%”和“增长20%”几乎落在同一位置,原因就在于此。

因此,它与其他方式之间存在取舍。ColBERT系列的Late Interaction(后期交互)方式为每个token分别保留向量,在token级别比对问题和文档,能保留更多细节信息,但需要存储和计算的量也随之增加。在阿姆哈拉语检索研究(paper)中,基于ColBERT的模型在所评估的模型中取得了最高的MRR@10(0.843)。单向量模型换来的是速度和简洁,token级模型换来的是精确。在最后加上重排序器(reranker)也是弥补这一取舍的方法。

如何工作

一个句子变成向量要经过四步。第一,分词器把句子切分成token(单词或词片段)。第二,Transformer为每个token生成融合周围上下文的表示。第三,在池化阶段把各token的向量合并为一个。常见做法是取平均,也有用某个特定token的向量作为代表的。第四,由此得到的这个向量就是该句子的坐标。

模型学习“相似”的方法是对比学习(contrastive learning)。训练时让问题与正确文档这类相关的对靠近,把不相关的对推远。实体匹配研究(paper)使用的Triplet训练把“基准记录、同一对象的记录、相似但属于不同对象的记录”三条作为一组,训练模型使正确对比错误对至少近出一定间隔(margin)。归根结底,模型所说的“相似”是由训练数据定下的标准。这一点是理解后文局限与定制训练的关键。

放进检索系统后,流程如下。预先通过分块(文档切分)把文档切成合适的大小,对每个片段做嵌入后存入向量数据库。问题到来时,必须用同一个嵌入模型把问题转换成向量。然后用ANN检索(近似最近邻检索)快速筛出相近的片段候选,必要时再用重排序器重新排序。选择框架研究(paper)主张不要孤立地看待模型选择,而应把它视为贯穿嵌入生成、索引与大规模检索、分块策略这一整条流水线中的一个决定。在聊天机器人这类多轮对话中,有时需要连同之前的消息一起检索。Hakim(paper)就把这种考虑对话历史的检索作为设计目标。

基于嵌入的检索流程文档集合 → 分块(预先); 分块 → 嵌入模型; 嵌入模型 → 向量数据库; 用户问题 → 同一嵌入模型; 同一嵌入模型 → ANN 检索; 向量数据库 → ANN 检索(查询候选); ANN 检索 → 重排序器; 重排序器 → 回答依据文档文档集合分块切成合适的大小嵌入模型每个片段转为向量向量数据库用户问题同一嵌入模型问题转为向量ANN 检索筛选相近候选重排序器选择回答依据文档预先查询候选
基于嵌入的检索流程 上面一行是预先完成的文档索引,下面一行是每次有问题进来时运行的检索。文档和问题必须用同一个嵌入模型转换。

发展脉络:从通用模型到定制模型

本资料所依据的研究与其说是一条连续的谱系,不如说是从不同角度处理同一个问题。这个问题是:“通用嵌入模型够用吗,还是需要适配?”第一个维度是语言。Hakim(paper)为在大规模嵌入研究中被忽视的波斯语新建了三个训练数据集,并报告称在FaMTEB基准上比现有方法高出8.5%。阿姆哈拉语检索研究(paper)更清楚地展示了这一效果。1.1亿(110M)参数的阿姆哈拉语专用模型在MRR@10上比5.68亿(568M)参数的多语言模型Arctic Embed 2.0高17.6%(相对值),在Recall@10上高9.86%。规模更小的42M变体虽然小了13倍以上,仍保持了竞争力。

第二个维度是“相似”的标准。实体匹配研究(paper)认为通用嵌入擅长语义相似,但并不适合判断记录是否指向同一家公司或同一个人。因为记录中几个字的差别,可能是同一对象,也可能是完全不同的对象。该研究用合成数据进行了Triplet微调,并报告称区分真正匹配与极为相似的不匹配的能力大幅提升。

第三个维度是选择方法。选择框架研究(paper)在英语检索任务上比较了商用API模型和多个开源模型,结论是排行榜第一的模型很少在特定部署环境中是最优的。因此它提出了根据任务、延迟、成本和部署约束进行选择的实用标准。总结来说,这些研究的共同结论是:通用模型只是起点,当语言、领域或“相同”的定义不同时,就需要适配。

通用模型与定制模型

通用嵌入模型直接拿来使用

  • 可立即使用,在多种任务上表现都还不错
  • 擅长语义相似性
  • 在小众语言·狭窄领域可能较弱
  • 并非针对区分“同一对象”而设计

语言·领域定制模型专门训练·微调

  • 有小模型超越大型通用模型的案例
  • 可以让模型学习业务中“相同”的标准
  • 需要投入构建训练数据的成本
  • 更换模型后需要重新评估

공통 两者最终都要用自己数据构建的评估集来验证

根据正文提到的研究,将两种选择的优缺点并列对比。

最新进展方向

适配很重要这一点已有共识,问题在于成本。定制训练需要大量“这个问题对应这篇文档”的配对。由人工设计这类数据代价高昂。SYNTRA(paper)直接针对这一瓶颈。只需提供一批无标签文档和少量问题-文档示例,智能体就会推断其中隐含的信息需求和相关性标准。接着,它根据对试运行输出的反馈,自行改进问题生成指令和相关性判定指令。它用同一套流程在15个领域的24个数据集上生成了可用的训练数据。在评估的6个任务中,有4个任务的检索性能优于人工校准的版本。作者报告称,在MS MARCO上,将合成数据量扩大到32倍的范围内,性能持续提升。

另一个方向是“不重新训练就改变”。近来的嵌入模型有时会在问题前加上“查找与此问题相关的法律条款”这类指令。但仅靠对比学习,模型往往难以很好地遵循指令。Attention Relay(paper)提出把已能很好遵循指令的LLM的注意力权重直接传递给嵌入模型的注意力,无需额外训练。Qwen3、Llama 3.1、OLMo 3系列的6个LLM与10个嵌入模型的组合中,大多数都能反映指令。据称,指令所关注的方面在嵌入中变得突出,原本在取平均时被稀释的方面也得以恢复。

两个方向出于同一问题意识:“相似”的标准需要按业务分别调整,而它们都想降低这一成本。SYNTRA从廉价生成数据的角度切入,Attention Relay则从跳过训练本身的角度切入。

嵌入模型研究地图 按问题对同一时期的研究进行了分组。只标出分组而不画箭头,是因为它们之间并非直接相承的谱系。

局限与争议

第一,一个异常token就可能扰乱结果。Sticky token研究(paper)发现了一类token:在句子中反复插入后,会把相似度拉向某个特定值。在14个模型系列的40个检查点中,共发现了868个这样的token。这些token主要来自词表中的特殊条目或未使用的条目,以及多语言语料中被切得很碎的词片段。模型或词表更大,也并不会更少出现。在聚类和检索等下游任务中,性能最多下降了50%。对于直接索引外部文档的系统来说,这一点需要注意。

第二,不擅长处理数字。数字感知研究(paper)用金融语境的合成数据评估了13个广泛使用的嵌入模型。这些模型大多无法准确捕捉数字细节。“市场份额增加了2%”和“增加了20%”意思相差很大,但在嵌入中可能看起来很相似。在金融、医疗等数字很重要的领域,比较稳妥的做法是不要只依赖嵌入检索,而是同时加上数字过滤或关键词条件。

第三,结果在很大程度上取决于模型。科学地图研究(paper)用10个模型对OpenAlex中50万篇论文的标题和摘要进行嵌入并比较。以26个学科的平均位置来看,整体布局在不同模型之间相似。但在同一学科、同一时期内,为一篇论文选出最相近的25篇时,两个模型平均只有8篇重合。只输入标题还是连同摘要一起输入,列表也会大幅变化。这意味着更换模型后,用户看到的检索结果确实会改变。因此更换模型时,需要对全部文档重新嵌入并重新评估。

这里也整理一下常见错误:只看排行榜分数做选择;用不同的模型分别嵌入文档和问题;把通用模型的“相似”与业务上的“相同”(同一客户、同一合同)混为一谈。只怪模型而不检查分块策略的情况也很常见。

用数字看嵌入的弱点

868 个在 40 个检查点中发现的 Sticky token
最多 50%Sticky token 导致的性能下降
13 个被评估为未能很好表示数字的嵌入模型数量
25 篇中的 8 篇两个模型共有的最相近论文
以下是正文引用的研究所报告的数值。

实际选择方法与延伸学习

选择模型要按顺序来。首先,用自己的数据准备一个小型评估集(Evals)。只需收集真实问题以及与之匹配的文档对即可。然后,在相同的分块条件下比较多个候选模型。正如选型框架研究(paper)所指出的,不仅要看准确率,还要同时考虑延迟、成本和部署限制(能否使用外部 API,还是必须在公司内部自行运行)。如果是韩语以外的语言或特定领域,小型专用模型可能优于大型通用模型。阿姆哈拉语案例(paper)就是如此。如果性能不足,可以考虑微调;如果训练数据不足,可以参考 SYNTRA(paper)这类合成数据方法。

与其只用嵌入检索,不如结合关键词检索做混合检索,再配合重排序器,这样可以弥补嵌入在数字、专有名词等方面的弱点。这一判断直接来自前面局限性一节中看到的弱点。

如果想进一步学习,建议先读选型框架研究(paper)。它一次性梳理了从生成嵌入、建立索引到分块的整个检索流水线。接着阅读用数据展示定制效果的阿姆哈拉语检索研究(paper),以及探讨“相似”与“相同”之差异的实体匹配研究(paper),就能理解为什么需要定制。想了解弱点,可以看 Sticky token(paper)和数字感知(paper)研究;想了解最新动向,可以接着看 SYNTRA(paper)和 Attention Relay(paper)。

嵌入模型引入检查清单

选择

  • 是否有用自己的问题-文档对构建的评估集
  • 是否在相同分块条件下比较了候选模型
  • 是否同时考虑了延迟·成本·部署限制
  • 是否把语言·领域专用模型也列入候选

运营

  • 文档和问题是否用同一模型做嵌入
  • 检索数字·专有名词时是否同时使用关键词条件
  • 是否用重排序器或混合检索加以补充
  • 是否计划了更换模型时的全量重新嵌入和重新评估
在选择或更换模型前需要确认的事项。

相关术语

嵌入 向量数据库 RAG 语义搜索 ANN 搜索 分块 重排序器 混合检索

参考资料

奠基论文

最新研究

由 AI 根据所列参考资料撰写并经过审核。详情请查看原始资料。