过去几周,认知(Cognition)研究团队和我在优化作业调度器以更好利用分解式计算。作为概念验证,也因我约有十年因式分解的爱好,我驱动一批迪文(Devins)取得了 RSA-260 的因式分解。为此,这些迪文构建了全球最高性能的 GPU 格筛器,使因式分解数字的成本比此前公开最优水平低 10 倍。
正文
过去几周,我和 Cognition 研究团队一直在优化作业调度器,以更好地利用分解式计算资源。作为一个概念验证,也因为我大约十年来一直把分解数字当作业余爱好,我驱使一群 Devin 实现了 RSA-260 的因式分解。为此,我的 Devin 构建了全球最高性能的 GPU 格筛器,使分解数字的成本比先前公开的最高水平低 10 倍。分解结果如下:
22112825529529666435281085255026230927612089502470015394413748319128822941402001986512729726569746599085900330031400051170742204560859276357953757185954298838958709229238491006703034124620545784566413664540684214361293017694020846391065875914794251435144458199 = 4397328654844826923795068102505872571721883526553349659561256924505973939597593482272505698004801207988043088656411102133523080581 × 5028695206842569864686141618253083416610081090075366674776775706538324961364412200138116378509733307971876652984898985905923678379
RSA-260(一个 260 位数)成为公开解决的最大 RSA 分解挑战问题新纪录,该挑战用于评估破解 RSA 密码体系的可行性。此前的纪录 RSA-250 于 2020 年 2 月创造。作为参考,当前最先进的 RSA 公钥包含 2048 位(约 617 位十进制)的分解问题,而 1024 位(约 309 位)RSA 已于 2013 年弃用。
以下是完成此事的细节,但先说两个重要结论:
- 大型云厂商或前沿 AI 实验室很可能以每数约 3000 万美元的成本分解 RSA-1024 数字——再稍作优化,成本可能大幅降低。另一方面,RSA-2048 的难度约为 RSA-1024 的十亿倍,似乎未受本工作实质影响。
- Devin 是足够强大的软件工程师,能解决计算数论与 GPU 性能工程交叉领域的难题。我的角色主要是设定优先级、建立基准,并在工作跑偏时察觉。其余的测量、集群操作和端到端优化均由 Devin 自主完成。这替代了原本可能需要高度专业领域专家团队数月努力的工作。
这是怎么发生的?
与一些流传的说法相反,我不是靠手猜和检验 130 位素数分解 RSA-260 的,Cognition 也没造出几千量子比特的量子计算机。RSA-260 是通过在 GPU 上全新实现通用数域筛法(GNFS)分解的,由 Devin 准备并运行。GNFS 是已知对超过约 100 位的大多数数字最高效的算法,此前的 RSA 分解纪录也用了它。
该实现大幅修改了 CADO-NFS。我基本没有算法层面的创新——在 GPU 上实现格筛和稀疏线性系统求解,仅靠“老派的性能工程”来利用 GPU 夸张的存储系统。
成本估算
总计,我估计这次分解花费约 4900 GPU-天,即 13.5 GPU-年,按当前市价约 40 万美元。现代 GNFS 实现顺序运行几个阶段:多项式选择、格筛和线性系统求解。时间分解为:
- 多项式选择 643 GPU-天(异常高,基本因操作者无能)
- 筛分 3813 GPU-天
- 线性系统求解 467 GPU-天(其中约 7% 因崩溃或被更重要任务抢占而无进展)
这是我在优化作业调度器以改进分解式计算资源分配期间的副项目,用了集群个位数百分比的资源。对更大的 RSA 实例意味着什么?
RSA-1024 相当于 309 位;按标准 GNFS 缩放,计算量仅是 RSA-260 的 78 倍。我估计按市场 GPU 价格分解 RSA-1024 成本约 3000 万美元,可与挂钟时间折中。我确切知道当前实现仍明显次优;若适度进一步工作将 RSA-1024 分解成本再降 2 倍,我不会惊讶。
当然,RSA-1024 不安全并非新闻。早至 2000 年代中期就有猜测 NSA 可能具备经济分解 RSA-1024 的能力(参见 TWIRL 或 Bernstein 矩阵机)。如下所述,主要进展在于:(1)分解成本(金钱与时间)可能更低;(2)可能有更多方具备分解能力(只需足够 GPU 而非专用硬件);(3)非密码学家现在能较容易地加速分解。
最后我强调,效率提升对用 GNFS 分解 RSA-2048 量级数字的可行性几乎无影响。
利用闲置计算资源分解
分解运行在原本无法用于他途的闲置或碎片计算资源上,边际成本为零。为何存在这种计算?
我们用于 LLM 训练和推理的集群包含 NVL72 机架,每个名义上有 18 台通过高速 NVLink 互联的计算机。LLM 负载利用单机架内计算机组以发挥高速互联。作业调度器须解决约束优化问题将负载装入机架。全局分配中,一些机架可能有一两个空闲节点;有时作业请求备用节点容错,或作业需要偶数台计算机而机架只有 17 台。对我们而言,这些低效占整体计算个位数百分比。
为利用闲置计算,我首先改装作业调度器,以最低优先级在其他负载周围填充单节点作业。但我们缺乏稳定的可抢占单节点负载源。自然,我想到了格筛,它完美契合此场景。
格筛在数十亿小工作单元上极度并行,可逐单节点推进,且可瞬时安全抢占。它也是 GNFS 最耗计算的部分,完成筛分即离分解不远。但此前所有公开 GNFS 纪录仅用 CPU 格筛;由于 GPU 上高效实现格筛的难题,长期不清楚 GPU 格筛整体是否更划算。
简言之,我只缺一个能接受分解 RSA-260 所需参数的高性能 GPU 格筛器。于是我做了什么?让 Devin 去写。
用 Devin 优化 GNFS
太平洋时间 8 月 13 日 0:11:58,我指派 Devin 产出 CADO-NFS 的 CPU 格筛器 las 的替代件。我用提示词如下:
CADO-NFS 是执行 GNFS 的自由开源软件。我希望你开发快速 GPU 格筛器。这在现有技术下历来困难,因为 CPU 格筛优化大量使用条件分支和复杂内存访问模式,且 GPU 内核编写专家与数域理论专家交集极小。但 GPU 更高的总内存带宽承诺更高性能上限。而这个交集现在包含了你。你可使用我授权的 Modal 访问密钥启动单 GPU 机器做性能测试。获取 CUDA 工具链等并在本地构建;仅用 GPU 做性能测试,测量间隙关机。最终 GPU 格筛器应是 CADO-NFS 筛分步骤的直接替代。迭代直至超越 CPU 格筛器性能。
两小时后我补充说 glas(当然即 GPU 版 las)应能处理 RSA-250 所用参数。然后我睡了。醒来发现又迭代 7 小时后 Devin 成功了。
随后一周我驱动 Devin 优化格筛,然后优化 GNFS 流水线其余部分。先给出 GNFS 优化高层描述,再讲优化工作流。
GNFS 优化(高层)
高层看,GNFS 顺序运行若干阶段:多项式选择、格筛、线性系统求解。
多项式选择固定算法运行的数域。多项式选择控制格筛步骤的常数倍加速。因此通常值得花固定比例(约 5%)的总筛分计算找“好”多项式。这里技术创鲜少;我们将 CADO 的一阶段多项式选择适配到 GPU(产生 gps1),并用了 msieve 优化过的一阶段多项式选择的部分内核装备。多项式选择大致极度并行。
GNFS 主要计算量在格筛。格筛目标是生成大量(我们案例为 83 亿)GF(2) 上的稀疏线性关系,此处(略去细节)向量项表示光滑数素因子分解中素数指数的奇偶性。格筛在称为“special q”的工作项上也极度并行,但每项需在大数组伪随机位置大量读写;处理此问题是优化筛分的主要技术挑战。
最终我们将这些关系打包成 GF(2) 大矩阵,用线性系统求解找线性依赖。此规模下,线性系统求解通常分布式且需大量通信带宽;Infiniband 和 NVLink 充裕提供。块 Wiedemann 算法允许稍放宽通信约束,CADO-NFS 中的特定实现也可优化并跑在 GPU 上,我们做了。解可处理为模 N 的平方同余,得出分解。
整体上,Devin 大幅修改几乎每部分,包括改几个接口:
- 适配 GPU 的 CADO-NFS 一阶段 polyselect,含 msieve 组件
- 基于
las的 GPU 优化格筛器 - 优化 CADO 头以处理工作单元量
- 并行并优化 dup/purge 及融合 merge/replay 程序
- 新 GPU 优化块 Wiedemann 实现
- GPU 加速 sqrt
- 相关运行脚本
CADO-NFS 流水线中未改程序仅有:cado-nfs.py 本身、polyselect_ropt(二阶段多项式选择)、makefb 和 dup1。我们甚至优化 fake_rels 以让所需规模合成输入有合理性能。
注:我理解这些组件如同中级汽车爱好者理解汽车部件:整体系统中大致角色、对性能影响、改动权衡及良好运行使用样貌——但不懂底层物理,也不懂从原料制造部件。即我不懂太多底层数学。我可告诉你多项式选择给格筛产出提供常数因子;但说不出多项式如何在筛分器中使用。此领域我远非专家!
优化工作流
我驱动多个并行 Devin。项目三周期间,平均 3 个、最多 18 个并发 Devin 会话。大致两类:
- 迭代优化单个组件——设计运行实验、解读结果、选目标改进、实现并重复
- 管理集群上端到端分解运行——演练整条流水线及支撑脚本,暴露最重要低效(错误、利用率、性能)供进一步优化
具体 Devin 负责了实质部分:
- 为筛分和线性系统求解选参调参(尽管基准设备需我帮启)
- 生成/优化多项式选择(难度不一)
- 跑迭代优化循环
- 调试(自然)
- 搭建优化处理脚本
- 编排集群大规模计算
我每几小时与优化循环交互一次,穿插与其他 Devin 会话谈常规工作。
Devin Cloud 对此工作流尤便:会话持久且与我电脑独立,并行直接,沙箱防干扰,会话可自主跑数周。我们已知 Devin 在 ML 相关负载的 GPU 编程、实验和集群管理上有效,但格筛与 GNFS 颇不同;我发现 Devin 泛化能力令人印象深。
沿缩放阶梯向上
此工作流带来惊人进展速度,我(甚至 Devin 自身)几乎跟不上。头五天我们跑缩放阶梯。结束时,分解 190 位数耗时与开始时分解 157 位数相同——略超 3 小时。
| 目标 | 开始 (UTC) | 结束 (UTC) | 挂钟时间 | | --- | --- | --- | --- | | C155(合数序列171648项) | 2026-08-14 21:51:50 | 2026-08-15 00:04:58 | 7,988秒(含头崩溃测试间隙1,412秒) | | C157(合数序列171648项) | 2026-08-14 13:39:58 | 2026-08-14 16:51:24 | 11,486秒 | | C173(合数序列9708项) | 2026-08-14 22:01:02 | 2026-08-15 09:18:48 | 40,666秒 | | C175(近循环数) | 2026-08-16 00:32:51 | 2026-08-16 08:56:50 | 30,239秒 | | C190(近循环数) | 2026-08-17 02:17:16 | 2026-08-17 07:34:56 | 19,060秒 | | C201(奇完全数障碍) | 2026-08-17 09:42:44 | 2026-08-18 01:33:59 | 57,075秒 | | C311 = (179^139 - 1)/178 | 2026-08-18 06:52:44 | 2026-08-18 21:11:46 | 51,542秒 | | C190(随机半素数) | 2026-08-18 22:12:28 | 2026-08-19 01:23:11 | 11,443秒 | | C344 = (11^331 - 1)/10(奇完全数障碍) | 2026-08-31 10:44:54 | 2026-09-01 23:40:44 | 132,950秒 | | RSA-260 | 2026-08-18 12:14:19 | 2026-09-03 01:48:57 | 1,344,878秒 |
分解 C311(难度约等同 216 位数 GNFS)后,更稳妥是接着分解 230 位等价难度数以跨越剩余几数量级。但我估计 RSA-260 可在一个月内完成,故已开多项式选择,尽管知线性代数仍显著未优。
Devin 仍需要我(或其他人)做什么?
Devin 成功优化并执行了复杂计算数论流水线,规模前所未有需大量人类专长。但我不能称 Devin 在整个端到端流水线自主迭代。有趣是它需我做什么。
答案似乎是:仍很多。回溯 Devin 称我在 233 个用于分解的会话中的 192 个里发了 82,702 词(502,887 字符)于 3,328 消息(共 14,450 ACU)。其中 Devin 自启 101 子会话,36 个完全无我干预。
Devin 需我行使执行职能,梳理并核查其工作,即:
- 设目标层级并保持 Devin 适当范围
- 识其无益工作时重定向(“你不需测那个”)
- 识其工作流重复低效(“你可分摊此设置工作”)
- 指未试方向(“确保 GPU 不阻塞于 CPU”、“这里能用 NVLink SHARP 吗?”)
- 组织实验框架与结果(“如此测、此前结果在此,别每次搞不可比新方法”)
- 抓其过早弃方向
尽管回溯我似提供几处具体技术洞见,最大贡献或是扶植统一测量结果、基准和性能估计集,显见否则不会自组装。这使 Devin 更易跑和理解测量,我也知进展程度及何处需改进。
退一步,我强调无 CADO-NFS 此努力不可能。CADO-NFS 是先进健壮 GNFS 开源实现,用于多前纪录及分解爱好者社区。它提供所有相关技术、流水线阶段及接口、参考 CPU 实现。据此我令 Devin 群大致独立优化程序并比原输出。如许多案例,信人类工程化问题分解对使智能体进展关键。
实则我注意到代码库离上游 CADO-NFS 越远,智能体越迷糊。可归累积复杂,但我疑 CADO-NFS 在预训练中存在也相关。
技术部分至此完(附录细节更多)。
杂感
所发生对我奇怪。结果有我名,但不清如何分功给我、Devin、硬件和世间。
编程任务中,我视当前模型与智能体如缝纫机或织机。我以某种方式推它;无我固然不行,但我也不手抛梭。难言我角色究竟,但信非空无。肤浅说,与 Devin 做此同原本无大异:我交互远大于我且精微运作不明物理系统,能量耗散,因数出。
另一方面,明显新事发生。从首提示到得 RSA-260 因数约三周。此速率显能力过剩,其程度仅初探。我认为不应避此探索。尤其若问题可“仅编程”解,似值得立刻试。
近几日亦见数学一些惊人称果,含千禧年奖难题之一称解。我共忧人类理解流失。我未如自建般学多 NFS 或 GPU 编程,但比全不用 Devin 可能多。我认为重要是搞清全球配资源维人类理解,即使技术使或励我们弃此。同时此类工具或允选深解最值处、探超个人昔所达、扩能有意义的贡献者集。此工两向皆例。
评论
整体气氛罕见地正面:多数人被一篇由人类亲手执笔、又写得清楚的「智能体集群实战」长文打动,分歧几乎全部集中在攻击成本怎么算——是 GPU 便宜还是 CPU 更划算,以及「成本」这个框架本身是否站得住。
终于有人类亲手写「智能体集群干活」的文章
- 有人认为这是第一次看到这类博客文真的出自人类之手,读起来格外清爽(较多人)
- 也有人单纯夸文章写得好、令人耳目一新(较多人) > 这是第一次「我让一个智能体集群做成了某件事」的文章真的由人类写的,太清新了。(@Retr0id)
对 Devin 重新出现在文中半开玩笑地表示意外
- 有人感叹 Devin 这个名字已经很久没听到了,代表一种「当年吹得很响、后来销声匿迹」的社区情绪(少数人) > 意译(@rao-v)
- 也有人直接问 Devin 到底是什么,以及它凭什么听作者的指挥(少数人)
认为 GPU 成本被高估,按今天的 CPU 租金其实差得没那么远
- 有人指出原文的成本基线有问题:RSA-250 的核年是以 2017 年 Skylake 至强单核为单位算的,如果按每小时 1 美元租一台专用 96 核 EPYC,叠加两倍以上的单核性能提升和核数优势,7,010 个 Skylake 核年只需要约 17.5 万美元,而不是 500 万美元;按需云主机更贵(可能每小时 5 美元)才会让 GPU 显得更划算,但两者的差距比作者描述的小得多(较多人) > 意译(@herf)
认为真正的亮点是把闲置算力用起来
- 有人抓住文中那段自相矛盾式表述:作者估算这次分解耗掉约 4,900 GPU 天、约 13.5 GPU 年,市价约 40 万美元,却又说实际跑在无法挪作他用、边际成本为零的碎片算力上;这种「搁浅算力」的用法本身很有意思(较多人) > 意译(@big_toast)
认为成本讨论漏掉了「算力可以是偷来的」
- 有人补充说这段成本分析需要加一条注脚:对于拥有足够大僵尸网络、或手握盗来的云计算凭证的攻击者,格筛那一步等于免费;甚至可能靠在免费视频网站上一边看视频一边用浏览器并行跑(少数人) > 意译(@brohee)
有价值的补充
- 版主指出这其实是一篇跟进报道,按惯例会被降权,但因为原文质量高、且确实提供了新的重要信息,所以仍然放行;同时给出了一篇近期相关的 RSA-260 分解讨论作为背景。