微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 量子计算机太贵?里斯本大学的研究者教你用普通电脑"猜出"量子电路的答案

量子计算机太贵?里斯本大学的研究者教你用普通电脑"猜出"量子电路的答案

2026-07-21 16:40
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-07-21 16:40 科技行者

这项由葡萄牙里斯本高等理工学院(Instituto Superior Técnico, Universidade de Lisboa)完成的研究,以预印本形式发表于2026年7月,论文编号为arXiv:2607.07816,有兴趣深入了解的读者可以通过该编号在arXiv平台查询完整论文。

**研究背景:一道看似无解的难题**

量子计算机的核心魅力在于,它能够同时处理天文数字般的可能性。但这也带来了一个令人头疼的问题:我们怎么在普通电脑上验证量子计算机算出来的结果是否正确?毕竟,一台拥有50个量子比特的量子计算机,其内部状态的完整描述需要超过一千万亿个数字来表达,这远远超出了任何普通服务器的内存极限。

不过,研究者发现,有一类特殊的量子电路或许存在"捷径"。这类电路被称为"峰值电路"(peaked circuits)——它们的输出结果就像射箭时瞄准靶心,绝大多数概率都集中在某一个特定的答案上,其余的可能性要么微乎其微,要么几乎可以忽略不计。研究者的核心思路是:既然答案几乎是确定的,那我们何必追踪所有可能性?只跟踪那些最重要的几个,不就够了吗?

这正是这项研究的起点。研究者构建了一个"稀疏截断状态向量模拟器"——一种专门针对峰值电路、运行在普通电脑上的量子模拟工具。它不追求对量子系统的完美复刻,而是聪明地抓住最关键的那部分信息,以有限的资源实现尽可能准确的预测。

---

一、量子计算的"账本":状态向量是什么

要理解这项研究,首先需要了解量子计算机内部是如何记录信息的。

普通电脑的每个比特只有0或1两种状态,就像电灯开关,要么开,要么关。量子比特却可以同时处于0和1的叠加状态,就像一枚旋转中的硬币,在落地之前既不是正面也不是反面。这种特性用数学描述时,需要给每种可能的状态分配一个"权重",也就是所谓的复数振幅(complex amplitude)——你可以把它理解成每种结果被"选中"的可能性大小,而所有可能性的平方加在一起恰好等于100%。

对于一个拥有n个量子比特的系统,可能的状态总数是2的n次方。以单个量子比特为例,状态向量只有两个数字:代表"0"的权重和代表"1"的权重。但如果有44个量子比特(正如本研究中处理的真实电路),状态向量就需要近18万亿个数字来完整描述,这在任何普通电脑上都是不可能存储的。

每当对量子比特施加一个操作(例如旋转门、纠缠门),就需要更新这个"账本"中的数字。对单个量子比特的操作,会涉及到所有状态对应的一对一对的权重更新;对两个量子比特的操作,则涉及四个一组的权重更新,以此类推。每次操作都可能让原本为零的权重变成非零,使得非零项的数量急剧增加。

---

二、从"完整账本"到"重点摘要":稀疏与截断的思路

既然完整的账本太庞大,那能不能只记录重要的部分?

在很多量子电路中,尤其是刚开始运行时,大多数状态的权重是零——量子比特全部从"0"出发,整个系统最初只有一个非零项。随着电路一步步运行,非零项的数量会逐渐增多:一个创造叠加态的"哈达玛门"(Hadamard gate)可能让非零项翻倍;一些纠缠操作可能让非零项增加四倍甚至更多。但在某些阶段,非零项的增长是可控的,甚至有些操作只是重排已有的权重,并不新增项目。

正因为非零项的数量远少于2的n次方,研究者采用了"稀疏表示":不再存储全部权重,而是像一本只记录有货商品的仓库清单,只保存那些非零的权重及其对应的状态编号。这样,只要非零项的数量有限,内存占用就是可控的。

然而,随着电路越来越深、纠缠越来越强,非零项终究会爆炸性增长,超过普通电脑能够承受的极限。此时,研究者引入了"截断"机制:主动丢弃那些权重很小、概率贡献微乎其微的项,只保留最重要的那些,然后对剩余项进行归一化(即重新调整权重,使所有保留项的概率之和重新等于100%)。这就像一位精明的编辑,将一本厚厚的百科全书精简成一册关键词手册——内容有所取舍,但核心信息仍然完整。

这种做法之所以合理,是因为研究者发现,截断后模拟结果的准确程度(保真度)与截断后保留的概率质量之和高度相关。换句话说,只要保留了足够多的概率,模拟结果就足够可靠。

---

三、两种"精简账本"的策略:如何决定保留哪些项

研究者设计了两种互补的截断方式,可以单独使用,也可以配合使用。

第一种叫做"top-k截断",即设定一个硬性上限k,无论什么情况,账本里最多只保留k个非零项。每次执行完一批操作后,就按照权重的绝对值从大到小排序,取前k个保留,其余全部丢弃,最后重新归一化。这种方式直接控制了内存和计算量的上限,就像行李箱只有20公斤额度,无论如何都要把最重要的东西先装进去。

第二种叫做"p-mass截断",即设定一个概率质量的最低保留比例p。从权重最大的项开始累加概率,直到累加值达到p(例如99%)为止,超出这个阈值的小概率项全部丢弃。这种方式更直接地控制了模拟的精度,但代价是账本的大小不可预测——如果概率分散在很多项上,即便保留99%的概率也可能需要大量的项。

当两种方式同时启用时,研究者的处理顺序是:先按概率质量截断,再按数量上限截断。这样既保证了精度目标,又不至于超出资源限制。

---

四、让运算跑得更快:向量化与GPU加速

仅有好的策略还不够,实现的效率同样关键。

研究者将所有对"账本"的操作都转化为批量的数组运算(即向量化运算)。以对单个量子比特施加操作为例:传统做法是逐对找出账本中状态相差只在该比特位的两个项,然后更新它们的权重。研究者的做法则是,一次性识别出所有需要乘以矩阵第一列的项和需要乘以第二列的项,然后整批相乘,最后再整批汇总。这就好比一家工厂,不是让每个工人手动处理一件产品,而是一条流水线同时处理所有产品,效率天差地别。

这种方式中最有挑战性的一步是"分组求和"(segmented sum):多个旧项可能都对同一个新状态有贡献,需要把它们的权重加在一起。这类似于统计选票时,不同投票站的结果需要按候选人汇总。虽然这一步在并行计算中颇为棘手,但现代CPU和GPU的数值计算库已经能够很好地支持这类操作。

在截断环节,最耗时的步骤是排序——需要把账本中所有项按概率大小从高到低排好序,再决定保留哪些。好在排序算法在现代计算库中有高度优化的实现,加上后续的截断和归一化都是直接对数组操作,效率相当可观。

研究者还开发了GPU(图形处理器)后端,将上述所有操作搬到GPU上执行。由于整体计算逻辑已经是向量化的,CPU版和GPU版的代码几乎一模一样,只是底层调用的数值库不同,维护起来非常方便。测试结果显示,GPU版本比CPU版本快了约一个数量级(即快了大约10倍),代价是GPU的内存比较有限,能容纳的账本规模受到约束。

在数据精度方面,两个版本都使用128位复数(实部和虚部各64位浮点数)存储权重,用64位整数存储状态编号,理论上支持多达64个量子比特的系统(虽然在实践中内存会更早耗尽)。

---

五、实战:模拟一个真实的44量子比特峰值电路

研究者将这套工具应用于由BlueQubit公司组织的峰值电路黑客马拉松中的一个实际案例,名为"sharp peak"(锐峰)电路。

这个电路包含44个量子比特和580条指令,结构是这样的:每两个相邻量子比特之间都有一个纠缠门(受控Z门,CZ门),加上首尾相连形成环形结构,每对相邻量子比特之间还夹着两个随机参数的单量子比特旋转门(u3门)。这种环形全连接结构使得整个电路深度很高、纠缠极强,对于传统的密集型模拟器和基于张量网络(如矩阵乘积态MPS)的方法都非常棘手——因为要精确表示这种状态需要极大的"键维度"。

面对这个挑战,研究者采用了两项预处理策略。一是"门重排":在不违背电路逻辑依赖关系(即不改变可交换门的相对顺序)的前提下,重新安排门的执行顺序,让每个时刻涉及的量子比特数量尽可能少,从而推迟状态向量中非零项爆炸增长的时间。这类似于在整理一间乱房间时,先把桌面的东西归位,再处理地板上的,尽量让工作区域保持整洁。二是"门融合":将每块相邻的单量子比特门和双量子比特门合并成一个多量子比特的统一操作。这样,原本需要对每个门分别更新账本,现在变成了对每个"融合块"只更新一次,大幅减少了更新次数,也让截断操作变得不那么激进——因为截断只在每个融合块结束后执行一次,而不是每个门之后都执行。

最终的模拟流程是:先重排并划分融合块,然后逐块更新状态向量并截断,直至电路执行完毕,最后读取概率最高的状态编号作为输出。

对于这个锐峰电路,研究者发现只需保留不到2的5次方(即32)个非零项,就能找到正确的输出比特串——这充分说明了峰值电路的可压缩性。

---

六、模拟性能如何随规模变化

研究者系统测试了模拟时间和状态向量规模随k值变化的规律,得出了几个值得关注的结论。

关于模拟时间:当使用top-k截断时,模拟所需时间与k呈线性关系,跨越了多个数量级都保持这一规律。换句话说,k每增加一倍,模拟时间大约也增加一倍。CPU版本的线性关系非常清晰;GPU版本在k较小时有一个固定的"启动开销"(大约相当于在小数量级时的额外延迟),但在k较大时比CPU快大约10倍,直到GPU内存耗尽为止。

关于状态向量的增长过程:在电路运行初期,状态向量中非零项的增长呈现出阶梯式的指数增长——某些门操作不改变项数,另一些则使项数翻倍。当项数触及k的上限时,top-k截断将其强制压回k,从而保持稳定。k越大,能容纳的非零项越多,但每个融合块的处理时间也越长。

关于p-mass截断的行为:与top-k不同,p-mass截断不直接限制项数,而是根据概率质量动态调整。当p设为99.9%时,状态向量的非零项数量可以增长到超过2的28次方(约2.7亿),远超预期;而当p设为90%时,项数则被控制在一个相对较低的水平。这说明即便是轻微的p值提升,也可能导致所需项数急剧增加。

更有意思的是,当p从90%逐步趋近于100%时,所需的非零项数量呈现出近乎垂直的急剧攀升,几乎直逼2的n次方(44个量子比特对应约17.6万亿)。然而,这条曲线的陡峭程度本身也是一个积极信号:它意味着在实践中,用远少于2的n次方的项数,就能保留相当高比例的概率质量,从而成功找到峰值电路的最可能输出。

---

七、方法的边界:哪些情况下会失效

研究者对这套方法的适用范围保持了清醒的认识,并在论文中坦诚地指出了其局限性。

从理论上看,对于"浅层峰值电路"(每个输出量子比特只依赖有限数量的输入量子比特),已经有数学证明表明其输出分布可以用准多项式数量(而非指数级数量)的项来近似描述,这与稀疏截断方法的有效性完全吻合。

然而,当电路变得非常深、纠缠非常强时,即便输出分布仍然有一个明显的峰值,大量的概率质量也可能分散在数量庞大的状态上。在这种情况下,要保持足够的模拟精度,就必须保留越来越多的项,直到接近暴力枚举全部2的n次方种状态的程度。此时,截断方法的优势便荡然无存,甚至可能产生误导性的结果——模拟器"以为"找到了峰值,但实际上丢弃了太多重要信息。

换句话说,这套方法在概率高度集中的电路上表现优异,而在概率虽有峰值、但同时大量分散的电路上可能彻底失效。研究者坦承,这种方法的表现会因电路的不同而有极大差异,使用前需要谨慎评估具体电路的结构特性。

为了应对更困难的峰值电路,研究者在展望中提到,可以在模拟前引入ZX演算(ZX-calculus)优化等图论方法对电路进行预处理,从电路结构层面降低模拟难度。这些技术在正式模拟之前发挥作用,有望进一步提升稀疏截断模拟器的适用范围。

---

说到底,这项研究做的事情本质上是在一场信息量爆炸的游戏中找到聪明的"剪枝"策略。量子计算机的状态空间是指数级庞大的,但对于那些"心有定数"的峰值电路来说,真正重要的信息其实只占其中很小的一部分。研究者证明,只要抓住这部分关键信息,加上合理的排序策略和硬件加速,普通的经典计算机也能在许多场景下预测量子电路的输出结果。

这对于量子计算生态的发展有着实际意义——它为量子算法的验证、量子优势的评估提供了一个低成本的对照工具。当然,这把"削铁如泥"的剑也有其用不上的场合:面对那些刻意将概率质量打散到大量状态上的电路,任何截断方法都难逃失效的命运。研究者的开源实现已发布在GitHub上,感兴趣的读者可以通过论文编号arXiv:2607.07816找到原文,进一步了解技术细节或自行复现实验。

---

Q&A

Q1:峰值电路与普通量子电路有什么本质区别?

A:峰值电路的设计目标是让输出结果的概率高度集中在某一个特定的比特串上,就像射箭比赛中几乎所有箭都落在靶心附近,而普通量子电路的输出概率可能均匀分布在大量状态上。正是这种"集中性"让峰值电路可以用少量项来近似描述其输出,从而大幅降低经典模拟的难度。

Q2:top-k截断和p-mass截断哪种方式更好用?

A:两种方式各有侧重。top-k截断直接限制内存和运算量的上限,适合资源受限的场景,但无法直接控制模拟精度。p-mass截断则直接控制保留的概率比例,更直观地衡量模拟准确度,但可能导致状态向量规模失控。研究者建议根据需求选择主方式,同时用另一种作为辅助约束,两者配合使用效果最佳。

Q3:稀疏截断状态向量模拟器能模拟多少量子比特的电路?

A:理论上,由于使用64位整数存储状态编号,上限是64个量子比特。但实际瓶颈是内存:随着电路深度增加和纠缠增强,非零项数量会指数级增长,普通电脑的内存会远早于64比特上限就被耗尽。在研究者测试的44量子比特锐峰电路中,少于32个非零项就能找到正确答案,但更复杂的电路可能需要远多于此的项数。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-