SWE-1.7:以极低成本实现前沿智能(阅读时间约22分钟)

TLDR AI 模型

摘要

Cognition 发布了 SWE-1.7,一个功能强大的 AI 模型,专为智能体软件工程设计,以更低的成本实现了前沿级别的性能。该模型在强化学习训练、多集群基础设施、数据整理以及针对长任务的自我压缩方面进行了改进。

SWE-1.7 以更低的成本达到了前沿级别的智能。这是对 Cognition 强化学习管道进行全面改进的结果,包括更好的基础设施、更稳定的训练、更高质量的数据以及针对长时任务的新技术。该模型现已可在 Devin 的网页版、桌面版和 CLI 中使用。本文详细介绍了模型背后的基础设施、算法和数据工作。
查看原文
查看缓存全文

缓存时间: 2026/07/09 19:34

# SWE-1.7:以极低成本实现前沿智能 来源:https://cognition.com/blog/swe-1-7 Ben Pan\*, Carlo Baronio\*, Rohan Choudhury, Eric Lu, Ryan Kim, Deniz Birlikci, TC Qin, Sam Lee, Fermi Ma, Allen Liu, Yang Liu, Sampriti Panda, Jacob Teo, Ray Wang, Gary Chang, Steven Cao, Silas Alberti\*同等贡献 07\.08\.26 今天,我们正式发布 SWE\-1\.7,这是迄今为止我们训练的最强模型。它以大幅降低的成本达到了前沿级别的智能,推动了成本-性能帕累托曲线的进展。 SWE\-1\.7 是我们强化学习(RL)流程全面改进的成果:更优的基础设施、更稳定的训练、更高质量的数据,以及面向长周期任务的新技术。由于 SWE\-1\.7 基于已进行过广泛 RL 后训练的 Kimi K2\.7 训练,我们从自身训练中获得的额外显著收益挑战了“后训练天花板”的观点,表明 RL 可以比先前认为的更进一步推动能力提升。 在 Cognition,我们一直为优秀的智能体软件工程制定和完善原则,无论是在评估方面(借用 FrontierCode1 [1](https://cognition.com/blog/swe-1-7#ref-1)、[2](https://cognition.com/blog/swe-1-7#ref-2)),还是在训练方面(现在通过 SWE\-1\.7)。我们的模型特别针对长周期异步任务进行了优化,这是高质量软件工程的重要组成部分。 SWE\-1\.7 现已通过 Cerebras 在 Devin 中提供(Web [app.devin.ai](https://app.devin.ai/)、桌面版 [devin.ai/desktop](https://devin.ai/desktop) 和 CLI [devin.ai/cli](https://devin.ai/cli)),支持 1000 TPS。我们鼓励您亲自尝试! **编码基准结果** 在智能体编码基准上的通过率(%)。 | 基准 | SWE-1.7 | Kimi K2.7 | CodeGPT-5.5 | Opus 4.8 | Opus 4.7 | GLM-5.2 | Composer 2.5 | SWE-1.6 | |------|---------|-----------|-------------|----------|----------|---------|--------------|---------| | FrontierCode 1.1 Main | 42.3% | 30.1% | 43.0% | 46.5% | 38.5% | 24.5% | 25.6% | 9.4% | | Terminal-Bench 2.1 | 81.5% | 72.7% | 84.2% | 86.9% | 83.0% | 81.0% | 76.0% | 39.7% | | SWE-Bench Multilingual | 77.8% | 73.5% | 76.8% | 84.4% | 80.5% | 74.5% | 71.6% | 58.3% | 本文后续部分将介绍我们如何训练 SWE\-1\.7:模型背后的基础设施、算法和数据工作。我们将重点介绍四个重要组件。 - **保持熵与稳定训练:**长时间 RL 运行面临两个棘手问题:熵崩溃,以及训练与推理之间因数值漂移导致的不稳定性。我们追查并解决了这些问题背后的原因,使得训练能够持续改进,远远超过此前运行停滞的节点。 - **多集群训练与容错:**RL 并不需要将所有推理算力集中在一个集群。我们在三大洲的多个集群上进行训练,通过对象存储传输权重更新,并构建了容错机制,使得硬件故障不会导致运行停滞。 - **策划高质量数据:**我们搭建了广泛的数据质量管道,通过自动执行测试对每个任务进行验证,过滤掉学习信号低的任务,并对任务进行加固以防止奖励作弊。 - **面向长周期任务的自我压缩:**模型学会总结其工作状态,并从总结中恢复运行,从而将任务周期延长至原始上下文窗口之外。我们采用交替长度惩罚机制,在保证正确性的同时激励简洁的输出。 最后,我们将分享一些观察到的有趣行为倾向,例如仔细探索和简洁推理,这些是模型在我们的训练设置下获得的特性。 ## 保持熵与稳定训练 [跳转](#preserving-entropy) 我们发现训练稳定性是大规模可预测改进的关键因素。 在使用异步 RL [3](#ref-3) 进行训练时,我们遇到的最棘手的问题之一是 KL 散度不匹配——即推理与训练之间的差异 [4](#ref-4),因为训练器策略通常与采样策略不同。过去,为了纠正这一点(尽管规模较小),我们使用了重要性采样 [5](#ref-5) 和面向低精度推理的量化感知训练(NVFP4 + 专家路由回放 [6](#ref-6), [7](#ref-7))。 这里我们介绍一些在更大规模下变得更加重要的额外干预措施。 我们发现 top\-p 采样 [8](#ref-8) 对于防止熵崩溃 [9](#ref-9), [10](#ref-10) 有显著贡献——即强大模型停止探索且奖励在几百步内趋于平缓的现象。 非常低概率的标记往往属于已经偏离轨道或超出分布范围的轨迹。这些轨迹很可能产生低奖励,而 softmax 函数的性质会导致这些标记使标记概率分布变得更加尖锐。确实,假设我们有三个标记,其 logits 为 \(x_1 > x_2 \gg x_3\),概率为 \(p_i = \frac{e^{x_i}}{e^{x_1} + e^{x_2} + e^{x_3}}\),其中标记 3 是一个低概率标记,导致低奖励。如果我们采样标记 3,其 logprob 对 logits \(x_1, x_2, x_3\) 的梯度为: \[ \nabla \log p_3 = \nabla \log \left[ \frac{e^{x_3}}{e^{x_1}+e^{x_2}+e^{x_3}} \right] = \begin{bmatrix} -p_1 \\ -p_2 \\ p_1+p_2 \end{bmatrix} \] 而 logits 的策略梯度更新为 \(\Delta x_i \propto \hat{A} \, \nabla \log p_3\),其中 \(\hat{A}\) 是采样标记的优势。由于该轨迹获得低奖励,\(\hat{A} < 0\),更新为: \[ \Delta x_1 \propto |\hat{A}| \, p_1, \quad \Delta x_2 \propto |\hat{A}| \, p_2, \quad \Delta x_3 \propto -|\hat{A}| \, (p_1+p_2). \] 在这些更新中,\(x_3\) 受到惩罚,而 \(x_1\) 的增长超过 \(x_2\)。因此,采样 \(x_3\) 会扩大已占主导地位的标记的领先优势,使分布更加尖锐,熵降低。Top\-p 采样从根本上阻止了这些低概率标记被采样并用作优化目标! **训练过程中的策略熵** 折线图显示了训练过程中的策略熵:SWE-1.7 方案使熵大致保持恒定,而基线则稳步衰减。 这种熵保持效应使得 top\-p 采样在我们的推理中很受欢迎。但简单地实现 top\-p 会明显增加训练-推理不匹配——训练器计算的是所有标记的概率,而推理只从 top\-p 子集中采样,因此分布差异更大,导致在少量步骤后崩溃。因此,我们实现了采样分布回放 [11](#ref-11),在推理时记录可用于采样的保留标记集,并在训练器中用这些掩码重新归一化概率。通过这一修复,我们的运行熵在训练和推理过程中基本保持恒定,并且训练-推理散度保持在有界范围内。 **训练-推理不匹配随时间变化** 折线图显示了跨训练步的训练-推理散度:采用采样分布回放后,散度保持在有界范围内,而朴素的 top-p 实现则发散。 使用 top-p 采样回放的另一个有趣结果是,只针对概率 \(p < \text{top\_p\_threshold}\) 的标记。概率高于阈值的标记保留集大小为 1,因此其重新归一化的概率分布为常数 1,梯度被置零。我们凭经验发现,模型采样的标记中有很大一部分高于标准 top-p 阈值,因此被排除在整体梯度计算之外。这降低了梯度噪声,并使优化算法专注于轨迹中具有高学习信号的标记。 我们还发现使用 Muon 优化器 [12](#ref-12) 以及消除训练器中的非确定性操作带来了益处。 ## 多集群训练 [跳转](#multi-cluster) Cognition 是一个快速成长的研究实验室,进入了一个高度计算受限的成熟领域。我们的目标是训练万亿参数模型,但如今,在网络单一的架构上拥有 10k-100k 芯片的大型集群是稀缺资源。相比之下,全球范围内的小型集群则丰富得多,只要正确利用即可。 在这种情况下,RL 的结构对我们有利。RL 天然可以跨多个集群分解。只有训练器必须位于单个高带宽集群上。用于生成推理的推理引擎是自包含的。它们可以在任何地方运行,只需要当前的权重。 我们投入了基础设施来利用这一特性。我们的 RL 训练跨越了三大洲的四个数据中心,将我们自己在多个集群上的 GPU 与 Fireworks 等推理提供商的额外算力结合起来。结果是我们能够将 RL 训练扩展到任何单个集群无法达到的规模。 **训练器集群 · 美国** **推理集群 · 3大洲** 数据缓冲区 STATE prompts in · scored data out Rollout Manager CONTROL custom rollout generation send init prompt recv scored data generation requests send train data Trainer OPTIMIZE GPU GPU GPU GPU write Δ weights XOR diff + zstd Cloud storage SYNC pull Δ, apply in-place Dynamo router Inference SERVE GPU GPU Inference SERVE GPU GPU SWE-1.7 RL 训练架构。一个位于美国的训练器集群通过云存储将压缩的权重增量流式传输到分布在三大洲的推理集群。 此设置的核心挑战是在每次优化器步骤后保持所有推理引擎与训练器权重同步。我们希望这些权重更新快速,以减少轨迹的过时性,从而可以使用更激进的学习率进行训练。 朴素地将完整模型从一个集群广播到另一个集群将非常缓慢且低效。相反,每隔 K 个梯度步,我们计算当前权重与之前权重之间的**压缩权重增量**并将其发送出去,将每次传输的大小减少超过 99% [13](#ref-13)。 我们不是直接将权重从训练器流式传输到每个推理集群,而是使用云对象存储作为权重版本单一真相源。训练器上传新的权重增量后,推理引擎几乎可以在无推理停机的情况下更新。每个训练运行的每个参与集群都有一个权重控制器,管理该运行的权重版本生命周期。权重控制器轮询对象存储以获取新清单(manifest),训练器在每次更新后写入这些清单。当发现新的增量时,它会指示工人下载其分片,然后通过树状广播复制到本地磁盘。相同的对象存储也负责将路由矩阵和 top-p 掩码从推理引擎传回训练器。 每个推理引擎将增量预取到 CPU 内存中,同时继续服务推理。只有在增量完全暂存后,引擎才会短暂暂停以就地应用它。正在进行的推理可以简单地继续使用新权重,其 KV 缓存保持不变。 使用这种方法,跨大陆的万亿参数模型权重更新在端到端 1-2 分钟内完成。这是异步进行的,除了更新时 3-4 秒的推理暂停外,不会阻塞训练或推理。 ## 容错机制 [跳转](#fault-tolerance) 在大规模系统中,硬件故障持续发生,而每次故障时全局重启会使长时间运行变得不可行。我们的架构根据故障发生位置——推理引擎或训练器——以不同方式处理。 推理侧的故障本质上成本较低。引擎是自包含的,不保留除当前权重之外的任何状态,因此一个死掉的引擎只会损失其正在进行的会话。我们使用 NVIDIA Dynamo 管理引擎生命周期和路由推理:每个智能体沙箱都有自己的代理,记录输入输出的标记,因此如果某个副本宕机,我们不会丢失完整的轨迹,Dynamo 会将其重新路由到另一个工作节点。当 Dynamo 将副本重新调度到健康节点上时,我们的权重控制器从对象存储加载最新的检查点,并从检查点版本回放一系列增量。 训练器是故障代价高昂的地方:它是唯一紧密耦合的组件,一个死节点会拖慢整个集群。为了快速恢复,每个节点每个步骤异步检查点到本地磁盘,并将其分片复制给对等节点,这样死节点的状态可以在几秒钟内从副本重建。如果仍缺少容量,运行会通过整个数据并行副本缩小,并在节点恢复后重新增长。在此过程中,推理管道始终保持活跃。训练器重启后,缓冲区策略会选择哪些累积的推理结果用于训练,并防止中断期间训练-推理吞吐量不平衡带来的偏差。 ## 长周期任务的智能自我压缩 [跳转](#self-compaction) 从一开始,我们就构建 Devin 来完成异步、长期运行的任务。SWE\-1\.7 直接在 Devin 框架内训练,因此我们自然希望训练自己的模型处理更长的周期任务。这引入了两个挑战。首先,推理可能远远超出原始上下文窗口。其次,正如 DeepSeek R1 [14](#ref-14) 所示,推理任务的 RL 往往会产生越来越长的响应,但我们希望模型在推理方面保持高效,仅在困难任务上展开详细思考。 我们通过**自我压缩训练**和**交替长度惩罚**来解决这些问题。 - 当智能体接近上下文限制时,我们要求其总结工作状态,并从其自行撰写的摘要中恢复运行。在训练过程中,模型同时学习 (1) 撰写更具信息性、更简洁的摘要,以及 (2) 更好地利用和依赖此类摘要。我们首先在 Kevin [15](#ref-15) 中引入了这种方法的一个版本,当时我们探索了将其用于内核优化任务。通过自我压缩,SWE\-1\.7 训练运行中的推理可达长达六个小时的持续时间。 - 我们没有在整个训练过程中均匀应用长度惩罚,而是采用交替策略 [16](#ref-16)。在**无约束阶段**,模型仅针对任务成功进行优化。在**预算阶段**,我们惩罚超出加权成本函数一定预算的解决方案,该成本函数包括标记、轮次以及工具调用所花费的总时间。通过这种结构,响应长度在模型能力范围内的任务上倾向于压缩,而在困难任务上的长周期行为得以保留。 **交替长度惩罚下的响应长度** 折线图显示了在双阶段长度惩罚下训练过程中的平均响应长度。在无约束阶段,长度增长,因为模型在困难任务上思考更久;在预算阶段,长度在已解决的任务上压缩。 ## 数据质量 [跳转](#data-quality) 数据是决定模型学习何种能力和技能的核心因素。因此,我们确保训练所用数据经过校准且难度足够,同时抑制不良行为以保持模型良好对齐。我们主要关注以下方面: - **验证器质量:**任务的验证器可能以两种方式出错:接受错误——

相似文章

@dair_ai: https://x.com/dair_ai/status/2061104052818108476

X AI KOLs Following

三篇值得关注的人工智能论文综述:SkillOpt 将技能文档视为可训练参数以优化冻结的智能体;一种新方法将智能体工作流编译成模型权重,实现100倍成本降低;而 AutoScientists 引入了一个去中心化智能体团队,无需中央规划者即可进行长期科学研究。

Sakana Fugu(三分钟阅读)

TLDR AI

Sakana AI 推出 AB-MCTS,一种推理时缩放算法,使多个前沿 AI 模型(Gemini 2.5 Pro、o4-mini、DeepSeek-R1-0528)协同工作,在 ARC-AGI-2 基准测试中显著优于单个模型。

@jefffhj:这是个好模型。

X AI KOLs Following

SpaceXAI 宣布推出 Grok 4.5,这是一款专为编码和智能体训练的人工智能模型,以领先的速度和成本效率提供前沿智能。