什么是 向量嵌入?
向量嵌入是把文本、图像、实体或其他输入映射为数值向量的学习型表示,使特定训练目标关心的关系可以通过距离度量。只有模型、Revision、任务模式、预处理、维度、归一化和距离函数相互兼容时,向量才可直接比较。
快速了解
| 创建时间 | 2013 年由 Tomas Mikolov 等人提出(Word2Vec) |
|---|---|
| 规范文档 | 官方规范 |
工作原理
Embedding 模型把输入中的特定属性压缩为固定长度向量。Word2Vec 和 GloVe 学习静态词向量;基于 Transformer 的编码器可以生成上下文 Token、句子、文档、图像或多模态表示。向量空间受任务约束:擅长语义文本相似度的模型不一定适合非对称检索,部分检索模型还要求 Query 与 Document 使用不同指令。相似度分数只在兼容的向量空间契约中有意义。生产系统应共同版本化模型 Revision、任务模式、预处理、维度、Dtype、归一化、距离函数、源内容、访问策略和索引代次。
主要特点
- 在指定模型与输出契约下生成固定长度向量
- 编码训练目标选择的关系,而不是保留源数据的全部属性
- 可以采用对称输入,也可以区分 Query 与 Document 的非对称任务模式
- 需要匹配的归一化和距离函数才能形成有效相似度排序
- 维度、检索质量、存储、内存和延迟之间的权衡取决于具体模型
- 模型、Revision、预处理或维度变化时,需要建立独立索引代次
常见用途
- 语义搜索引擎,查找概念相关的内容
- 检索增强生成(RAG),为大语言模型响应提供知识基础
- 基于内容相似度的推荐系统
- 文档聚类和主题建模
- 通过基于距离的异常值识别进行异常检测
示例
Loading code...常见问题
什么是机器学习中的向量嵌入?
向量嵌入是文本、图像、实体等输入的学习型数值表示。模型把每个输入映射为固定长度向量,使训练目标关心的关系可以被度量。向量距离通常可表达相关性,但含义只在具体模型与任务契约中成立。
Word2Vec 和 BERT 嵌入有什么区别?
Word2Vec 为词表中的每个词生成静态向量;BERT 生成会随上下文变化的 Token Hidden State。原始 BERT 状态不会自动成为适合句子检索的 Embedding,句向量模型还需要 Pooling 和任务训练,使独立编码的文本能够比较。
如何使用嵌入进行语义搜索?
使用同一模型契约中兼容的任务模式编码文档和查询,再按模型指定的距离函数执行精确或近似最近邻检索。候选暴露前要应用权限过滤,并用带标签查询评测 Recall@k;Dense Retrieval 无法覆盖精确术语或排序要求时,再组合关键词检索和重排。
什么是嵌入维度,如何选择?
嵌入维度是单个模型输出包含的数值个数。维度更高不等于质量必然更好。只能使用目标模型明确支持的维度或缩短方法,再用版本化评测集比较检索质量、存储、内存和延迟,确认结果后重建索引。
不同模型生成的 Embedding 可以比较或混存吗?
默认不可以。模型、Revision、任务指令、预处理、维度或归一化不同,都可能产生不兼容向量空间。迁移时应建立独立索引,用匹配模型分别编码查询,通过 Shadow Traffic 比较结果,并在质量和回滚门禁通过后切换。