02|工程:ChatGPT有哪些核心工程创新点?——知识点整理
一、课程简介
从工程角度提炼 ChatGPT 可参考的"炼丹术",梳理大模型的三大核心创新点——Transformer、数据与训练、算力。
★如果你想做大模型应用开发,了解这个"炼丹"过程,一定能让你更好地利用大模型的优势。
二、引言:智能涌现与"炼丹"
什么是智能涌现?
当模型数据和参数达到一定规模时,大模型自发出现新的能力或行为。这些能力或行为并不是在模型设计初期就有过明确计划或预测的。
ChatGPT 的关键数字:
-
训练数据:约 45TB -
模型参数:1750 亿(175b) -
发布时间:2022 年底
推出后,人们惊奇地发现它已具备程序员级别的编程能力,还涌现了可以媲美人类的其他智能。
★大模型厂商只是把数据和参数扔进"炼丹炉",希望自己成为第一个炼出 AGI(通用人工智能)的人。ChatGPT 提供了一份可参考的"炼丹术"。
三、三大核心创新点总览
大模型三大核心创新点
┌─────┬─────┬─────┐
│Transformer │数据与训练│ 算力 │
└─────┴─────┴─────┘
四、ChatGPT 里的 Transformer
1. GPT 的前世今生
Google 团队 2017 年提出 Transformer,而 OpenAI 是发现了 Transformer,并做了工程上的优化创新。
GPT 系列时间线:
2015 ─ OpenAI 成立
2017 ─ GPT-1(Google 提出 Transformer)
↓
GPT-2 → GPT-3 → GPT-3.5
↓
InstructGPT
↓
2022 ─ ChatGPT
↓
2023-2024 ─ GPT-4、ChatGPT-4o
★ChatGPT 是 GPT 系列的里程碑版本,并不是横空出世的。
GPT 全称:Generative Pre-trained Transformer(生成式预训练 Transformer 模型)
2. Decoder 架构——关键工程创新
ChatGPT 没有完全遵照 Transformer 原始的 Encoder-Decoder 结构,而是只用了 Transformer 原始架构里的解码器(Decoder)部分。
这种架构选择使得 GPT 模型非常擅长生成连贯的、上下文相关的文本,在自然语言生成任务中表现出色。
3. 为什么 Google 团队没能做出 ChatGPT?
这和两个团队的初始目标有关:
|
|
|
|
|---|---|---|
|
|
|
|
| OpenAI |
|
|
4. 生活类比
如果把训练完的 ChatGPT 模型看作一个可以入职到任何公司的"人",那 OpenAI 改进的 Transformer 可以说是一个**具有人脑结构、但不具备任何知识的"婴儿"**。
大模型训练用的数据就是知识,训练的过程就是将知识教给这个"人"的过程。
五、数据与训练
▸ 规模有多大?
-
ChatGPT 训练消耗了 45T 数据,最终形成 1750 亿个参数 -
训练完成后的模型参数文件总大小约 几百 G -
以开源的 Gork-1 大模型为例,参数文件总大小约 200G
★仅仅 200G 的数据量,就可以生成几十 T 的人类知识,大模型真正做到了将整个人类的智能装进了一个只有硬盘大小的地方。
▸ 训练三阶段(完整类比)
婴儿 小学-中学 大学 入职培训
│ │ │ │
▼ ▼ ▼ ▼
Transformer → 预训练 → 模型微调 → 强化学习(RLHF)
阶段一:预训练 Pre-train(小学-中学阶段)
原理:利用随机梯度下降法,使用数据进行有监督训练,但无需人工标注——因为 Transformer 的目标本质上是一个"文字接龙"游戏。
举例:训练大模型学会《春晓》
|
|
|
|---|---|
|
|
|
|
|
|
经过训练,你跟它说"春眠不觉晓",它能接出"处处闻啼鸟"。
训练数据来源(公开数据集):
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
★生活类比:如果一个人能把全世界的互联网信息和书籍都学习一遍,并把各种知识的关联关系都梳理清楚,那他就掌握了整个世界的基本知识。
注意:仅仅学会"文字接龙"还不能算拥有智能,要喂给 ChatGPT 足够的数据,它才能出现"智能涌现"。
数据质量——ChatGPT 更"聪明"的关键
即使在参数规模相当的情况下,ChatGPT 也要更"聪明"一些,原因是 OpenAI 团队在公开数据集基础上做了精心的数据清理工作:
-
垃圾信息过滤 -
数据去重 -
低质语料过滤
★GPT 每一次迭代都复用了前一代整理的高质量数据集,这正是导致 ChatGPT"智能涌现"的根本原因。
阶段二:模型微调 Fine-Tuning(大学阶段)
预训练模型相当于一个高中毕业生,掌握了通用知识,但还不具备专业能力。通过指令微调可以赋予模型专业能力。
翻译微调示例:
输入:翻译:他每天早上六点起床,然后去跑步。
输出:He wakes up at six o'clock every morning and then goes for a run.
输入:翻译:我们需要更多的信息来做出决定。
输出:We need more information to make a decision.
例子中的"翻译"指令就是大模型下的翻译任务,这种方法称为指令微调。
★经过专业数据的指令微调之后,大模型同时具备了通用的世界理解能力和专业能力。
实际翻译效果:
★输入:OpenAI 在 2023 年的收入估计约为 10 亿美元,从这个收入可以看出,很多人已经用 ChatGPT 辅助自己的工作,并且产生了实际价值"帮我翻译一下 输出:OpenAI's estimated revenue in 2023 is about $1 billion, indicating that many people are already using ChatGPT to assist their work and generate real value.
即使上下文里没有用"翻译"开头,也不影响 ChatGPT 理解这是一个翻译任务。
编程能力涌现——实际上和 ChatGPT 使用了大量 GitHub 的开源代码作为数据集有关系,这其实是 OpenAI 团队有意为之的结果。
阶段三:强化学习 RLHF(入职培训阶段)
仅仅专业能力强还不够,还需要做人类对齐,保证 ChatGPT 输出的内容对人类没有危害。
训练流程:
文本数据 → 预训练 → 微调 → RLHF(强化学习)→ 用户使用
↓
GPT-3.5 → ChatGPT
★可以把强化学习理解为一份工作入职前的价值观和行为规范培训。GPT-3.5 是一个具有通用能力的"人",ChatGPT 是一个能跟人类配合更好、更没有危害的"工作人"。
RLHF(人工反馈的强化学习)三步走:
-
第一步:找人类数据标注员,编写常见的提问和回答,对预训练模型进行指令微调 -
第二步:单独训练一个 reward 模型(奖励模型),模拟人类给 ChatGPT 的输出打分 -
第三步:大模型"左右互搏"——随机给自己提问,通过 reward 模型评价回答,进一步调整参数
示例:同一问题,三种回答
★Prompt:我想去杭州玩,有哪些好玩的地点呢?
response1:西湖、灵隐寺、雷峰塔、河坊街 response2:西湖、杭州植物园、京杭大运河、河坊街 response3:西溪湿地公园、千岛湖、宋城、胡雪岩故居
通过几十万条人工标注的评价数据训练 reward 模型,最终获得与人类对齐的大模型。
ChatGPT 的巧妙设计:利用用户反馈继续强化学习——ChatGPT 会让你从两个回答中选一个更好的("Which response do you prefer?"),这其实就是利用用户对结果做人类评价。
六、算力——大模型的铁三角
算力挑战
OpenAI 敢于投入几千万美元来训练 ChatGPT 模型。最新的 GPT 大模型要使用几千张 GPU 做训练,一次训练耗时几个月,成本达几百万甚至上千万美元。
大模型铁三角
作者总结出大模型铁三角关系:
工程师经验
│
┌──┴──┐
│ │
算力──算法(模型/参数)
三个因素相辅相成,作为大模型操控者的工程师,其价值在于节约成本。
OpenAI 发展历程中的问题演进
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1750 亿参数的含义
-
往往写做 175b,1b = 10 亿参数 -
再往上提高参数量恐怕很难达到 AGI,关键是成本承受不了 -
MOE 架构(混合专家模型)——通过训练 N 个小的专家模型协作来达到更强的智能,可降低训练成本
七、知识点总结(10 条)
-
ChatGPT 是基于 Transformer 模型的工程创新,通过对 Transformer 进行工程优化,使模型具备了程序员级别的编程能力和其他智能 -
Decoder 架构是一个重要工程创新,只使用原始架构中的解码器部分,使模型擅长生成连贯、上下文相关的文本 -
预训练过程利用大量数据集进行"文字接龙"游戏式的训练,无需预处理数据,使模型掌握丰富知识 -
模型微调是训练 ChatGPT 具备专业能力的过程 -
ChatGPT 对训练数据进行了精心整理,包括垃圾信息过滤、数据去重、低质语料过滤等 -
OpenAI 形成了自己独特的高质量数据集,这也是 ChatGPT 更"聪明"的原因之一 -
训练三阶段:预训练 → 模型微调 → 强化学习(RLHF) -
从"炼丹"的角度,大模型有三大核心创新点:Transformer、数据与训练、算力 -
作者提出大模型铁三角:工程师经验、算力、算法(模型/参数)三者相辅相成 -
目前的挑战是算力消耗过大,正倒逼行业做算法创新,如 MOE 架构
八、参考代码框架
课程还提供了三段参考代码的框架:
-
预训练代码:基于 PTDataset + AutoModelForCausalLM + Trainer -
模型微调代码:基于 SFTDataset + AutoModelForCausalLM + Trainer -
强化学习代码:基于 LlamaForCausalLM 自定义 LlamaRewardModel
★完整代码版本可参考 Q 社群提供的参考书籍《大语言模型》。
★📌 上节回顾:一个例子讲清楚 Transformer 原理——Token、Embedding 和 Self-Attention 📌 下节预告:大模型 AI 智能体开发的 3 个层次——应用、微调和专有模型
★💬 欢迎在评论区交流,如果觉得有收获,欢迎分享给更多朋友一起学习!

