大型语言模型(LLMs)实际是如何生成文本的
发布: (2026年1月13日 GMT+8 16:01)
4 min read
原文: Dev.to
Source: Dev.to

高层概览
大型语言模型(LLM)本质上是一个 下一个 token 预测系统。
给定一段 token 序列作为输入,模型会:
- 预测最可能的 下一个 token
- 将其附加到序列后面
- 重复该过程,直至生成完整的回复
就是这么简单。
LLM 不 做的事
LLM 不 会:
- 在运行时查字典中的单词
- 默认去互联网搜索
- 像人类一样进行推理
相反,它们完全依赖 训练期间学习到的统计模式。
LLM 的两个核心组成部分
1️⃣ 训练数据
LLM 在海量文本数据集上进行训练,数据包括:
- 书籍
- 文章
- 网站
- 代码仓库
- 文档
在训练过程中,模型学习 token 之间的统计关系。它 不会 记住完整的句子,而是学习 可概括的语言模式。
示例:在 “the sun is” 之后,像 shining、bright 或 hot 这样的 token 在统计上更可能出现。这些模式被编码进模型的 参数(权重) 中。
2️⃣ 分词器和词表
在训练开始之前,每个 LLM 都会配备一个 分词器。分词器的作用是:
- 将文本拆分成 token(子词单元)
- 将 token 转换为数值 ID
- 定义一个 固定词表(例如 2 万至 10 万个 token)
重要属性:
- 词表在训练时 固定。
- 模型只能生成词表中的 token。
- 不同模型使用不同的分词器。
Token 并非等同于单词
一个 token 可能是:
- 整个单词
- 单词的一部分
- 包含空格或标点符号
示例:
"unbelievable"
可能被拆分为:
["un", "believ", "able"]
由此产生的后果:
- Token 数量 ≠ 单词数量
- 提示长度会产生影响
- 存在上下文长度限制
单个 Token 的生成过程
在每一步:
- 模型接收当前的 token 序列。
- 对所有可能的 token 生成 概率分布。
- 根据解码策略选择一个 token。
- 将其附加到序列中
如此循环,逐个 token 生成。
为什么输出看起来像“推理”
LLM 看起来像在推理,因为:
- 语言本身蕴含了推理模式。
- 模型见过数百万条解释示例。
- 它预测的 token 看起来像 推理的过程。
内部实际上仍然只是预测下一个 token。
心智模型(记住这一点)
LLM 是基于概率逐 token 生成文本的,而不是基于理解。
只要记住这一点,大多数关于 LLM 行为的困惑就会消失。
为什么这很重要(尤其是对 RAG)
在检索增强生成(RAG)系统中:
- LLM 不具备事实知识,它只知道 模式。
- 检索到的上下文会引导 token 的预测。
检索效果好 → 下一个 token 的概率更准确。
TL;DR
- LLM 是下一个 token 的预测器。
- 它们默认不思考也不搜索。
- 分词器决定模型能生成什么。
- 所有生成都是一次一个 token 完成的。
理解这一心智模型可以让提示工程、RAG 设计和调试 变得更容易。