什么是 向量嵌入?

向量嵌入是把文本、图像、实体或其他输入映射为数值向量的学习型表示,使特定训练目标关心的关系可以通过距离度量。只有模型、Revision、任务模式、预处理、维度、归一化和距离函数相互兼容时,向量才可直接比较。

快速了解

创建时间2013 年由 Tomas Mikolov 等人提出(Word2Vec)
规范文档官方规范

工作原理

Embedding 模型把输入中的特定属性压缩为固定长度向量。Word2Vec 和 GloVe 学习静态词向量;基于 Transformer 的编码器可以生成上下文 Token、句子、文档、图像或多模态表示。向量空间受任务约束:擅长语义文本相似度的模型不一定适合非对称检索,部分检索模型还要求 Query 与 Document 使用不同指令。相似度分数只在兼容的向量空间契约中有意义。生产系统应共同版本化模型 Revision、任务模式、预处理、维度、Dtype、归一化、距离函数、源内容、访问策略和索引代次。

主要特点

  • 在指定模型与输出契约下生成固定长度向量
  • 编码训练目标选择的关系,而不是保留源数据的全部属性
  • 可以采用对称输入,也可以区分 Query 与 Document 的非对称任务模式
  • 需要匹配的归一化和距离函数才能形成有效相似度排序
  • 维度、检索质量、存储、内存和延迟之间的权衡取决于具体模型
  • 模型、Revision、预处理或维度变化时,需要建立独立索引代次

常见用途

  1. 语义搜索引擎,查找概念相关的内容
  2. 检索增强生成(RAG),为大语言模型响应提供知识基础
  3. 基于内容相似度的推荐系统
  4. 文档聚类和主题建模
  5. 通过基于距离的异常值识别进行异常检测

示例

loading...
Loading code...

常见问题

什么是机器学习中的向量嵌入?

向量嵌入是文本、图像、实体等输入的学习型数值表示。模型把每个输入映射为固定长度向量,使训练目标关心的关系可以被度量。向量距离通常可表达相关性,但含义只在具体模型与任务契约中成立。

Word2Vec 和 BERT 嵌入有什么区别?

Word2Vec 为词表中的每个词生成静态向量;BERT 生成会随上下文变化的 Token Hidden State。原始 BERT 状态不会自动成为适合句子检索的 Embedding,句向量模型还需要 Pooling 和任务训练,使独立编码的文本能够比较。

如何使用嵌入进行语义搜索?

使用同一模型契约中兼容的任务模式编码文档和查询,再按模型指定的距离函数执行精确或近似最近邻检索。候选暴露前要应用权限过滤,并用带标签查询评测 Recall@k;Dense Retrieval 无法覆盖精确术语或排序要求时,再组合关键词检索和重排。

什么是嵌入维度,如何选择?

嵌入维度是单个模型输出包含的数值个数。维度更高不等于质量必然更好。只能使用目标模型明确支持的维度或缩短方法,再用版本化评测集比较检索质量、存储、内存和延迟,确认结果后重建索引。

不同模型生成的 Embedding 可以比较或混存吗?

默认不可以。模型、Revision、任务指令、预处理、维度或归一化不同,都可能产生不兼容向量空间。迁移时应建立独立索引,用匹配模型分别编码查询,通过 Shadow Traffic 比较结果,并在质量和回滚门禁通过后切换。

相关工具

相关术语

相关文章