从零开始理解 Embedding,掌握向量检索的核心技术

内容分享1周前发布
0 4 0

什么是 Embedding

1.1 一句话解释

Embedding(嵌入)= 把文字转换成数字向量

1.2 形象理解

想象你要给每个人建立档案

传统方式(文字)

从零开始理解 Embedding,掌握向量检索的核心技术

Embedding 方式(向量)

从零开始理解 Embedding,掌握向量检索的核心技术

这些数字向量包含了所有信息,而且类似的人向量会更接近

1.3 核心特点

从零开始理解 Embedding,掌握向量检索的核心技术

三个核心特点

  1. 1. 固定维度:无论文本长短,都转换为固定长度的向量(如 768 维、1536 维)
  2. 2. 语义类似:意思相近的文本,向量也相近
  3. 3. 可计算:可以用数学方法计算类似度

2. 为什么需要 Embedding

2.1 计算机不懂文字

问题: 计算机如何判断两段文字是否类似?

错误方法:字符串匹配

从零开始理解 Embedding,掌握向量检索的核心技术

正确方法:Embedding + 向量类似度

从零开始理解 Embedding,掌握向量检索的核心技术

2.2 应用场景

从零开始理解 Embedding,掌握向量检索的核心技术

2.3 实际案例对比

场景:在知识库中搜索

用户问题: “如何重置密码?”

知识库中的文档:

  1. 1. “忘记密码怎么办”
  2. 2. “修改登录凭证的方法”
  3. 3. “公司年会时间安排”

传统关键词搜索:

  • • 搜索 “重置密码”
  • • 结果:无匹配 (由于知识库中没有”重置”这个词)

Embedding 语义搜索:

  • • 计算问题的 embedding
  • • 与所有文档的 embedding 计算类似度
  • • 结果:
    • • 文档1:”忘记密码怎么办” – 类似度 0.89
    • • 文档2:”修改登录凭证的方法” – 类似度 0.76
    • • 文档3:”公司年会时间安排” – 类似度 0.12

3. Embedding 的工作原理

3.1 从词向量到句子向量

早期:Word2Vec(词向量)

从零开始理解 Embedding,掌握向量检索的核心技术

特点:

  • • 只能处理单个词
  • • 类似的词向量相近(apple 和 orange)

现代:Transformer(句子向量)

从零开始理解 Embedding,掌握向量检索的核心技术

特点:

  • • 可以处理整个句子/段落
  • • 理解上下文关系
  • • 捕捉语义信息

3.2 Embedding 模型的训练

从零开始理解 Embedding,掌握向量检索的核心技术

训练方式举例:

  1. 1. 对比学习
  2. • 正样本对:”天气真好” <-> “今天天气不错” → 向量要接近
  3. • 负样本对:”天气真好” <-> “我喜爱编程” → 向量要远离
  4. 2. 问答对训练
  5. • 问题:”如何学习 Python?”
  6. • 答案:”可以从基础语法开始…”
  7. • 目标:问题和答案的 embedding 要接近

3.3 维度的意义

为什么是 768 维或 1536 维?

每一维可以理解为捕捉某种语义特征:

从零开始理解 Embedding,掌握向量检索的核心技术

直观比喻:

  • • 1 维:只能表明”大小”(一条线)
  • • 2 维:能表明”长宽”(一个平面)
  • • 3 维:能表明”长宽高”(一个空间)
  • • 1536 维:能表明 1536 种不同的语义特征(超空间)

4. 向量类似度计算

4.1 三种常见类似度算法

余弦类似度(最常用)

公式:

从零开始理解 Embedding,掌握向量检索的核心技术

图示:

从零开始理解 Embedding,掌握向量检索的核心技术

优点:

  • • 不受向量长度影响
  • • 只关注方向
  • • 适合文本类似度

欧氏距离

从零开始理解 Embedding,掌握向量检索的核心技术

点积(内积)

从零开始理解 Embedding,掌握向量检索的核心技术

对比

余弦类似度:文本语义比较、文档检索排序、内容推荐系统(多数场景用的都是这个)

欧氏距离:空间位置测量、聚类分析、异常检测

点积类似度:快速初步筛选、计算资源有限场景(说白了,就是比较拉)

4.2 实际例子

从零开始理解 Embedding,掌握向量检索的核心技术

余弦类似度计算:

从零开始理解 Embedding,掌握向量检索的核心技术

4.3 类似度阈值设置

从零开始理解 Embedding,掌握向量检索的核心技术

5. 常见的 Embedding 模型

5.1 国际主流模型

从零开始理解 Embedding,掌握向量检索的核心技术

5.2 国内主流模型

从零开始理解 Embedding,掌握向量检索的核心技术

5.3 开源 vs 闭源

从零开始理解 Embedding,掌握向量检索的核心技术

5.4 模型性能对比

中文检索任务 Benchmark:

从零开始理解 Embedding,掌握向量检索的核心技术

推荐选择:

  • 中文 RAG:阿里 text-embedding-v4
  • 预算有限:bge-large-zh(开源)
  • 英文为主:OpenAI text-embedding-3-small

6. 向量数据库介绍

6.1 为什么需要向量数据库?

问题: 假设你有 100 万个文档的 embedding

暴力搜索:

从零开始理解 Embedding,掌握向量检索的核心技术

向量数据库:

从零开始理解 Embedding,掌握向量检索的核心技术

6.2 常见向量数据库对比

从零开始理解 Embedding,掌握向量检索的核心技术

6.3 Milvus 架构

从零开始理解 Embedding,掌握向量检索的核心技术

核心概念:

  1. 1. Collection(集合)
  2. • 类似关系型数据库的”表”
  3. • 存储同一类型的向量
  4. 2. Field(字段)
  5. • 向量字段:存储 embedding
  6. • 标量字段:存储元数据(ID、文本、标签等)
  7. 3. Index(索引)
  8. • HNSW:高性能,内存占用大
  9. • IVF_FLAT:平衡性能和内存
  10. • DiskANN:处理超大规模
  11. 4. Partition(分区)
  12. • 按业务逻辑分区(如按日期、类别)
  13. • 提高查询效率

6.4 向量检索流程

从零开始理解 Embedding,掌握向量检索的核心技术

© 版权声明

相关文章

4 条评论

  • 头像
    何嘻嘻xi_ 读者

    AI大模型全套系统化学习🗂→@AI大模型学习小助理

    无记录
    回复
  • 头像
    奔跑的蜜蜂mi 投稿者

    大学线性代数 离散数学全忘了

    无记录
    回复
  • 头像
    FN57_90 读者

    通俗易懂,为作者点赞

    无记录
    回复
  • 头像
    陌上花开 读者

    收藏了,感谢分享

    无记录
    回复