大语言模型(LLM)的推理过程(Inference)听起来很高深,但其核心原理其实非常直观。简单来说,它并不是像人类一样在"思考",而是基于概率的数学计算,通过"预测下一个词"来生成连贯的文本。
我们可以把整个推理过程拆解为以下几个关键步骤:
🔤 1. 文本分词化 (Tokenization)
当你向 AI 输入一句话(例如:"今天天气怎么样?")时,模型并不能直接理解这些汉字。它会先把你的输入拆分成一个个最小的处理单元,也就是 Token。
* Token 是什么? 它可以是一个字、一个词,甚至是一个偏旁部首。对于中文来说,1个 Token 大约相当于 1.5 个汉字。
* 模型会将这些 Token 转化为它能处理的特定代码(数字向量),作为推理的起点。
🧠 2. 概率预测与自回归生成 (Probability Prediction & Auto-regressive Generation)
这是 LLM 推理最核心的环节。模型的工作原理是自回归(Auto-regressive)的,也就是说,它会一次只生成一个 Token,然后把这个新生成的 Token 加入到已有的序列中,再去预测下一个 Token。
具体流程如下:
-
计算概率: 模型根据你输入的所有 Token(以及之前的对话历史),在它庞大的词汇库里计算下一个 Token 出现的概率。
-
选择 Token: 假设模型计算出在"今天天气"后面,接"很"的概率是 30%,接"不"的概率是 25%,接"还"的概率是 20%。它会根据设定的策略(比如总是选概率最高的,或者带一点随机性)选中一个 Token,比如"很"。
-
循环迭代: 模型把"很"拼接到"今天天气"后面,变成"今天天气很",然后把这整句话重新输入给自己,继续预测"很"后面的那个字。
-
持续生成: 这个过程不断重复,一个字接一个字地蹦出来,直到模型生成一个代表"结束"的特殊 Token,或者达到了设定的字数上限。
💾 3. 上下文窗口与 KV 缓存 (Context Window & KV Cache)
* 上下文窗口(Context Window): 模型的"脑容量"是有限的。它一次能处理的 Token 总数(包含你的提问、历史对话和它正在生成的回答)有一个上限,这就是上下文窗口。如果对话太长,最早的记录就会被强制"遗忘"。
* KV 缓存(KV Cache): 为了让生成速度更快,推理引擎通常会把已经计算过的 Token 信息(中间计算结果)缓存起来。这样在预测下一个字时,就不需要把前面所有的字从头再算一遍,大大提升了生成效率。
🚀 进阶:推理模型的"慢思考" (Reasoning Models)
值得一提的是,现在很多先进的推理模型(比如 OpenAI 的 o 系列或 DeepSeek-R1 等)在基础的"预测下一个词"之上,引入了思维链(Chain of Thought, CoT)机制。
它们在直接给出最终答案之前,会先生成一大段"思考过程"(也就是在内部自言自语,把复杂问题拆解成多个子步骤,甚至进行自我反思和纠错)。这些"思考"的文字本质上也是模型生成的 Token,只是因为经过了更缜密的逻辑推演,所以它们在解决数学、编程和复杂逻辑问题时,表现会比普通模型好得多。
总结来说,LLM 推理就像是一个超级厉害的"文字接龙"高手,它通过海量的训练数据,极其精准地猜出你下一句最想看到的是什么字,从而流畅地与你对话。