你跟大语言模型(如 ChatGPT 或 豆包) 说:“我明天要去海边玩,给我推荐点装备”,它能立刻回复“防晒霜、沙滩鞋、遮阳帽”,甚至还“贴心地”提醒你记得带件薄外套防海风——这时候你可能会想:它是不是真的“知道”去海边需要这些?
其实答案很简单:它啥也 “不知道”。LLM(大语言模型)就像是一个玩乐高的高手,所有回答都是靠 “模仿人类语言规律” ,将词语像积木一样一块块拼出来的。
一位超级博学的朋友
想象你有一位朋友——
- 他读过全世界的的书,以及互联网的所有文字,
- 但脑子不是肉做的,而是一堆数字“乐高”;
- 你问一句,他就拼一句,拼得比谁都顺。
这位朋友就是大语言模型(LLM)。
今天我们撕开它的神秘面纱,看看它到底是怎么“拼”的。
一个啥也“不知道”的乐高高手
这么一位超级博学的朋友,为何我们上面说它啥也“不知道”呢?接下来我们以一个示例来说明, LLM 是如何通过高超的“乐高手法”瞒天过海,让你觉得它啥都知道的。
假设我们以“AI知行记是一个非常”为输入向大模型发起提问,下图展示了从发起提问到输出文本的完整流程。我们一步步来讲。
注:本示例仅为展示大模型的问答工作流程,与实际输出不相符,除非做专门的针对性训练~
第一步:把文字拆成积木——分词化
大语言模型很“笨”,它没法一次理解你跟它说的那一连串话语,所以需要先将其拆分,专业术语叫 Tokenization(分词化),分词(Token)是大模型处理文本的基本单元,通常是单个单词(或汉字)、词语、词组或者符号等(取决于分词的策略),一般大模型收费也是基于这个 Token 来的。
例如,“AI知行记是一个非常”会被拆成一块块积木(Token):
AI知行记 | 是 | 一个 | 非常
注: 实际中“AI知行记”不会凑一起,这里仅作为示范
第二步:给积木定个“坐标”—— 向量化
因为计算机只能理解数字,无法直接理解 Token 的含义。因此需要将 Token 进行数字化转换(转化为向量),使其可以被计算机所理解。Token 向量化会将每个 Token 转化为固定维度的向量,就像给每个积木确定一个“坐标”,专业术语叫 Embedding。如前面拆分的 Token 被向量化后,可能形成类似如下向量:
| Token | 向量 |
| AI知行记 | [0.02,0.34,0.86…] |
| 是 | [0.72,0.14,0.31…] |
| 一个 | [0.23,0.51,0.03…] |
| 非常 | [0.49,0.22,0.27…] |
Embedding 具体怎么工作的,这里简单阐述下。LLM 会建立一个 Token -> Token ID 的映射表(这个映射表是分词器对海量语料进行分词,统计所有 Token 的出现频率,筛选高频 Token 构建固定大小的词汇表,比如 GPT-3 词汇表有 17.5 万 Token。再给词汇表里每个 Token 分配唯一的整数 ID,即 Token ID,这个映射表是固定的),输入文本被分词后,将会到这个映射表中找对应的 Token ID,得到一个“Token ID 序列”。
LLM 中有一个嵌入层 Embedding Layer(本质上可以理解为一个维度是 [映射表大小*核心参数数] 的二维矩阵,每一行对应一个 Token 的向量(可简单理解 Token ID 就是向量的行号),它会被随机初始化,并根据“语义关联”性不断训练调整每个 Token 的向量,使关联性大的 Token 向量之间距离越小,关联性小的 Token 向量之间距离越大),从这个嵌入层查找到对应 Token 的向量后(如上表所示),LLM还会对其进行优化与增强(如补充各 Token 的位置编码、类型编码),以适配后续的注意力机制(定位核心词)与 Transformer 计算。
第三步:给积木找“邻居”—— 大模型推理
大模型通过大量已有数据的训练,已经掌握了人类说话的规律(简单理解就是当某个/些词语(Token)出现时,接下来大概率会出现某个词语(Token)),这就好比是大模型在其内部织了一张“词语社交网”——将两个词在文本里一起出现的次数比作“人与人的交往频率”:“海边” 和 “防晒霜” 每天都见面(一起出现10万次),就是 “亲密好友”;“海边”和“羽绒服”一年只见一次(只出现10次),就是 “点头之交”;“海边”和“火锅”从没见过,就是 “陌生路人”。
要找出接下来大概率会出现哪个 Token,就存在一个问题:前面我们通过分词已经拆分了多个 Token, 我们到底以哪个 Token 为基准去找它的“亲密好友”。
注意力机制是帮 LLM“聚焦重点”的工具,可以把注意力机制想象成“AI 的专属放大镜”。当你输入问题后,这只放大镜会先找到问题里的“主角”(比如“海边”),然后对着“词语社交网”放大查看——只盯着和主角“交情深”的词语(亲密好友),对“交情浅”的(点头之交)扫一眼就过,对“不认识”的(陌生路人)直接忽略。这个过程中,LLM 会给每个词语打一个“关注度分数”(通过 Token 向量运算获得):亲密好友得100分,点头之交得20分,陌生路人得0分,LLM 再通过“归一化”(大模型 Softmax 层干的活)将得分映射到 0~1,总和为 1,变成标准的概率分布,最后优先用概率高的词语来组合答案。
就像拼积木时,我们把最有可能与前面已经拼凑好的模型匹配的候选积木选出来。
回到我们的示例,经过大模型的推理运算,发现最有可能出现在“AI知行记是一个非常”后面的 Token 及概率分布为:
| 候选Token | 概率 |
| 不错的 | 50% |
| 有意思的 | 25% |
| 专业的 | 20% |
| 无聊的 | 5% |
第四步:拼接积木 —— 输出Token
第三步我们已经选出了候选 Token,接下来到底选择哪个输出,根据大模型选择的策略不同,会有不同的表现。
- 贪心搜索:就是直接选概率最高的 Token,比如概率 0.5 的 “不错的”,这是最朴素的方式,优点是速度快、稳定,缺点是容易输出 “平淡话术”(就是每次问,回答都是一样的),缺乏多样性;
- 随机采样:就是按概率分布抽,比如“不错的” 0.5、“无聊的”0.05,那么大概率会抽到 “不错的”,小概率抽到 “无聊的”,优点是多样,缺点是可能抽到小概率的 “奇怪 Token”;
- Top-K 采样:只从概率最高的 K 个 Token 里采样(比如 K=50),排除低概率的 “奇怪 Token”,兼顾多样性和合理性;
- Top-P(核采样):只从累计概率达到 P(比如 0.9)的 Token 集合里采样,集合大小不固定(概率高的 Token 少则集合小,多则集合大),比 Top-K 更灵活,是目前的主流。
大模型一般会根据候选 Token 的概率来进行随机挑选,所以你会发现即使问题完全相同,每次的回答都略有不同(目前普遍是通过 temperature 和 top_p 这两个参数来控制生成内容的随机性,假若某天你刚好看到了这两个参数,只要记住值越低,确定性越高,值越高,随机性越高即可)。
示例中,在“AI知行记是一个非常"的后面选择了 Token “不错的”(嗯, 不错!)。
接下来,大模型会将选中的 Token 拼接到原上下文的末尾,比如 “AI知行记是一个非常”→“AI知行记是一个非常不错的”,然后重复第三步、第四步,计算下一个 Token,比如“公众号”,直到触发终止符(,即 End Of Sentence,表示句子结束)或者输出 Token 数达到了阈值,停止输出。就像不断地拼接积木,直到把模型拼完。这个用专业术语叫“自回归”(Auto-Regressive),有点像玩贪吃蛇的游戏是吧。
第五步:完成积木拼接 —— 输出文本
通过重复第三步、第四步,大模型完成了所有内容的输出。大模型可以选择最后一次性将所有生成的内容输出,也可以使用大模型的流式输出能力,即预测一些 Token 就立即进行返回,在聊天界面上就像打字回复一样,提升体验感。示例中我们得到了最终输出——“AI知行记是一个非常不错的公众号”。(欢迎大家关注!)
至此,乐高高手也完成了它的拼接。
“乐高高手”的底层逻辑
大语言模型的底层逻辑通俗来说可用 3 句话总结:
- 它不“理解”语言,只认“好友关系”—— 就像你知道 “闺蜜该一起逛街”,“朋友常一起吹牛”,不用懂“为什么”,只知道“常这么做”;
- 它不“思考”,只“按好友名单接龙”—— 回答是从第一个字猜到最后一个字,靠的是“词语社交网”;
- 它的“聪明”全来自“人类的文字交情”—— 你问的问题越常见(比如“推荐海边装备”),相关词语的“交情越深”,它答得越准;越冷门(比如“小众科幻小说推荐”),词语间“交情越浅”,越容易出错。它的所有“智慧”,其实都是人类语言“社交关系”的缩影~
如何学习大模型 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 的正确特征了。