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 解决了什么问题?
明天见。
夜雨聆风