Anthropic 借助 Claude 设计出更高效的量子电路,论文已发布到 arXiv
Designing more efficient quantum circuits with Claude
Claude Mythos 5 在 8 类量子电路任务上给出优于 SOTA 的新方案,部分用例中 qubit 与 gate 数同时显著下降,整体提升超过一个数量级。
用 Claude 在八类量子电路设计任务上得出优于 SOTA 的方案,给出了 AI 参与受限科学推理的可迁移闭环流程。
量子计算机需要精心设计的电路,才能在有限硬件上运行实用的算法。我们向 Claude 提供了八个此类电路的通俗规范说明,这些电路来自化学、优化、物理模拟和数论领域,并配备了一个能检查并为每个设计打分的自动评估器。Claude 主要依靠自主工作,找到了优于已发表最佳电路的设计,部分情况下改进达到一个数量级甚至更多。这些改进大幅减少了实用应用所需的量子资源,因此实用的量子计算机可能比此前预期来得更早。
该工作由 Andi Gu 主导,是 Anthropic STEM 研究员计划的一部分,由 Anthropic 的量子物理学家 Alek Kemeny 提供指导,并与 Susanne Yelin(哈佛大学)及 Mikhail Lukin(哈佛大学与 QuEra Computing)合作完成。在 arXiv 上阅读完整论文。
不同于将信息存储在值为 0 或 1 的比特中的经典计算机,量子计算机将信息存储在量子比特,中,量子比特可由单个原子、超导电路或光子构成。这些量子比特利用叠加等量子现象——叠加允许量子系统同时以多种状态的组合形式存在——从而以某些方式处理信息,使化学、材料科学和数论等领域中某些即使传统计算机难以应对的问题变得可解。
迄今为止,该领域所构建的量子计算机仅有数百到数千个量子比特——数量过少,不足以运行许多有望在实际中胜过经典计算机的算法。而且这些量子比特对环境噪声高度敏感,如热量、振动甚至宇宙射线。哪怕极轻微的扰动都可能影响量子比特的状态,这些微小的误差会不断累积,直至计算机给出错误的答案。
鉴于量子比特和计算时间都是稀缺资源,研究人员一直致力于重新设计量子算法,以使用更少的量子比特并在更短时间内完成计算。一个说明性的例子是模拟 FeMoco——固氮酶核心中的铁硫簇,固氮酶是细菌用来将空气中的氮转化为氨的酶。理解其工作原理可帮助科学家设计更好的工业催化剂——即制造商用来加速化学反应的物质。
2017 年,研究人员估算,一台量子计算机需要约 50 万亿个 Toffoli 门才能计算出 FeMoco 的基态能量——即其最稳定构型的能量,化学家需要此能量来预测 FeMoco 如何反应。(与普通计算机类似,量子计算机通过向其量子比特施加一长串被称为门的简单操作来工作。Toffoli 门是运行成本最高的门之一,因此统计 Toffoli 门数是估算计算所需时间的一种标准方法。)
通过一系列算法改进,估算的门数已降至约 3.4 亿——减少了约 15 万倍,相当于在未来一台拥有约 300 万个物理量子比特的机器上进行几个小时的计算。1
这些减少主要来自重新设计执行计算的电路,而不是来自制造更好的硬件。Claude 已被证明特别擅长优化 经典 算法,因此我们想看看如果只给它每个电路必须计算什么的通俗语言描述,它是否也能对量子算法做同样的事。
Claude 异常适合这项任务,原因有几点。首先,量子算法被实现为量子电路。它们由一系列门组成,例如上面提到的 Toffoli 门。重要的是,这些电路可以用代码描述,因此我们可以利用 Claude 的编码能力来编写、运行和修改电路设计,就像普通程序一样。其次,我们最感兴趣优化的那类(相当常见的)量子算法可以高效地测试正确性,因为每个输入都给出普通计算机可以检查的一个确定输出。这意味着我们可以让外部评估器程序来验证 Claude 的提议。最后,我们可以给 Claude 一个清晰、客观的分数来改进:使用的量子比特数乘以门数,这作为电路运行所需时间的代理指标。
我们发现 Claude Mythos 5 可以在闭环中成功工作:提出电路设计,从评估器程序接收反馈和分数,并利用该反馈改进下一次尝试,在各轮之间无需人工输入(见图 1)。在化学、优化、量子模拟、数论和数值计算的八个计算原语——即更大的量子算法所基于的基本例程——中,Claude 发现了使用更少量子比特和更少门的新设计,优于此前已发表的最佳算法(图 2)。
在每种情况下,改进都来自于揭示关于该问题的新颖结构和数学洞见,而不是来自于微调现有设计。例如,在编译用于模拟铁硫分子的电路时,Claude 注意到该分子的对称性和重复结构意味着某些结果可以计算一次并重复使用,而不是为系统的每个部分重新计算。在其他情况下,它发现现有电路包含了只为处理极其罕见的输入而需要的昂贵组件,于是它在重新设计时去掉了这些组件。
下面,我们描述 Claude 的两项发现。第一项是一种执行模逆运算的新方法,这是椭圆曲线计算中最昂贵的步骤。第二项使一个领先的量子优化算法中最昂贵的步骤便宜了约 12 倍。
这些结果表明,AI 现在可以帮助重新设计量子电路,这是使量子算法更快、更易于运行的关键一步。更快的电路设计可以使量子计算机旨在解决的问题——从设计新药和更好的电池到找到更清洁的化肥生产方式——更快地触手可及。

一种新的可逆算法
设计一个量子电路涉及两个普通编程所没有的约束。第一个是:量子电路无法像普通程序那样做出"如果……那么……"的判断。普通程序可以检查一个值,然后只运行两段代码中的一段。但量子计算机同时在大量输入的叠加态上运行,其中一些输入会运行第一段代码,另一些输入则会运行第二段,因此电路每次运行时都必须同时包含这两段代码的操作。
第二个是:量子电路无法丢弃信息。普通程序可以在完成其临时计算后将其覆盖或删除;而在量子计算机中,这种中间信息不能被简单地擦除,因为量子电路的每一步都必须是可逆的。将这些信息留在原处也不行,因为残留的临时计算会污染最终结果。丢弃信息的唯一方法是通过反向运行生成该信息的计算来将其"撤销计算",其代价是额外的量子门。这两个约束使得量子电路在运行时间和量子比特方面的开销,远远高于其经典版本。
这一约束迫使空间(即量子比特)与时间之间存在艰难的权衡。在一个极端上,量子电路可以在中间结果被使用之后立即将其撤销计算。这能腾出量子比特,但如果之后还需要同样的结果,电路就必须重新计算它们,这会增加量子门数量并延长运行时间。在另一个极端上,电路可以将中间结果一直保留到不再需要为止。这避免了重复计算,但可能需要多得多的量子比特。
这正是量子电路设计成为 Claude 能力一项特别有趣的测试的原因。这些电路可以用普通代码来编写,但要改进它们,需要模型在一套与普通编程迥然不同的约束条件下进行推理。
一项艰难的首个测试:模逆
我们交给 Claude 的第一项任务是点加法——即将一条数学曲线(椭圆曲线)上的两个点合并产生第三个点的规则。点加法是椭圆曲线上离散对数问题量子算法的核心步骤:给定一个起点以及将该起点自身相加 n 次后的结果,求出 n。对于大曲线,普通计算机无法在合理的时间内解决此问题,但足够大的量子计算机可以。
这些算法会反复执行点加法,包括反向执行,而这些加法运算占据了其量子比特和运行时间开销的大部分。这类问题——正向计算容易、反向求解极难——是最早一批证明量子计算机相对于普通计算机具有指数级加速优势的问题之一。正因如此,点加法已成为该领域的标准基准测试之一。这使得它成为对 Claude 的一项颇具挑战性的测试。因此,我们请它梳理出点加法究竟需要多少量子比特,以及需要多少量子门。
我们给了 Claude 一段简短的说明。它解释了点的加法的数学规则,以及评估器如何检查每个提议的电路的正确性,并根据所使用的量子比特和门的数量进行评分。它还指示 Claude 并行探索多种方法。在仅有极少人工输入(仅限于初始说明和偶尔提示更广泛地思考)的情况下工作了 53 小时后,Claude 找到了一种全新的问题解决方法。
divsteps 的内存需求
点的加法的大部分开销来自单一的一步,称为模逆。椭圆曲线运算使用在达到固定上限时会回绕的数字。模逆是除法的回绕版本:给定整数 a,求 x 使得 ax ≡ 1 (mod p)。普通计算机可以使用称为 divsteps 的方法高效执行此操作。Divsteps 从一对数字开始,在多轮迭代中反复简化它们。在每一轮中,divsteps 检查当前的数字对,并有条件地交换、相加、相减或将它们减半。在此过程中,它保留了足够的信息以在最后产生模逆。
尽管 divsteps 在普通计算机上取得了成功,但由于上述的可逆性约束,它尚未产生实用的量子电路。每次迭代所选择操作的记录,称为分支信息,是传统程序可以直接丢弃的那种临时工作。相比之下,量子电路必须保留该记录,以便可以反向运行计算。因此,divsteps 的直接量子版本被迫累积长长的分支信息历史,这需要大量额外的量子比特来存储。
Claude 如何解决内存问题
Claude 认识到这种 divsteps 方法对于量子电路可能是有前景的,但前提是要有办法避免存储完整的历史。它有一个想法:也许根本不需要存储该记录。Claude 推断,通过在每次迭代后仔细检查数字对,也许可以直接推断(或"解码")分支信息。本质上,数字本身就会存储该记录。然后,电路可以反向运行,而不需要任何额外的量子比特。
为了验证这个想法,Claude 探索了许多用于执行解码的简单候选规则。这些早期规则在小型测试用例上有效,但在 256 位数字的完整问题规模上测试时,Claude 发现它们失败了。
然后 Claude 尝试了一种更具理论性的方法。它不再猜测和测试规则,而是着手从数学上理解 divsteps 为何以这种方式运作。它证明了关于迭代过程的一系列结果,包括几个新的代数恒等式。从这些恒等式中,Claude 推导出了一个精确的解码规则公式,该公式可以从数字对中正确恢复分支信息。然后它检查了该公式,首先通过大规模数值模拟运行它,然后在 Lean 中形式化该声明。在完成全面验证后,Claude 产生了第一个无需存储分支历史的 divsteps 可逆实现。
一系列设计
解码节省量子比特,但会消耗时间。因此,作为进一步的优化,Claude 寻找了在某些情形下存储分支信息比解码更划算的做法。通过改变电路存储而非解码分支信息的阈值,Claude 在两种极端之间生成了一组新的设计。与此前最小的设计相比,该系列中的一个电路多用 12% 的量子比特,但门数减少了 17 倍。更一般地说,这些新设计扩展了帕累托前沿,提供了之前不可用的量子比特数量与运行时间的组合(表 1)。

优化一个量子优化器
优化问题是众多任务的核心,包括调度、物流和材料设计。一个优化问题给出一组相互竞争的约束,并要求找出尽可能多地满足这些约束的解。对于这类问题,人们已提出了许多量子算法,但相比普通计算机,它们大都只能带来有限或不明确的提升。解码量子干涉(DQI)是提供超多项式量子加速——一种随问题规模增大而迅速扩大的优势的候选方案中最有力的之一。
当量子计算机完成一次计算后,读出其量子比特只会得到一个答案,该答案是从它们以叠加态持有的若干可能性中随机选取的。DQI 的工作原理是制备一种量子态,使优秀的解比糟糕的解更有可能被读出。这需要使用一个纠错解码器,它能从一份紧凑的概要中恢复出一个简短的"错误"列表。这是算法中最昂贵的步骤。因此,如果我们能制造出更快的解码器,就能让 DQI 运行得更快。
一个更高效的量子解码器
提出 DQI 的研究人员在一种称为最优多项式交集(OPI)的问题上演示了它,它是曲线拟合的一个基于网格的版本(图 3)。设想一个网格,其中每个位置 x 包含若干可接受的 y 值。目标是找到一条简单曲线(一个低次多项式),使其在尽可能多的 x 位置上穿过一个可接受的方格。DQI 使用一种特定类型的解码器——称为 Reed–Solomon 解码器——来处理这个优化问题。

Reed–Solomon 解码从上文提到的错误简明摘要开始,这种摘要被称为伴随式。解码器的任务就是从这个摘要推断出数据中错误发生的位置以及错误的内容。此前的最先进量子电路使用扩展欧几里得算法来处理这些伴随式,这是一连串的除法和交换操作,其中步骤的数量和顺序取决于所给的特定输入。这里,量子电路的限制再次显现:普通程序可以对每个输入走不同的路径,而量子电路要同时处理许多输入,必须用单一固定的门序列来处理所有这些输入。为了应对这一点,以前的设计不得不把计算拉伸到比任何单个输入所需的迭代轮数多得多的轮数,并且必须在每一轮中运行每个操作,即便这样做并非必要。
改进这个解码器可以大幅缩短 DQI 的运行时间。Google Quantum AI 研究人员的估计表明,解决一个特定的 OPI 问题在 Frontier(全球最强的超级计算机之一)上大约需要三个月,而在运行 DQI 的未来量子计算机上大约只需要一小时。这一小时中的大部分时间将花费在 Reed–Solomon 解码上。
于是,我们请 Claude 为解码步骤设计一个更高效的量子电路。Claude 迅速判断出扩展欧几里得算法并不适合量子电路。相反,它围绕另一种被称为 Berlekamp–Massey 解码的方法来组织电路,该方法一次读取一个伴随式(错误摘要),并逐步推算出最简单的规则,依据先前出现的数字预测列表中的每一个数字。一旦找到该规则,就能揭示错误所在。与扩展欧几里得算法不同,Berlekamp–Massey 在每一轮都执行同一类型的步骤,并且总是运行相同数量的轮次,这正契合量子电路单一固定的门序列,最终为 Claude 提供了更高效的基础来构建。
一种简化的存储方法
切换到 Berlekamp–Massey 消除了电路需要针对不同输入走不同路径的需求。但让其可逆又带来了另一个挑战,这次源于上文讨论的反计算约束。在每一轮中,电路都会计算出仅在短时间内需要的临时值,但这些信息不能简单删除:为了稍后对其进行反计算,电路必须能够恢复这些信息。
存储这些信息的成本会高得令人望而却步。于是 Claude 采用了与处理 divsteps 时相同的方法:它找到了一种从电路当前状态重建大部分此类信息的方法,因此无需将其存储。然而,有少数例外值无法以此方式恢复,必须保存下来。
为最坏情况预留足够的内存——也就是在 35 个不同轮次中出现异常值的情况——需要 665 个量子比特。Claude 改为编写了一个高速模拟器,并运行了 4.03 亿次样本解码来测量这些异常实际发生的频率。几乎每次运行最多只需要保存一个值。因此 Claude 的电路只为一个保存值预留空间,即 19 个量子比特。大约每 10,000 次运行中会有一次超出该空间并失败,这完全在任务所允许的错误率范围内。这些改进将原本庞大的最坏情况预留空间替换为一小部分固定的量子比特和门(图 4)。
综合来看,这些优化使解码器中的门数相对于 Google 先前的构造减少了 12 倍。改进来自于在三个层面上重新设计计算:采用不同的方法(用 Berlekamp–Massey 解码替代扩展欧几里得算法)、采用不同的电路架构(重建临时值而不是存储它们)、以及采用不同的资源预算(精确衡量电路实际所需的内存和计算量)。任何单一的变化都不足以独立达成这一结果,但合在一起,它们使 DQI 中最昂贵的步骤成本降低到仅略高于一个数量级。

我们的收获
科学进步常常来自于将理论思想付诸实践。其中主要途径之一就是让一个曾被认为不切实际的过程变得足够快速和廉价以便可执行。量子电路设计就是一个典型例子:上文所述 FeMoco 估算中 150,000 倍的下降耗费了多个研究小组八年时间,每个步骤通常都代表着数月的工作。相比之下,Claude 的椭圆曲线设计只是一次 53 小时运行的成果。
我们的结果表明,AI 能够支持电路设计工作,生成的实现方案使有用的量子计算更接近真实硬件的能力。如果 AI 能够加速这项工作,有用的量子计算可能会更早到来。
尽管 Claude 在这些任务上表现出令人鼓舞的能力,我们也观察到了一些局限性。在早期实验中,Claude 性格上偏保守。它反复质疑看似成立的改进,有时会对已经有充分支持的结果进行二次乃至三次核查。这种谨慎有时是有价值的:例如,它促使 Claude 编写 Lean 证明来验证其 divsteps 设计。但它也表现为一种倾向于选择已有的、众所周知的方案,而非更新颖的方案。
我们采取了两个步骤来缓解这一问题。首先,我们的设置要求 Claude 提出几种在性质上不同的方法,并并行地加以发展。其次,我们偶尔也会提示 Claude 拓宽其搜索范围。这些干预措施成功促使 Claude 去追求更具雄心的想法。例如,椭圆曲线成果并非来自在已有设计中削减逻辑门,而是来自探索一种此前无法实现的可逆模逆运算方法,并推导出使其具备实用价值所需的数学结果。一旦产生了这个想法,Claude 便自主地发展了这种方法、实现了它并验证了其正确性。
电路设计只是构建一台有用的量子计算机的一部分工作。因为量子比特非常脆弱,机器还必须在运行过程中捕捉并修正自身的错误,而这依赖于许多其他组件,从纠错码到快速解码器,再到对硬件本身的控制。这些组件彼此相互影响,但为了管理复杂性,每一部分通常会单独进行设计。其中许多组件具备让电路设计适合 Claude 的那些特征:设计可以写成代码,可以检查正确性,并且可以根据成本来打分。
这引出了一个引人入胜的可能性。AI 无需单独设计每个组件,而是可以联合优化所有组件——从算法一直到硬件——为某个特定问题量身打造一台完整的容错量子计算机。这样的设计还可以告诉硬件制造者,对于某个特定应用而言哪些能力最为重要。这可能让诸如设计催化剂和理解新材料这样的问题,在第一批容错机器的能力范围之内变得触手可及。
致谢
我们感谢 Arjun Kar 和 Vinay Ramasesh 在项目早期阶段进行的有益讨论。
相关内容
AI 模型或许能够无需数据中心即可自我复制
我们的实验表明,小型 AI 模型距离能够在商用物联网设备(如安卓电视和智能烤箱)上进行自我复制,可能只有几个月的时间。
加强对蒸馏攻击的防御
非法蒸馏使模型开发者能够复制前沿 AI 能力,而无需建立相应强度的安全保障措施。在这里,我们介绍了如何将蒸馏的发生率降低 90% 以上。
调查我们在评估和内部使用中出现的意外模型行为
本报告描述了我们在评估和内部使用 Claude 期间所观察到的意外模型行为示例。
来源:Hacker News · anthropic.com