乐于分享
好东西不私藏

AI 每日一课 #17:向量与 Embedding——一段文字怎么变成数字还能保留意思

AI 每日一课 #17:向量与 Embedding——一段文字怎么变成数字还能保留意思

AI 每日一课 | 第 17 期

搜「苹果手机」能找到「iPhone」,搜「心情不好」能找到「情绪低落」。这不是关键词匹配,而是语义搜索——背后的核心技术就是 Embedding。


什么是 Embedding

把一段文字变成一组数字(向量),使得语义相近的文字→向量也相近,语义无关的→向量也远离。

「我很开心」和「我很快乐」的向量几乎重合;和「量子力学」的向量相距甚远。这组数字编码了文字的「意思」。


为什么能保留语义

训练方式是对比学习:正例对(语义相近)训练目标让向量接近,负例对(语义无关)训练目标让向量远离。经过几亿对训练后,模型学会了把意思相近的文字映射到空间中相近的位置。

类比:关键词搜索=按书名查找,语义搜索=按内容主题查找。Embedding 给每本书分配了一个「内容坐标」。


核心概念

维度

通常 768-1024 个数字。需要足够维度来精确编码主题、情感、语气、领域等多层面信息。中文推荐 BGE-large-zh(1024维)。

余弦相似度

衡量两个向量的语义距离。值为1=完全相同,0=无关,-1=相反。实际中 >0.7 算相关,>0.85 高度相关。


五大应用

1. RAG 检索:问题→向量→在文档向量库中搜索最相似段落

2. 语义搜索:Google/Bing 越来越「懂你」的背后技术

3. 推荐系统:用户行为→向量→找相似用户/物品

4. 聚类分类:文本向量化后语义相近的自然聚在一起

5. 去重查重:两篇文章相似度>0.9 基本是重复


Embedding vs LLM

Embedding 模型:输入文字→输出向量,用于搜索匹配,小而快(毫秒级)

大语言模型:输入文字→输出文字,用于生成对话,大而慢(秒级)

两者互补:Embedding 负责「找信息」,LLM 负责「用信息」。RAG 就是两者的组合。


今日要点

1. Embedding = 文字变向量,语义相近则向量相近

2. 训练方式:对比学习——正例拉近、负例推远

3. 维度768-1024,编码多层面语义信息

4. 余弦相似度衡量语义距离,>0.7相关,>0.85高度相关

5. 应用:RAG检索、语义搜索、推荐、聚类、去重

6. Embedding找信息 + LLM用信息 = RAG系统

Embedding 的本质是给语义一个坐标。有了坐标,「意思相近」这件模糊的事就变成了「距离相近」这件精确的事。模糊变精确,计算机就能处理了。

明天第 18 期,我们聊注意力机制详解——Q/K/V 矩阵怎么工作?多头注意力为什么有效?Flash Attention 解决了什么问题?

明天见。