本章包含5个知识点,它们之间的关系如下:
大语言模型(LLM)的本质工作是:给定一段已有的文字,预测下一个最可能出现的词(字)。
它不是在"思考",不是在"理解",而是在做一件统计意义上的事——基于它见过的海量文本,计算接下来出现每个字的概率,然后选一个输出。
这个过程是逐字进行的。我们用"我喜欢吃四川"来看看AI是怎么一个字一个字把文字"吐"出来的。
更关键的是:每一步选择的不同,会引向完全不同的结果。看下面三条路径——输入完全一样,但第1个字的选择不同,后面整条链路就分叉了:
路径A: 我喜欢吃四川 → [火] → [锅] → [,] → [尤] → [其] → [是] → [麻] → [辣] → [锅] → [底]... 最终输出 ▸ "我喜欢吃四川火锅,尤其是麻辣锅底……" 路径B: 我喜欢吃四川 → [担] → [担] → [面] → [,] → [配] → [上] → [花] → [生] → [碎]... 最终输出 ▸ "我喜欢吃四川担担面,配上花生碎和葱花……" 路径C: 我喜欢吃四川 → [冒] → [菜] → [,] → [满] → [满] → [一] → [盆] → [配] → [菜]... 最终输出 ▸ "我喜欢吃四川冒菜,满满一盆配菜……"
每个方括号 [ ] 就是AI输出的一个字。你看到的每一段流畅文字,都是这样一步步"猜"出来的——而仅仅因为第1个字选了"火"还是"担"还是"冒",后面的内容就完全不同。
那AI凭什么选"火"而不选"担"或"冒"?答案是概率——我们在下面的案例中详细说明。
手机输入法 当你打"我喜欢吃",输入法会推荐"火锅"、"烧烤"、"甜食"。ChatGPT就是一个超级加强版的输入法联想:
误区一:"AI在思考、在理解我的问题"
当你问ChatGPT"今天天气怎么样",它回答"今天天气很好"——看起来像是在"理解"你。但它实际上只是在做概率预测:在"今天天气"后面,"很好"出现的概率很高,所以它输出了"很好"。
误区二:"AI是从数据库里找到一篇现成的文章给我"
不是复制粘贴。它更像一个读过所有书的人——你问他问题,他根据读过的内容现场组织语言回答你,而不是把书里的原话念给你。
AI在训练时读了海量内容,但它并没有"记住"这些内容的原文。就像你读过很多书,记住了知识和感觉,但不能一字不差地背出原文。这就解释了三个现象:
下面三个案例从浅到深,帮你理解"预测下一个词"到底意味着什么。
案例一:四川美食
当你输入"我喜欢吃四川",AI会计算每个候选字的概率:
| 候选词 | 概率 |
|---|---|
| 火锅 | 60% |
| 担担面 | 15% |
| 麻婆豆腐 | 10% |
| 冒菜 | 8% |
| 回锅肉 | 7% |
"火锅"概率最高,于是AI输出"火锅",接着继续预测后面的内容。整个过程没有任何"理解",只有概率。(至于那些概率较低的"担担面"、"冒菜"什么时候有机会被选中——我们在1.5节Temperature部分会讲到。)
案例二:中文诗歌
当你读到"床前明月",你几乎能100%确定下一个字是"光"。读到"春眠不觉",你自然会想到"晓"。你的大脑在这一刻做的事,和AI本质上完全一样——基于你过去读过的大量文本,预测最可能出现的下一个字。区别只在于:你读过几百本书,而AI"读"过整个互联网。
案例三:同声传译
经验丰富的同声传译员有一个令人惊叹的能力:他们常常在说话人还没说完一句话时,就已经开始翻译了。为什么能做到?因为他们听到前几个词后,就能预测接下来会说什么。比如听到"Ladies and gentlemen, it is my great...",他们已经知道下一个词大概率是"pleasure"或"honor",于是提前开口:"女士们先生们,我非常荣幸……"
大语言模型做的事和这一模一样——只不过翻译员的"经验"来自几十年的工作积累,而AI的"经验"来自阅读了互联网上几乎所有的文本。
"ChatGPT做的就是一遍遍问'给定目前的文本,下一个词应该是什么'——然后每次添加一个词。"
—— Stephen Wolfram,What Is ChatGPT Doing … and Why Does It Work?
"ChatGPT不像人类记忆原始材料,而是学习概念之间的关系。就像老师大量学习后能解释概念,但不是逐字复述原始材料。"
—— MIT Sloan,How ChatGPT Works
Token(令牌/词元)是大语言模型处理文字的基本单位。AI不直接看文字——它先把文字切成一个个小块(Token),再把每个Token转换成数字,然后才能计算。
Token这个英文词的原意是"令牌"或"代币"。在AI领域,它指的是文本被切分后的最小处理单元。中文有时译为"词元",但大多数场景直接使用英文"Token"。
计算机只认识数字。所以AI工作的第一步,就是把文字"翻译"成数字:
文字 → 切分成Token → 每个Token对应一个数字 → AI用数字做计算
把一句话想象成一条巧克力棒,Token就是掰开后的一小格一小格。AI不会一口吞下整条巧克力——它一格一格地处理。
还是用我们的四川美食例子:
(实际切分方式因模型而异,这里只是示意。)
中文 vs 英文的Token效率——一个有实际影响的差异:
| 语言 | 同样的意思 | Token数量 |
|---|---|---|
| 英文 | "hamburger" | 1-2个Token |
| 中文 | "汉堡包" | 3-8个Token |
| 英文 | 100字文章 | ~100 Token |
| 中文 | 100字文章 | ~200 Token |
为什么会这样?
实际影响:同样内容,中文消耗的Token更多,处理更慢,费用更高。
打开 OpenAI 的 Tokenizer 工具(搜索"OpenAI tokenizer"),分别输入一段中文和一段英文,观察它们被切分成了多少个Token。这比任何解释都直观。
上下文窗口(Context Window)是大语言模型一次能处理的Token数量上限。它决定了AI能"看到"多少内容——包括你给它的输入和它自己的输出,加起来不能超过这个上限。
上下文窗口的大小以Token为单位。窗口越大,AI能同时考虑的信息越多。
想象你只有一张A4纸来记录对话:
当对话长度超过上下文窗口,AI只能保留最近的内容,把前面的"忘掉"。就像A4纸写满后,你只能擦掉最早写的内容,腾出空间写新的。
这就是为什么和AI聊久了,它会"忘记"你之前说的事情——这就是AI的"失忆"。
不同模型的"纸张大小"差异很大:
| 模型 | 上下文窗口 | 大约相当于 |
|---|---|---|
| GPT-3.5 | 4,096 Token | 约3,000字 |
| GPT-4 | 128,000 Token | 约一本小说 |
| Claude 3 | 200,000 Token | 约1.5本小说 |
| Gemini 1.5 | 1,000,000 Token | 约7本小说 |
预训练(Pre-training)是让模型阅读海量文本,学习语言规律的过程。这是AI能力的基础来源。
让一个孩子读遍图书馆所有的书。读完之后,他学会了"语言感觉"——知道什么话听起来通顺、什么搭配常见——但他还不会好好回答问题。
你可能觉得:读完了整个互联网,AI应该很厉害了吧?其实远远不够。
预训练只教会了AI一件事:预测下一段文字最可能是什么。但它并没有学会"有人在跟我对话,我应该回答他"。
还是用四川美食的例子。假设你对一个只做了预训练的AI说:"四川有哪些好吃的?",它可能会输出:
❌ "广东有哪些好吃的?湖南有哪些好吃的?浙江有哪些好吃的?" → 因为在互联网上,问题经常成列出现,它只是在"续写问题列表" ❌ "这是一个很多游客都会问的问题。据《中国美食地图》统计..." → 它在续写一篇网络文章,不是在回答你 ❌ "四川有哪些好吃的?\n作者:小明 | 发布时间:2023-05-12" → 它在补全一个网页模板
注意:它知道四川火锅、担担面这些知识(因为它全都读过),但它不知道你在期待一个回答。它只是在做"下一段文本最可能是什么"的预测——而在它读过的互联网上,一个问句后面跟的不一定是答案。
所以这个阶段的AI:
这就是为什么还需要下一步——微调。
| 对比项 | 数据 |
|---|---|
| GPT-3训练词数 | 约5,000亿词 |
| 人类儿童10岁前接触词数 | 约1亿词 |
| GPT-3训练成本 | 140 - 460万美元 |
| GPT-4训练成本(估算) | 约1亿美元 |
微调(Fine-tuning)是在预训练的基础上,用特定领域或任务的数据继续训练模型,让它学会完成特定任务。
微调就是拿大量的 (问题,正确回答) 配对数据来训练模型。比如:
输入:四川有哪些好吃的? 期望输出:四川有很多特色美食,最有名的包括:1. 火锅 2. 担担面 3. 麻婆豆腐...
几万条甚至几十万条这样的配对训练下来,模型学会了一个新规律:当输入看起来是一个问题时,我应该输出一个直接的、有帮助的回答——而不是续写一篇文章或补全一个网页。
一个读遍百科全书的人,肚子里有货,但你问他话他可能自顾自地讲起别的。微调就是教他"别人问你话的时候,要针对性地回答"——上完这个"补习班",他就变成了一个能正常对话的人。
RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)是通过人类评分来指导模型调整输出偏好的训练方法。这是让AI变得"好用"和"安全"的关键一步。
假设你问AI:"怎么做炸弹?"
RLHF让AI学会了:拒绝有害请求、承认自己不知道、用更友好的语气、给出更有帮助的回答。
教练指导运动员。运动员(AI)有基本能力,教练(人类反馈)帮他纠正动作、优化策略,让他从"能打比赛"变成"打得好"。
| 指标 | GPT-3(无RLHF) | InstructGPT(有RLHF) |
|---|---|---|
| 参数量 | 1,750亿 | 13亿(小得多) |
| 用户偏好 | 基准 | 显著更高 |
| 拒绝有害请求率 | ~40% | ~96% |
一个关键发现:13亿参数的InstructGPT(有RLHF)被人类评价为优于1,750亿参数的GPT-3(无RLHF)。参数少100多倍,但因为学会了"做人",反而更受用户喜欢。
Temperature(温度)是控制大语言模型输出随机性的参数。温度越低,AI越倾向于选概率最高的词,输出越稳定;温度越高,AI越愿意尝试概率较低的词,输出越多样。
还记得1.1的四川美食案例吗?当你输入"我喜欢吃四川",AI算出了这些候选词的概率:
火锅:60% 担担面:15% 麻婆豆腐:10% 冒菜:8% 回锅肉:7%
Temperature决定了AI怎么从中选择:
| 任务类型 | 建议温度 | 理由 |
|---|---|---|
| 查找事实信息 | 0 - 0.3 | 需要准确,不要编造 |
| 翻译/总结 | 0.3 - 0.5 | 需要稳定,但保持通顺 |
| 日常对话 | 0.5 - 0.7 | 平衡准确和自然 |
| 创意写作 | 0.7 - 0.9 | 需要多样性和创造力 |
| 头脑风暴 | 0.8 - 1.0 | 越发散越好 |
如果你使用的工具支持调整温度(如OpenAI Playground、部分API调用工具),尝试:
你会直观感受到"温度"如何影响AI的"性格"。
| 知识点 | 一句话总结 |
|---|---|
| 下一个词预测 | LLM的本质是预测下一个最可能出现的词,不是真正的"理解" |
| Token | AI把文字切成小块(Token)再处理,中文比英文消耗更多Token |
| 上下文窗口 | AI一次能处理的Token有上限,超过就会"失忆" |
| 训练过程 | 预训练学语言规律,微调学特定任务,RLHF学"做人" |
| Temperature | 温度越低输出越稳定,越高越有创意但也越不可控 |
本章的核心认知:AI不是万能的"超级智能",它是一个非常强大的"文字预测器"。理解这一点,你就能更合理地使用AI——知道什么时候该信任它,什么时候要核实它的输出。
下面这张图展示了从你提问到AI回答的完整数据流——本章的每个知识点都对应其中一个步骤。虚线框内的步骤(编码、Transformer)将在第2课详细讲解。
看完这张图,你可以回顾一下:
观察Token差异:用ChatGPT分别输入 "我喜欢吃四川火锅" 和 "I love Sichuan hotpot",让它计算各自的Token数量,体会中英文的差异。
体验"下一个词预测":在ChatGPT中分别输入以下内容(不要加任何其他指令,直接发送),观察AI续写了什么:
想一想:AI续写的结果和你的预期一样吗?为什么?
体验Temperature:如果你的工具支持调整温度参数(如OpenAI Playground),用不同温度反复输入"我喜欢吃四川",观察输出的变化。低温度时是不是总出现"火锅"?高温度时是不是开始出现"担担面"、"冒菜"等不同答案?
现在你知道AI是"预测下一个词"的,那么——为什么AI有时候会"一本正经地胡说八道"?
提示:想想概率预测可能出错的情况。这个问题会在第三章详细讨论。