从Word2Vec到GPT-3:Embedding如何成为大模型的翻译官
AIAI Summary (BLUF)
Embedding是将文本、图像等数据转换为语义向量的核心技术,经历了从Word2Vec到BERT、GPT的动态嵌入演进,并扩展至多模态。本文系统介绍了Embedding的概念、发展历程、常见模型及实际应用示例,帮助读者深入理解大模型处理流程中的关键环节。
核心洞察
EmbeddingA mathematical representation of data (text, images, etc.) in a continuous vector space where semantic similarity corresponds to spatial proximity. 这个概念听起来很唬人,但说白了就是给大模型当翻译。你喂给它的所有东西,文字、图片、语音,都得先变成一串数字,它才能干活。这篇文章把来龙去脉讲得挺清楚,从 1954 年的语言学理论一路讲到 GPT-3 的 12288 维向量,中间还塞了个能跑的最小示例。值得一看。
核心结论
Embedding(嵌入)的本质是将文本、图像、语音等非数值数据映射为连续向量空间中的浮点数向量,语义越接近的对象在向量空间中的距离越小。
Embedding 的理论基础可追溯至 1954 年语言学家 Zellig Harris 提出的分布式语义理论,其核心观点是“一个词的含义由它周围的上下文决定”。
2013 年 Mikolov 团队推出的 Word2VecA technique for learning vector representations of words from large text corpora, capturing semantic relationships. 是 Embedding 发展史上的里程碑,它用神经网络训练词向量,实现了“国王 - 男人 + 女人 ≈ 女王”这类向量运算体现语义关系的效果。
2018 年出现的 BERTBidirectional Encoder Representations from Transformers, a pre-trained natural language processing model for deep bidirectional language understanding. 采用双向 TransformerA deep learning neural network architecture using self-attention mechanisms for sequence processing. 架构生成上下文相关的动态 Embedding,解决了 Word2Vec 等静态词嵌入无法区分一词多义的问题。
在实际大模型中,Embedding 维度因模型规模而异:最小的 GPT-2 模型(117M 和 125M 参数)使用 768 维嵌入,最大的 GPT-3 模型(175B 参数)使用 12288 维嵌入。
一、Embedding 到底是个啥
Embedding,中文叫嵌入,做的事情很简单:把文本(图片、视频也行)转成一串浮点数向量。这串数字不是随便生成的,它承载了语义信息。两段话意思越接近,它们对应的向量在数学空间里的距离就越小。
换个角度理解。Embedding 就是大模型自己的语言。你想让模型处理任何东西,文字也好,图像也好,视频也好,都得先翻译成它能读懂的格式,也就是 Embedding。等它处理完了,再翻译回人类能看懂的文字或图像。这种多模态处理能力,是大模型最核心的本事之一。
二、从语言学理论到深度学习,Embedding 是怎么走到今天的
语言学打底:分布式语义理论
Embedding 的想法最早可以追到 1954 年。语言学家 Zellig Harris 提出了分布式语义理论,核心观点是:一个词的意思由它周围的上下文决定。他原话说的是“You shall know a word by the company it keeps”,意思就是你通过一个词跟谁混来判断它的含义。比如“猫”和“狗”经常出现在“宠物”“喂食”这类上下文里,那它们的语义就应该接近。这个理论给后来用统计词频捕捉语义关系铺了路。
深度学习破局:Word2Vec 登场
2013 年,Mikolov 团队搞出了 Word2Vec,这是 Embedding 发展史上的里程碑。它用神经网络训练词向量,把每个词映射成一个低维稠密向量,语义相近的词在向量空间里就靠得近。有个经典的例子:“国王 - 男人 + 女人 ≈ 女王”。向量运算能直接体现语义关系,这在当时相当震撼。Word2Vec 开源之后,工业界开始认真对待词嵌入技术,NLP 任务进入了一个新阶段。
动态嵌入:BERT 和 GPT 带来上下文感知
Word2Vec 这类静态词嵌入有个硬伤:解决不了一词多义。比如“银行”,既可以是金融机构,也可以是河岸,静态向量没法区分。2018 年 BERT 出现了,它用双向 Transformer 架构生成跟上下文相关的 Embedding,根据句子动态调整词向量。“我用苹果手机支付”和“我吃苹果”,这两句里的“苹果”在 BERT 里会得到不同的向量表示。这种动态嵌入大幅提升了语义理解能力,后来成了大模型的标准配置。
多模态扩展:图像、语音、图结构都能嵌入
深度学习往前走,Embedding 也从文本扩展到了多模态数据。举几个例子:
图像嵌入:ResNet 这类模型把图像映射成向量,用来做图像分类和检索。
语音嵌入:Wav2Vec 2.0 把语音波形转成语义向量,支持语音识别。
图嵌入:Node2Vec、DeepWalk 这些算法把社交网络里的节点(比如用户)表示成向量,用在推荐系统里。
三、常见的 Embedding 模型
已经有不少成熟的 Embedding 模型可以直接用,下面列了一些比较常见的:
四、再往深里说几句
从本质上看,嵌入是一种映射。它把单词、图像甚至整篇文档这些离散对象,映射到连续向量空间里的点。目的就是把非数值数据转成神经网络能处理的格式。
词嵌入是最常见的文本嵌入形式,但除此之外还有句子、段落、整篇文档级别的嵌入。句子和段落嵌入在检索增强生成(RAGRetrieval-Augmented Generation - an AI framework that combines information retrieval with language generation to produce more accurate and contextually relevant responses.)里用得很多。RAG 的思路就是把生成能力和检索能力结合起来,生成文本的时候从外部知识库里捞相关信息。
如果嵌入是二维的,你可以把它画在二维散点图上,直接观察到一个现象:相似的术语会聚在一起。
用 Word2Vec 这类技术时,概念相近的词在嵌入空间里通常彼此靠近。比如不同动物的向量之间的距离,比它们跟国家或城市之间的距离要近。词嵌入的维度可以从一维到几千维。维度越高,能捕捉的关系越细微,但计算效率也会下降。
高维 Embedding 没法直接可视化,因为人的感官和常见图形表示本质上就局限在三维以内。这也是为什么二维散点图只能展示二维嵌入。实际用 LLM 的时候,嵌入维度要高得多。GPT-2 和 GPT-3 的嵌入大小(通常叫模型隐藏状态的维度)因具体变种和大小而异,这是性能和效率之间的权衡。最小的 GPT-2 模型(117M 和 125M 参数)用的是 768 维嵌入。最大的 GPT-3 模型(175B 参数)用的是 12288 维。
五、大模型处理的高阶流程
下图展示的是用 Transformer 做语言翻译的典型流程。
- 待翻译的文字
- 进入 Encoder 前的预处理
- Encoder 对文字进行编码处理
- Embedding 就是 Encoder 的输出,是原来文字的向量化表示
- Decoder 的部分输出,每次执行翻译一个单词
- Decoder 一次只生成一个翻译结果
- 最终翻译结果
归纳一下,关键步骤就两个:
- 用 Encoder 把输入转成 Embedding
- 用 Decoder 处理 Embedding,把 Embedding 表示的结果转成输出
六、动手示例:把文本转成 Embedding
这里给一个最基础的 Embedding 示例,不用任何现成的 Embedding 模型框架。主体流程如下:
这里加入了位置 Embedding,这是 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%免费】
第一阶段(10 天):初阶应用
这个阶段让你对大模型 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 了。通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概两个月。你已经成为了一名“AI 小子”。还想继续往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器与损失函数简介
- 小实验 2:手写一个简单的神经网络并训练它
- 什么是训练、预训练、微调、轻量化微调
- Transformer 结构简介
- 轻量化微调
- 实验数据集的构建
第四阶段(20 天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目或创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在 15 天内完成所有的任务,那你堪称天才。然而,如果你能完成 60% 到 70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传 CSDN,朋友们如果需要可以微信扫描下方 CSDN 官方认证二维码免费领取【保证100%免费】
常见问题(FAQ)
Embedding到底是什么?为什么说它是大模型的翻译?
Embedding是将文本、图像等数据转成浮点数向量的技术,承载语义信息。它把人类可读内容翻译成大模型能处理的数字格式,处理完再翻译回来,是多模态处理的核心。
Word2Vec和BERT的Embedding有什么区别?
Word2Vec是静态词嵌入,每个词固定向量,无法解决一词多义。BERT是动态嵌入,基于双向Transformer,根据上下文生成不同向量,如“苹果”在手机和水果语境中表示不同。
Embedding维度越高越好吗?GPT-3用多少维?
维度越高能捕捉更细微关系,但计算效率下降。GPT-2最小模型用768维,GPT-3最大模型用12288维,这是性能与效率的权衡。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



