通俗易懂:Llama 等大语言模型的工作原理
Llama 并不是在数据库中“查”答案。它是根据训练过程中学到的规律,逐字预测并生成内容。明白这个核心逻辑,就能理解它为什么擅长某些任务,又为什么会犯错。

当你在聊天框中输入问题时,Llama 并不会去任何地方检索答案。它是根据训练学到的规律,一小段一小段地把答案写出来的。理解了这一核心逻辑,就能明白大语言模型(LLM)为何在某些任务上表现出色,而在另一些任务中频频出错。本指南将抛开复杂的数学原理,以我们聊天中的 Llama 模型为例,带你了解它们的工作机制。
Token:模型如何阅读文本
语言模型看到的并不是字母或完整的单词。文本会被切分成 Token(标记):一个常见词通常对应一个 Token,较长或生僻的词会被拆成多段,标点符号也算作 Token。每个 Token 都会被转换成一串数字向量,供模型进行计算。
Token 的存在解释了一些反直觉的现象。比如问模型某个长单词里出现了几次字母“r”,或者让它倒序拼写单词,模型很可能会答错,因为它打一开始就看不到独立的单个字母。这也是为什么各种使用限制(模型能读多少文本、回答能有多长)都是以 Token 而非字词数来衡量的。每个句子需要消耗更多 Token 的语言,会更快触及这些上限。
预测:逐个 Token 生成
大语言模型的核心机制其实只有一种:根据当前已有的文本,预测下一个可能出现的 Token 的概率。它选定一个 Token,将其追加到文本末尾,然后不断重复这个过程。一段长回答就是由成百上千次这样的预测步骤拼接而成的。
模型并不总是选择概率最高的那一个 Token。引入一定程度可控的随机性(通常由 temperature 即温度参数控制),可以让回答保持丰富和自然。这也是为什么同样的问题每次回答用词都会不同,以及为什么点击重新生成有时能得到更好的答案。
训练:从文本预测器到对话助手
预训练
首先,模型会阅读海量文本,学习如何预测下一个 Token。Meta 的模型说明书(model cards)显示,Llama 3.3 和 3.1 的预训练数据包含超过 15 万亿 Token 的“全新公开网络混合数据”。Llama 4 则采用了公开数据、授权数据以及 Meta 旗下产品信息的混合数据集进行训练,其中 Scout 约 40 万亿 Token,Maverick 约 22 万亿 Token。在此过程中,模型逐渐掌握了语法、事实、风格、代码和推理模式,因为这一切都有助于它做出更准确的预测。
指令微调
未经微调的预测器只会顺着上下文继续往下写,并不能给出有用的答复。因此,模型需要接受进一步训练:学习大量由“指令”和“优质回复”组成的范例,并参考人类对回答优劣的反馈。Meta 的 Llama 3.x 模型说明书中将这些步骤称为监督微调(SFT)和基于人类反馈的强化学习(RLHF)。最终得到的,就是你用来对话的“Instruct”版本。
知识截止时间
训练数据收集到某个时间点就会停止,模型对截止日期之后的事情一无所知。根据 Meta 的模型说明书,Llama 4 Maverick 和 Scout 的知识截止时间为 2024 年 8 月,Llama 3.3 70B 和 Llama 3.1 8B 为 2023 年 12 月。如果你询问之后发生的事情,模型要么表示不知道,要么更糟——胡乱猜测。我们的聊天功能并未联网,无法弥补这部分信息差。
上下文:模型的工作记忆
模型在组织回答时所参考的全部内容(系统指令、此前的对话记录以及你的最新消息),统称为它的上下文(context)。除此以外,模型没有任何其他记忆。当你开启新对话时,模型对你之前聊过的内容毫不知情。
上下文所能容纳的最大容量称为上下文窗口(context window),同样以 Token 为单位衡量。Meta 的模型说明书中标注:Llama 3.3 和 3.1 为 128K Token,Llama 4 Maverick 为 1M,Llama 4 Scout 为 10M;而我们采用的接口服务商为 Maverick 提供约 524K,为 Scout 提供约 1.3M。为了确保回复速度,我们的聊天功能只会发送每次对话中较短的一部分切片,这也是为什么在长篇对话中,很早之前发送的消息可能会失效。
混合专家架构:Llama 4 的底层设计
Llama 3 系列属于稠密模型(dense):在处理每个 Token 时,都会调用模型内部的所有参数(即训练学得的数值)。而 Llama 4 采用了混合专家架构(Mixture of Experts,简称 MoE)。模型内部包含了多个专门的子网络(称为“专家”),针对每个 Token,只会激活其中的一部分专家。Meta 的模型说明书给出了具体数据:Llama 4 Scout 总参数量为 1090 亿,包含 16 个专家,单次激活 170 亿参数;Llama 4 Maverick 总参数量为 4000 亿,包含 128 个专家,单次激活 170 亿参数。这种设计的优势在于:模型能够沉淀庞大的知识储备,同时每个 Token 的运行计算成本远低于同等总参数量的稠密模型。
此外,Llama 4 还是原生多模态模型。Meta 将其描述为“早期融合(early fusion)”:文本和图像在同一个模型中共同处理,而非通过外挂模块拼接。正因如此,Maverick 和 Scout 能够理解你上传的照片并回答相关问题,而纯文本的 Llama 3 模型则无法做到。
为什么模型会捏造事实
语言模型训练的目标是生成“读起来合情合理”的文本,而不是去核实内容是否真实。当它牢固掌握了某项事实时,合情合理与客观真实是重合的。而当它没有掌握相关信息时(例如冷门人名、精确数字、近期事件或文献引用),它依然会生成一段听起来很像那么回事的回答。这种现象通常被称为幻觉(hallucination)。这并不是模型在故意说谎,而是因为它根本没有独立的事实数据库可供查验。
- 精确的数字、日期、引述和参考文献最容易出错。
- 追问一句“你确定吗?”,可能会让模型修正错误,也可能让它为一个原本正确的答案向你道歉。这并不是可靠的验证方法。
- 直接向模型提供参考文本,并要求它仅基于该文本作答,通常能大幅减少错误。
对比以下两种提问方式,就能看出差异:
凭记忆回答(风险较高): [我所在的城镇]的镇立图书馆是哪一年建成的?出资人是谁? 基于参考源回答(更安全): 请仅根据以下文本回答:图书馆建于哪一年?出资人是谁? 如果文本中未提及,请直接回复“未说明”。 """ [在此粘贴该图书馆官网的相关介绍段落] """
在第一种情况下,模型很可能极少甚至从未接触过你当地图书馆的资料,因而容易给出一个看似笃定的猜测。在第二种情况下,事实已经包含在上下文里,模型只需阅读并提炼即可。我们的文本总结工具也是同样的原理:它完全根据你输入的文本进行作答。
我们关于如何核查 AI 答案的指南,将这一方法整理成了实用的操作流程。
对你使用聊天的实用建议
| 底层原理 | 应对方法 |
|---|---|
| 基于规律预测,不会主动检索 | 对重要事实务必亲自核实 |
| 只知道当前上下文中的内容 | 粘贴所需的背景背景材料和参考信息 |
| 知识存在截止时间,无法联网 | 新闻、价格和法律法规等请查阅最新信源 |
| 每次回答都带有一定随机性 | 点击重新生成以对比不同版本的回答 |
| 不同对话之间不存在记忆 | 开启新对话时重新说明你的偏好要求 |
| 识别的是 Token 而非单个字符 | 不要依赖它来统计字数或满足精确的字符限制 |
想亲身体验这些原理,可以让 Llama 自己做个解释。如需掌握提问技巧,请阅读提示词编写指南;了解模型本身的更多细节,请查看认识 Llama 以及 Llama 系列演进史。
常见问题
Llama 能理解自己说的话吗?
这取决于你如何定义“理解”,研究人员对此也各执一词。在实际使用中,它对语义的处理能力足以完成摘要、翻译以及多类问题的逻辑推理,但在某些小孩子都能轻易搞定的事情上却可能翻车。评估它的能力时,应注重核查它的产出结果,而不是单看它的文字有多流畅。
它会从我的对话中学习吗?
不会。在对话过程中,模型的底层参数不会发生改变。在单次会话内,它会将你的输入作为上下文参考;一旦开启新对话,之前的上下文便不复存在。
Llama 和 ChatGPT 有什么区别?
两者都依赖基于相似底层原理构建的大语言模型。Llama 是 Meta 开发的模型系列,根据 Meta 的许可协议开源了权重,任何人都可以下载并在本地运行;ChatGPT 则是 OpenAI 推出的一款应用,以托管在线服务的形式运行 OpenAI 旗下的模型。详见 Llama 与 ChatGPT 对比。
什么是参数?
参数是模型内部在训练过程中不断调整的数值。参数量越多,能够储存的规律就越多,但所需的算力也越大。模型质量并不仅仅取决于体量,训练数据和调优水平同样至关重要。
为什么只有部分模型支持图像输入?
Llama 4 Maverick 和 Scout 是使用文本与图像混合数据共同训练而成的。而 Llama 3.3 70B 和 Llama 3.1 8B 是纯文本模型,因此无法识别图片。我们的Llama 模型挑选指南对这四款模型进行了全方位对比。


