一、什么是Embedding

Embedding(嵌入)是指把文本(也可能包括图像、视频等其他模态数据)转成能表达语义信息的浮点数向量,向量之间的数学距离可以反映对应文本之间的语义相关性。
在这里插入图片描述

最简单的理解,Embedding就是大模型自己的语言,任何需要跟大模型沟通的文字、图像、视频都需要转换为大模型所能理解的语言:Embedding,它才能处理。处理完成后,它再翻译成人类能理解的文字、图像等。这也是大模型最强大的核心能力之一,多模态处理能力。

二、Embedding的起源与发展:从语言学理论到深度学习革命

  1. 语言学根基:分布式语义理论的提出

Embedding的思想最早可追溯至1954年,语言学家Zellig Harris提出的分布式语义理论。该理论认为,单词的语义由其上下文分布决定——“You shall know a word by the company it keeps”(通过单词的上下文可以推断其含义)。例如,“猫”和“狗”经常出现在“宠物”“喂食”等相似上下文中,因此它们的语义应相近。这一理论为通过统计词频捕捉语义关系奠定了基础。

  1. 深度学习突破:Word2Vec的崛起

2013年,Mikolov团队提出的Word2Vec算法成为Embedding发展的里程碑。它通过神经网络训练词向量,将每个单词映射为一个低维稠密向量,使语义相似的词在向量空间中距离接近。例如,“国王 - 男人 + 女人 ≈ 女王”的向量运算,直观体现了语义关系的捕捉。Word2Vec的开源实现推动了工业界对词嵌入技术的重视,开启了NLP任务的新纪元。

  1. 动态嵌入的兴起:BERT与GPT的上下文感知

静态词嵌入(如Word2Vec)无法解决一词多义问题(如“银行”既指金融机构,也指河岸)。2018年,BERT模型通过双向Transformer架构,生成上下文相关的Embedding,根据句子动态调整词向量。例如,在“我用苹果手机支付”和“我吃苹果”中,“苹果”的向量会因上下文不同而区分。这种动态嵌入显著提升了语义理解能力,成为大模型的标准配置。

  1. 多模态扩展:图像、语音与图结构的嵌入

随着深度学习的发展,Embedding从文本扩展到多模态数据。例如:

图像嵌入:ResNet等模型将图像映射为向量,实现图像分类与检索。

语音嵌入:Wav2Vec 2.0将语音波形转换为语义向量,支持语音识别。

图嵌入:Node2Vec、DeepWalk等算法将社交网络中的节点(如用户)表示为向量,用于推荐系统。

三、常见的Embedding模型:

已经有很多成熟的Embedding模型,下面是一些比较常见的模型:
在这里插入图片描述

四、进一步解读

从核心上来说,嵌入(embedding)是一种映射,它将诸如单词、图像甚至整篇文档等离散对象映射到连续向量空间中的点。嵌入的主要目的是将非数值数据转换为神经网络能够处理的格式。

虽然词嵌入(word embeddings)是最常见的文本嵌入形式,但还存在针对句子、段落或整篇文档的嵌入。句子或段落嵌入是检索增强生成(retrieval-augmented generation)的流行选择。检索增强生成将生成(如生成文本)与检索(如搜索外部知识库)相结合,以便在生成文本时提取相关信息。

当选择的embeddings为二维的时候,就是将词汇投影到二维空间,这时可以进行可视化绘制,从而观测出最直观的现象:相似的术语会聚集在一起。

在这里插入图片描述

*如果词嵌入是二维的,将它们绘制成二维散点图以便可视化。在使用词嵌入技术(如Word2Vec)时,对应相似概念的单词在嵌入空间中通常会彼此靠近。例如,不同类型的动物在嵌入空间中彼此之间的距离,比它们与国家或城市之间的距离更近。词嵌入的维度可以从一维到数千维不等。更高的维度可能会捕捉到更细微的关系,但会牺牲计算效率。

*高维Embedding对可视化提出了挑战,因为感官感知和常见的图形表示本质上局限于三维或更少,这就是为什么在二维散点图中展示二维嵌入的原因。然而,在使用LLMs时,我们通常会使用维度高得多的嵌入。对于GPT-2和GPT-3,Embedding大小(通常称为模型隐藏状态的维度)因模型的具体变种和大小而异。这是性能与效率之间的权衡。最小的GPT-2模型(117M和125M参数)使用768维的嵌入大小来提供具体的示例。最大的GPT-3模型(175B参数)使用12288维的嵌入大小。

五、大模型处理的高阶流程

图中所示的步骤是使用Transformer作为语言翻译的典型流程图。

在这里插入图片描述

  1. 待翻译的文字;
  2. 在进入Encoder前的预处理;
  3. Encoder对文字进行Encoding处理;
  4. Embeddings就是Encoder的结果,是原来文字的向量化表示;
  5. Decoder的部分输出,每次执行翻译一个单词;
  6. Decoder一次仅生成一次翻译;
  7. 最后翻译的结果。

总结下来,就只有两个关键步骤:

  1. 使用Encoder将输入转换为Embeddings;
  2. 使用Decoder对Embeddings进行处理,并将Embeddings表示的结果转换为输出结果。

六、一个示例:将文本转换为Embedding

这里给出一个最简单的Embedding示例,不采用任何已有的Embedding模型框架。其主体流程如下:

在这里插入图片描述

*这里加入了位置Embeddings,这是LLM自注意力机制的关键点之一,这里不对此展开。
在这里插入图片描述

示例代码:

test_text="这是一段示例文字"
print(test_text)
import re
test_text_arr = re.split(r'(\s)', test_text)
print(test_text_arr)
##进行TOKEN化
test_text_arr = re.split(r'([,.,。\w]|\s)', test_text)
print(test_text_arr)
 
preprocessed = [item.strip() for item in test_text_arr if item.strip()]
print(preprocessed)
##将拆分后的单词进行去重
all_words = sorted(set(preprocessed))
vocab_size = len(all_words)
    
print(vocab_size)
##为每一个Token生成一个唯一ID
vocab = {token:integer for integer,token in enumerate(all_words)}
for i, item in enumerate(vocab.items()):
 
print(item)
import torch
from torch.utils.data import Dataset, DataLoader
 
##生成3维的embedding
output_dim = 3
##使用制定的种子,确保可以复现
torch.manual_seed(1111)
embedding_layer = torch.nn.Embedding(vocab_size, output_dim)
print(embedding_layer.weight)
#取第2个Token的embedding,python是从0开始。前面每一个TokenID都可以作为下标从而Embedings矩阵中获取。
print(embedding_layer(torch.tensor([1])))

七、如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

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

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐