LLM(大语言模型)的工作原理 图文讲解
目录
1. 条件概率:上下文预测的基础
2. LLM 是如何“看着上下文写出下一个词”的?
补充说明(重要)
📌 Step 1: 输入处理
📌 Step 2: 概率计算
📌 Step 3: 决策选择
🤔 一个有趣的细节:为什么 ChatGPT 有时“拼字很差”?
3. 温度 (Temperature) 的妙用
4. 小结:LLM 的核心运作机制
1. 条件概率:上下文预测的基础
“条件概率” 是理解 LLM 的第一步,也是预测逻辑的底层支撑。换句话说,模型是在已知上下文的基础上预测下一个词出现的概率,这是一个“给定 A,求 B”的问题,即 P(下一个词 | 上下文)。在 LLM 中,上下文越丰富,模型对后续词语的预测就越精准。
在深入探讨 LLM之前,我们必须理解条件概率。 让我们考虑一个包含 14 个人的群体:其中一些人喜欢网球(7人)其中一些人喜欢足球(8人)有些喜欢网球和足球(3人) 有些全部都不喜欢(2人)。如下图所示。
那么条件概率是什么呢?这是在另一个事件发生的情况下,某事件发生的概率度量。 如果事件是 A 和 B,我们表示为 P(A|B)。 这读作"给定 B 的 A 的概率"。
这里:
-
A:喜欢篮球
-
B:喜欢足球
-
P(A∣B):已知喜欢足球的前提下,喜欢篮球的概率
举例说明:如果我们正在预测今天是否会下雨(事件 A),知道天是多云的(事件 B)可能会影响我们的预测(下雨概率增大)。 由于多云时下雨的可能性更大,我们会说条件概率 P(A|B)很高。 这就是条件概率!
2. LLM 是如何“看着上下文写出下一个词”的?
LLM 从海量文本中学习一个高维的“词序列概率分布”,其内部参数(以巨大的权重矩阵形式存在)就是训练的成果,它让模型能够评估在不同上下文中、每个词出现的概率。
那么,这个如何应用于像 GPT-4 这样的 LLMs这些模型的任务是预测序列中的下一个词。 这是一个条件概率的问题:在已知之前出现过的词的情况下,哪个词最有可能成为下一个词?
为了预测下一个词,模型会根据之前的词(上下文)计算每个可能下一个词的条件概率。 条件概率最高的词被选为预测结果。
LLM 学习一个高维的词序列概率分布。 而这个分布的参数就是训练好的权重! 训练或者说预训练是监督式的。
补充说明(重要)
在前面我们提到,LLM 的任务就是“根据上下文预测下一个词”。但更准确地说,LLM 的工作原理是:
👉 模型会把输入文本转化为一系列 token,然后基于上下文重复预测下一个 token 的概率分布。
📌 Step 1: 输入处理
-
文本会先经过 分词器(Tokenizer) 转换成 token 序列;
-
每个 token 会被映射为数字 ID,再转为向量输入模型。
举例:
-
"Learning new things is fun!"
→ 被分词后,每个常见的单词通常会变成一个 token; -
"prompting"
这样的长单词,会被拆解为多个 token:"prom"
、"pt"
、"ing"
。
因此,LLM 实际上预测的不是一个完整的单词,而是一个个 token。
📌 Step 2: 概率计算
-
模型通过 自注意力机制(Self-Attention),结合上下文信息,计算出每个 token 作为下一个输出的条件概率;
-
举例:在
"I love machine"
之后,模型会评估"learning"
、"apple"
、"gun"
等 token 出现的概率,通常"learning"
的概率最高。
📌 Step 3: 决策选择
-
如果模型每次都选择概率最高的 token,输出可能会“死板”且容易重复;
-
因此在实际生成时,会引入 温度(Temperature) 参数和 采样(Sampling)策略,让结果既合理又有一定多样性。
🤔 一个有趣的细节:为什么 ChatGPT 有时“拼字很差”?
当你让 ChatGPT 颠倒 "lollipop"
的字母时,它可能会输出错误。
原因是:
-
分词器将
"lollipop"
分解为三个 token:"l"
、"oll"
、"ipop"
; -
模型处理的单位是 token,而不是单个字母,自然就难以逐字母反转。
✅ 小技巧:
如果你写成 "l - o - l - l - i - p - o - p"
,分词器会把它们分解为单个字母 token,
这样 ChatGPT 就能逐字处理,从而更容易得到正确的结果。
3. 温度 (Temperature) 的妙用
但是有一个问题? 如果我们总是选择概率最高的词,最终会得到重复的输出,使 LLM几乎毫无用处,并扼杀它们的创造力。 这就是温度(Temperature)发挥作用的地方。
然而,过高的温度值会产生乱码。
所以,LLM不是选择最佳词元(为了简化,我们可以将词元视为单词),而是对预测进行"采样"。 所以即使“词元 1”得分最高,也可能不会被选择,因为我们正在进行采样。
现在,温度在 softmax 函数中引入了以下调整,进而影响了采样过程:
让我们来看一个代码示例!
在低温下,概率集中在最可能的标记周围,导致生成几乎贪婪的结果。
在高温下,概率变得更加均匀,产生高度随机和随机的输出。
4. 小结:LLM 的核心运作机制
核心概念 | 通俗类比 / 理解 | 技术要点及作用 |
---|---|---|
条件概率 | 看天气图预测是否下雨 | 模型预测下一个词的可能性,依赖上下文 |
概率模型 | 训练出的“大脑”,帮你判断哪个词最可能出现 | 权重矩阵构成预测核心,来自大规模语料预训练 |
温度控制+采样 | 留有余地,不死板,让生成更“有痕迹”或“有趣” | 控制输出“保守”或“多样性”之间的平衡 |
原文链接:Akshay 🚀 on X: "How LLMs work, clearly explained:" / X