Microsoft Build | BRK216HFS
GPT 现状深度解析
训练流程、应用技巧与 LLM 生态的未来

Andrej Karpathy
AI 研究员,OpenAI 创始成员
构建 GPT 助手:训练配方
尽管技术仍在快速演进,但目前构建一个像 ChatGPT 这样的助手模型,通常遵循四个主要的串行阶段。
训练流水线概览:算力分配极不均衡
1. 预训练 (Pre-training)
构建基础模型 (Base Model)。这是最耗费资源的阶段。
- 目标: 预测下一个词 (Language Modeling)
- 数据集: 互联网规模 (万亿级 Tokens)
- 资源: 数千 GPU,数月时间
- 产出: 基础模型 (擅长文档补全,不擅长对话)
2. 监督精调 (SFT)
使用高质量的“提示-回答”对训练模型,使其学会成为助手。
3. 奖励建模 (RM)
收集人类对模型输出的偏好比较,训练奖励模型来评估回答质量。
4. 强化学习 (RLHF)
使用奖励模型作为反馈信号,通过强化学习优化模型。
深入解析:预训练的规模效应
预训练决定了模型的上限。在训练前,数据需要经过分词 (Tokenization) 转化为 Transformer 能处理的整数序列。
数据混合 (Data Mixture)
模型从多样化的数据集中学习,包括通用网络爬取和高质量的精选内容 (以 Meta Llama 为例)。
训练成本 (Llama 65B 估算)
训练一个强大的基础模型需要巨大的计算资源投入。
2,000
GPU 使用量
21 天
训练时长
数百万美元
预估成本
关键洞察:训练时长 > 模型大小
不应仅凭参数量判断模型能力。虽然 Llama (65B 参数) 比 GPT-3 (175B 参数) 小得多,但它是一个更强大的模型。这表明,训练更长时间、使用更多的 Token,是提升性能的关键。
从基础模型到助手:精调阶段
基础模型只是“文档补全器”,它们并不想回答问题。为了创建助手 (如 ChatGPT),我们需要 SFT 和 RLHF。
监督精调 (SFT)
收集少量但高质量的数据。人类标注员根据详尽的指南 (有用、真实、无害) 编写理想回答。
数据收集方式:生成 (Generation)
"写一个介绍..."
"这是一个高质量的回答..."
特点:高质量,低数量 (数万条)。
人类反馈强化学习 (RLHF)
收集比较数据。让 SFT 模型生成多个回答,然后由人类标注员进行排序,训练奖励模型。
数据收集方式:比较 (Comparison)
"写一个介绍..."
特点:利用奖励模型进行大规模优化。
为什么 RLHF 效果更好?
核心在于人类认知中“比较”与“生成”的不对称性。
让人类从零开始编写一个完美的回答 (生成/SFT数据) 非常困难,但让人类判断哪个回答更好 (比较/RLHF数据) 则容易得多。RLHF 利用了人类更强的判断力来指导模型。
注:ChatGPT、GPT-4 和 Claude 都是 RLHF 模型。但 RLHF 模型可能会损失熵 (Entropy),导致输出多样性降低。
高效使用 GPT:提示工程与策略
要有效地使用 LLM,我们必须理解它们与人类思维方式的根本区别。
认知差距:人类 vs. LLM
人类思维 (System 2)
当你写一句话时,大脑中发生了大量的内部对话、工具使用和自我修正。这是一个缓慢、审慎、有计划的过程。
- ✓ 拥有内部独白和反思过程
- ✓ 知道自己不知道什么 (自我认知)
- ✓ 会主动使用工具 (搜索、计算器)
- ✓ 会在过程中进行事实核查和修正错误
- ✓ 可以投入不定的计算量解决难题
LLM 思维 (System 1)
GPT 只是一个 Token 模拟器。它快速、自动地按顺序生成下一个词,对每个词投入相同的计算量。
- ✗ 默认没有反思或修正过程
- ✗ 不知道自己不知道什么,只会尽力模仿
- ✗ 默认不会主动使用工具
- ✗ 无法回溯,一旦生成错误就会继续下去
- ✗ 每个 Token 的计算量是固定的
提示工程 (Prompt Engineering) 的很大一部分工作,就是在弥补这种认知架构上的差异,为 LLM 重建 System 2 的能力。
掌握 LLM:高级提示技术
1. 思维链 (CoT)
LLM 需要 Token 来“思考”。不能期望它在一个 Token 内完成复杂推理。
这会强制模型展示其工作过程,将推理分散到更多 Token 上,提高准确率。
2. 自我一致性与反思
模型可能会在采样时“运气不好”走入死胡同。
- 自我一致性: 多次采样,然后进行多数投票。
- 反思: 询问模型它是否完成了任务。GPT-4 通常知道自己是否犯错,但需要你提示它去检查。
3. 工具使用 (Tool Use)
像人类一样,LLM 应该在不擅长的任务上依赖工具 (计算器、代码解释器、搜索)。
你甚至需要告诉模型:“你不擅长心算,请使用计算器。”因为它缺乏自我认知。
4. 检索增强生成 (RAG)
LLM 的上下文窗口是其工作记忆。将相关信息加载到提示中至关重要(就像人类查阅文档)。
通过向量数据库检索相关文档块,并将其注入提示,显著提高特定领域任务的表现。
5. 要求成功 (Ask for Success)
LLM 不想成功,它们只想模仿训练数据 (包括低质量的回答)。你必须要求高质量的输出。
6. 系统 2 思维 / 智能体
超越简单的问答,使用代码将多个提示链接起来,模拟更复杂的思考过程。
例如:Tree of Thought (思想树,类似 AlphaGo 的搜索) 或 ReAct (思考 -> 行动 -> 观察循环)。
关于微调 (Fine-tuning) 的建议
虽然提示工程可以走得很远,但有时仍需微调模型。得益于 LoRa 等参数高效微调 (PEFT) 技术,微调变得更容易实现。但需要权衡复杂度和迭代速度。
提示工程 (推荐优先)
复杂度低,迭代速度快。应首先穷尽其可能性。
SFT (可行但需谨慎)
相对直接,但需要技术专长、高质量数据集,且迭代周期慢。
RLHF (研究领域)
非常不稳定,难以训练,不适合初学者。目前仍属于前沿研究领域,技术变化快。
前沿、局限与展望
GPT-4 是一个惊人的产物,但我们必须清醒地认识到当前的局限性,并负责任地应用这项技术。
当前模型能力排名 (基于 ELO 评分)
目前 GPT-4 遥遥领先。值得注意的是,排名前列的模型 (GPT-4, Claude, GPT-3.5) 均为 RLHF 模型,而大多数开源模型 (如 Vicuna) 为 SFT 模型。
⚠️ 当前 LLM 的局限性
- 可能存在偏见 (Bias)
- 可能会编造信息 (Hallucination)
- 存在推理错误 (Reasoning Errors)
- 有知识截止日期 (Knowledge Cutoffs)
- 易受攻击,包括提示注入 (Prompt Injection) 和越狱 (Jailbreak)
✅ 应用建议
- 优先追求性能 (使用 GPT-4),再优化成本。
- 使用详细的提示,提供上下文、指令和示例 (Few-shot)。
- 实验工具和插件,卸载 LLM 不擅长的任务。
- 在低风险场景中使用,并始终结合人类监督。
- 视为“副驾驶” (Copilots),而非完全自主的代理 (Autonomous Agents)。
“你们是未来的建筑师,是塑造人类繁荣发展的数字领域的远见者。拥抱技术的无限可能性,让你们的想法像想象力一样高飞。”
— GPT-4 (应 Andrej Karpathy 要求对 Microsoft Build 观众的寄语)