【AI大模型】大模型预训练从零到一:深入理解大语言模型的训练之路

🚀 作者 :"大数据小禅@yopai"

🚀 专栏简介 :本专栏后续将持续更新大模型相关文章,从开发到微调到RAG、多Agent等,个V: 【yopa66】交流,持续分享前沿AI实战。

🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

Transformer入门篇

如果你曾经好奇过ChatGPT、Claude这些AI是怎么"学会"和人类对话的,这篇文章会给你一个完整的答案。

写在前面

大语言模型(LLM)已经从实验室走进了千家万户。但很多人在使用这些工具时,可能从来没想过一个问题:这些模型到底是怎么训练出来的?

其实,训练一个大语言模型就像培养一个学生:先让他读完所有能找到的书**(预训练),再教他怎么好好回答问题 (监督微调),最后通过反馈让他变得更懂人心(强化学习)**。这篇文章就简单聊一下这个话题。

大模型的本质:一个超级"接龙游戏"

在深入训练流程之前,我们得先理解大模型到底在做什么。

很多人以为大模型是一个"搜索引擎",能从某个数据库里找答案。其实不是的。大模型本质上是一个生成模型 ,它做的事情特别简单------预测下一个字

想象一下古诗接龙:

复制代码
白日 → 依 → 山 → 尽

你给模型"白日",它根据学到的语言规律,判断下一个字最可能是"依",然后是"山",然后是"尽"...一个字一个字往外蹦,直到生成完整的句子。

这就是所谓的自回归预测 (Auto-regressive Prediction),GPT系列、Llama、Qwen、DeepSeek用的都是这套路子。

听起来简单对吧?但这个"接龙游戏"要玩得好,需要模型真正理解语言的规律。而要理解语言,就得读海量的文本------这就是预训练要干的事。

训练的三个阶段:从学生到专家

大模型的训练分为三个主要阶段,每个阶段解决不同的问题:

第一阶段:预训练(Pre-training)------海量阅读

预训练是整个训练过程中最**"烧钱"**的阶段。以GPT-3为例,它有1750亿个参数,用了超过1万张A100显卡训练了一个多月,光电费就是天文数字。

预训练的目标

预训练属于无监督学习(或者叫自监督学习),不需要人工标注答案。模型的任务就是:给定一段文本的前半部分,预测接下来的内容。

举个例子:

复制代码
输入:今天天气真
模型预测:不错 → , → 我 → 决定 → 出去 → 走走 → 。

通过这种方式,模型学会了:

  • 语言建模:掌握语言的统计规律(比如"今天天气"后面大概率接形容词)
  • 上下文理解:知道前面说了什么会影响后面的内容
  • 世界知识:从文本中吸收各种事实性知识
预训练数据从哪来?

训练数据的规模通常在万亿token级别(1 token ≈ 0.75个英文单词或0.5个中文字):

模型 数据规模 语言覆盖 主要来源
Llama 3 15万亿tokens 8种语言 Common Crawl、GitHub、Wikipedia、书籍
Qwen 2.5 18万亿tokens 29种语言 中文网页、百科、代码、多语言混合
DeepSeek 15万亿tokens 多语言 网页、代码库、数学/专业文献

这些数据来源五花八门:网页、书籍、论文、代码仓库、百科全书、新闻、论坛帖子...几乎涵盖了人类知识的方方面面。

数据清洗:垃圾进垃圾出

数据量大不代表质量高。互联网上充斥着广告、重复内容、乱码、低质量文本,直接拿来训练会把模型教坏。所以数据清洗是必不可少的步骤:

1. 低质过滤

可以用分类器自动识别低质量文本,也可以用启发式规则:

  • 过滤掉HTML标签、脚本代码
  • 删除广告和推广内容
  • 移除乱码和不可读文本
  • 剔除过短或过长的异常文本

2. 去重处理

重复内容会导致模型"偏科",对某些内容过度拟合。去重通常在三个层面进行:

复制代码
文档级去重:删除完全相同或高度相似的文档
句子级去重:移除重复出现的长句子
数据集级去重:确保训练集和验证集没有重叠

一个常用的技术是SimHash,它能快速判断两个文档是否相似。

3. 隐私脱敏

训练数据中可能包含电话号码、邮箱地址、身份证号等敏感信息。通过正则表达式匹配这些模式,替换成占位符:

复制代码
原始:我的电话是13812345678
处理后:我的电话是[PHONE]

预训练的技术细节

位置编码:让模型知道"谁在前谁在后"

Transformer模型本身不知道token的顺序。比如"猫追狗"和"狗追猫",如果没有位置信息,模型看到的是一样的。(transformer相关文章可以看我的历史文章)

RoPE(旋转位置编码) 是目前主流的解决方案。它把位置信息编码到注意力计算中,让模型天然知道每个token在句子中的位置。

不同模型还会做一些优化来支持更长的上下文:

  • Qwen:使用NTK-aware插值,支持32K上下文
  • DeepSeek:使用YaRN插值,支持128K上下文
  • Llama:三阶段渐进扩展到128K
多Token预测(MTP):一次预测多个字

传统方法一次只预测一个token。DeepSeek提出了多Token预测,让模型同时预测接下来的多个token。

MTP的核心思想是:在主模型之外,添加多个预测模块。每个模块的输入依赖前一个模块的输出,形成一个链式结构。

这样做的好处是:

  1. 模型必须学习更远的依赖关系
  2. 训练效率更高(一次前向传播可以计算多个损失)
  3. 推理时可以用于投机解码,加快生成速度

第二阶段:监督微调(SFT)------学会好好说话

预训练完成后,模型已经"知道"了很多东西,但它还不太会和人对话。你问它"什么是机器学习?",它可能会接着说"是一种...机器学习是一种...机器学习可以...",不断重复或者跑题。

监督微调的目的就是教模型怎么当一个好助手

训练数据格式

SFT使用的是人工标注的问答对

json 复制代码
{
  "question": "什么是机器学习?",
  "answer": "机器学习是人工智能的一个分支,它让计算机能够从数据中自动学习规律,而不需要被明确编程。简单来说,就像教一个孩子认识猫------你给他看很多猫的照片,他慢慢就学会了什么样的动物是猫。"
}

这些数据规模通常在百万条级别,比预训练数据小得多,但每条都经过精心设计。

数据来源

SFT数据主要有两个来源:

1. 人工标注

雇佣专业的标注员,给各种问题写高质量的回答。这种方式成本高,但质量有保证。

2. 数据合成

用已有的大模型生成回答,再让人类筛选和修改。这种方式可以快速扩大数据量。

一个著名的例子是Alpaca项目,斯坦福用GPT-3.5生成了52K条指令数据,成本只花了几百美元。

第三阶段:强化学习(RLHF)------变得更懂人心

即使经过SFT,模型的回答可能还是存在问题:有时候回答正确但表达啰嗦,有时候用词太学术化听不懂,有时候态度冷冰冰的...

这些问题很难用明确的规则描述,但人类一眼就能判断好坏。于是,人类反馈强化学习(RLHF) 应运而生。

RLHF的工作原理
  1. 生成多个回答:对于同一个问题,让模型生成多个不同的回答
  2. 人类排序:让人类标注员给这些回答排序,选出最好的和最差的
  3. 训练奖励模型:用这些排序数据训练一个"评委"模型,它能给任意回答打分
  4. 强化学习优化:用奖励模型的分数作为反馈,优化原始模型

举个具体的例子:

复制代码
问题:9.9和9.11哪个大?

回答A:9.11更大
回答B:9.9更大

人类反馈:回答B得100分,回答A得0分

模型学到:比较小数要先看整数部分,再依次比较小数各位
奖励模型的设计

奖励模型是RLHF的核心。训练数据的格式通常是:

复制代码
[问题, 答案1-得分, 答案2-得分, 答案3-得分, ...]

奖励模型学习预测人类的偏好,然后用这个预测来指导主模型的优化。

从RLHF到自我强化

DeepSeek在RLHF基础上更进一步,引入了深度推理思维链

传统方法对于"9.9和9.11哪个大"这种问题,模型可能直接给出答案。但DeepSeek要求模型像人类一样,先思考比较方法,再一步步分析:

复制代码
思考过程(Chain of Thought):
1. 首先回忆小数比较的方法
2. 小数比较应该先看整数部分
3. 两个数整数部分都是9,相等
4. 再比较小数部分,第一位分别是9和1
5. 9 > 1,所以9.9的十分位更大
6. 因此9.9 > 9.11

最终答案:9.9更大

这种方式让模型的推理过程透明化,也更容易发现和修正错误。

大模型的评估体系

训练完成后,怎么知道模型好不好?这就需要一套完善的评估体系。

评估的三种方式

1. 自动评测

自动评测效率高、可复现,适合快速迭代。常用指标包括:

困惑度(Perplexity)

衡量模型预测下一个词的不确定性。值越低,说明模型对语言规律掌握得越好。

计算方式简单来说就是:模型看到一段文本后,对下一个词的预测准不准。如果每次都猜对,困惑度就低;如果经常猜错,困惑度就高。

文本匹配指标

  • BLEU:主要用于机器翻译,看生成的译文和参考译文有多少词重合
  • ROUGE:主要用于文本摘要,看生成的摘要覆盖了多少原文要点

分类准确率

对于问答任务,直接看模型的回答对不对。比如选择题,答对了就是1分,答错了就是0分。

2. 主观评测

有些东西很难用数字衡量:回答流不流畅?语气友不友好?表达自不自然?这些需要人来判断。

主观评测通常让多个评审员独立打分,然后取平均。评估维度包括:

维度 评估内容
流畅性 语法是否正确,表达是否自然
相关性 回答是否切题,有没有答非所问
事实性 内容是否真实准确
安全性 有没有偏见、歧视或有害内容

现在也经常用GPT-4这样的强模型来当"评委",代替人工评分。虽然不如人工准确,但成本低很多。

3. 基准测试

基准测试通过标准化的数据集来横向对比不同模型。主流的基准包括:

测试集 评估能力 规模
MMLU 57个学科的知识广度 1.5万选择题
GSM8K 小学数学推理 8500道应用题
HumanEval 代码生成能力 164个编程任务
C-Eval 中文知识理解 1.3万选择题

代码能力评估

代码能力是大模型的一个重要应用场景。评估方式和普通文本有些不同。

Pass@K指标

这是代码评估最常用的指标。让模型生成K次代码,只要有一次能通过测试用例就算成功。

python 复制代码
# HumanEval示例任务
def has_close_elements(numbers: list, threshold: float) -> bool:
    """
    检查列表中是否有两个数的差小于阈值
    >>> has_close_elements([1.0, 2.0, 3.0], 0.5)
    False
    >>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
    True
    """
    # 模型需要补全这个函数
主流代码测试集
  • HumanEval:164个手写的Python函数补全任务
  • MBPP:1000个入门级Python编程问题
  • FullStackBench:覆盖前端、后端、ML等11类场景,16种语言

数学能力评估

数学推理是检验模型逻辑能力的试金石。

评估维度
维度 内容 示例
基础计算 四则运算、解方程 计算 (2.5+41)×80%
逻辑推理 多步骤推导 小明有12个苹果,吃掉1/3,又买来5个,现有多少?
高阶数学 微积分、概率 计算∫x²dx从0到1
主流数学测试集
  • GSM8K:8500道小学数学题,需要2-8步推理
  • MATH:12500道竞赛级别数学题,含几何、数论等
  • MathEval:整合19个数据集,从K12到大学数学

语言理解评估

语言理解是大模型的基础能力,评估任务包括:

  • 分类任务:情感分析、意图识别
  • 问答任务:从文档中找答案、开放式问答
  • 推理任务:自然语言推理、因果推理

主流测试集:

类型 测试集 特点
通用理解 GLUE/SuperGLUE 英文NLU基准
中文专项 C-Eval/CMMLU 中文知识与文化
多语言 XTREME 40+语言跨语言迁移

综合评测榜单

如果想快速了解各个模型的综合实力,可以参考这些榜单:

SuperCLUE

国内权威的中文大模型评测基准,由清华、智谱等机构推动。评估维度包括数学推理、科学推理、代码生成、智能体能力等。

访问地址:cluebenchmarks.com/stac/superclue.html

OpenCompass

开源的大模型评测框架,支持自动化测评流程:配置→推理→评估→可视化。

核心特点:

  • 开源可复现
  • 支持分布式评测
  • 覆盖多种评测范式

写在末尾

大语言模型的训练是一个精心设计的过程:

  1. 预训练让模型阅读海量文本,学会语言规律和世界知识
  2. 监督微调教模型如何当一个好助手,按照人类期望的方式回答问题
  3. 强化学习通过人类反馈,让模型变得更懂人心

评估方面,自动评测、人工评测、基准测试三种方式各有所长,实际应用中往往需要组合使用。

大模型的发展日新月异,但这套"预训练→SFT→RLHF"的框架目前仍是主流。理解这个框架,就理解了大模型技术的核心。

这篇文章是大模型预训练的一个简单入门了解,后面会更新更多深入的内容。

相关推荐
元智启14 小时前
企业AI应用驶入深水区:政策红利与生态重构双轮驱动
人工智能·重构
生活予甜14 小时前
悠易科技GEO智能体:用AI驱动GEO优化,让品牌在AI时代“可见可信”
人工智能·科技
kuankeTech14 小时前
海南封关供应链重构:外贸ERP如何成为企业的“数字海关”
大数据·数据库·人工智能·重构·软件开发·erp
weixin_4374977714 小时前
学习笔记:用于EDA的LLMs专题会议论文
人工智能·笔记·搜索引擎·fpga开发
WZGL123014 小时前
乡村振兴背景下丨农村养老服务的价值重构与路径创新
大数据·人工智能·科技·安全·智能家居
咕噜企业分发小米14 小时前
阿里云和华为云在AI领域有哪些合作案例?
人工智能·阿里云·华为云
DP+GISer14 小时前
02基于pytorch的深度学习遥感地物分类全流程实战教程(包含遥感深度学习数据集制作与大图预测)-实践篇-python基础与遥感深度学习境配置
人工智能·pytorch·python·深度学习·图像分割·遥感·地物分类
Linux猿14 小时前
2025年亚马逊全球线上商采趋势与区域洞察报告 | 附PDF
大数据·人工智能·研报精选
HXR_plume14 小时前
【Web信息处理与应用课程笔记5】多模态信息检索
人工智能·笔记·计算机网络·信息检索