嵌入
嵌入是把词语、句子、图像等数据转换为一串数字(向量),并让含义相近的数据彼此靠近的一种表示。计算机通过测量这些数字之间的距离来判断“有多相似”。
工作原理
嵌入模型读取输入的文本或图像,输出承载其含义的一串数字(向量)。在训练过程中,模型被调整为让含义相近的数据得到相近的数字,含义不同的数据得到相距较远的数字。因此,计算两个向量指向的方向有多一致(如余弦相似度),就能知道它们的含义有多接近。例如,“小狗狗粮推荐”和“如何挑选宠物狗食物”即使用词不同,也会得到相近的向量。
发展历程
最初,把每个词表示为向量的“词嵌入”在自然语言处理中被广泛使用。2019 年,Reimers 和 Gurevych 提出的 Sentence-BERT 把名为 BERT 的语言模型改造成孪生结构,生成可直接比较整个句子的向量,使查找相似句子的速度大幅提升。2020 年,Karpukhin 等人提出的 Dense Passage Retrieval(DPR)表明,不靠关键词匹配、仅用嵌入就能找到与问题匹配的段落,而且效果优于传统关键词检索(BM25)。2022 年,Muennighoff 等人构建了 MTEB,这是一个在多种任务和众多语言上统一比较嵌入模型的基准,并证实目前还没有在所有任务上始终领先的方法。
为什么重要
嵌入是实现“按含义查找”的基础材料。它广泛用于语义搜索(即使没有与搜索词完全相同的词,也能找到含义相符的文档)、推荐相似商品,以及把相似文本归为一类的分类任务。尤其是在 LLM 查找并参考外部文档来回答的 RAG 中,把问题和文档转换为嵌入、从中挑选相关文档的步骤是关键。如今还出现了把文本以及图像、音频、视频放进同一空间的多模态嵌入。
注意事项
嵌入擅长捕捉“相似性”,但可能遗漏精确数字、专有名词、否定表达(“不是……”)等细节。因此,实际服务中常常结合使用与关键词检索混合的混合搜索,或对结果重新排序的重排序器。此外,每个嵌入模型的向量形式不同,更换模型后需要重新生成已存储的向量。哪个模型更好取决于任务和语言,因此最好用自己的数据亲自测试。
示例
本站也报道过的“Google 发布将文本、图像、音频、视频放入同一向量空间的开放嵌入模型 EmbeddingGemma 2”就是一个很好的例子。使用这类模型,即使用文字搜索“海边晚霞”,也能一并找到相似的照片或视频。在公司内部文档搜索或聊天机器人中,常见的做法是预先把文档转换为嵌入并存入向量数据库,用户提问时找出最接近的文档交给 LLM。
本站出现过的地方
- 简报 Google 发布将文本、图像、音频、视频放入同一向量空间的开放嵌入模型“EmbeddingGemma 2” 2026-10-07
- 简报 Ollama v0.40.0 在 Apple Silicon 上默认采用 MLX 运行时 2026-10-07
- 论文 ALoDLM:按 token 调整循环深度的循环式扩散语言模型 2026-10-07