王孟源的博客
原文网址:http://blog.udn.com/MengyuanWang/130416352
打印日期:2020/01/20
【基础科研】再谈Google的量子霸权
2019/10/29 09:23:42

上周应《观察者网》的邀请,针对Google在十月23日正式发表的“量子霸权”论文写了一篇评论。我基本上是基于上月写的《Google的量子霸权是怎么回事》一文,加入了新公开的技术细节,重新修饰整理,所以这篇新文章并不是后续或补充,而是早先文章的增订版。


《观察者网》最近稿子多,所以一直到今天(十月28日)才刊出,参见http://www.guancha.cn/wangmengyuan/2019_10_29_523101.shtml


================================================================


上个月,NASA大意提前泄露了Google的量子霸权论文,因爲违反了Google公关部门的计划,所以很快就撤下。其后,Google遵循典型的商业炒作方案,始终三缄其口,一直到2019年十月23日,论文正式在《Nature》发表(参见https://www.nature.com/articles/s41586-019-1666-5),伴随著各式各样的公关吹嘘,铺天盖地而来。


有趣的是,与其同时,IBM在官方博客公然唱反调,发表了一篇自己的论文稿,宣称已经证明Google并没有达到量子霸权。那么到底谁是谁非呢?


首先,我们先回顾一下什么是“量子霸权”;它指的是量子计算机在某个有实用价值的程序上能比现有的古典计算机高效许多。请注意,一般人往往忘记这个定义中要求有实用价值的那部分,所以我一开始就疑心Google团队钻的是这个漏洞,而且已经写过一篇文章来推测其中的奥秘(参见前文《Google的量子霸权是怎么回事?》)。现在因爲有了更详细的消息,我可以更精确地解释Google的这篇论文,希望让理工科出身的读者都能理解。


下面是Google所用的Sycamore(梧桐;名字纯属巧合,不要乱做联想)量子处理器的示意图;其中灰色的叉叉是个别量子位元,蓝色的长方块是耦合器,共有88个,它们负责将两个相邻的位元转化为纠缠态。原本应该有54个量子位元,但是其中一个失效无法修复(白色叉叉),所以整个实验只能用上53个位元;有效的耦合器也因而减少了两个,剩下86个。



Google所做的程序是先从86个耦合器和53个位元中随机选出部分,被选中的会被开启而发生作用,叫做闸门(Gate)。位元的闸门(Single-Qubit Gate)作用是产生对应著随机古典结果的量子态;耦合器的闸门(Two-Qubit Gate)作用则是将相邻的位元纠缠起来。这些作用合起来,形成一个循环(Cycle);全部总共有20多个循环被事先随机确定,它们一起组成一个线路(Circuit)。Google在实验中所用的最复杂线路,包含了1113个单位元闸门和430个双位元闸门。


接下去是重复以下的这个程序圈子(Loop):首先把所有的位元清零;接著让事先选定的固定线路发生作用,制造出新的量子态;然后全部位元进行塌缩,以便形成古典的0或1读出。所以结果是一个看似随机的53位元序列,但是内含量子纠缠,所以位元之间并非真正的统计独立,而是有由量子纠缠来决定的复杂相关性(Correlation)。


经过小规模的试用之后,最终Google团队用全部53个量子位元跑这个程序圈子3千万次,这一共费时200秒。Google估计最新的古典超级计算机也要耗时10000年,所以可以自夸量子霸权。


IBM出来泼冷水的研究,是采用了更高效的古典超级计算机设置,结果只用了两天半,大约比Google团队的估计快了八个数量级,所以并非没有意义的。


然而这个古典程序的运行时间(Runtime),可以在数学上证明是与2^n成正比,这里n是量子位元的数目,亦即Google实验中的53。所以即使在n=53的条件下古典计算机还可以一搏,到n=90左右的时候,也会重现量子霸权。这大概也就是三四年的研发时间。


IBM的算法(Algorithm)仍然是以蛮力(Brute Force)为主,如果未来发明了更巧妙的算法,可能会让古典程序又再增速几个数量级,不过这顶多是把门槛抬高到n=200。换句话说,最多最多也就是延迟Google的量子霸权十年左右罢了。


那么我们的结论是量子霸权在2030年之前必然会发生吗?不是的,Google这篇论文的真正问题,不在这些细节上,而在于整体设计,也就是我在本文开头所提的,程序的实用价值。


要比较两个不同工程方案的优劣,一个很重要的隐性前提是要达成同样的、有实用价值的目标。Google的公关文稿,把他们的这个“成就”和100多年前Wright Brothers的首次飞行相比,就是故意混肴视听:Wright Brothers的飞机是围绕著一个历史长久、公认有价值的目标(亦即动力飞行)而设计制造的成品;Google的Sycamore却执行了一个一点用处都没有的程序。真正类似的,是建造出一个复杂而没有实用性的机器,然后说它在产生独特的噪音上,有无可比拟的效率。换句话说,他们是先射箭、再画靶,Sycamore自己随便动一动,然后叫古典计算机来做模拟;如果这样也算量子霸权,那么随便找一个有53个原子的系统,要求古典计算机来模拟它历时200秒的演变,同样也会需要万年以上。


事实上,Google的这个结果,比毫无实用价值还要糟糕。要理解这一点,我们先回顾一下当前量子计算界的处境。现在的世界记录是大约100个量子位元(DWave的量子计算机是假的);但是这些位元很不稳定,非常容易与周围的巨观环境起作用而丧失量子态,这是我以前详细讨论过的量子退相干过程(Quantum Decoherence)。要知道计算的输出(Output)是程序逻辑的结果,而不是量子噪音的后果,就必须有纠错机制。


目前人类所知的量子纠错机制,必须用上80-10000个原始的量子位元,才能产生1个稳定可靠的位元(叫做逻辑位元,Logical Bit)。世界记录是连1个逻辑位元都没有的。


Google的这个“突破”,第一个巧妙之处在于用的是内生的(Endogenous)随机量子态,而不是事先指定的(亦即Exogenous,外源性的)串行。虽然Google团队可以试图去影响这些原始量子位元之间的纠缠,实际上是否成功,并不能绝对精确地验证。换句话说,他们根本没有解决纠错的基本难关,而只估计出Sycamore保持量子态的半衰期大约是10微秒,那么因爲每一轮程序圈子费时不到7微秒(=200秒/30000000轮),大部分时候量子退相干还没有发生。然后又再巧妙地只考虑统计结果,那么少部分的噪音就可以遮盖住了。


这里最基本的毛病,在于Google的量子计算机并无法自行保证结果是正确的,事实上我们知道它不可能是绝对正确的,顶多只能是近似正确。相对的,古典计算机给出的结果却是绝对精确可靠的。这时硬要比较两者所费的时间,显然不是公平的。



其实要有丁点实用价值的量子计算,至少也必须达到上图(来自孙昌璞院士等作者的论文)的蓝色区域。目前量子计算被吹捧并获得各国政府极度重视的真正原因,是能够破解通信上的公开码,那么就必须达到上图中的红色区域。Google的量子计算机虽然算是先进,但距离实用目标还有至少九个数量级之遥;现在就宣称胜利,纯属忽悠大众的商业宣传。