news 2026/3/21 2:32:51

大模型入门必看:Embedding技术原理与实战详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型入门必看:Embedding技术原理与实战详解

本文详细介绍了Embedding技术,它是将文字、图片等复杂事物转化为数字向量的方法,使计算机能理解事物间的关系。文章讲解了Embedding的四步训练过程、相似度计算方法(特别是余弦相似度)以及向量数据库的应用。通过实例展示了Embedding在推荐系统、搜索等场景的应用,并提供了Python实现代码,帮助读者理解这一大模型核心技术。


一、什么是Embedding?

大多数同学第一次听说Embedding可能是通过大语言模型相关的知识,包括我之前写过一篇关于“词嵌入”的文章,也是针对Embedding在大语言模型的应用。然而它不仅仅可以表示大语言模型中文字间的关系,Embedding(嵌入) 是把现实世界中复杂的事物(比如文字、图片、商品、甚至是你自己),转化成一串数字(向量),它的核心目的,是让计算机能够通过这些数字,“听懂”事物之间的逻辑关系和相似程度。

举个例子——水果的“数字身份证”。想象一下,如果你要向一个从来没见过水果的外星人介绍“苹果”、“香蕉”和“西瓜”。你可以给每种水果建立一个坐标系,用两个特征(维度)来描述它们:

  1. 甜度(从 0 到 1)
  2. 大小(从 0 到 1)

那么,这些水果就变成了坐标系上的点:

  • 苹果:甜度 0.7,大小 0.3 →
    [0.7, 0.3]
  • 西瓜:甜度 0.8,大小 0.9 → [0.8, 0.9]
  • 柠檬:甜度 0.1,大小 0.2 → [0.1, 0.2]

这个过程就是 Embedding:我们把“水果”这个抽象的概念,嵌入到了一个数学空间里。会发现,苹果和柠檬在坐标纸上离得比较远,而苹果和西瓜在“甜度”这个维度上比较近。计算机就是通过计算这些数字之间的“距离”,来判断谁和谁更像。

在没有 Embedding 之前,计算机看词汇就像看孤立的符号。比如“猫”和“狗”,在计算机眼里只是两个不同的字符串。有了 Embedding 之后,Word2Vec(词嵌入)模型发现,这些数字之间甚至可以做算术运算:

“国王” 的向量 - “男人” 的向量 + “女人” 的向量 ≈ “女王” 的向量

这意味着 Embedding 不仅仅是给事物打标签,它还抓住了事物背后的内在逻辑。

生活中,我们每天其实都在被 Embedding 服务:

  • 抖音/小红书推荐:系统把你喜欢的视频转化成 Embedding,把你这个人也转化成 Embedding。当这两个 Embedding 在数学空间里的距离足够近时,系统就会把视频推给你。
  • 淘宝搜图:你拍一张衣服的照片,系统把图片转成一串数字(Embedding),然后在数据库里寻找数字最接近的商品。
  • ChatGPT:它能和你聊天,是因为它把所有的文字都转成了复杂的 Embedding,从而理解了你说话的意图。

Embedding 就是一种“翻译官”,它把人类能理解的感性世界(文字、图片、喜好),翻译成计算机能处理的理性世界(数字、向量)。它的精髓在于:

  1. 降维:把复杂的特征浓缩成一串数字。
  2. 保留关系:让相关的事物在数字空间里依然靠在一起。

二、Embedding的训练过程

计算机最初并不懂什么是“猫”,什么是“狗”,在它眼里,所有的东西最初都是一堆乱码(随机生成的数字)。它通过以下四个步骤,把这些乱码磨练成了精准的 Embedding。

第1步:设定一个任务

计算机不会凭空学习,它需要一个目标。最经典的方法叫做 Word2Vec(词转向量),它给计算机布置了一个任务:“通过上下文猜中间的词”。比如,它读到一句话:

可爱的[ ? ]正在屋顶上晒太阳,发出了喵喵声。”

计算机的任务就是不断地尝试填空。为了完成这个任务,它必须理解词与词之间的联系。

说明:如果是中文,在进行Word2Vec之前需要进行词拆分,一常用工具是jieba,如果是英文则一个单词为一个单元,无需再次拆分。一个常用的Word2Vec工具是gensim,它可以从非结构化文本中,无监督地学习到隐层的主题向量表达)

第2步:随机初始化

在训练开始的第 1 秒,计算机给每个词分配的 Embedding 都是随机生成的,这里的向量长度由人为指定,例如100维、128维等,为了简便,下面的例子的向量维度为3。

  • “猫”的向量可能是:[0.1, -0.5, 0.8]
  • “狗”的向量可能是:[-0.9, 0.2, 0.1]
  • “太阳”的向量可能是:[0.4, 0.4, -0.3]

这时候的向量没有任何意义,就像一个完全不懂中文的人在考卷上瞎写。

第3步:计算损失函数并进行反向传播

这是最关键的一步。

  1. 预测:计算机用它那组随机数字去猜,“[ ? ]”里应该是“苹果”。
  2. 纠错:算法告诉它:“错了!正确答案是‘猫’。”
  3. 计算差距:算法会计算“苹果”和“猫”在数学上的距离差。
  4. 微调数字:根据这个差距,算法会通过一种叫梯度下降(Gradient Descent)的方法,微微修改“猫”和“上下文(屋顶、喵喵)”的 Embedding 数字。

逻辑是:如果“猫”经常出现在“喵喵”和“屋顶”旁边,那么在数学空间里,就把“猫”的坐标往“喵喵”和“屋顶”的坐标那里挪近一点

第4步:海量练习,量变产生质变

计算机不是只读一句话,它会读完整个维基百科、整个互联网。

  • 当它读了 1 万次关于“猫”和“喵喵”的句子,两者的坐标就会靠得很近。
  • 当它发现“狗”也经常出现在“宠物”、“骨头”旁边,而“猫”也经常出现在这些词旁边,它就会发现:“原来猫和狗的社交圈子很重叠啊!”

于是,在数学空间里,“猫”和“狗”的距离也会被拉近。经过几亿次的反复微调,每个词的坐标都找到了最合适的位置。计算机并不真的“认识”猫,但它精准地掌握了“猫”这个词在人类语言环境中的生存位置。

小结

总结一下,训练的三部曲:

  1. 随机分座位:先给每个词随便找个位置坐。
  2. 看邻居是谁:发现经常在一起玩的词,座位应该靠在一起。
  3. 反复调整:通过成千上万次的挪动,最终形成一个逻辑自洽的“座位表”。

Embedding模型将文本等离散数据转换为低维、稠密的向量,捕捉其语义信息。向量空间中的距离(如余弦相似度)可反映文本间的语义相似度。

关于Embedding模型,业内有一个MTEB (Massive Text Embedding Benchmark) 榜单,MTEB是一个全面的评测基准,它涵盖了分类、聚类、检索、排序等8大类任务和58个数据集。通过MTEB榜单,可以清晰地看到不同模型(如BGE系列, GTE, Jina 等)在不同任务类型上的性能表现。例如,某些模型在检索任务上表现优异,而另一些则可能在聚类或分类任务上更具优势。这有助于我们根据具体应用场景,做出初步的模型筛选。

网站参考:https://huggingface.co/spaces/mteb/leaderboard

三、怎样计算两个目标的相似度

计算机判断目标“像不像”的方法,其实就是量一下它们之间的距离或角度。在所有方法中,最常用、也最符合直觉的就是余弦相似度(Cosine Similarity)。

1. 为什么用“角度”而不是“距离”?

想象你在网易云音乐听歌:

  • 小明:听了 100 遍周杰伦,100 遍陈奕迅。
  • 小红:听了 1 遍周杰伦,1 遍陈奕迅。
  • 小刚:听了 100 遍周杰伦,0 遍陈奕迅。

如果你计算直线距离(欧氏距离),小明和小红离得非常远(100 vs 1),反而小明和小刚更近。但这显然不符合逻辑——小明和小红的口味(比例)是一模一样的!

余弦相似度解决的就是这个问题:它不看你跑了多远,只看你的箭头指向哪个方向。

2. 数学表达:余弦公式

在 Embedding 的多维空间里,两个向量 A和B的相似度计算公式如下:

  • 结果为 1:角度为 0°,两个向量完全重合(完全一样)。
  • 结果为 0:角度为 90°,两个向量垂直(完全没关系,比如“苹果”和“勾股定理”)。
  • 结果为 -1:角度为 180°,两个向量完全相反(比如“爱”和“恨”)。

3. 实际案例:推荐系统是怎么做的?

假设我们要判断两部电影是否相似,它们的 Embedding 简化为两个维度(动作指数,文艺指数):

  1. 《战狼》: [0.9, 0.1]
  2. 《红海行动》: [0.85, 0.15]
  3. 《情书》: [0.05, 0.95]

计算过程:

当你在看《战狼》时,后台会对库里几万部电影跑一遍余弦计算。

  • 《战狼》vs《红海行动》:角度非常小,余弦值接近 0.99 - 强力推荐!
  • 《战狼》vs《情书》:角度接近 90°,余弦值接近 0.08 - 不推荐。

4. Python实现

计算目标相似度,仅需一行代码:

from sklearn.metrics.pairwise import cosine_similarity import numpy as np # 假设这是两部电影的 Embedding 向量 movie_a = np.array([[0.9, 0.1]]) movie_b = np.array([[0.85, 0.15]]) # 计算相似度 similarity = cosine_similarity(movie_a, movie_b) print(f"这两部电影的相似度是: {similarity[0][0]:.4f}") # 输出结果通常是:0.9986

四、向量数据库

1、向量数据库概要介绍

向量数据库:AI时代的核心记忆体,与传统的关系型数据库不同,向量数据库用于存储和查询由非结构化数据(如文本、图片、音视频)转化而来的高维向量嵌入(Embeddings)。这些向量在多维空间中的距离代表了原始数据的语义相似度。向量数据库的核心能力是高效的相似性检索。

向量数据库的核心价值:

  • 为大模型提供长期记忆:弥补LLM上下文窗口(Context Window)长度限制和知识更新延迟的问题。
  • 实现私有知识库的问答与搜索:将企业内部文档、产品信息等转化为向量,实现基于语义的智能检索。
  • 赋能推荐系统、以图搜图等多种应用:通过计算用户、物品的向量相似度,提供更精准的推荐。

不同向量数据库对比分析:

向量数据库与传统数据对比:

特性向量数据库 (Vector DB)传统数据库 (SQL/NoSQL)
存储内容Embedding 向量(一串数字组成的坐标)文本、数字、日期、布尔值(结构化)
搜索逻辑相似度搜索 (Similarity Search)精确匹配 (Exact Match)
查询方式距离计算 (余弦相似度, 欧氏距离)SQL 语句 (WHERE price > 100)
索引技术ANN 算法 (如 HNSW, IVF, PQ)B-Tree, Hash 索引
结果准确性概率性近似(找最像的,可能有细微偏差)100% 准确(是就是,不是就不是)
擅长领域图片搜图、AI 聊天、个性化推荐银行转账、员工管理、库存记录

2、Embedding数据的存储与检索过程

以FAISS数据库为例介绍一下Embedding数据的存储与检索过程:

Step1, 数据清洗与准备:确保原始数据(如文本文档、图片)的质量,进行必要的预处理。

Step2, 生成向量:使用预训练的Embedding Model将原始数据转换成向量。

Step3, 创建元数据存储:将生成的向量及与其关联的元数据(Metadata)一同存入向量数据库。

Step4, 构建 FAISS 索引:

  • 使用faiss.IndexFlatL2 创建一个基础的索引,这里使用L2距离(欧氏距离)进行精确搜索。
  • 用faiss.IndexIDMap 将基础索引包装起来,这样就可以添加带有自定义ID的向量了。

Step5, 添加数据到索引:将生成的向量和对应的ID(即元数据列表的索引)添加到IndexIDMap中。

Step6, 执行搜索: 对一个新的查询文本生成向量,在FAISS 索引中搜索最相似的向量,FAISS 会返回最相似向量的ID。

Step7, 检索元数据: 使用返回的ID,从元数据存储中查找到原始文本和元数据。

AI大模型从0到精通全套学习大礼包

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

如果你也想通过学大模型技术去帮助就业和转行,可以扫描下方链接👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!

01.从入门到精通的全套视频教程

包含提示词工程、RAG、Agent等技术点

02.AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线


03.学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的


04.大模型面试题目详解

05.这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!


如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/18 19:22:38

谁更适合你的工厂?2026工厂大脑选型指南与深度点评

一、全球工厂大脑综合能力榜单基于技术先进性、行业适配性、实施成熟度和成本效益四大维度的综合评估,2026年全球工厂大脑解决方案提供商 rankings 已经出炉。榜单结果显示,中国企业在工业智能领域展现出显著竞争力,广域铭岛凭借其卓越的技术…

作者头像 李华
网站建设 2026/3/12 1:31:05

【Django毕设全套源码+文档】基于Django的“农场主”特色农产品直卖网站设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/3/12 0:44:02

DeepSeek-R1-Distill-Qwen-14B:14B推理模型性能大突破

DeepSeek-R1-Distill-Qwen-14B:14B推理模型性能大突破 【免费下载链接】DeepSeek-R1-Distill-Qwen-14B 探索推理新境界,DeepSeek-R1-Distill-Qwen-14B模型以创新强化学习技术,实现思维自主演进,性能逼近顶尖水平,为研究…

作者头像 李华
网站建设 2026/3/11 1:38:28

如何使用JavaScript操作DOM节点的属性?

一、核心概念:DOM 属性的两类形式 在操作前先分清两个易混概念,避免踩坑: HTML 原生属性:标签上写的属性(如id"box"、src"img.jpg"、class"content");DOM 对象…

作者头像 李华