LLM 从构建到强化学习 深度解析 (Karpathy 2025 教程)

一、引言:对话界面背后发生了什么?

二、第一阶段:预训练 (Pre-training)

三、第二阶段:监督微调 (SFT)

四、心理特征:幻觉、工具、推理

五、第三阶段:强化学习与人类反馈 (RLHF)

六、面向未来:多模态、Agent、在线学习

七、模型使用与开源生态

八、总结:与 ChatGPT 对话本质

2.1 数据收集与过滤

  • 来源:Common Crawl、The Pile、RefinedWeb
  • 清洗:去噪、去重、去 HTML
  • 过滤:语言、恶意、PII
  • 规模:数 TB ~ 十几 TB

2.2 分词 (Tokenization)

  • 方法:BPE 及变种
  • 词表:GPT-4 ~100k
  • 输出:Token ID 序列

2.3 自回归训练

  • 任务:预测下一个 Token
  • 模型:Transformer (多层)
  • 损失:交叉熵
  • 成本:算力、分布式、资金
  • 结果:基础模型 (Base Model)

3.1 SFT 必要性

  • Base Model ≠ 对话助手
  • 注入指令/对话风格
  • 安全合规需求

3.2 构建对话数据

  • 格式:用户问题 + 理想回答
  • 来源:人工标注 / 模型生成 + 筛选
  • 规模:几十万 ~ 上百万条
  • 含拒答示例

3.3 二次自回归训练

  • 格式:<system>、<user>、<assistant>
  • 任务:预测对话中的下一个 Token
  • 结果:初步对话模型

4.1 幻觉 (Hallucination)

  • 原因:统计预测无事实区分
  • 缓解:更多上下文 / 强化 '不知道' / 调用工具

4.2 工具使用 (Tool Use)

  • 搜索引擎 / Python 解释器
  • 触发:特殊 Token 触发系统调用
  • 效果:减少幻觉,提高真实性

4.3 多步推理 (CoT)

  • 原因:复杂任务需分解思路
  • 方法:Chain-of-Thought 分步输出
  • 提高:数学/逻辑等准确率

5.1 RL 必要性

  • 自主试错探索最优
  • 流程:多方案→评估→强化/惩罚
  • 提升:可验证任务性能

5.2 可验证 vs 不可验证

  • 可验证:数学/代码 (标准答案)
  • 不可验证:写作/艺术 (主观)
  • 需:Reward Model

5.3 RLHF 局限性

  • 好处:模拟人类偏好
  • 局限:过拟合 Reward 模型漏洞
  • 策略:小步迭代

6.1 多模态

  • 文本/图像/音频统一编码
  • 图像Patch/音频频谱Token
  • 应用:多模态 ChatGPT

6.2 长程任务与 Agent

  • 多轮 Agent 框架
  • 管理上下文、调用工具、循环迭代

6.3 在线学习

  • 推理阶段参数微调
  • 优点:持续进化
  • 风险:安全审计

7.1 获取途径

  • 闭源:OpenAI/GPT-4, Claude 等 API
  • 开源:LLaMA, Hugging Face 社区
  • 平台:云服务商、Inference API

7.2 Base vs Chat/Instruct

  • Base: 自回归模型
  • Chat/Instruct: 微调对话模型

7.3 本地部署

  • 量化(4/8bit) & 蒸馏
  • 硬件:高端 GPU/Apple Silicon

8.1 系统内部流程

  1. 文本→Token
  2. 上下文+Prompt
  3. 预训练+SFT+RL 自回归生成
  4. 工具调用(可选)
  5. Token→文本

8.2 心理比喻

  • SFT: 模仿教师
  • RL: 注入纠错习惯
  • 局限: 学习盲点,不完美