返回 文章 apply CMS 文章

GLM-5.3 vs Flash:蒸馏模型成本降17倍,能力损失不足3个百分点

蒸馏版 Flash 模型在 DeepSWE 上以 17 倍低成本实现接近完整模型的性能,适合成本敏感场景。

GLM-5.3蒸馏模型DeepSWE成本优化
成长分 / 100 78 综合收获、行动、留存与影响

GLM-5.3 vs Flash:蒸馏模型成本降17倍,能力损失不足3个百分点
为什么值得读了解蒸馏模型在真实编码基准上的性能差距,并非简单的能力下降,而是可靠性损失。

获取具体的成本对比数据(每次 rollout 0.24 美元 vs 3.99 美元)和级联路由策略(80.9% 通过率,成本 1.70 美元)。

关键洞察
  1. Flash 在 pass@1 上落后 5.6 个百分点,但 pass@4 时差距缩小至 2.6 个百分点,表明损失主要是首次尝试的可靠性。
  2. Flash 保留了完整模型解决 94% 的任务能力,但稳定性下降,且无法将额外努力转化为成功(努力回报率 46% vs 61%)。
  3. Flash 在并发、Python、数据建模等领域表现更优,但在 JavaScript 和查询方面较弱(样本小,需谨慎解读)。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:14358

关键要点

先运行 GLM-5.3 Flash,仅在测试拒绝答案时升级到完整的 GLM-5.3。这种级联方式以每次 1.70 美元的成本解决了 80.9% 的 DeepSWE 任务。单独使用 GLM-5.3 以 3.99 美元的成本解决了 69.0% 的任务。高出 12 个百分点,成本降低 57%。如果你要选择单一模型,选 Flash:它在首次尝试时落后 5.6 个百分点,但到第四次尝试时仅落后 2.6 个百分点,因为蒸馏去除的是可靠性,而重试买回的正是可靠性。

  • 差距是首次尝试效应。pass@1 为 69.0% 对 63.4%,pass@2 为 4 个百分点,pass@4 为 2.6 个百分点(87.6% 对 85.0%)。
  • 价格差距为 17 倍。每次推出 3.99 美元对 0.24 美元。每花费 100 美元,Flash 解决 264 个任务,完整模型解决 17 个。
  • 能力幸存,一致性没有。在完整模型解决的 99 个任务中,Flash 仍能解决 93 个。它稳定了父模型不稳定的 15 个任务,并攻克了父模型完全无法解决的 3 个任务。
  • Flash 无法将努力转化为胜利。在不稳定的任务上,完整模型 61% 的时间较长运行是成功运行,而 Flash 为 46%,低于抛硬币的基线。
  • 一个真正的回归:谨慎。Flash 在 6.9% 的推出中破坏了已通过的基线测试,而完整模型为 4.4%,因此需要用回归运行来把关。

GLM-5.3GLM-5.3 Flash 是同一家族的两个尺寸。GLM-5.3 是完整的开放权重模型;GLM-5.3 Flash 是其蒸馏版本,推出价格为其十七分之一。每个团队关于 flash 变体都会问的问题是它牺牲了多少质量。在 DeepSWE(一个测试模型在多种任务类型和编程语言上的软件工程能力的基准)上,答案比标题中的 pass@1 差距所暗示的要小,因为 Flash 不是完整模型的缩小克隆。它是其能力的重新分配,而它真正失去的并不是标题数字所指出的东西。

我们在所有 113 个 DeepSWE 任务上运行了 GLM-5.3(最大)与 GLM-5.3 Flash(最大)的对比,每个任务四次试验,基于已发布的每次试验记录:总共 900 次推出,452 次完整,448 次 Flash。以下是完整比较和蒸馏剖析的汇总。下面的每个数字都来自这次运行,因此可能与其他公开的 GLM-5.3 与 GLM-5.3 Flash 记分卡不同。

DeepSWE 记分板:pass@1 和 pass@k

单次尝试,完整模型领先 5.6 个百分点,69.0% 对 63.4%。这一领先是首次尝试的假象。在 pass@2 时缩小到 4 个百分点,在 pass@4 时缩小到 2.6 个百分点,87.6% 对 85.0%。蒸馏让 Flash 损失了更多单次尝试的光泽,而不是其上限。对于任何 best-of-k 工作负载,有效质量损失低于 3 个百分点,而价格仅为十七分之一。从 5.6 到 2.6 的下降是第一个线索,下一节将解释它。

蒸馏真正付出的代价:一致性,而非能力

将每个任务按模型分类为墙(4 次中 0 次通过)、不稳定(部分通过)或稳定(全部通过),然后追踪完整模型的任务在 Flash 中的分布。

右上角的零承载着这一部分:在完整模型解决的48个任务中,有四个任务四个都解决了,没有一个在Flash中变得不可解。一半保持完全稳定;另一半只是失去了一致性。覆盖率保留也说明了同样的问题:在完整模型至少解决一次的99个任务中,Flash仍然解决了93个,即94%。蒸馏并没有移除解决这些任务的能力。它移除了可靠性。与能力损失不同,一致性损失正是重试可以恢复的,这就是为什么pass@4的差距远小于pass@1的差距。

成本对比:GLM-5.3与GLM-5.3 Flash的定价和速度

以0.24美元对比3.99美元,Flash每次生成的成本低17倍:每100美元可解决264次,而完整模型只有17次。通常Flash在每token速度上较慢的权衡并未出现。Flash更快,平均26分钟,而完整模型为35分钟,并且它不是通过偷工减料来实现的:它运行了相同数量的步骤,123步对125步。整个速度差异在于每步延迟,Flash每步12.5秒,而完整模型为17.0秒,较小的模型在较小的工作窗口(平均峰值上下文145k,而完整模型为155k)中执行每一步的速度约快27%。成本更低,速度更快,思考长度相同。

一致性去了哪里:蒸馏从边缘侵蚀

按完整模型解决任务的可靠性对任务进行分组,然后测量Flash在每组中的平均通过率。

结果是一个清晰的单调梯度:完整模型对任务保持的可靠性越高,Flash保留该能力的比例就越大。蒸馏从能力分布的边缘开始侵蚀,而核心保持不变。它使模型能与不能之间的边界更加清晰,而不是将整个能力曲线按比例缩小。

GLM-5.3 Flash失去了将艰难尝试转化为成功的能力

这是不稳定背后的机制,也是研究中最令人惊讶的结果。在不稳定的任务上,问题是较长的运行是否倾向于成为成功的运行。相同的任务,相同的难度,只有运行不同。

  • 完整GLM-5.3:在其不稳定的任务中,有61%的任务中,通过的运行比失败的运行花费了更多步骤。完整模型能够思考出解决方案,努力转化为成功。
  • GLM-5.3 Flash:46%,低于抛硬币的基线。不稳定任务是否成功基本上与Flash运行时间无关。

因此,蒸馏不仅使模型每一步都稍微变差。它移除了模型利用额外努力的能力。这也不是随机的探索:Flash在任务内的步骤方差略低于完整模型,变异系数为0.12对0.14。它每次运行的长度大致相同,有时成功,有时不成功。它失去的是让完整模型将艰难尝试转化为已解决任务的搜索能力。

各自在哪些领域和编程语言中胜出

损失只是账本的一半。Flash在特定地方回馈了能力:

  • 完整模型中15个不稳定的任务在Flash中变得稳定,稳定了父模型不稳定的工作。
  • Flash解决了完整模型完全无法解决的3个任务。
  • 按领域来看,它并非全面落后:并发和持久性+8(62到70),Python +5(66到71),数据建模+4(79到83),协议+3(44到48)。它在JavaScript、查询和配置、有状态响应性、Rust和语言内部机制方面有所欠缺。

在八个领域中,完整模型赢得5个,Flash赢得3个;在语言方面,完整模型赢得四个(Go、TypeScript、JavaScript、Rust),Flash赢得一个(Python)。完整模型在推理密集型和JavaScript密集型工作中胜出;Flash在系统和Python工作中胜出。Flash的JavaScript数字单独看令人担忧,但它基于五个任务的样本,且由单个任务驱动,因此应将其视为方向性而非定论。更广泛的解读是,蒸馏重塑了模型的能力分布,而不仅仅是降低了它。

精度与覆盖范围

完整模型在覆盖-可靠性平面上位于右上方:覆盖率为87.6%,可靠性为78.8%,而Flash分别为85.0%和74.7%。完整模型解决了48个任务,四次全对,而Flash为39个;完整模型完全无法解决14个任务,Flash为17个。蒸馏在两个维度上都略有削减,但Flash在记分板上的运行间方差增长超过了其平均值下降(pass@1标准差为4.1,而完整模型为2.7),这与从总体中看到的一致性情况相同。

唯一的真正回归:附带损害

并非所有方面都对Flash有利。除了准确性和一致性之外,蒸馏使模型在附带损害方面明显不那么谨慎。以非错误运行中破坏至少一个已通过基线测试的比例来衡量:

GLM-5.3:4.4%GLM-5.3 Flash:6.9%

Flash在行动时干扰工作代码的可能性高出50%以上。这是它唯一变得更差而非仅仅成本更低的方面,也是需要添加护栏的地方:在接受未经审查的Flash差异之前,运行完整的回归测试套件。

在它们之间路由:同族级联

由于Flash牺牲的质量很小且大部分可恢复,而节省的成本很大,同族级联是直接的成本削减。先运行Flash,仅在验证器拒绝答案时升级到完整模型:每任务1.70美元,通过率80.9%,高于完整模型自身的单次pass@1(69.0%),而价格不到其一半。两者之间的每任务相关性为0.61,它们的并集覆盖了113个任务中的102个(90.3%),因此低成本的第一阶段清除了大部分队列,完整模型只处理剩余的困难部分,然后获得第二次独立尝试。

这意味着什么

将 GLM-5.3 蒸馏到 GLM-5.3 Flash 是手术刀,而非锤子。它保留了能力,但牺牲了一致性:完整模型的零个稳定任务变得不可解,pass@4 差距为 2.6 个百分点,而非 5.6。它移除了让模型将艰难尝试转化为胜利的搜索能力,努力回报率从 61% 降至 46%,这才是不稳定的真正来源。它重塑了能力画像而非缩小它,在并发、Python、数据建模和协议方面有所增强,同时让渡了 JavaScript 和查询工作;其中最具冲击力的头条——JavaScript 下降,在五个任务的样本中仅是一个任务的影响。它唯一的真正回退是谨慎性,基线破坏率为 6.9%,而完整模型为 4.4%。

经济性主导其余方面:每次 rollout 成本降低 17 倍,每 $100 可解决 264 个任务,墙钟时间更快,而最佳 k 质量仅损失不到 3 个百分点。对于成本受限和吞吐量受限的工作以及任何最佳 k 流水线,默认使用 GLM-5.3 Flash。当任务以 JavaScript 或查询为主,或需要首次尝试可靠性时,请使用完整版 GLM-5.3。用回归测试来把关 Flash。如果你运行完整模型,请在前面加上 Flash,可将账单减半以上。

数据表:GLM-5.3 与 GLM-5.3 Flash 的完整结果

方法与注意事项

  • 数据:DeepSWE v1.1 导出,每个配置 4 次试验共 113 个任务,均以最大努力运行。GLM-5.3 有 452 次试验,其中 1 次基础设施错误;GLM-5.3 Flash 有 448/452 次试验,0 次基础设施错误,因此少数任务有 3 次 Flash 试验,类别和通过率使用每个任务的实际试验次数。
  • 类别:wall = 0 次通过,solid = 所有试验通过,flaky = 部分通过。覆盖率 = 至少解决一次。保留分箱按完整模型每个任务的结果对任务进行分组。
  • 努力回报率:在每个 flaky 任务中,通过试验与失败试验的平均代理步骤数,报告为通过试验超过失败试验的 flaky 任务比例。这控制了任务难度。行为变异是任务内步骤的变异系数。
  • 附带损害:非错误 rollout 中基线测试失败(p2p < 1)的比例。每步时间是平均持续时间除以平均步骤数。步骤、令牌、分钟和峰值上下文均为平均值,与 DeepSWE 网站一致。
  • Flash 成本使用其当前每个任务平均 $0.24。领域使用基于工件的分类法。每个回合的轨迹 JSON 在公共 CDN 上不可用于任一 GLM-5.3 批次,因此所有结果均为索引级别。
  • 语言划分是小样本。特别是 JavaScript 仅基于五个任务,因此单个任务的变动会影响该单元格。

常见问题

GLM-5.3 Flash 和 GLM-5.3 一样好吗?

接近,而且你允许的尝试次数越多,差距越小。GLM-5.3 在 pass@1 上领先 5.6 个百分点(69.0% 对 63.4%),但在 pass@4 时差距缩小到 2.6 个百分点(87.6% 对 85.0%)。GLM-5.3 四次全解的 48 个任务中,没有一个对 Flash 来说变得不可解,因此损失的是可靠性而非能力。

GLM-5.3 Flash 比 GLM-5.3 便宜多少?

在我们的运行中,GLM-5.3 Flash 每次 rollout 成本为 $0.24,而 GLM-5.3 在最大努力下为 $3.99,大约便宜 17 倍。按每个解决任务计算,Flash 每 $100 返回 264 个解决任务,而完整模型为 17 个,每美元解决的工作量约为十六倍。

对于编码,哪个更好,GLM-5.3 还是 GLM-5.3 Flash?

这取决于具体工作。GLM-5.3 在五种语言(Go、TypeScript、JavaScript、Rust)中胜出四种,在八个领域中胜出五个,并且在首次可靠性及推理密集型任务上是更优选择。GLM-5.3 Flash 在并发性和持久性(70 对 62)、Python(71 对 66)、数据建模(83 对 79)以及协议工作(48 对 44)方面领先。

我是否应该在 GLM-5.3 Flash 和 GLM-5.3 之间进行路由?

是的,如果你能验证结果。先运行 GLM-5.3 Flash,当你的测试套件拒绝输出时升级到 GLM-5.3,这样在每任务 1.70 美元的成本下达到 80.9% 的通过率,优于单独使用 GLM-5.3(69.0% 通过率,每任务 3.99 美元),而成本不到后者的一半。每任务相关性为 0.61,两者结合覆盖了 113 个任务中的 102 个。

GLM-5.3 Flash 是否可以安全接受而无需审查?

添加回归门。GLM-5.3 Flash 在 6.9% 的非错误 rollout 中破坏了至少一个已通过的基线测试,而 GLM-5.3 为 4.4%,因此它干扰现有工作代码的可能性高出 50% 以上。在接受差异之前运行完整的回归测试可以缩小大部分差距。

DeepSWE 上的 pass@k 是什么?

pass@k 衡量在 k 次尝试中至少有一次通过隐藏测试套件的概率。pass@1 奖励第一次尝试就正确;更高的 k 奖励模型在多次尝试中最终能达成解决方案。GLM-5.3 Flash 的差距随着 k 的增加而缩小,这就是为什么它适合容忍重试的流水线。