大语言模型入门

理解 ChatGPT、Claude、文心一言背后的那类程序,到底在做什么。

阅读约 6 分钟更新于 2026-07

它本质上是一个"接龙"程序

大语言模型(LLM,Large Language Model)的核心任务,听起来没什么神奇:给定一段文字,预测下一个最可能出现的字是什么。然后把这个新字接上去,再预测下一个,循环往复,直到整段回答写完。

之所以显得"会思考",是因为它在训练时读过的文本量极大(通常是几万亿字的网页、书籍、代码),并从中学会了词汇搭配、句式、逻辑关系乃至一些世界知识。这些统计规律被编码在几百亿个数字里,统称为"参数"。

它看的不是字,而是 token

模型处理的最小单位叫 token。一个中文汉字通常是一个 token,一个常见英文单词也是一个 token,但生僻词会被切成几段。整个上下文(你输入的对话历史加上它正在生成的回复)会被拆成 token 序列送进去。

每个模型有一个"上下文窗口",也就是一次能处理的 token 上限。常见的窗口从 8K 到 200K 不等。超出窗口的内容会被截断,模型就"看不到"了。

温度与采样:回答为什么每次不一样

模型对下一个 token 通常会给出多个候选的概率分布。参数 temperature 控制分布的尖锐程度:低温度倾向于选概率最高的字(回答更确定、更机械),高温度会让小概率的字也有机会被选上(回答更多样、也可能更离谱)。

top_p 是另一种控制方式:从累积概率最高的若干候选里随机抽一个。实际使用时,两者常常一起调节。

它为什么有时一本正经地说错话

因为它从一开始就没有"事实"的数据库,只是在延续文字的概率分布。当问题涉及训练数据里罕见或互相冲突的内容时,模型会把不同来源的措辞拼在一起,给出听起来合理但细节错误的答案。这种现象叫做"幻觉"(hallucination)。

减少幻觉的常见办法是检索增强生成(RAG):让模型先查权威资料,再根据资料作答。但只要 LLM 还是基于概率生成,"它可能出错"就始终是它的一部分,而不是 bug。