State of GPT
🏷️ 分类: 技术 科学
🔖 标签: #GPT #AI #LLM #强化学习 #提示工程 #Transformer

Microsoft Build | BRK216HFS

GPT 现状深度解析

训练流程、应用技巧与 LLM 生态的未来

Andrej Karpathy

Andrej Karpathy

AI 研究员,OpenAI 创始成员

开始探索 ↓
Part 1

构建 GPT 助手:训练配方

尽管技术仍在快速演进,但目前构建一个像 ChatGPT 这样的助手模型,通常遵循四个主要的串行阶段。

训练流水线概览:算力分配极不均衡

99% 计算量

1. 预训练 (Pre-training)

构建基础模型 (Base Model)。这是最耗费资源的阶段。

  • 目标: 预测下一个词 (Language Modeling)
  • 数据集: 互联网规模 (万亿级 Tokens)
  • 资源: 数千 GPU,数月时间
  • 产出: 基础模型 (擅长文档补全,不擅长对话)
<1% 计算量

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)

Prompt

"写一个介绍..."

↓ 人工编写 ↓
Ideal Response

"这是一个高质量的回答..."

特点:高质量,低数量 (数万条)。

人类反馈强化学习 (RLHF)

收集比较数据。让 SFT 模型生成多个回答,然后由人类标注员进行排序,训练奖励模型。

数据收集方式:比较 (Comparison)

Prompt

"写一个介绍..."

↓ 模型生成 & 人工排序 ↓
回答 A (最优)
回答 C
回答 B (最差)

特点:利用奖励模型进行大规模优化。

为什么 RLHF 效果更好?

核心在于人类认知中“比较”与“生成”的不对称性

让人类从零开始编写一个完美的回答 (生成/SFT数据) 非常困难,但让人类判断哪个回答更好 (比较/RLHF数据) 则容易得多。RLHF 利用了人类更强的判断力来指导模型。

注:ChatGPT、GPT-4 和 Claude 都是 RLHF 模型。但 RLHF 模型可能会损失熵 (Entropy),导致输出多样性降低。

Part 2

高效使用 GPT:提示工程与策略

要有效地使用 LLM,我们必须理解它们与人类思维方式的根本区别。

认知差距:人类 vs. LLM

人类思维 (System 2)

当你写一句话时,大脑中发生了大量的内部对话、工具使用和自我修正。这是一个缓慢、审慎、有计划的过程。

  • 拥有内部独白和反思过程
  • 知道自己不知道什么 (自我认知)
  • 会主动使用工具 (搜索、计算器)
  • 会在过程中进行事实核查和修正错误
  • 可以投入不定的计算量解决难题

LLM 思维 (System 1)

GPT 只是一个 Token 模拟器。它快速、自动地按顺序生成下一个词,对每个词投入相同的计算量。

  • 默认没有反思或修正过程
  • 不知道自己不知道什么,只会尽力模仿
  • 默认不会主动使用工具
  • 无法回溯,一旦生成错误就会继续下去
  • 每个 Token 的计算量是固定的

提示工程 (Prompt Engineering) 的很大一部分工作,就是在弥补这种认知架构上的差异,为 LLM 重建 System 2 的能力。

掌握 LLM:高级提示技术

1. 思维链 (CoT)

LLM 需要 Token 来“思考”。不能期望它在一个 Token 内完成复杂推理。

"让我们一步一步地思考 (Let's think step by step)"

这会强制模型展示其工作过程,将推理分散到更多 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 (研究领域)

非常不稳定,难以训练,不适合初学者。目前仍属于前沿研究领域,技术变化快。

Conclusion

前沿、局限与展望

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 观众的寄语)