当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/626155.html

相关文章:

  • 网络间的通用语言TCP/IP-网络中的通用规则4
  • 大模型+RPA:如何用AI实现企业流程自动化的“降本增效”?
  • 基于SpringBoot+Vue的养老院管理系统的设计与实现 智能养老系统 养老架构管理 养老小程序
  • Linux系统部署python程序
  • SConscript 脚本入门教程
  • InfoNES模拟器HarmonyOS移植指南
  • Redis缓存加速测试数据交互:从前缀键清理到前沿性能革命
  • 图形化监控用数据动态刷新方法
  • Transformer入门到精通(附高清文档)
  • 内网后渗透攻击--隐藏通信隧道技术(压缩、上传,下载)
  • 常见的软件图片缩放,算法如何选择?
  • 【开源工具】基于社会工程学的智能密码字典生成器开发(附完整源码)
  • 字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent
  • 洛谷 P2834 纸币问题 3-普及-
  • Flink原理与实践 · 第三章总结
  • 第5.6节:awk字符串运算
  • 【驱动】RK3576:桌面操作系统基本概念
  • L2TP虚拟局域网
  • 快速傅里叶变换:数字信号处理的基石算法
  • Orange的运维学习日记--47.Ansible进阶之异步处理
  • 数据库-MYSQL配置下载
  • go链路追踪
  • 微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
  • 不同语言的并发模型对比:Go、Java与Python
  • Go高效复用对象:sync.Pool详解
  • 机器学习中的「损失函数」:模型优化的核心标尺
  • 决策树算法详解
  • 【完整源码+数据集+部署教程】鳄梨表面缺陷检测图像分割系统源码和数据集:改进yolo11-MLCA
  • QT聊天项目DAY19
  • 广东省省考备考(第八十一天8.19)——资料分析、数量(强化训练)