本文是「AI 学习计划」系列第 28 篇,模块 07 论文导读第 2 篇。
GraphRAG 重新定义了"怎么检索",DPO 重新定义了"怎么对齐"。一个让模型找得到,一个让模型说得好。
论文 A:From Local to Global — GraphRAG(Microsoft Research, 2024)
基本信息
| 项 | 内容 |
|---|---|
| 标题 | From Local to Global: A Graph RAG Approach to Query-Focused Summarization |
| 作者 | Darren Edge, Ha Trinh, Newman Cheng, Joshua Bradley 等(Microsoft Research) |
| 发表 | 2024.04(arXiv),后被多个会议引用 |
| 引用 | 2,000+(RAG 子领域最高引用之一) |
| 链接 | https://arxiv.org/abs/2404.16130 |
| 开源 | https://github.com/microsoft/graphrag |
一句话总结
先把文档构建成知识图谱(实体+关系),再用社区检测算法分层聚类,最后用 Map-Reduce 策略回答全局性问题——解决了传统 RAG "只能回答局部问题"的致命缺陷。
传统 RAG 的问题在哪?
传统 RAG(Naive RAG)的流程是:
用户提问 → Embedding 相似度检索 → 取 Top-K 片段 → 送给 LLM 生成回答致命问题:当用户问的是全局性/总结性问题时(如"这个数据集的主要主题是什么?"“请给我一个全面的分析”),Embedding 检索只能找到局部片段,无法覆盖全貌。
实验数据:在 Podcast 数据集上问"请描述所有讨论的主题"——
- Naive RAG:只覆盖 20-30% 的主题
- GraphRAG:覆盖 70-80% 的主题
GraphRAG 的两阶段架构
阶段一:索引(Indexing)——构建知识图谱
原始文档 ↓ (1) 文本分块 文本 Chunks ↓ (2) LLM 提取实体和关系 知识图谱 (Entity → Relation → Entity) ↓ (3) Leiden 社区检测算法 层级化社区结构 (Level 0, 1, 2...) ↓ (4) LLM 为每个社区生成摘要 社区摘要库关键步骤解读:
(2) 实体/关系提取:用 LLM(GPT-4/Claude)做 few-shot 提取——
- 输入:一段文本
- 输出:
(实体A, 关系, 实体B, 描述, 强度) - 例如:
("Microsoft", "发布了", "GraphRAG", "2024年开源的知识图谱RAG框架", 9)
(3) Leiden 算法:比 Louvain 更准的社区检测算法,把紧密连接的节点聚成社区,形成多层级结构:
- Level 0:最细粒度(几个实体一组)
- Level 1:中等粒度(几十个实体)
- Level 2:最粗粒度(整个主题域)
(4) 社区摘要:每个社区用 LLM 生成一段自然语言摘要,作为后续检索的"索引"。
阶段二:查询(Query)——Global Search vs Local Search
Global Search(全局检索)——GraphRAG 最大的贡献:
用户问全局问题 ↓ 取所有社区摘要(选择适当 Level) ↓ Map: 每个社区摘要独立回答问题,输出要点列表 ↓ Reduce: 合并所有要点,生成最终综合答案Local Search(局部检索)——增强版 Naive RAG:
用户问局部问题 ↓ 找到相关实体 → 取关联社区摘要 + 原文片段 ↓ 合并上下文 → LLM 生成回答核心实验结果
| 指标 | Naive RAG | GraphRAG Global | 提升 |
|---|---|---|---|
| 全面性(Comprehensiveness) | 低 | 高 | ~3x |
| 多样性(Diversity) | 低 | 高 | ~2.5x |
| 赋能性(Empowerment) | 中 | 高 | ~2x |
| 直接性(Directness) | 高 | 中 | Naive 略好 |
结论:问"全面总结"→ 用 GraphRAG;问"具体事实"→ 用 Naive RAG 够了。
成本与 Trade-off
| 项 | 说明 |
|---|---|
| 索引成本 | 高(每个文档要调 LLM 做实体提取)——约 $1-5/万 token |
| 查询延迟 | Global Search 较慢(Map-Reduce 多轮调用) |
| 适合场景 | 大文档集的综合分析、跨文档主题发现 |
| 不适合 | 简单事实查询(Naive RAG 更快更便宜) |
2026 后续发展
- LightRAG:简化版 GraphRAG,只用两级索引,速度快 3 倍
- nano-graphrag:极简实现,500 行代码
- Fast-GraphRAG:引入 PageRank 做重要性排序
- 腾讯 Youtu GraphRAG:加入时间维度的动态图谱
读论文的正确姿势
- 先看 Figure 1(Pipeline 概览图)
- 重点读 §3(Indexing Pipeline 五步)
- 理解 §4.1(Global Search 的 Map-Reduce)
- 看 Table 1(实验对比)
- 跳过附录 A 的 prompt 模板(太长,需要时再查)
论文 B:DPO — Direct Preference Optimization(2023)
基本信息
| 项 | 内容 |
|---|---|
| 标题 | Direct Preference Optimization: Your Language Model is Secretly a Reward Model |
| 作者 | Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D. Manning, Chelsea Finn(Stanford) |
| 发表 | NeurIPS 2023 |
| 引用 | 5,000+(对齐领域引用最高之一) |
| 链接 | https://arxiv.org/abs/2305.18290 |
一句话总结
绕过 RLHF 中复杂的"训练奖励模型+PPO 强化学习"流程,直接用偏好数据优化语言模型——从 4 模型方案简化为 2 模型方案,训练更稳定、更简单。
RLHF 的痛点(DPO 要解决的问题)
RLHF 需要 4 个模型同时工作:
1. 策略模型(要训练的 LLM) 2. 参考模型(冻结的原始 LLM,用于 KL 约束) 3. 奖励模型(RM,从偏好数据训练) 4. 价值模型(Value Model,PPO 的 Critic)痛点:
- 训练 RM 本身就不容易(需要大量高质量偏好数据)
- PPO 超参数极度敏感(学习率、KL 系数、clip range…)
- 4 个模型同时跑,显存爆炸
- 训练不稳定,reward hacking 频发
DPO 的核心洞察(一个数学等价性)
DPO 发现了一个闭式映射:在 KL 约束的 RLHF 目标函数中,最优策略 π* 和奖励函数 r* 之间存在一一对应关系:
r*(x, y) = β · log[π*(y|x) / π_ref(y|x)] + β · log Z(x)翻译成人话:
奖励模型给一个回答打多少分 ≈ 策略模型生成这个回答的概率 vs 参考模型的概率之比
推论:既然奖励可以用策略概率直接表示,那就不需要单独训练奖励模型了!
DPO 损失函数
L_DPO(π; π_ref) = -E_{(x, y_w, y_l)} [log σ(β · (log π(y_w|x)/π_ref(y_w|x) - log π(y_l|x)/π_ref(y_l|x)))]其中:
y_w:人类偏好的"好回答"(winner)y_l:人类不偏好的"差回答"(loser)β:控制对参考模型的偏离程度σ:sigmoid 函数
直觉理解:
让模型给"好回答"的概率变高、给"坏回答"的概率变低,同时不要偏离参考模型太远。
RLHF vs DPO 对比
| 维度 | RLHF | DPO |
|---|---|---|
| 需要的模型数 | 4 个 | 2 个(策略+参考) |
| 训练步骤 | 先训 RM → 再 PPO | 一步到位 |
| 超参数敏感度 | 极高 | 低(只有 β) |
| 训练稳定性 | 差(reward hacking) | 好 |
| 需要的数据 | 偏好对 + RL 采样 | 只需偏好对 |
| 理论保证 | 近似最优 | 精确等价于 RLHF 最优解 |
| 计算成本 | 高(4 模型+采样) | 低(标准 SFT 级别) |
实验结果
| 任务 | SFT | RLHF (PPO) | DPO |
|---|---|---|---|
| 摘要质量(TL;DR) | 基线 | 好 | ≈ PPO(更稳定) |
| 对话安全(Anthropic HH) | 基线 | 好 | ≈ PPO(更简单) |
| 情感控制(IMDb) | 基线 | 好 | ≈ PPO |
关键结论:DPO 在效果上≈ RLHF,但训练简单 10 倍。
DPO 的后续发展(2024-2026)
| 变体 | 贡献 |
|---|---|
| IPO | 放松 Bradley-Terry 假设,更鲁棒 |
| KTO | 只需要二元反馈(好/坏),不需要偏好对 |
| SimPO | 去掉参考模型,只需 1 个模型 |
| ORPO | SFT + 对齐一步完成 |
| GRPO(DeepSeek) | 组相对优化,用组内竞争替代 Critic |
| RLVR | 可验证奖励(数学/代码可自动评分) |
📌2026 产业现状:Claude Opus 4.7 用 Constitutional AI 2.0(RLAIF + DPO 混合),DeepSeek V4 用 GRPO+RLVR,GPT-5.5 的对齐方案未公开但推测是 DPO 变体。
读论文的正确姿势
- 先看 §1 Introduction 最后一段(DPO = 把 RM 的闭式解代入 RL 目标)
- 重点读 §4(DPO 推导过程)——核心数学只有 2 页
- 看 Figure 1(RLHF vs DPO pipeline 对比图)
- Table 1-2 实验结果
- §6 Discussion理解 DPO 的适用边界
两篇论文的关系
GraphRAG(2024) DPO(2023) ↓ ↓ 解决"LLM 怎么找到信息" 解决"LLM 怎么说得像人" ↓ ↓ RAG 从"文本检索"进化为 对齐训练从"4模型RL" "知识图谱+社区摘要" 简化为"2模型直接优化" ↓ ↓ ←←← 合在一起 →→→ ↓ 2026: 又能找到好信息,又能说得好 DeepSeek V4 (GRPO) + Agentic RAG📚 延伸阅读
- Microsoft GraphRAG 官方文档
- LightRAG 论文 — GraphRAG 的轻量替代
- Hugging Face Blog: DPO 实战指南
- GRPO: DeepSeek-R1 技术报告 §4
- KTO: Model Alignment as Prospect Theoretic Optimization
路易乔布斯 © 2026| 「AI 学习计划」系列第 28 篇 | 模块 07 论文导读 2/3