1、一个奇怪的问题
你有没有想过这个问题:
AI 是怎么知道“苹果”和“水果”意思相近的?
它当然知道,因为 AI “见过”这两个词在大量文本里一起出现。但具体是怎么做到的呢?
这就引出了今天的主题:Embedding(嵌入)。
2、从文字到数字
要理解 Embedding,先要理解一个基本问题:AI 是怎么表示“苹果”这个词的?
AI 不是魔法,它本质上是数学运算。要让 AI “处理”一个词,第一步就是把词转换成数字。
这个转换的过程,就是 Embedding。
2.1 简单版:One-Hot 编码
最简单的方式是 One-Hot 编码:
假设我们有一个只有 5 个词的词表:[“苹果”, “香蕉”, “猫”, “狗”, “汽车”]。
那么:
- “苹果” → [1, 0, 0, 0, 0]
- “香蕉” → [0, 1, 0, 0, 0]
- “猫” → [0, 0, 1, 0, 0]
- …
每个词被表示成一个向量,词表中只有自己对应的位置是 1,其他都是 0。
2.2 问题在哪?
One-Hot 编码有两个致命问题:
-
维度爆炸:如果词表有 10,000 个词,每个词就是 10,000 维的向量,存储和计算都极其低效
-
没有语义信息:
- “苹果” = [1, 0, 0, 0, 0]
- “水果” = [0, 0, 0, 1, 0]
这两个向量看起来毫无关系,但它们在语义上是非常接近的。
3、Embedding 的核心思想
Embedding 要做的事:把词映射到一个稠密的向量空间,让语义相近的词,向量也相近。
这个向量空间可能是 256 维、768 维、1536 维……取决于模型的设计。
比如在某个 Embedding 空间里:
- “苹果” → [0.2, -0.5, 0.8, …]
- “香蕉” → [0.3, -0.4, 0.7, …]
- “汽车” → [-0.8, 0.9, 0.1, …]
“苹果”和“香蕉”的向量很接近(都是水果),而“苹果”和“汽车”的向量很远(毫无关系)。
这就是 语义空间(Semantic Space) 的概念。
4、AI 是怎么学到这种映射的?
Embedding 不是人工设定的,而是 AI 在训练过程中自己学到的。
训练的目标是什么?“相似的词,应该有相似的上下文”。
比如,在大量文本中:
- “苹果” 经常和 “水果”、“吃”、“甜” 一起出现
- “香蕉” 经常和 “水果”、“吃”、“甜” 一起出现
AI 通过训练,发现 “苹果” 和 “香蕉” 的上下文模式很像,于是在向量空间里,把它们的向量放得很近。
这是一个无监督学习的过程——AI 不需要人工标注“苹果是水果”,它自己从语料中发现了这个规律。
5、向量相似度:怎么衡量“相近”?
当每个词都被表示成向量后,怎么衡量两个词的“相近程度”?
最常用的方法是 余弦相似度(Cosine Similarity):
cosine_similarity(A, B) = (A · B) / (|A| × |B|)
简单来说,就是计算两个向量夹角的余弦值:
- 夹角为 0°(向量完全相同)→ 余弦值 = 1
- 夹角为 90°(向量垂直)→ 余弦值 = 0
- 夹角为 180°(向量相反)→ 余弦值 = -1
余弦值越接近 1,说明两个向量越“相似”。
6、Embedding 的应用
理解 Embedding 之后,很多 AI 应用就变得清晰了:
6.1 语义搜索
传统搜索是关键词匹配:搜索“苹果”,只能找到包含“苹果”这个词的文档。
语义搜索是向量匹配:把“苹果”和所有文档都转换成向量,然后在向量空间里找最接近的。
这样,即使文档里没有“苹果”这个词,但提到了“fruit apple”,也能被找到——因为它们的向量很接近。
6.2 推荐系统
推荐商品的本质是:找到和用户喜欢的商品“向量相近”的商品。
如果用户喜欢“iPhone”,那么在向量空间里,“iPad”、“MacBook”、“AirPods”很可能和它很接近,所以就会被推荐。
6.3 RAG(检索增强生成)
RAG 是现在很火的 AI 应用模式:
- 把知识库文档切成小块,转换成向量,存入向量数据库
- 用户提问时,把问题也转换成向量
- 在向量数据库中找和问题向量最相似的文档块
- 把这些文档块作为上下文,让 AI 生成回答
这样,AI 就能回答“知识截止日期之后”的问题,因为它是通过检索找到最新信息的。
7、不只是词:句子和文档的 Embedding
Embedding 的思想不只适用于单词,也可以用于句子、段落甚至整篇文档。
sentence-transformers 就是这样的模型:把一句话转换成一个向量。
比如:
- “今天天气很好” → [0.1, -0.3, 0.5, …]
- “明天阳光明媚” → [0.15, -0.28, 0.48, …]
这两句话意思相近,向量也很接近。
这种能力让 AI 可以:
- 判断两段文本是否“说的是同一件事”
- 在海量文档中找到“相关内容”
- 对文本进行聚类和分类
8、本质是什么
Embedding 是把离散的符号(文字)映射到连续的向量空间的过程。
在这个向量空间里,语义相近的内容,向量也相近。这个空间不是人工设定的,而是 AI 通过学习海量文本自己“发现”的——它发现了语言里的统计规律,然后把这些规律编码成了向量的几何关系。
理解 Embedding,你就理解了 AI “理解”语义的基础。它是一切语义搜索、推荐系统、RAG 的技术基石。
系列总结
从第一篇的“概率预测”,到第二篇的“Token 分词”,到第三篇的“上下文窗口”,到第四篇的“采样参数”,再到今天的“向量嵌入”——我们一起探索了 LLM 的几个核心概念。
这些概念串起来,就是现代大语言模型工作的基本逻辑:
文本 → Token → 向量(Embedding)→ 预测下一个 Token → 采样输出
理解了这个链条,你就对 AI 有了本质的认知,而不只是停留在“怎么用”的层面。
希望这个系列对你有帮助。如果你有其他想了解的话题,欢迎告诉我!
每天前进一小步,就是一个新的高度!