当前位置: 首页 > 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.dtcms.com/a/339820.html

相关文章:

  • 基于“R语言+遥感“水环境综合评价方法技术应用——水线提取、水深提取、水温提、水质提取、水环境遥感等
  • make stb style code: bin2c and reverse
  • 开发中使用——APP层级相关知识
  • bit-Agent正式接入GPT-5,九科信息智能体能力再升级!
  • 海滨浴场应急广播:守护碧海蓝天的安全防线
  • 皮带跑偏?智慧煤矿靠AI摄像机+检测算法实现实时预警
  • Docker学习--常用命令
  • vue3动态获取高度用在轮播图上
  • Diamond开发经验(1)
  • 代码随想录刷题Day37
  • C++的二叉搜索树(二叉排序树)
  • AC 应用控制技术
  • Vulkan笔记(十一)-渲染通道(RenderPass)详解
  • 厂区能源管理智能化改造物联网解决方案
  • 沈昕医编---因为上岸了医疗编,来说一下e类联考的强度
  • YggJS RLogin暗黑霓虹主题登录注册页面 版本:v0.1.1
  • js 怎么调用 deepseekAPI
  • 雷卯针对香橙派Orange Pi 5 Pro开发板防雷防静电方案
  • 从密度到聚类:DBSCAN算法的第一性原理解析
  • MyCAT2的主从配置
  • Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
  • 第2章 组件设计与架构
  • IEEE GRSM 2025:Vision Foundation Models in Remote Sensing
  • 基于 STM32 和 NB-IoT 的智慧家居多设备联动控制系统设计
  • Windows Server DNS优化,网络响应速度提升方案
  • 让AI学会“边做边想“:ReAct的实战指南
  • 前端 React 实现数据懒加载-滚动触底加载数据
  • Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
  • 移动端网页调试实战,内存泄漏问题的发现与优化
  • Qt原对象系统工作机制