从语言建模到推理系统:把论文思想变成可检验的问题
读完一条技术路线,最有用的收获不是记住哪一年谁超过了谁,而是能判断:一个结果来自模型容量、训练数据、优化方法、推理策略,还是评价口径。语言模型的能力由这些环节共同形成,单一排行榜分数很少能替我们完成归因。
下面先把主线重新连接,再给出三个贯穿全系列的自构实验。实验均为教学方案,尚未运行;其中的预算、分组和指标是建议设计,不是任何论文已经报告的结果。
六条贯穿全系列的主线
| 主线 | 代表阅读 | 核心变化 | 不应混淆的概念 |
|---|---|---|---|
| 表示与信息流 | LSTM、词向量、Transformer、Mamba | 从压缩历史到按内容读写上下文 | 理论可达信息与实际能利用的信息 |
| 预训练与数据 | BERT、T5、GPT-3、Chinchilla、OLMo 2 | 改变监督目标、数据配比和计算分配 | 更多参数、更多 token 与更好的数据 |
| 适配与对齐 | Adapters、LoRA、InstructGPT、DPO | 从调整少量参数到改变输出偏好 | 参数更新方式与训练目标 |
| 计算与部署 | ZeRO、FlashAttention、量化、vLLM、V3 | 重排存储、通信、计算和服务调度 | 内核速度、吞吐量、延迟与全生命周期费用 |
| 外部信息与行动 | RAG、ReAct、SWE-agent、GraphRAG | 把知识、工具和环境接入生成过程 | 回答流畅、引用存在与任务真实完成 |
| 推理与验证 | CoT、Self-Consistency、R1、AutoTTS、评估协议 | 同时调整训练行为和测试时计算分配 | 候选里答对、选中答案与稳定正确 |
这些路线会交叉。LoRA 可以用于监督微调,也可以用于偏好优化,它不是与 DPO 互斥的算法。MoE 改变每个 token 使用的参数路径,量化改变数值表示,二者也不是互相替代的“模型类型”。RAG 给模型外部证据,长上下文扩大可见输入,但看得见并不保证找得到,找得到也不保证回答受证据约束。
对新论文,先问四句话:它修改哪个对象?固定了哪些条件?增加了哪些资源?结论在哪些任务上成立?这比先给论文贴“更先进”的标签更有效。
如何比较看似矛盾的结果
样本效率与总费用
小数据训练成功,并不意味着整个系统只使用了少量信息。s1 的训练集合规模必须与基础模型、教师轨迹生成和筛选过程一起理解。它能支持精心选择的数据具有价值,不能单独证明从零学习推理只需要同等数量的题目。
同样,少量可训练参数不等于低总显存。冻结参数仍需存储,前向计算仍需读取,反向传播可能仍要保存部分激活。QLoRA 之所以有独立意义,是因为它同时处理了基础权重存储与适配,而不仅是把更新矩阵变小。
准确率、选择能力与可靠性
生成十个答案后任选一个,与知道标准答案后挑正确的那个,是不同任务。Codex 中的候选覆盖指标、Self-Consistency 的聚合,以及推理时扩展的预算分配,应分别描述。若新增候选全都重复同一种误解,样本数量增长也不等于信息量等比例增长。
对开放问题,还要区分偏好分和事实正确率。读者更喜欢详细回答,不能证明详细回答中的每个事实成立。对软件任务,测试通过是强于文字自评的证据,但测试覆盖范围仍决定了它能证明什么。
算法等价与近似替换
一些方法主要改变执行路径,目标是保持计算结果或采样分布;另一些方法主动允许近似误差以换取速度。读 FlashAttention、推测解码、Medusa 时,应先检查它们各自保证的对象。数学注意力等价、数值逐位相同、输出分布相同、某个基准分数相近,四者强度不同。
用三个可核算账本检验自己的归因
账本一:可训练参数与实际存储分开算
对一个方形权重矩阵 ,全参数更新有 16,777,216 个参数。取 LoRA 秩 ,两因子 、 共 65,536 个可训练参数,是前者的 。这是单矩阵的教学算例,不代表整个模型参数下降 256 倍:冻结的 仍在,且仍参与前向与输入梯度计算。即使把 的原始存储从每数 16 bit 改为 4 bit,也只有这份权重代码下降四倍,缩放常数、激活与优化器状态要各记一栏。
这张账本把 LoRA、QLoRA 与 ZeRO 放在不同位置:一个约束更新子空间,一个改变基座数值存储,一个分片训练状态。三者可以组合,但各自的节省倍数不能直接相乘,除非明确它们作用于同一项且独立。
账本二:候选里有正确答案,离提交正确还差一步
设一个教学系统生成候选后,正确答案至少出现一次的概率为 ;在确有正确候选的条件下,选择器选中正确答案的概率为 。如果选择器只能从候选中选,且没有正确候选时不可能答对,则最终准确率为 。
例如从少量候选增加到更多候选,覆盖率从 升至 ;但干扰候选增多让选择成功率从 降至 。最终准确率就从 63% 降到 58.5%。这是条件概率乘法,不需要假设候选彼此独立。它说明为什么 Codex 的 pass@k、验证器 的选择性能和 Self-Consistency 的实际投票得分必须并列看。
账本三:相同 token 数也可能有不同费用
为一个完整系统记下
其中各项分别是按此次实验分摊的索引、检索、生成、评价和工具费用;必须统一为同一计量单位后才能相加。若衡量延迟,则并行阶段不能照抄这个加法,而应按执行依赖和排队时间计算关键路径。一次性索引费用还应报告其摊销请求数。
例如系统 A 使用 4 次各 1000 token 的生成且无评委,系统 B 使用 2 次各 1000 token 的生成与 2 次各 1000 token 的评委,两者都是 4000 个输出 token;但评委模型、输入长度和硬件不同,实际费用与延迟未必相同。反过来,vLLM 可以在不增加推理策略候选数的情况下改善服务吞吐。这是系统调度收益,不应归因成“模型推理更努力”。
自构实验一:更好的数据,还是更多计算
研究问题。在固定训练费用下,领域数据配比的改善能否替代增加模型容量?这个实验连接词向量、预训练、规模规律与 OLMo 2 的数据课程思想。
选择公开且许可清楚的通用文本与一个小领域文本集合,例如公开数学讲义。先按文档来源划分训练、验证、测试,再进行近重复检查。不能把同一本书的相邻段落随机切进不同集合,并把结果称为跨来源泛化。测试还应保留一个通用领域集合,用于检查专业化的代价。
| 设计项 | 建议方案 |
|---|---|
| 基础设置 | 使用相同分词器和 Decoder 架构族,从头训练两个可负担的小规模模型 |
| 数据变量 | 通用数据;通用与领域混合;相同混合但领域数据去重和质量筛选 |
| 预算变量 | 先固定训练 FLOPs,再补固定 token 数对照;两个口径分别报告 |
| 控制项 | 序列长度、优化器、学习率搜索预算、验证频率和停止规则 |
| 重复 | 每个主要条件至少三个初始化种子;预算不足时减少条件,不伪造误差条 |
| 指标 | 通用和领域负对数似然、固定提示的任务准确率、训练时间和峰值显存 |
| 留出检验 | 同领域不同来源、不同题目表述、较长输入 |
第一轮用小规模预实验冻结学习率范围;正式比较对每个方法分配相当的调参资源。质量过滤若使用另一个语言模型,记录筛选费用,另列训练费用。重复使用同一条数据时同时报告“独特数据量”与“读取 token 总量”。
可能的失败解释。领域分数提高而通用分数下降,可能是分布重分配的权衡;训练损失下降而跨来源测试不变,可能是记忆或数据泄漏;固定 token 下大模型胜出而固定 FLOPs 下不胜出,说明比较问题不同。任何结果都不足以从两个模型规模推导普适规模定律。
参考判断。更好的配比能否替代容量,答案取决于同一费用下的留出表现:若小模型的改良配比在领域任务上不低于大模型,同时通用能力下降不超过预先约定的界限,才支持在这个工作负载上替代;若只降低训练损失则不支持。费用要包含筛选与调参,差异要给重复运行的不确定性。若进一步归因为“质量”而非“更易预测”,还要检查被筛掉数据的主题与难度。这个判据不是尚未运行实验的结果。
自构实验二:参数高效适配到底省在哪里
研究问题。LoRA 的低秩更新是否在指定任务上接近全参数微调?量化带来的额外误差是否改变这一结论?这个实验把 Adapters、LoRA、QLoRA 与训练优化的阅读连接起来。
固定一个能够承担全参数微调的小模型,选择一个结构化抽取任务和一个需要改变写作风格的生成任务。二者分开评价,不把抽取准确率和语言风格偏好合成一个含义不清的平均分。
| 组别 | 更新方式 | 要回答的问题 |
|---|---|---|
| A | 不训练,仅固定提示 | 收益是否只是基础模型已具备的能力 |
| B | 全参数微调 | 指定资源下的完整更新参照 |
| C | 同一精度 LoRA,多组秩 | 低秩限制与参数量怎样影响结果 |
| D | 量化基础权重 + LoRA | 量化存储是否进一步改变性能与显存 |
训练样本、分词、最大长度、验证集与数据顺序保持一致。每组允许独立选择合理学习率,但调参次数相同。不能强迫所有方法用同一个不适合它们的学习率,然后把差距归为算法缺陷。主实验固定更新步数;另给达到同一质量阈值的实际时间。
报告可训练参数、模型常驻显存、训练峰值显存、优化器状态、每步时间、验证得分、训练总时间。推理时分别测合并 LoRA 与未合并 LoRA;量化加载后和训练完成后都测一次,避免把加载误差与训练效果混在一起。
附加机制实验。在小模型上保存全参数微调的权重差,分析奇异值能量分布,再与不同 LoRA 秩的表现比较。这只是更新矩阵的描述,不是“任务本质维度”的证明。即使差矩阵近似低秩,也不能推出任何训练过程都能找到同样的解。
可能的失败解释。LoRA 在格式任务有效、在知识迁移上落后,可能与适配位置、秩、数据或任务有关;量化组收敛慢可能来自数值误差,也可能来自算子实现。要通过同精度 LoRA 对照隔离原因。若全参数组更好却超出部署资源,报告性能—资源边界,而非强行宣布唯一赢家。
参考判断。先在开发集预定可接受的质量差距,再看同精度 LoRA 与全参数组的差及不确定性;落在容许范围且显存或训练时间更低,才称为该任务上的有效替代。量化是否改变结论由 D 对 C 判断,不能由 D 对 B 独自区分低秩与量化。若增加秩仍无效,继续查目标层、优化和数据覆盖,不把一次失败直接归成“任务不是低秩”。
自构实验三:检索、思考和验证,预算应该投在哪里
研究问题。在包含可核验事实和多步推理的问题中,增加检索证据、候选数量或验证计算,哪一种最有帮助?这个实验连接 RAG、Lost in the Middle、Self-RAG、R1、AutoTTS 与第 100 篇的评估协议。
建立一个小型、版本固定的公开文档库,人工构造带来源定位的问题。按“单段直接回答、跨段整合、需要简单计算、材料不足必须拒答”分层。另留出一组更新过事实的文档,测试是否使用提供材料。所有自构题都应由人工核对,不能仅用出题模型当最终裁判。
| 组别 | 系统 | 核心控制 |
|---|---|---|
| A | 无检索,单次回答 | 基础参数知识参照 |
| B | 固定检索,单次回答 | 检索器、候选文档数、输入长度固定 |
| C | 同检索,多候选投票 | 共享候选库比较聚合;不使用标准答案选答案 |
| D | 同检索,多候选加证据核验 | 验证只能访问问题、文档与候选 |
| E | 预算自适应停止 | 阈值在开发集固定,只看已生成内容 |
增加两个干预:把正确证据移到上下文开头、中间和末尾;插入与问题相似但结论无关的干扰段落。由此区分检索失败与利用失败。再提供人工挑选的正确文档作为诊断上界,明确标为特权信息条件,不能算作普通部署成绩。
最终指标包括事实正确率、引用蕴含率、拒答的精确率与召回率、算术正确率、输出长度、检索时间、生成和验证 token、端到端延迟。候选覆盖 Pass@k 与最终提交答案准确率并列报告。若验证器改变了答案,还记录正确改错与错误改对的条件比例,避免只展示成功案例。
先用共享响应库隔离选择器,再在线重跑完整系统检查成本。对问题做配对 bootstrap,并用独立生成运行估计采样波动。提前定义费用上限和超时处理,所有失败、空输出与截断都留在分母中。
可能的失败解释。检索命中率高但答案仍错,说明瓶颈可能在读取与整合;候选覆盖提高而最终准确率不变,说明选择器不足;验证器带来收益但总延迟过大,说明它只在部分请求上值得用;自适应策略在开发集有效、测试集无效,可能是阈值过拟合。不能用平均值掩盖材料不足题上的编造行为。
参考判断。没有跨所有题型的固定赢家。若正确资料未召回,应先投检索;若给定正确资料后仍答错,先改读取和整合;若候选覆盖已高而提交准确率低,才优先改验证与选择。以各题型新增正确答案数除以新增总费用比较边际收益,并设置拒答质量和延迟下限。候选生成、验证及在线停止的成本都应计入,不能用共享回放的便宜查询伪装完整在线费用。
三处值得保留并继续核实的具体疑点
1. Medusa 对推测采样的解释边界。第 85 篇 指出,论文 §2.3.1 中相同分布仍可能拒绝的表述,需要区分独立抽样不一致与标准接受拒绝步骤。标准接受率 在 时为 1。核实应对照原始推测解码论文的算法,而不能从模型冻结直接推导 Medusa 的整个输出分布严格不变。
2. OLMo 2 的配置与公式不一致。第 93 篇保留了原文 v2中 z-loss 系数在表 3 与 §3.3.3 分别为 和 ,以及 §2.2 与 §3.3.2 的 MLP 输入记号差异。文章采用明确解释过的机制,但没有擅自选一个值称为所有训练运行的真配置。真正复现时应继续检查对应训练配置与版本提交。
3. 推理轨迹资源的总量冲突。第 100 篇的原文 v1摘要写超过二十亿条,正文写超过两百万条,表 1 合计为 1,948,821 条。现有文本不能支持把最大数字当作准确规模。应按分块表给出统计,并通过发布清单核实是否存在后续增量、统计单位变化或文字错误。
这些疑点不自动推翻论文其他结果。它们的作用是把“已经明确的机制”和“仍需核实的实现或统计”分开。研究阅读可以接受不确定性,但不能用流畅解释填补证据缺口。
按当前瓶颈回到论文
- 训练更省但服务更慢:对照 Chinchilla 的训练预算目标和 LLaMA 的推理规模目标,再用 vLLM 检查缓存与服务负载。
- 更新参数很少却仍爆显存:沿 LoRA 的低秩增量到 QLoRA 的量化基座,再回看 ZeRO 的训练状态分片;三者节省的是不同项。
- 增加计算仍没有选对答案:先用 GSM8K验证器 分开覆盖与排序,再看 ToT 是否提前剪掉正确前缀,最后按 推理评估协议 补齐候选与评审费用。
各项原图与结果表入口放在对应文章的结论旁。原文报告、本文手算和未运行的教学方案应分别使用:图表能限定证据,不能代替真实系统上的训练或测速。近期论文还需要结合采用版本和独立验证结果判断。
最后的自测
1. 一篇论文少用了一半可训练参数,为什么不能直接说训练费用减半?
因为冻结权重仍参与前向计算,激活、数据长度、优化器状态和算子效率也影响资源。要测量实际显存与时间,并说明是否计入调参、数据处理和教师生成费用。
2. 新系统在同一模型上提高了分数,是否足以说明模型本身变强了?
不一定。系统可能增加检索、工具、候选、验证器或推理长度,而模型参数没有变化。正确结论应归于完整系统,并通过消融和预算对照说明收益来自哪里。
3. 如何判断自己真正读懂了一篇论文?
能够不用摘要原话说明它修改的对象,写出关键流程和目标,指出最强的实验证据及其适用条件,构造一个可能失败的例子,并设计能区分竞争解释的实验。若只能复述“更快、更准、更省”,还没有完成这一步。