真奇怪,你说这大模型到底是用什么办法理解人类文字的啊?
前几天我老婆这么问我。
我告诉她,大模型会把每个词都用数字来表示。
这样预测下一个词,就变成了在做一道计算题。
只要不停地往后做计算题,它就可以不停地输出文字。
她听完好像更疑惑了的样子:可是一个词语的含义那么丰富,用数字是怎么能把这些丰富含义都表达出来的呢?
比如像「苹果」既可以是一种水果,又可以是一家公司,数字到底要怎么表达出复杂含义呢?
于是我决定换个方式给她通俗解释一下。
我们先假设**「国王」这个词用1表示,「女王」这个词也用1**表示。
是不是可以看作,这两个词在某一个维度上是相同的,比如「地位」当然也可能是别的维度。
而如果**「女王」这个词用2表示,就说明这两个词在某一个维度上是不同**的,这个维度可能是「性别」,也可以是别的。
你看,用一个数字,就可以从一个维度上来描述两个词的区别。
现在我们开始用两个数字来表示每一个词。
假设**「国王」是(2,1),「女王」是****(2,2)**。
是不是可以看作,它们在某一个维度上(地位)是一样的,而在另一个维度上(性别)是不一样的。
你看,我们用更多的数字来表示每一个词,就可以更细致地来描述它。
现在我们再加两个词。
**「男人」**这个词,在性别上和国王相同,都是1,但是地位和国王不同,记为1,所以男人是(1,1)。
**「女人」**这个词和在性别上和女王相同(都是2),地位上和男人相同所以记为(1,2)。
有趣的事情就发生了,你会发现:国王减去男人再加上女人,等于女王。
你看,在地位上,二减一再加一等于二。在性别上,一减一加二等于二,而二、二刚好就是女王。
我们仅仅用了两个数来表示每一个词,再配合简单的加减法,就模拟出了这四个词在两个维度上的区别和相互关系。
那如果更多的数来表示每一个词,比如三个、十个数、一百个数、一千个数,并且用更复杂的计算方法,不就可以从更多维度更细致地描述每一个词之间的关系?
实际上大模型就是这么干的。
在GPT-1里,每一个词用768个精确到小数点后七位数的数字来表示。
在GPT-2里,每一个词是用1600个数来表示。
GPT-3,是用12288个数。
在DeepSeek 第二代模型里,用了21000个数来表示每一个词。DeepSeek-V3用7168个数来表示每一个词。
不过大模型不会告诉你,每一个数究竟代表什么意思,虽然肯定代表着某种含义或者属性。
用来表示每一个词的这一堆数字,专业术语叫**「词嵌入」**,英文叫 embedding。
词嵌入,为什么要叫这么奇怪的名字呢?
其实词嵌入这个名字还挺形象。你看啊,刚才我们用两个数字来表示一个词,两个数字是不是可以看作是一个二维坐标?或者是二维向量。
那么用两个数字来表示一个词,是不是就相当于把这个词,嵌入到一个空间里。
用三个数字来表示一个词,就相当于把词嵌入到一个三维空间里。
用7168个数来表示每个词,就相当于把这些词嵌入到一个7168维的空间里,虽然我画不出来,也想象不出来,但7168维的空间在数学上确实存在。
这就是为什么它叫词嵌入,因为真的是把词嵌入到数学空间里。
顺便说一下,词嵌入和Token ID是两个完全不同的东西。
Token ID是一个词在词库里的编号,而词嵌入是直接用一堆数来模拟这个数。
TokenID相当于图书馆里某本书的编号,而词嵌入相当于这本书的摘要。
那每一个词的词嵌入的值是怎么定出来的呢?
刚开始都是随机的,相当于所有词随机散乱地分布在一个房间里。
在大模型训练阶段,就开始「打扫」房间,会根据人类现有大量文字的分布规律,把每个词收拾到最合适的位置上,意思相近的词通常会离得更近一些。
训练完以后,每个词的位置关系就可以体现出它和其他词的关系,就像前面这个例子。
而一个词的含义,本质上就是由它和其他词的关系决定。
比方说,我们在解释一个词的时候,会用很多其他词来解释它,而用来解释的这些词,又需要用另一些词来解释,如此往复,最后发现,词和词相互交织在一起才形成了每一个词的含义。
那像「苹果」这个词,又可以表示一种水果,又可以表示一家公司品牌。
那它的词嵌入的位置,究竟是在水果这边,还是在公司这边呢?
答案:都不是。
一开始,处在一个中间状态,就像薛定谔的猫。
当它和其他词出现在一起,会相互发生计算,改变它原来的值,坍塌为某一种更具体的含义。
比如当苹果前面出现了一个吃字,那这个吃字就会和苹果发生计算,把苹果的词嵌入更新为水果那个苹果。
而如果「苹果」的后面跟了一个「手机」或者「公司」,那这些词同样会和苹果发生计算,把苹果的词嵌入更新为专门指代公司品牌的值。
这就像人一样,也得通过上下文来判断一个词的含义。
所以回过头来,大模型是怎么理解文字的?
每一个词都是大量的数学计算。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(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 的正确特征了。