LLM 是怎么学习的?训练过程大揭秘

news2026/4/7 22:47:02
系列大语言模型原理科普5 篇本篇第 2 篇难度⭐⭐ 零基础 浅显技术字数约 9000 字阅读时间20 分钟 开篇LLM 不是生来就懂想象一下你刚出生的时候不会说话不识字什么都不懂现在的你是怎么学会这么多知识的答案是学习。从婴儿到成人你花了1 年学会说话6 年学会识字12 年完成基础教育可能还有 4 年大学大语言模型也是这样。它刚被创建出来的时候就像一个刚出生的婴儿刚创建的模型 - 参数是随机的 - 什么都不懂 - 只会胡乱输出它是怎么变成学霸的答案是训练。今天这篇文章我会带你走进大语言模型的学校看看它是怎么学习的。你会了解它读的书从哪里来它怎么读书训练过程它怎么知道自己错了损失函数它怎么改正错误梯度下降 反向传播训练一次要花多少钱为什么训练完就不能继续学习了一、训练数据LLM 读的书1.1 数据从哪里来大语言模型的知识全部来自训练数据。训练数据是什么就是互联网上所有的文字。具体来说包括来源数据量内容网页500GB各种网站内容书籍100GB小说、教材、论文维基百科20GB百科知识代码50GBGitHub 等代码库新闻50GB新闻报道论坛100GB知乎、Reddit 等社交媒体100GB微博、推文总计~1TB几百万本书 技术小知识数据清洗原始数据不能直接用需要清洗 1. 去重删除重复内容 2. 过滤去掉低质量内容 3. 格式化统一成文本格式 4. 分词拆成字或词 清洗后数据量会减少 30-50% 但质量更高模型学得更好。1TB 是什么概念相当于500 万本书相当于1 亿篇知乎回答相当于100 亿条微博如果一个人每秒读 1 个字需要3000 年才能读完但 LLM 只需要几个月就能学会1.2 数据质量很重要你可能会想数据越多越好吗答案是不一定。垃圾数据训练出垃圾模型。想象一下如果 LLM 读的都是 - 错别字连篇的文章 - 胡编乱造的内容 - 逻辑混乱的文字 那它学到的也是错误的规律。所以训练数据需要精心筛选✅ 好数据书籍经过编辑审核维基百科有人维护高质量网站开源代码❌ 坏数据垃圾网站机器生成的垃圾内容充满错误的文本恶意内容 图 1数据筛选流程原始数据10TB ↓ 去重 → 剩 7TB ↓ 过滤低质量 → 剩 3TB ↓ 人工审核 → 剩 1TB ↓ 最终训练数据二、训练过程LLM 怎么读书2.1 核心思想遮字游戏大语言模型的训练其实就是一个遮字游戏。怎么玩1. 找一段文字 今天天气真好 2. 遮住最后一个字 今天天气真_ 3. 让 LLM 猜被遮住的字 LLM 猜好 4. 对照正确答案 正确答案是好 5. 猜对了→保持猜错了→调整 6. 重复万亿次就这么简单。但这个简单的游戏重复万亿次LLM 就学会了语言规律。 图 2遮字游戏训练数据我喜欢吃苹果 第 1 轮 输入我 → 猜喜 ✓ 第 2 轮 输入我喜欢 → 猜吃 ✓ 第 3 轮 输入我喜欢吃 → 猜苹 ✓ 第 4 轮 输入我喜欢吃苹 → 猜果 ✓ 重复万亿次LLM 就学会了2.2 训练步骤详解一次完整的训练包含以下步骤步骤 1准备数据从 1TB 数据中取一段 人工智能是未来科技的重要方向步骤 2遮住最后一个字人工智能是未来科技的重要方_步骤 3LLM 预测LLM 根据前面的字预测下一个字 - 向的概率70% - 法的概率20% - 式的概率10% LLM 选概率最高的向步骤 4计算损失判断对错正确答案是向 LLM 猜的是向 损失 0完全正确 如果 LLM 猜的是法 损失 正确答案概率 - 猜测概率 70% - 20% 50%损失很大步骤 5反向传播调整参数根据损失调整 7000 亿个参数 - 让向的概率更高 - 让法的概率更低 调整的幅度由学习率控制 - 学习率太大调整过度 - 学习率太小学得太慢步骤 6重复取下一段数据重复步骤 2-5 重复万亿次后LLM 就学会了 技术小知识损失函数损失函数就是衡量 LLM 预测有多错的公式。 常用的是交叉熵损失 损失 -log(正确答案的概率) 例子 - 正确答案概率 90% → 损失 -log(0.9) ≈ 0.1很小 - 正确答案概率 10% → 损失 -log(0.1) ≈ 2.3很大 训练的目标让损失越来越小 图 3训练流程训练数据 ↓ 遮字 → 今天天气真_ ↓ LLM 预测 → 好 (85%) ↓ 计算损失 → 对比正确答案 ↓ 反向传播 → 调整参数 ↓ 重复万亿次 ↓ 训练完成三、梯度下降LLM 怎么知道自己该怎么改读到这里你可能有个问题LLM 怎么知道参数该怎么调整这就涉及到一个核心算法梯度下降。3.1 什么是梯度下降梯度下降听起来很高深其实很好懂。想象你在山上想要下山你站在山顶 ↓ 看不到山脚不知道最优参数 ↓ 但你知道哪边是下坡梯度方向 ↓ 往坡下走一步 ↓ 再看哪边是下坡 ↓ 再走一步 ↓ ... 重复多次到达山脚这就是梯度下降。 类比山的高度 损失越高质量越差 山脚 最优参数损失最小 下坡方向 梯度损失减少最快的方向 步长 学习率每次调整多少3.2 梯度下降的数学原理用数学表示梯度下降是这样的1. 计算当前参数的梯度 梯度 损失对参数的导数 2. 沿着梯度的反方向调整参数 新参数 旧参数 - 学习率 × 梯度 3. 重复直到损失不再下降 技术小知识导数是什么导数就是变化率。 比如 - 速度是位置的导数位置变化多快 - 加速度是速度的导数速度变化多快 在 LLM 训练中 - 梯度是损失对参数的导数 - 它告诉我们应该往哪个方向调整参数 - 梯度大→调整多梯度小→调整少 图 4梯度下降损失 ↑ | * | / \ | / \ | / \ |/ \____ ----------------→ 参数 从高处往低处走 第 1 步* → 往下走 第 2 步* → 再往下走 ... 最后到达最低点最优参数3.3 学习率走多快梯度下降有个重要参数学习率。学习率是什么就是每次调整的步长。学习率太大 - 步子太大 - 可能错过最低点 - 训练不稳定 学习率太小 - 步子太小 - 学得很慢 - 可能卡在局部最低点 学习率刚好 - 稳步下降 - 找到全局最低点 图 5学习率对比学习率太大 起点 → 跳过头 → 反弹 → 跳过头 → ... 不稳定 学习率太小 起点 → 小步 → 小步 → 小步 → ... 太慢 学习率刚好 起点 → 中步 → 中步 → 中步 → 最低点 完美实际训练中学习率会动态调整开始学习率大快速下降中期学习率中等稳步下降后期学习率小精细调整四、反向传播错误怎么一层层传回去大语言模型有 96 层每层都有参数。当 LLM 预测错误时怎么知道每层的参数该怎么调整答案是反向传播。4.1 什么是反向传播反向传播就是把错误从后往前传告诉每一层该怎么调整。想象一个工厂流水线第 1 层 → 第 2 层 → ... → 第 96 层 → 输出 ↓ ↓ ↓ 参数 1 参数 2 参数 96当输出错误时1. 先计算输出的损失 2. 告诉第 96 层你的参数有问题这样改... 3. 第 96 层告诉第 95 层你的参数也有问题这样改... 4. 一层层传回去 5. 直到第 1 层这就是反向传播。 技术小知识链式法则反向传播用到了微积分的链式法则。 简单说就是 总损失对参数 1 的梯度 损失对输出 1 的梯度 × 输出 1 对输出 2 的梯度 × ... 输出 95 对参数 1 的梯度 不用懂细节知道核心思想就行 错误一层层往回传每层都知道该怎么改。 图 6反向传播前向传播预测 输入 → 层 1 → 层 2 → ... → 层 96 → 输出 反向传播调整 输出 ← 层 96 ← 层 95 ← ... ← 层 1 ← 输入 ↓ ↓ ↓ 调整 调整 调整 参数 96 参数 95 参数 14.2 为什么需要反向传播你可能会问为什么不能直接调整所有参数答案是参数太多了7000 亿不能瞎调。反向传播的好处1. 精确每个参数都知道该往哪个方向调不会乱调2. 高效一次反向传播所有参数都知道该怎么改不用逐个尝试3. 可解释知道哪一层对错误贡献最大可以针对性优化 类比没有反向传播 就像 7000 亿个人闭着眼睛乱走 不知道谁该往哪边走。 有反向传播 就像每个人都有一个导航 告诉你应该往哪边走。五、训练成本为什么 LLM 这么贵训练一个大语言模型需要多少钱答案可能让你惊讶几千万到几亿美元。5.1 成本拆解训练成本主要包括1. 硬件成本需要的显卡10000 张 NVIDIA H100 每张价格约 3 万美元 总计10000 × 3 万 3 亿美元2. 电力成本训练时间3 个月 耗电量约 5000 万度电 电费约 500 万美元3. 人力成本团队规模100 人 训练周期1 年包括准备 人力成本约 5000 万美元4. 其他成本- 数据中心租金 - 网络带宽 - 数据购买 - ... 约 5000 万美元总计约 5-10 亿美元 图 7成本分布硬件████████████████████ 60% 人力████████ 20% 电力████ 10% 其他████ 10%5.2 为什么这么贵1. 计算量太大训练一次大模型需要做多少次计算7000 亿参数 × 1 万亿字 × 96 层 天文数字具体来说每次预测7000 亿次计算训练数据1 万亿字重复次数3 轮epoch总计算量约 10^25 次这是什么概念如果一台电脑每秒计算 10 亿次需要300 亿年才能算完但用 10000 张显卡只需要3 个月2. 显卡太贵训练 LLM 需要专用显卡GPU。最常用的是 NVIDIA H100每张 3 万美元需要 10000 张总计 3 亿美元3. 电费惊人10000 张显卡同时运行功率约 50 兆瓦3 个月耗电5000 万度电费500 万美元 对比训练 GPT-3 的电费 - 5000 万度电 - 相当于 5 万户家庭 1 年的用电量5.3 训练时间训练一个大语言模型需要多久阶段时间内容数据准备1 个月收集、清洗、格式化预训练3 个月学习语言规律微调2 周学习特定任务测试评估2 周检查效果总计约 4 个月-为什么这么久数据太多1TB参数太多7000 亿计算量太大10^25 次 图 8训练时间线第 1 月数据准备 [████████] 第 2-4 月预训练 [████████████████████████] 第 5 月微调 测试 [████████]六、训练完成后为什么不能继续学习训练完成后LLM 的参数就固定了。它不能像人类一样继续学习新知识。6.1 为什么不能继续学习原因 1参数固定训练完成后7000 亿参数就固定了。要学习新知识需要重新训练调整参数。原因 2灾难性遗忘如果只在新数据上训练LLM 学会了新知识 ↓ 但忘记了旧知识 ↓ 就像你学了数学忘了语文这种现象叫**“灾难性遗忘”**。原因 3成本太高重新训练一次时间3 个月金钱几亿美元不现实6.2 解决方案微调和 RAG虽然不能重新训练但有其他方法让 LLM 学习新知识方法 1微调Fine-tuning在已有模型基础上用少量数据训练 优点 - 成本低几万美元 - 时间短几天 缺点 - 只能学特定任务 - 还是可能遗忘方法 2RAG检索增强生成不修改模型而是 1. 把新知识存到数据库 2. LLM 回答问题时先查数据库 3. 根据查到的内容回答 优点 - 成本极低 - 随时更新 - 不会遗忘 缺点 - 需要额外系统 - 依赖检索质量 对比重新训练 成本$$$$$ 时间3 个月 效果⭐⭐⭐⭐⭐ 微调 成本$$ 时间几天 效果⭐⭐⭐ RAG 成本$ 时间实时 效果⭐⭐⭐⭐七、总结3 分钟回顾核心要点读完这篇文章你应该记住这几点 核心要点1. 训练数据从哪里来互联网上的文字网页、书籍、代码等总计约 1TB几百万本书需要清洗和筛选2. 训练过程遮字游戏遮住最后一个字让 LLM 猜重复万亿次学会语言规律3. 核心算法损失函数衡量预测有多错梯度下降往损失减少的方向调整参数反向传播把错误一层层传回去4. 训练成本硬件3 亿美元10000 张显卡电力500 万美元人力5000 万美元总计5-10 亿美元5. 训练时间数据准备1 个月预训练3 个月微调 测试1 个月总计约 4 个月6. 训练后不能继续学习参数固定灾难性遗忘成本太高解决方案微调、RAG 下篇预告读完这篇你可能有个问题LLM 内部到底是怎么处理的输入一个问题后它内部经历了什么自注意力机制具体怎么工作96 层每层都在做什么第 3 篇《LLM 怎么生成回答揭秘思考过程》我会带你走进 LLM 的大脑看看它内部是怎么工作的。你会看到输入怎么变成数字自注意力机制的详细计算过程96 层每层的作用输出怎么生成为什么会有幻觉下周五我们继续。 互动时间读完这篇文章你有什么问题欢迎在评论区留言我会尽量回答。你也可以做个小测试看看自己有没有理解 小测试1. LLM 的训练数据主要来自哪里 A. 人工编写 B. 互联网 C. 购买 2. 训练的核心游戏是什么 A. 猜谜 B. 遮字 C. 接龙 3. 梯度下降的作用是什么 A. 增加损失 B. 减少损失 C. 不变 4. 反向传播的方向是 A. 从前往后 B. 从后往前 C. 随机 5. 训练一次大模型需要多少钱 A. 几万美元 B. 几百万美元 C. 几亿美元 6. 训练完成后LLM 能继续学习吗 A. 能 B. 不能 C. 看情况 答案1.B 2.B 3.B 4.B 5.C 6.B系列文章第 1 篇大语言模型是什么✅第 2 篇LLM 是怎么学习的本文✅第 3 篇LLM 怎么生成回答下周五第 4 篇LLM 能做什么第 5 篇LLM 的局限性和未来最后更新2026-04-02下一篇4 月 9 日周五发布如果你觉得这篇文章有帮助欢迎点赞、收藏、转发让更多人看懂大语言模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2480951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…