Skip to content

阅读纪律与 FAQ

本页速览 读推理论文的方法论手册:怎么读论文里的 speedup 与 profile 图、怎么用红旗信号判断论文好坏,以及 12 个高频问题的逐条解答——读不懂、记不住、找不到相关论文、读不完,都有具体对策。

阅读纪律与 FAQ

一句话定位:读推理论文最重要的不是"读了多少篇",而是"有没有一套可重复的阅读纪律"——知道哪些 speedup 该信、哪些 profile 图该看穿、哪些论文该直接扔掉。本文先立纪律,再回答你从"读不懂"到"读不完"的所有高频问题。

本文的使用方式

纪律部分(第一节)建议精读一遍,之后每次读论文时对照"红旗信号表"自查;FAQ 部分不需要从头到尾读,遇到对应问题再回来查。把它当成一份方法论工具书,而不是一篇必须一次读完的文章。

一、阅读纪律:speedup、profile 与论文的裁判

1. 怎么读 speedup:一切加速比都是"模型 + batch + 硬件 + 协议"的合谋

推理论文里最抓眼的是数字:"比 vLLM 快 2-3×""加速比 6.5×""吞吐提升 4×"。但请记住一条铁律:

一个 speedup 从来不是"方法有多好"的绝对值,而是"方法 + 模型 + batch + 硬件 + 评测协议"五者的共同产物。 任何一个条件变了,数字就不可比。

因此,遇到任何一个 speedup,请强迫自己追问四个问题:

追问具体含义为什么重要
模型用的哪个模型?多大参数?多长上下文?70B 与 7B 的瓶颈完全不同,70B 是显存瓶颈,7B 是算力瓶颈
batchbatch size 多大?单用户还是多用户?batch=1 与 batch=256 的最优算法完全不同,前者是 decode 优化,后者是 prefill 优化
硬件A100/H100/B200?哪一代?FA2 在 A100 最优,FA3 在 H100 最优,FP4 在 B200 才甜
协议指标怎么算的?单次运行还是多次取均值?报了标准差没有?只报最好一次、不报方差的结果,可能只是运气好

尤其注意 相对提升 vs 绝对提升:一篇论文说"在 X 上提升 30%",可能是从 100ms 提到 70ms(绝对值显著),也可能是从 1ms 提到 0.7ms(绝对值几乎无意义)。永远要求自己换算成绝对数字再下判断。

还有一个数字陷阱:kernel 微基准 vs 端到端基准。FlashAttention 论文报的"2-4×"是端到端训练加速;很多后续工作只报 kernel 微基准(如"我们的 attention kernel 比 FA2 快 1.3×"),但端到端可能只快 1.05×——因为 attention 只占整体 30% 的时间,kernel 快 1.3× 整体只快 1.05×。永远问"这个 speedup 是 kernel 级还是端到端"

一句话记法

带走机制,别带走数字。 数字是"那时、那地、那台机器"的产物;机制(为什么有效、边界在哪)才是跨时空有效的东西。这也是从这里开始栏目反复强调的阅读观。

2. 怎么读 profile 图:先看坐标轴,再看趋势,最后才看结论

系统论文的图表信息密度比算法论文更高:一张 roofline 图、一张 batch 吞吐曲线、一张 latency CDF 图,能直接暴露方法的真实水平。按三步读:

第一步 看坐标轴    横轴是 log 还是线性?纵轴范围从哪到哪?单位是什么?
                   (log 坐标会"压平"差异,线性坐标会放大早期抖动)
                   算力轴还是时间轴?延迟轴还是吞吐轴?

第二步 看趋势      曲线是单调上升还是过拟合后的 U 形?
                   多个方法之间是"拉开差距"还是"并驾齐驱"?
                   长序列/batch 大时是否还成立?

第三步 看结论      作者从这个图得出什么结论?
                   图真的支持这个结论吗?有没有画得更诚实的方式?

三个高频"看图"陷阱:

  • 只报涨点曲线,不报绝对值:横轴是 batch size、纵轴是吞吐的图,如果纵轴起点被人为截断,曲线会看起来陡峭得多。留意坐标轴范围。
  • 消融图要看"去掉谁最伤":消融实验(ablation)的意义是回答"每个组件贡献了多少"。读法不是看"完整模型多强",而是看去掉哪个组件掉点最多——那才是方法真正的核心创新。掉点不明显的组件,往往只是锦上添花甚至可有可无。
  • roofline 图要看算力强度:推理优化的目标是把方法从"内存受限"推到"算力受限"。看一张 roofline 图,要先看方法是落在拐点左侧(IO 瓶颈)还是右侧(算力瓶颈),再看优化后是否越过了拐点。没越过拐点的优化,加速比上限就是带宽比——这是 roofline 给的硬上限。详见roofline内存与带宽

3. 怎么判断一篇论文的好坏:红旗信号表

推理论文读多了你会发现,好论文和差论文在"诚实的程度"上分野明显。下表是值得警惕的信号——出现得越多,越要降低信任等级

红旗信号表现应对
只报 speedup,不给协议说"3× 加速",但不交代模型、batch、硬件、评测脚本直接找代码/附录核对;找不到就标记为"不可复现"
弱基线对比只对比"没优化的旧方法",回避同代最强方法去 vLLM/SGLang/TensorRT-LLM 的最新 benchmark 核对
没有消融实验方法由五六个模块拼成,但不做"去掉某个模块会怎样"核心贡献无法定位,创新成色存疑
单一模型/硬件只在 Llama-70B(或某一个模型)上、只在 A100 上报结果过拟合一个模型/一代硬件的可能性很高
不报方差所有实验都报"最好的那一次",无均值、无标准差小随机种子带来的涨点不可信
不讨论局限全文没有 Discussion/Limitation 部分要么没想清楚,要么在藏问题
摘要用相对数字"提升 30%""大幅超越"但正文不给绝对数字大概率是基数太小或对比不公平
代码永远"即将发布"论文写"Code will be released",但查无仓库复现是最低标准,没有代码要格外警惕
kernel 级 speedup 但端到端不报只报"我的 attention kernel 快 1.3×",不报端到端大概率端到端只快 1.05×,因为 attention 只占 30%
batch=1 与 batch 大时混用用 batch=1 时的 speedup 暗示 batch 大时也成立decode(batch=1)与 prefill(batch 大)最优算法完全不同

红旗信号 ≠ 论文是坏的

红旗信号是"需要你提高警惕"的指示器,不是"直接枪毙"的判决书。一篇有弱点的论文也可能贡献了有价值的思想——也许它的方法在别的设置下不成立,但问题定义和思路是对的。正确的姿势是:把红旗记在笔记里,读完后给论文标注一个"可信度等级",而不是非黑即白。

二、FAQ:读论文路上的十二个问题

Q1. 读推理论文前需要多少 CUDA 与系统基础?

比你想象得少,但比读算法论文多。读一篇推理论文需要三类基础

  1. CUDA 编程模型:thread / warp / thread block / SM 的层级,shared memory 与 global memory 的区别,warp 同步与 reduction。这些在CUDA Programming Guide的前 5 章里有。不需要会写 CUDA kernel,但要能看懂论文里的"thread block 划分图"
  2. GPU 性能模型:roofline、算力强度、HBM 与 SRAM 的带宽差(约 30 倍)、Tensor Core 的算力与精度。这些在GPU 优化roofline里有。
  3. 系统基础:虚拟内存、分页、批处理、调度。vLLM 的 PagedAttention 完全借用 OS 的虚拟内存思想;Orca 的 iteration-level scheduling 完全借用 OS 的进程调度思想。理解 OS 基础概念,就理解了系统论文的一半

真正的技巧是分层消费数学与工程:第一遍只读结论不看伪码;第二遍抓住"算法 1 的循环顺序";只有当你打算复现或改进方法时,才需要逐行抠 CUDA kernel 实现。绝大多数入门论文(FA1、vLLM、GPTQ)的算法层并不复杂,复杂的是工程。

Q2. 读不懂怎么办?

先接受一个事实:读不懂是默认状态,不是异常状态。推理论文不是教科书,作者默认读者是同行系统研究者,会跳过大量铺垫。正确的处理顺序是:

换资料——同一篇论文通常有博客解读、视频讲解、图解笔记,先借助二手资料建立全局图。Tri Dao 的博客vLLM 官方博客FlashInfer 博客SGLang 博客 都是极好的拐杖;

回去补前置——读不懂往往不是这篇的问题,而是缺前置知识。读 FlashAttention 不懂 online softmax?回去读 Milakov & Gimelshein 2018 的"Numerically Stable Softmax";读 vLLM 不懂 PagedAttention?回去补 OS 的虚拟内存章节;

标记、跳读、再回来——把不懂的地方记下来,先读完能读懂的部分,第二次重读时很多疑问会自己消解。同一篇论文读三遍,比三篇论文各读一遍有效得多。

Q3. 要不要读英文原文?

要,而且越早越好。 理由有三:① 翻译会造成信息损耗——术语(如 "warp-specialized"、"online softmax"、"chunked prefill")的中文翻译没有标准,等中文解读往往落后数月甚至没有;② 推理部署领域没有靠谱的完整中译生态,前沿论文永远是英文先到;③ 读原文是"一次投入、长期受益"——读完 20 篇英文系统论文后,你的阅读速度会有一个质的飞跃,因为系统论文英语高度模式化("we propose..."、"we observe that..."、"to the best of our knowledge...")。

对初学者的建议是"中外混读":先读中文博客建立全局,再回到英文原文核对细节,把原文当成唯一的事实来源。特别注意 NVIDIA 的官方博客与白皮书,它们是 H100/B200/FP8/FP4 等硬件协同论文的最佳拐杖。

Q4. 怎么记笔记?

记笔记的目标是**"三个月后还能看懂"**,而不是"当时觉得懂了"。推荐结构化的"一页纸笔记"模板:

论文标题 / 年份 / 会议
一句话:解决了什么瓶颈?(用自己的话说)
核心机制:方法的核心思想是什么?(1-3 句话 + 一张自己画的图)
关键数字:最重要的 2-3 个 speedup + 模型/batch/硬件/协议
消融结论:哪个组件贡献最大?
适用边界:在什么 batch、序列长度、硬件代际下成立?
局限:作者承认的 + 我发现的
与我的关系:对我的部署/研究有什么用?
可信度等级:高 / 中 / 低 + 原因

强烈建议手画机制图——用箭头和方框把论文的方法画出来,画得出来才是真懂了。FlashAttention 的双层循环、vLLM 的 block table、EAGLE 的 draft tree,都该自己画一遍。笔记工具不重要,Obsidian、Notion、纯 Markdown 都行,关键是给每篇论文一个固定模板,让笔记可以批量检索。本站经典论文精读的每篇都按"问题背景 → 核心机制 → 实验结论 → 启示"的固定结构写,可以直接当作你的笔记模板。

Q5. 如何找相关论文?

按"从一篇出发,双向扩张"的方法找,效率远高于搜索框乱搜:

方法 X 的论文
   ┌─ 向前:看它的引用(References)──▶ 找到更早的源头论文
   └─ 向后:看谁引用了它(Citations)──▶ 找到后续改进工作

具体工具:Google Scholar 看引用与相关文章;Semantic Scholar 的 API 和推荐做得不错;Connected Papers 用图的形式展示论文的引文网络,适合快速定位"这个方向的核心论文圈"。Papers with Code 则是"任务 → SOTA → 代码 → 论文"的最佳入口,顺着某个 benchmark 的排行榜就能找到该任务的所有主要方法。配合本站的论文地图,先建立全局坐标系,再让引用链帮你深入。

推理部署领域还有两个独特渠道:① GitHub issue/PR——vLLM、SGLang、TensorRT-LLM 的 issue 区有大量"如何用 X 实现 Y"的工程讨论,常比论文更接地气;② 官方博客——Tri Dao、Lilian Weng、HuggingFace、SGLang 的博客常比论文本身更易读,是绝佳的二手资料。

Q6. 如何判断论文过时?

三个判断维度:① 引用与后续工作——去 Semantic Scholar 或 Google Scholar 看它的引用量和被谁引用了,如果后续工作已经明确推翻或大幅改进了它,就要降级处理。FlashAttention v1 现在被 FA2/FA3 反复引用,但仍属"经典未过时";Orca 在 2023 年被 vLLM 等工作延续,"已被集成但思想仍重要"。② 硬件与算力语境——FlashAttention v1 在 A100 上仍最优,但在 H100 上已被 FA3 取代;GPTQ 在 A100 上仍主流,但在 H100 上常被 FP8 替代。注意论文里的"硬件前提"是否已不成立③ 综述与评测基准——如果该任务的最新综述已经不再提这篇论文,或者最新 benchmark 的 SOTA 已经用完全不同的范式(比如从 PagedAttention 走向 vAttention),说明它已进入"历史价值"阶段。判断过时的意义不是"不看老论文",而是给它正确的定位——老论文常常是理解新论文的钥匙,经典论文精读前沿进展正是按这个"古今对照"的思路组织的。

Q7. 要不要复现实验?

取决于你的目标,三种强度:

目标复现强度说明
入门学习不用复现读懂 + 笔记 + 讲给别人即可,把时间花在广度上
工程落地必须复现(在小规模上)不跑一遍,你永远不知道论文里的"隐性细节"(CUDA kernel 优化、block size 选择、校准数据)有多少没写出来
做研究深度复现 + 消融这是研究的入场券:复现不了,后续改进都是空中楼阁

关键洞察:复现一次的成本,往往就是这篇论文价值的真实度量。 如果一个方法"官方代码跑不出论文数字",这个信息本身比论文更重要。站在 2024 年,优先看有官方开源实现的论文——用awesome 资源清单或 Papers with Code 找官方代码,比自己从零实现节省一个数量级的时间。

对推理论文,"复现"有三个层次:① 用官方仓库 + 官方权重跑出论文数字(最浅);② 用官方仓库 + 自己的模型/硬件,看数字是否还成立(中等);③ 自己从零写一个简化版 kernel 或调度片段,验证机制是否真的有效(最深)。做引擎的人需要做到第三层,做应用的人做到第二层即可。

Q8. 论文太多读不完怎么办?

先破一个执念:"把论文读完"从来不是目标,读不完也不代表失败。论文是"按需获取"的资源,不是"必须清空的清单"。实操三条:

二八法则——20% 的论文值得精读,80% 只需要"读摘要 + 看 profile 图 + 记一句话"就够;精读一篇正经坐下来两小时,泛读一篇十分钟。

按任务读,不按热度读——给自己定一个当前主题(比如"Prefill/Decode 分离"),只读这个主题内的论文,读完写小结再切换,比"今天随机刷两篇"有效得多。

容忍"读过即忘"——大脑不是数据库,关键是让笔记成为你的外置记忆。具体路线规划见阅读路径,别贪多,同时精读的论文不要超过两三篇

推理部署领域还有个独特现象:很多"重要工作"先出现在 GitHub PR 里,再写论文。所以"读不完论文"时,可以转向"读不完 PR"——vLLM/SGLang 的 main 分支 PR 里藏着大量工程细节,常比论文更接地气。

Q9. 如何把论文讲给别人听?

费曼学习法在论文阅读上的最佳实践。讲之前先自问:我能用三句话讲清楚"这篇论文解决了什么瓶颈、怎么解决、效果如何"吗?讲不出来,说明还没懂。具体操作:

  1. 讲给 5 岁小孩(或者你的外行朋友):只讲动机和直觉,不用任何术语——逼你用最朴素的语言找到方法的核心直觉。例:FlashAttention = "把中间结果留在快内存里,少跑几趟慢内存"。
  2. 讲给同行(同事/同学/面试官):讲机制、实验、局限——逼你想清楚每一个设计选择和它的替代方案。例:FlashAttention 的"为什么外层循环 over K/V 块而不是 Q 块"。
  3. 写一篇 300 字总结:讲比写容易糊弄,写出来才知道哪里没打通。

面试场景尤其实用:推理部署岗面试里"聊透一篇系统论文"几乎必考,标准回答结构就是"问题 → 直觉 → 机制 → 实验 → 局限 → 如果是你会怎么做"。讲不出来,就是你的笔记里"与我的关系"那一栏没写。

Q10. 怎么快速判断一篇推理论文值不值得读?

在精读之前,先用"三分钟漏斗"筛一遍:

第 1 步  标题 + 摘要(30 秒)   → 解决的瓶颈与我相关吗?方法一句话能说清吗?
第 2 步  profile 图 + 结论(60 秒) → speedup 显著吗?在什么模型/batch/硬件下?
第 3 步  引言最后一段(30 秒) → 作者的贡献列表(Contributions)具体吗?
第 4 步  看代码/复现情况(60秒)→ 有官方代码吗?star 数?有人复现成功吗?

四个问题里有两个及以上答不上来或给出否定答案,就放回"待读"列表。判断"不值得读"和判断"值得读"同样重要——把有限的时间留给真正重要的论文。别被"3× speedup"两个字绑架,speedup 榜单每月都在变,一篇论文的价值远不止 benchmark 上的名次。

对推理论文,还有几个特殊的高价值信号:

  • 作者来自一线系统组:Princeton/Dao 组、Berkeley/Lianmin Zheng 组、DeepSeek 系统组、NVIDIA TensorRT-LLM 组、vLLM 项目核心团队——这些组的工作几乎都值得读。
  • 被主流引擎集成:vLLM、SGLang、TensorRT-LLM 的 main 分支已集成的工作,几乎都是经过工业验证的。
  • 配套开源权重:如 DeepSeek-V3、Mixtral——开放权重的工作往往影响更大。

Q11. 读综述(Survey)还是读原文?

先综述,再原文,综述是地图,原文是地貌。 综述(survey)的价值在于:① 用几页纸给你一个方向的完整坐标系——谁先做的、谁改进了什么、当前卡在哪;② 帮你建立术语体系,读原文时不再被陌生概念绊住;③ 综述的参考文献清单本身就是一份高质量论文清单。

但综述的缺点是深度不足且可能滞后——2024 年之后,推理系统变化太快,综述还没写完就已经过时。所以正确姿势是:新领域先读一篇近两年的综述建立地图,然后立刻转入你关心的那两三篇原文

搜综述可以在 arXiv 里搜 "survey" + 主题词(如 "speculative decoding survey"、"LLM quantization survey"),或关注前沿进展里提到的综述。本站论文地图也可当作一份精简版的综述使用——它把十年关键论文按主题排成一张表。

Q12. 读多少篇论文才算入门?

没有固定数字,但有可检验的里程碑。一个实用的判定标准是:当你能不看任何资料,随手画出某个子领域的"瓶颈 → 关键方法 → 主流路线 → 当前瓶颈"的结构图,且能指出三篇以上的代表作及其关系时,这个领域就算入门了

以本站的建议,入门路径大约是:

  • 经典十篇(FlashAttention 到 DeepSeek-V3)建立时间线 →
  • 选一个你感兴趣的深度方向精读 5-10 篇 →
  • 跟读该方向近一年的最新工作。

参考经典论文精读论文地图的编排,一个方向通常 15-30 篇高质量论文就能支撑起"能听懂学术讨论、能在面试里讲透"的水平。入门的标准是"能对话",不是"全读完"。

三、论文与工程的关系:为什么要"读论文"的人做引擎

一个常见困惑:我做工程部署,又不写论文,读论文图什么? 答案是:论文给原理 → 框架实现 → 部署调优,三层是承接关系,缺一层都做不深。

论文层:  机制 + 实验 + 局限
          ↓  论文给"为什么"
框架层:  vLLM/SGLang/TensorRT-LLM 的实现
          ↓  框架给"怎么做"
部署层:  你的模型 + 你的硬件 + 你的负载
          ↓  部署给"怎么调"
你:      调参 + 选型 + 故障排查

只做部署层的人,遇到瓶颈时只能"试错 + 搜 issue";读过论文的人,能从机制反推瓶颈在哪、为什么这个引擎在这个负载下不奏效、要不要换引擎或自己写 kernel。这就是为什么面试官爱问"你读过哪个引擎背后的论文"——它直接区分你是"会用引擎的人"还是"能改引擎的人"。

详见引擎对比调优实践构建你的引擎

四、哪些场合要追前沿

不是所有场合都要追前沿,下面是不同场景的策略:

场合该不该追前沿策略
救火 / 线上故障不追用你熟的工具与配置,新论文的方法没经过验证,救火时不要试
新项目选型适度追看近 6 个月的综述与主流引擎 release note,避免选到"看起来新但已过时"的方案
写综述 / 技术分享必须追至少读完近一年的所有重要工作,否则综述没有信息增量
面试前恶补适度追重点读经典论文精读的十篇,前沿只需知道关键词
做研究 / 写论文持续追每周固定时间扫 arXiv + 仓库 PR,否则做出来的工作可能已被人做过
新硬件适配必须追硬件代际即算法重写,新硬件(H100→B200、A100→昇腾 910B)出来后必须追新算子论文

救火时不要追前沿

线上服务出问题时,用你最熟的工具与配置,不要用论文里的新方法。原因是:新方法没在你的负载、你的数据、你的硬件上经过验证,可能引入未知问题。追前沿是长期投资,不是救火药。

五、总结:读论文是长期主义

把读推理论文放进时间的尺度里看,结论很清晰:

短期(几周):  读几篇,读不懂,怀疑自己 → 这是每个人的必经之路
中期(几个月):精读 20 篇 + 记笔记 + 复述 → 明显能跟上讨论
长期(一两年):一个方向 50-100 篇 → 能自己判断方向、提出问题

读论文的复利体现在三处:速度——第一篇 FlashAttention 要一周,第十篇 attention 变体只要一小时,模式化阅读会越来越快;判断力——读得越多,越能一眼识破弱基线和花哨 speedup,红旗信号表会内化成直觉;表达力——把论文讲清楚的能力,就是你在面试、评审、协作中稀缺的表达能力。

最后回到这篇 FAQ 的起点:

三条纪律,全文最值得带走的三句话

  1. 带走机制,别带走数字——一切 speedup 都是模型 + batch + 硬件 + 协议的合谋。
  2. 读不懂是默认状态——换资料、补前置、标记重读,别跟一篇论文死磕到底。
  3. 笔记是外置记忆,复述是唯一检验——没有笔记的阅读等于没读,讲不出来的理解等于没有。

论文读不完、读不懂、读完就忘,都不是问题。问题只有一个:有没有在每次阅读中沉淀下一点点可复用的东西。 有,就是长期主义;没有,读一万篇也只是在沙滩上写字。

延伸阅读

  • 从这里开始 —— 论文栏目的总入口与三条入门路线
  • 阅读路径 —— 按目标编排的具体文章清单与阅读顺序
  • 论文地图 —— 推理加速十年关键论文的时间轴坐标系
  • 经典论文精读 —— 逐篇精读十篇改变领域的论文,兼作笔记模板
  • 前沿进展 —— 追踪 FP8/FP4、Prefill/Decode 分离、EAGLE-3、新硬件等 2024–2026 前沿
  • 什么是推理 —— 推理部署的概念地基
  • 硬件入门 —— GPU/MLPU/国产硬件的背景
  • 术语表 —— 读论文时随时查阅的术语速查
  • 学习路径总览 —— 站在全站角度规划你的长期学习
  • 引擎对比 —— 论文与工程的桥梁:主流引擎对比
  • benchmarking —— 怎么做推理 benchmark
  • 资源清单 —— 找论文代码、benchmark、工具与官方代码的入口

参考资料

以下均为真实公开资源,供深入自学: