一、什么是 Embedding?
简单来说:
Embedding(嵌入),就是把词语、句子或任何类型的信息转化成一组数字(向量),使计算机能够理解并处理它们。
就好像,把每个词汇或概念都“放置”(嵌入)到一个巨大的空间里,每个词都有自己独特的“位置”坐标(数字向量),距离越近的词含义越相似,距离越远则含义差别越大。
举个例子:
「猫」→ [0.5, 1.2, 0.3, …]
「狗」→ [0.51, 1.19, 0.29, …]
它们含义相似,所以坐标非常靠近;而「苹果」的坐标可能很远,因为含义不相关。
二、什么是 Embedding Model?
Embedding Model(嵌入模型)指的就是专门用来生成 embedding 的机器学习模型。
常见的 embedding model 如:Word2Vec、GloVe、FastText、BERT 的 Embedding 层、OpenAI 的 Text Embedding 模型(如 ada-002)
这些模型的作用就是:
把任意的文本输入(比如单词、句子甚至整篇文章),转换成固定长度的数字向量,从而捕捉词语或文本背后的语义关系。
三、Embedding 的作用是什么?
Embedding 具有非常重要的实际应用价值:
-
相似度搜索与推荐
当你要搜索和「苹果」相似的东西时,embedding 模型就可以帮你快速找到「梨子」、「水果」这些相关词或概念。
推荐引擎也经常使用 embedding 来进行精准推荐。
2. 自然语言处理任务的基础
作为 LLM(大语言模型)的准备步骤:所有文字信息都会先被转换成 embedding 向量,再进行后续的语言理解、生成任务。
3. 分类任务与情感分析
Embedding 向量让计算机能够快速判断一句话的情感(正面、负面、中性)或者话题分类。
4. 信息检索与问答系统(RAG)
可以快速找到与你提问相匹配的答案或文档内容,从而实现高效的智能问答。
四、Embedding 与 LLM 的关系
大语言模型(LLM) ,本质上首先会把用户输入(prompt)通过 embedding 转换成一串数字,捕捉背后的含义。
然后再通过复杂的神经网络推理,输出相应的答案,最后再把这些数字转回人类能够理解的文字。
也就是说:Embedding 是大语言模型理解世界、实现智能沟通的第一步,也是最重要的一步。
五、详细说下 RAG 和 Embedding 的关系
我们都知道 RAG 简单来说可以分成两步:
检索(Retrieval):用户提出问题后,先在一个预先准备的知识库中寻找最相关的内容片段。
生成(Generation):将检索到的内容与用户的问题一起交给大语言模型(LLM),生成最终答案。
而 Embedding Model 就在第一步——检索阶段发挥核心作用。
Embeddding Model 在 RAG 中的作用细节
Embedding Model 主要负责:
1) 把知识库内容和用户问题都转成向量
Embedding 模型会将知识库的文档或文本片段提前转换成数字向量,构建一个向量数据库(Vector Database)。
用户每次提出问题时,问题本身也会通过 embedding 模型转换成一个向量。
举例:
用户问题: “如何减轻焦虑感?”
→ Embedding: [0.21, 0.92, 0.15, …]
文档片段: “冥想能有效减轻焦虑情绪……”
→ Embedding: [0.20, 0.93, 0.14, …]
2)进行语义相似性检索
Embedding 模型把问题转化为向量后,系统通过向量相似度计算(如余弦相似度 Cosine Similarity),快速从向量数据库中检索出最相关的文本片段。
语义相似度越高(即向量距离越近)的片段,越可能是用户问题的准确答案或相关知识。
举例:
向量相似度计算结果:
[用户问题] ↔ [文档片段 1] → 0.95 ✅
[用户问题] ↔ [文档片段 2] → 0.52 ❌
选取相似度更高的文档片段 1,提供给大语言模型做进一步回答。
六、Tokenization 和 Embedding 是什么关系?
-
Tokenization(分词)是什么?
Tokenization 是指将原始文本拆分成更小的单位(称为“token”)。在大模型训练中:
token 是模型处理的基本单位,可以是:
-
单个词(Word-based)
-
子词(Subword,如 BPE 或 WordPiece)
-
单个字符(Character-based)
举个🌰:
原始句子:
"我喜欢学习 AI 技术"
tokenization 后的可能结果:
["我", "喜欢", "学习", "AI", "技术"]
Tokenization 是为了让模型能更高效地处理文本数据。模型不能直接处理整句话,而是需要把它拆解成易于处理的小单元。
2、Embedding(嵌入)是什么?
Embedding 是指把上述拆解后的每一个 token 转化为一个数字向量。
Embedding 模型会为每个 token 分配一个固定长度的数字向量。
这些向量蕴含了每个 token 的语义信息。
再举个🌰:
Token "喜欢" 转化为 Embedding 向量:
"喜欢" → [0.32, 1.20, -0.24, ...]
Token "学习" 转化为 Embedding 向量:
"学习" → [0.11, 0.85, -0.41, ...]
Embedding 让模型能够以数学方式理解和处理 token 背后的意义。
3、分词(Tokenization)和 Embedding 的关系是什么?
在模型的训练中,它们的关系是前后顺序:
第一步:Tokenization(将句子变为 token 序列)。
第二步:Embedding(将每个 token 转化成向量)。
也就是说:
原始文本 → 分词 (Tokenization) → Token 序列 → 嵌入 (Embedding) → 数字向量序列
4、总结一下二者的区别联系
概念 | 处理对象 | 作用 | 举例 |
Tokenization(分词) | 原始文本 | 将句子切割成更小的文本单元(token) | "学习AI" → ["学习", "AI"] |
Embedding(嵌入) | token | 将 token 转化为数字向量,表达语义 | "学习" → [0.23, -0.17, …] |
文章中已详细解析了 Embedding 的核心原理与应用,但限于篇幅,还有更多大模型知识的干货未能一一展开。如果你希望进一步深入学习,或获取这些实用资料,VX扫描以下二维码即可领取