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

【李宏毅-2024】第六讲 大语言模型的训练过程1——预训练(Pre-training)

目录

  • 概述
    • 1. 预训练(Pre-training)
    • 2. 微调(Fine-tuning,又称 SFT,Supervised Fine-Tuning)
    • 3. 对齐(Alignment,又称 RLHF 或 DPO 等)
    • 4 三阶段对比
  • 6 第一阶段——自我学习,积累实力
    • 6.1 大模型本质上是文字接龙
      • 1. 从字符到 token 的拆分过程
      • 2. 为什么要用 token 而非字符或单词?
      • 3. 关键指标:token 与成本
    • 6.2 机器怎么学会做文字接龙
      • 1. 语言模型的核心任务
      • 2. 数学形式
      • 3. 训练目标
      • 4. 训练与测试过程
      • 5. 三阶段的本质任务
    • 6.3 寻找参数面临的挑战
      • 1. **参数优化与超参数选择**
      • 2. **训练失败与应对**
      • 3. **过拟合(Overfitting)**
      • 4. 训练过程的核心原则
    • 6.4 如何让机器找到比较合理的参数
      • 1 增加训练数据的多样性
      • 2 设置更合理的初始参数
      • 3 引入先验知识
    • 6.5 需要多少文字才能学会“文字接龙”?
      • 1语言知识(Linguistic Knowledge)的学习
      • 2 世界知识(World Knowledge)
      • 3 世界知识的多层次性
    • 6.6 任何文本皆可用来学“文字接龙”
      • 1. **从互联网抓取海量文本**
      • 2. **自监督学习(Self-supervised Learning)**
      • 3. **大规模数据获取与训练优势**
    • 6.7 数据的精炼与完善:数据清理的必要性与操作细节
      • 1. 数据清理的必要性
      • 2. 六大清理步骤
    • 6.8 所有文本资料都能拿来训练“文字接龙”吗?
      • 1 是否任何资料都能用于训练?
      • 2 版权纠纷与法律风险
      • 3 开发团队的常见做法
      • 4 授权与合规建议
    • 6.9 再训更大的模型也没用:为什么语言模型仍无法好好回答问题?
      • 1. 学习方式决定了“只会接龙”
      • 2. 缺乏明确的目标引导
      • 3. 无效的自问自答模式
      • 4. 大模型预训练的困境与解决思路

课程地址 B站 本文参考笔记

概述

大模型的训练通常被概括为 “预训练 → 微调 → 对齐” 三个递进的阶段,每个阶段的目标、数据、算法和产出都有明显差异。下面按时间顺序逐一说明:


1. 预训练(Pre-training)

目标:让模型学会“通用的语言和世界知识”,具备强大的表征与生成能力。
数据:大规模、多领域、多语言的原始文本(如网页、书籍、论文、代码等),数据量通常从几 TB 到数百 TB。
算法:自监督学习(最常见的是下一个 token 预测或 masked token 预测)。
算力:千卡级 GPU/TPU,持续数周到数月。
产出:基座模型(Base model),如 GPT-3、Llama-2、Baichuan-Base。
特点

  • 无人工标注,仅依靠海量文本的自监督信号。
  • 模型规模大(数十亿到上万亿参数),训练成本高。
  • 具备广泛的知识和语言能力,但没有指令遵循能力,也不保证输出安全、有用。

2. 微调(Fine-tuning,又称 SFT,Supervised Fine-Tuning)

目标:让基座模型学会遵循指令、完成具体任务(问答、摘要、翻译、代码补全等)。
数据:数十万到上百万条 (指令, 输入, 期望输出) 的高质量人工标注数据。
算法:继续用监督学习训练,通常只训练 1–3 个 epoch,学习率较小。
算力:相比预训练下降 2–3 个数量级(几十张卡、几天到一周)。
产出:指令微调模型(Instruct model),如 GPT-3.5-Turbo、Llama-2-Chat、ChatGLM-6B-SFT。
特点

  • 输出风格更贴近人类对话,能执行“请翻译成英文”“写一段 Python 代码”等指令。
  • 仍可能输出有害、偏见或事实错误的内容,需要进一步约束。

3. 对齐(Alignment,又称 RLHF 或 DPO 等)

目标:让模型的价值观、安全性、有用性与人类期望“对齐”。
数据

  • 偏好数据(Preference data):人工对同一 prompt 的多个回答进行排序。
  • 有时再辅以红队对抗样本、安全准则、宪法原则等。
    算法
  • 经典路线:RLHF(Reinforcement Learning from Human Feedback,用 PPO 强化学习)。
  • 新路线:直接偏好优化(DPO、KTO、RRHF 等),无需显式强化学习。
    算力:与微调同一量级,但流程更复杂(需训练奖励模型、做 RL 或偏好优化)。
    产出:对话/助手模型(Chat/Assistant model),如 GPT-4、Claude-3、Kimi-Chat。
    特点
  • 显著降低有害、歧视、幻觉输出,提升帮助性与可操控性。
  • 使模型学会说“我不知道”“我无法协助此类请求”等安全表达。

4 三阶段对比

阶段训练信号数据规模主要能力获得典型代表
预训练自监督TB 级原始文本通用语言、世界知识Llama-2-Base
微调监督学习105–106 条指令遵循指令、任务完成Llama-2-Chat-SFT
对齐人类反馈/偏好104–105 条排序安全、有用、符合价值观GPT-4, Claude-3

这三个阶段并非绝对割裂:

  • 一些模型把“微调+对齐”合并为单阶段(如指令微调中直接混入安全数据)。
  • 社区出现“继续预训练 → 轻量微调 → 在线对齐”的迭代式开发管线,以持续改进模型。

上面的三个阶段对应到课程中分别是第六节(自我学习,积累实力)第七节(名师指点,发挥潜力)第八节(参与实战,打磨技巧)

在这里插入图片描述

6 第一阶段——自我学习,积累实力

6.1 大模型本质上是文字接龙

大模型本质上是文字接龙:当生成答案时,模型通过逐步预测和生成单个符号(称为Token),依序构建完整的输出。
在这里插入图片描述

在大模型的语境里,Token 是“文本”被离散化后的最小处理单元;模型既不认识字母,也不直接操作汉字,而是先把所有字符序列拆成一串 token,再进行训练和推理。 可以简单理解为,Token 是模型眼里“语言的字母表”中的单个符号。

可以把文本想象成乐高积木:

  • 字符是小颗粒,拼起来太碎;
  • 单词是大模块,种类太多;
  • token 是官方设计的“标准砖块”,既通用又高效,大模型只认这种砖块。

1. 从字符到 token 的拆分过程

以 OpenAI 的 GPT 系列为例,使用 BPE(Byte Pair Encoding) 子词分词器:

  • 英文字母:
    "ChatGPT"["Chat", "G", "PT"](3 个 token)
  • 中文:
    "大模型"["大", "模型"](2 个 token)
  • 带标点:
    "你好,世界!"["你好", ",", "世界", "!"](4 个 token)
  • 极端情况:
    一个罕见 emoji 🤯 可能被拆成多个 byte-level token,也可能独占一个 token,取决于词表是否收录。

2. 为什么要用 token 而非字符或单词?

  • 压缩文本长度:高频子词(如 “ing”、“的”、“模型”)用一个 token 表示,减少序列长度。
  • 跨语言兼容:同一套词表可同时覆盖 100+ 语言,无需为每种语言单独设计分词器。
  • 平衡粒度:比“字符”粗,比“整词”细,避免词表爆炸,又能处理未登录词。

3. 关键指标:token 与成本

  • 上下文长度以 token 计数:GPT-4 Turbo 支持 128k tokens ≈ 10 万英文单词。
  • 计费单位:OpenAI、Anthropic 等按 “每 1k tokens” 收费,输入与输出分别计价。
  • 经验换算
    • 1 个英文单词 ≈ 1.3 tokens
    • 1 个汉字 ≈ 1.8–2.2 tokens(取决于文本密度)

6.2 机器怎么学会做文字接龙

在这里插入图片描述

1. 语言模型的核心任务

文字接龙:输入一个未完成的句子 → 输出最可能的下一个 token。

2. 数学形式

模型是一个含 数十亿参数 的 Transformer 函数 f:next_token = f(unfinished_sentence)

3. 训练目标

用海量「句子-下一 token」样本,通过优化算法确定所有参数,使预测误差最小。

4. 训练与测试过程

训练(Training)
• 数据来源:大规模文本,形式为「未完成的句子 → 下一个正确 token」。
• 目标:通过优化算法(如 Adam、SGD)迭代更新数十亿参数,最小化预测误差。

测试 / 推断(Testing / Inference)
• 使用已训练完成的固定参数模型。
• 输入任意文本前缀,模型即时输出最可能的后续 token,参数不再更新。

5. 三阶段的本质任务

无论预训练、微调还是对齐,模型始终在学习「文字接龙」。
阶段差异仅体现在训练数据:
• 阶段 1:通用语料 → 建立广泛语言知识与常识。
• 阶段 2:高质量指令-回答对 → 获得任务理解与指令遵循能力。
• 阶段 3:人类偏好或安全准则数据 → 实现价值观对齐与输出可控。
在这里插入图片描述

6.3 寻找参数面临的挑战

在这里插入图片描述

1. 参数优化与超参数选择

  • 优化(Optimization):利用机器学习方法自动调整数十亿个模型参数,使模型输出尽可能贴合训练数据。
  • 超参数(Hyperparameters):决定“如何优化”的人工设定值,如学习率、优化器类型、批大小等。它们不在训练中被更新,却对结果影响巨大。
  • 难点:超参数空间庞大且效果难以预估;训练失败时只能通过反复试错重新设定,耗费大量算力。

2. 训练失败与应对

  • 表现:模型在训练集上无法收敛或误差居高不下。
  • 根因:超参数设置不当、数据质量差或模型结构设计缺陷。
  • 解决:系统性地调整超参数(俗称“调参”),并重启训练。

3. 过拟合(Overfitting)

  • 定义:模型在训练集表现优异,但在未见过的新数据(测试集)上表现显著下降。
  • 成因:模型过度记忆训练数据中的噪声或局部特征,缺乏泛化能力。
  • 示例:猫狗分类器仅依据“黄色=狗,黑色=猫”的颜色特征进行判断,遇到黄色猫时即误判为狗。

过拟合相关课程: 為什麼類神經網路可以正確分辨寶可夢和數碼寶貝呢?

在这里插入图片描述

4. 训练过程的核心原则

  • 机器只认训练数据:算法唯一目标是最小化训练集上的误差,不会主动评估参数是否合理或能否泛化至其他场景。
  • 勿以人智度机心:模型不具备人类的因果推理与常识判断,其“知识”边界完全由给定数据决定。

6.4 如何让机器找到比较合理的参数

在这里插入图片描述

1 增加训练数据的多样性

问题:如果数据分布过于单一,模型易学到虚假或片面特征(如仅凭颜色区分猫狗)。
解决:在猫狗分类任务中补充黄猫、黑狗等反例,迫使模型学习形状、纹理等更本质的特征。
作用:多样化数据削弱虚假关联,提升模型泛化能力,使优化得到的参数更具鲁棒性。
在这里插入图片描述

2 设置更合理的初始参数

定义:优化算法的起点。最终解通常与初始点在同一“盆地”,因此起点决定搜索效率与结果质量。
常见做法
随机初始化(Train from Scratch):按特定分布随机生成参数,简单但可能陷入局部最优或训练不稳定。
优化初始化:利用预训练、迁移学习或元学习获得接近目标解的初始参数,显著加快收敛并提升性能。
在这里插入图片描述

3 引入先验知识

概念:通过精心设计的初始参数或约束,将人类知识或经验“植入”模型,指导优化方向。
意义
– 初始参数即“先天知识”,可减少盲目搜索。
– 在数据有限或任务复杂的场景下,先验知识能有效提升最终参数质量。
【精炼与完善后的文本】

挑战:如何构造高质量的初始参数仍是机器学习研究的核心难题之一,涉及预训练策略、跨任务迁移、元学习等技术。

6.5 需要多少文字才能学会“文字接龙”?

在这里插入图片描述

1语言知识(Linguistic Knowledge)的学习

  • 任务:要学会“文字接龙”,语言模型需要掌握语言的文法规则,才能理解句子的结构,并作出符合文法的词汇选择。
  • 所需数据量:相对有限。研究指出,几千万~几亿词即可让模型掌握基础的语法、词法与句法规则,从而生成符合语言习惯的序列。

2 世界知识(World Knowledge)

  • 任务:除了语言知识,语言模型还需要学习世界知识,以理解事实、常识与语境,例如“水的沸点是 100 °C(1 atm)”。
  • 数据需求:远超语言知识。
    • 量级:即使训练语料达到 300 亿词,仍难以覆盖全部世界知识。
    • 原因
      • 事实本身浩如烟海;
      • 同一事实在不同上下文(海拔、气压、文化背景)中答案可变;
      • 知识呈层次化——从简单事实到深层因果、跨领域关联,均需大量多样化文本才能逐步捕捉。

3 世界知识的多层次性

  • 复杂性示例
    • 表层:水的沸点为 100 °C(标准大气压)。
    • 深层:在高海拔地区气压降低,沸点下降;在高压锅中,沸点升高。
  • 数据要求
    • 必须包含大规模、多场景、多语言的描述,才能让模型逐渐习得这些条件依赖与因果层次
    • 因此,世界知识的获取是“数据饥饿型”任务:语料越大、越多元,模型掌握得越全面,但仍无法穷尽。

【精炼与完善后的文本】

6.6 任何文本皆可用来学“文字接龙”

在这里插入图片描述

1. 从互联网抓取海量文本

• 网络本身即是一座取之不尽的“语料矿山”。
• 技术路径:网络爬虫 → 清洗去噪 → 按句子或滑动窗口切分 → 构造“上文 → 下一 token”配对。
• 示例:将句子“人工智慧真神奇”拆为

     人工 → 智  人工智 → 慧  人工智慧 → 真  ……

即可直接用于自监督训练。

2. 自监督学习(Self-supervised Learning)

• 定义:无需人工标注,模型利用文本自身的顺序结构作为监督信号。
• 流程:
① 自动把连续文本拆成“上文”与“待预测 token”;
② 通过最大化似然,让模型学会在给定前文时输出概率最高的下一词。
• 特点:人力成本低,可扩展至万亿级 token,适合大模型预训练。

3. 大规模数据获取与训练优势

• 数据规模:只要存储与算力允许,爬虫可源源不断提供多语言、多领域文本。
• 训练优势:
– 零人工标注,降低数据准备成本;
– 语料多样性与规模直接决定模型语言能力与泛化上限;
– 同一套流程可复制到任何新语料,持续更新模型知识。

6.7 数据的精炼与完善:数据清理的必要性与操作细节

1. 数据清理的必要性

网络爬取的原始语料虽然规模庞大,但直接用于训练会引入噪声、偏见甚至有害信息。DeepMind 的研究指出:
“未经清洗的数据会显著降低模型质量、安全性和泛化能力。”
因此,自监督学习仍需系统的人工干预与自动化清理流程。

2. 六大清理步骤

① 有害内容过滤

  • 使用关键词、分类器或人工审核剔除色情、暴力、仇恨、违法等不当文本。
  • 建立动态黑名单,定期更新敏感词库与规则。

② 去除无用符号

  • 剥离 HTML 标签、脚本、导航栏、页眉页脚、LaTeX 残留等格式标记。
  • 正则 + DOM 解析器组合,保证正文完整性。

③ 保留有效符号

  • 保留表情符号(😊、👍)、数学符号(π、∑)、特殊标点(“”、《》),因其可能携带语义或情感信息。
  • 建立白名单,避免误删。

④ 数据质量分级

  • 高质量来源:维基百科、教科书、政府/学术网站、权威新闻 → 上采样(重复多次)。
  • 低质量来源:论坛灌水、自动生成、事实错误 → 下采样或直接剔除。
  • 指标:准确性、权威性、有用性、可读性(可由人工+模型联合打分)。

⑤ 去重

  • 全局 MinHash / SimHash 检测段落级重复;阈值通常设为 90% 相似度。
  • 案例:某婚庆公司广告段落出现 6 万余次,去重后将其权重降至零,防止模型“背广告”。

⑥ 测试集过滤

  • 与训练集做反向去重,确保测试样本未在训练阶段曝光。
  • 再次执行步骤①–④,保证评估的严谨性与可复现性。
  1. 效果评估
    • 清理后语料规模通常下降 20%–40%,但困惑度(PPL)下降、BLEU/人工评分提升。
    • 引入“数据健康报告”:统计每类被过滤内容比例,作为后续迭代依据。

通过上述六步,既保留互联网文本的广度,又最大程度抑制噪声与风险,为大模型提供“干净且富营养”的训练口粮。

【精炼并完善后的文本】

6.8 所有文本资料都能拿来训练“文字接龙”吗?

“海量公开数据≠合法可用”。开发者必须将版权合规纳入数据工程的核心环节,否则模型规模越大,潜在法律风险也越大。

1 是否任何资料都能用于训练?

网络文本虽取之不尽,却并非“拿来即可用”。未经授权的受版权保护内容一旦用于训练,即可能触发侵权诉讼。

2 版权纠纷与法律风险

• 典型案例:2023 年《纽约时报》起诉 OpenAI 与微软,指控其未经授权使用付费新闻训练 GPT 系列。
• 风险点:
– 付费墙后的新闻、学术论文、专利文本、图书、剧本、代码仓库等,均可能受版权或合同条款保护;
– 即使网页公开可见,也不等于放弃版权。

3 开发团队的常见做法

做法描述风险等级
大规模爬取公开网页默认“公开即可用”,不筛选版权状态
谨慎过滤使用 robots.txt、版权声明、付费墙检测等手段剔除受限内容
全授权链路只使用:① 已获直接授权;② 明确 CC-0、CC-BY 等开放许可;③ 自采/自建数据

头部科技公司(Google、Microsoft 等)通常采用第 3 种模式,或与出版机构签署商业许可协议,或自建合法语料库。

4 授权与合规建议

  1. 建立版权审查流水线
    • 元数据识别:抓取时记录域名、版权声明、许可证标签;
    • 指纹去重:剔除已知付费内容指纹(如新闻出版商提供的黑名单)。
  2. 优先使用低风险语料
    • 公有领域作品(古腾堡计划、政府公文);
    • 开放许可资源(维基百科、CC-BY-SA 新闻、开源代码)。
  3. 合同与保险
    • 与内容方签订“文本挖掘许可”或“AI 训练许可”;
    • 购买版权责任保险,降低潜在诉讼成本。

6.9 再训更大的模型也没用:为什么语言模型仍无法好好回答问题?

在这里插入图片描述

1. 学习方式决定了“只会接龙”

• 训练方法:GPT、PaLM 等模型以无监督“文字接龙”为目标,对互联网、书籍等大规模文本进行下一个 token 的预测。
• 结果:模型学到的是
语言形式的统计规律
,而非“理解问题—检索知识—组织答案”的显式流程。

2. 缺乏明确的目标引导

无答题目标函数:训练语料没有“这是问题—这是标准答案”的成对信号,模型不知道何时该“简洁回答”、何时该“详细解释”。
上下文缺失:原始文本不提供“提问者意图、场景约束、答案格式”等关键信息,导致输出往往“答非所问”或冗长发散。

3. 无效的自问自答模式

现象示例:问“3×7 等于几?”,模型可能继续生成“那么 7×3 呢?”、“再考虑 3×8…”等衍生问题,而非直接给出“21”。
根因:训练时从未被要求“先给出答案”,而是最大化“生成与 prompt 最连贯的后续文本”,于是倾向于扩展话题而非解决问题。

4. 大模型预训练的困境与解决思路

• 虽然语言模型通过大量的无监督学习,积累了大量的文本数据和潜在的语言能力,但纯粹扩大参数量与数据量,只能让模型更熟练地“背台词”,模型并不清楚如何有效地使用这些能力来回答实际问题。
• 解决思路:通过人为设计任务目标、对齐机制与评估标准,使得模型的“内功”转化为可靠的“解题能力”。

在这里插入图片描述

http://www.xdnf.cn/news/1269883.html

相关文章:

  • 搭建若依前后端分离版本的开发环境
  • 鸿蒙分布式任务调度深度剖析:跨设备并行计算的最佳实践
  • 在nodejs中使用Java方法
  • windows、linux应急响应入侵排查
  • React中实现完整的登录鉴权与权限控制系统
  • 云服务器--阿里云OSS(2)【Springboot使用阿里云OSS】
  • 原生Vim操作大全
  • Python映射合并技术:多源数据集成的高级策略与工程实践
  • Jmeter性能测试之安装及启动Jmeter
  • [Oracle] TRUNC()函数
  • imx6ull-驱动开发篇15——linux自旋锁
  • OpenAI开源大模型 GPT-OSS 开放权重语言模型解析:技术特性、部署应用及产业影响
  • Ubuntu系统忘记密码怎么办?
  • 《TypeScript搭建的认知桥梁:游戏化学习应用的深层架构》
  • 数据结构(一)顺序表
  • CVPR中深度学习新范式:通用性、鲁棒性与多模态的创新突破
  • 【软考中级网络工程师】知识点之 RMON 技术深度剖析
  • dify离线插件安装
  • Android MediaMetadataRetriever取视频封面,Kotlin(1)
  • 密集遮挡场景识别率↑31%!陌讯轻量化部署方案在智慧零售的实战解析
  • 力扣(轮转数组)
  • Python基础教程(六)条件判断:引爆思维Python条件判断的九层境界
  • 网站站长如何借助php推送示例提交网站内容加速百度收录?
  • web应用服务器tomcat
  • 代码随想录算法训练营23天 | ​​
  • 力扣热题100-----118.杨辉三角
  • 信息安全简要
  • Python自动化测试断言详细实战代码
  • [激光原理与应用-202]:光学器件 - 增益晶体 - Nd:YVO₄增益晶体的制造过程与使用过程
  • 本地连接跳板机