Contents ...
udn网络城邦
【基础科研】再谈Google的量子霸权
2019/10/29 09:23
浏览12,321
回响7
推荐17
引用0

上周应《观察者网》的邀请,针对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的量子计算机虽然算是先进,但距离实用目标还有至少九个数量级之遥;现在就宣称胜利,纯属忽悠大众的商业宣传。

有谁推荐more

限会员,要发表回响,请先登入
回响(7) :
7楼. 4a3c6572
2019/11/06 14:34
版主王孟源给我、5楼的“无知者,无畏”、schrodingjier‘s cat的回应「你所看到的那些对量子计算机做无限联想的,连量子计算机的细节都不懂」、「我们讨论未来量子计算机的技术细节,就好像在1970年考虑EUV光刻一样,纯属空谈」、「那么如果照你所说的逻辑,世界早就有无数的量子系统是古典计算机无法在万年内精确仿真出来的,这个定义下的“量子霸权”在宇宙诞生就已经达到了」这三句话,可以总而言之变成一个问题:科技发展是有极限或无穷无尽?很多科学家将科学当成全能上帝当然相信科技发展进步一定是无穷无尽,科技进步无穷无尽的愿望潜意识让这些科学家无视于祖父悖论等最基本的常识逻辑,所以爱因斯坦相对论才会被某些人推导出时间能倒流以及平行宇宙的结论,只要时间能倒流就能回到宇宙大霹雳去改变物理定律进而创造出一个等同于人间天堂的平行宇宙,与其说这些科学家胡扯倒不如说他们反映了人性弱点,他们如同西游记当中想吃唐僧肉的妖怪一样期待长生不老,或许他们不应该将科学当成全能上帝而应去信奉真正的宗教。
如果科技进步真能无穷无尽,推翻祖父悖论实现时间倒流即使一万年做不到也可等到一百万年后再实现,实现时间倒流创造出同于人间天堂的平行宇宙不过是时间迟早的问题,人类总有一天不必吃唐僧肉也能长生不老,不必信上帝也能进天堂,创造出平行宇宙天堂的长生不老人类就是上帝,平行宇宙天堂的长生不老人类可以靠著时间倒流如同上帝一样向廿一世纪的无知人类显灵,以上所述是否胡扯?若是胡扯,科技进步就是有极限,也代表量子计算机在理解人性上无法超越真实人类。

我对两三百年之后的事,无法置喙,但是在可见的未来几代人生命中,除非发生如全面核战之类毁灭人类经济和文明的大灾难,整体科技的不断进步是必然的。

一般常见的误解,是把整体的进步,误认为个别专业的永恒发展。其实每一个领域都有极限,一旦低垂的果子被摘光之后,就会停滞不前,例如民用飞机的气动造型,头60年进步飞速,但是在喷射客机出现之后,逼近了音速障碍,在其后的60年,就基本没有改进,这也是爲什么Boeing会想要继续沿用737的原始机体设计,以避免重新设计新机的费用与时间。

另一个例子,当然是高能物理,自从1974年确立QCD之后,理论上的进步不大于零,这也是我解释过很多次的事实。

量子计算是一个新领域,倒不像传统的Si基半导体那样已经接近黄昏,但是全新的科技有更大的危险,就是绝大多数都没有实用性,这一点我也写过几篇文章来讨论了。例如现在的所谓第四代核裂变反应器有十几种,30年后顶多有两种能存活下来;核聚变反应堆的设计种类更多,但是50年后仍然可能是无一成功。

我觉得这类成功机率很小的新科技,如果有特殊背景考虑,例如量子计算对大国之间的斗争可能有巨大影响,可以适度投资,至少保持不落后太远;但是绝对应该量力而爲,避免苏联被忽悠进科幻武器军备竞赛的窘境。

王孟源2019/11/08 02:13回覆
6楼. schrodingjier‘s cat
2019/11/06 03:00
Google的宣传,特别是ceo的言论,确实有很重的商业吹嘘的成分,上篇文章的回复里我就这么说过。不过quantum supremacy本身只是说能比classical computer更快的解决问题,是没有规定问题本身有意义或者实用价值。在这一点上我对文中要求有实用价值的观点表示异议。

论文本身我上周末看了一遍,内容丰富论证严谨,没有受到商业吹嘘的影响,读起来还是很畅快的。反倒是IBM的反击有些乏力,即使按照ibm的结论,只需要数天而不是若干年的计算就能得到结果,quantum supremacy仍然成立,无非是吹嘘起来没有那么impressive。

另外关于量子计算的application的问题,我觉得科技发展的规律普遍是技术和需求往往互相促进,现在空谈量子计算无应用是站不住脚的。

现有所有的所谓量子计算机都还是量子模拟器,在达成通用量子计算机之前还有很远的路要走,个人觉得如何有效操作量子态的问题会是最大障碍。但在此之前能够模拟某些特定系统的specialized quantum simulator还是可能有实用价值的,希望这能早日实现。

我的正文已经说得很清楚了,做工程比较必须是有用的目的。这不是任何人能主观选择的事,否则可以简单要求古典计算机来模拟自己系统的自然演化,那么如果照你所说的逻辑,世界早就有无数的量子系统是古典计算机无法在万年内精确仿真出来的,这个定义下的“量子霸权”在宇宙诞生就已经达到了,哪里还轮得到Google。

正文已经讲清楚的事,你还来胡扯,严重警告一次。

王孟源2019/11/06 10:11回覆
5楼. 无知者,无畏
2019/11/04 14:21
深挖量子计算机

此文纯属跟王兄商榷。如果可能,请王兄赐教!

从前面两篇有关古典计算机中的核心部分之讨论,我们知道CPU之ALU(算术逻辑单元)由根据不同算术逻辑的实际需求,配合相关算法而通过电子线路集群来完成ALU之处理任务这架构中,我们知道,非常神秘的ALU实际上就是一群有不同输入/输出端的,由二三极管和与/非门阵列所组成的电子电路集群。完成这个工作的核心媒体,是电子,也就是说,是一个电子技术的实际应用。

再往下想一步,如果未来是量子计算机,那么将会使用量子作为媒体来完成这个任务。我们假定,取代电子线路出现在未来量子计算机中的,将是量子Routing,亦即,由量子routing来替代电子线路。

那么我的问题是,有没有人真正明白量子和量子routing?就算真的能够做出来,做出来以后,会是多大?会不会整栋楼都装不下一个简单的ALU单元?

另,据我所知,量子不像电子,会无缘无故消失。量子的产生,捕获和控制都非常困难,在人类对量子的了解如此之少的情况下,大势鼓吹,意义何在?

我想我们已经扯得太远了。正文中提过,量子计算机距离实用,还有八九个数量级;回顾古典CPU的发展历史,1970年的第一代微处理器4004到现在刚好也是进步了八九个数量级。我们讨论未来量子计算机的技术细节,就好像在1970年考虑EUV光刻一样,纯属空谈。 王孟源2019/11/05 01:26回覆
4楼. 无知者,无畏
2019/11/04 07:07
CPU的运行时效成本

喔,好,先说说的学术背景。我在大学专门修读过(师从:John G. Cleary教授)《计算机架构》这门课,这是大学四年级的课程,每届学生不超过10人,我是1999年选读的,John说,多年来,第一次有中国人选这门课,因为这门课非常不容易通过考试。我那年获得了他的年度最佳程序片段奖,不过奖品是三条巧克力fish。

这门课重点是讲解计算机CPU的内部机制,包括ALU的算法设计及实施,CPU对外设的访问机制,等待机制,锁定机制,指令对列等非常底层的逻辑和技术。

我这里重点回应王兄有关CPU等待数据通讯响应问题。

由于CPU中ALU的底层实现都是具体的电路(不同算法所对应的晶体管及与非门阵列),所以CPU在执行指令上消耗的时间极短(跟CPU的内部时钟频率相关),不同的指令,所消耗的时长差异巨大,比如一个算元平移(整数加减运算),只需一个时钟循环,但是一个浮点除法,则需要10-40个时钟循环(很多线路内循环),很多复杂的指令(比如Intel的CISC指令集中的一些指令),则需耗时超过150个时钟循环。

访问寄存器(Register)大致在一个时钟循环,但是访问缓存(Cache)一二三级(L1,L2,L3)则耗时3-70个时钟循环,如果需要通过总线(BUS)访问主内存(Main RAM),则需要耗时100-150个时钟循环。

访问数据接口(socket)则需要100-300个时钟循环,而这仅仅是通讯端口到达,也就是说,从CPU touch到通讯端口,就需要这么多时长。如果再加上本地数据接口到远程(Remote)数据接口,再等待对方发送response回来,通常耗时10的三次方到六次方量级个时长(这是对方计算机立刻就回覆的理想状态),但是通常对方远程计算机都要等待处理,也就是说,对方在服务远程请求的时候,是实行队列管理,你的请求被Put in queue,请耐心等待。

你或许有打电话给电话公司查询的经验,你的电话接入以后,你可能需要花半个小时等待对方CRM员工处理排在你前面的打入电话,计算机远程服务的机制,跟这个一模一样。

所以我说,远程应用的计算机,“绝大部分时间其实是耗在等待通讯通道的响应”。就是这个意思。

总体来说,从计算机运行机制来看,计算机的性能瓶颈根本就不在CPU的先进程度,时钟,逻辑上面,而是在通讯上面。中国的超算能够迅速地进入全球顶级超算行列,一个最主要的成就,就是他们突破了计算机远程通讯的瓶颈,让CPU可以更加快速地访问主内存和网络设备。

这跟中国的文化和文明有关,中国人就算小屁孩都知道“要想富,先修路!”这个道理。这里所谓「路」就是「骨干通讯网络」,随著中国5G的部署加快,中国区域间的骨干网络的更新也在加快,这才是未来夺取计算机远程应用和人工智能的那条「路」。

注:时长,clock cycle,也称「时钟循环」。

古典计算机的架构,我也略有涉猎,所以计算核心常常等Data我是知道的。

我不确定的,是量子计算机在破解公开码的例子,也会有同样的问题吗?我猜测未来这型量子计算机的设计,不会是像现有古典计算机的通用计算格局,而是针对一个程序从底到上来设计建构,那么这种瓶颈可能是从一开始就必须重点消除的对象。

王孟源2019/11/05 01:19回覆
3楼. 无知者,无畏
2019/11/02 05:12
可能的应用领域

可能的应用领域,诚如王兄所说,如果用来破解公开码(所谓解密钥)可能会是一个应用领域。

在数字通讯的加解密领域,不管是DES,SHA,MD5,RSA,DSA,还是AES,都有固定的加/解密算法,量子计算可能唯一有优势的方向,就是根据这些特定的解密算法设计出固定的量子routing来高速解密。可是老问题还在,不管你多快的量子ALU,你还是需要大量的时间来访问寄存器或内存,更有甚者,你绝大部分时间其实是耗在等待通讯通道的响应。而且这还是你已经解决了真正实现了物化量子处理单元的条件下,也就是说,你已经把量子处理器做出来了,而且可以可靠使用。

量子处理器的另外一个可能的应用,是矿机,也就是说,可能可以用在高速解算bit币的专用处理器上,因为bit币的解算是固定算法,有可能为此设计出专用的量子routing。

我这里多说几句矿机(为解算bit币而设计的专用计算机,号称矿机),如果把bit币的解算看成是挖矿,那么现在的bit币的挖取几乎到了极贫矿,数十数百台专用挖矿机,数月也未必可以挖一枚bit币。近几年,大量的挖矿(bit币)公司因为付不出矿机运行的电费而破产,矿机被当成废铁卖掉。

矿机的处境其实跟加解密一样,确认挖矿是否成功的服务端,要应答每秒数十亿的挖矿客户机(挖矿机)结果查询,极大地耗费了宝贵的网际通讯资源,挖矿机的绝大部分时间其实都是在等待服务端的答复响应。

就算是上述两个可能的应用领域,量子计算也未必就一定比古典计算机高明多少,对吧?而且加解密这个领域,一旦全面进入量子通讯,就变得不可为了,矿机应用,大家都破产了,谁来做这个?我还真想不到!

有关BitCoin挖矿的评论我同意,但是你确定量子计算机解密须要消耗大部分时间“等待通讯通道的响应”吗?这和我既有的理解不同,不过我不是这方面的专家。 王孟源2019/11/03 05:44回覆
2楼. 无知者,无畏
2019/11/01 18:57
到底什么应用需要用到量子计算?

王兄的上一篇文章就没有看得太明白这一篇出来以后,大致明白了。

古典计算机的运行机制是LPS(load-process-save),即「加载->处理->存放」机制。不管CPU做得多么复杂,也都是在执行这个逻辑,其中其实最核心的是ALU(算术逻辑单元),现实应用计算中的各种实际需求,比如加减乘除和逻辑判断等,都是根据不同的算法(Algorithm)固化在电子电路中,也就是说由具体的电子电路来完成,CPU中的ALU完成这些具体的处理时间非常短,实际上大量的时间是消耗在算元「加载」和处理结果「存放」这两个步骤上,因为这两个过程需要访问寄存器(Registers)或内存(RAM),片面加快CPU中的ALU实际效果到底有多大?就算快到飞起的量子ALU又能怎么样?此其一。

其二,正如王兄所说,google的这个例子有何意义?现实世界中要用到超算的应用,主要是:

1.天量数据库的访问,

2.基本粒子(源自内部的基本粒子)间的相互作用,

3.定量空间内分子级别热力学和空气动力学计算,

4.海量的3D图形rendering,模型,气象,海象等。

5.化学和分子生物学方面的分子级别解算

如果新的量子计算不能在这些方面帮忙?用它来做什么?

目前已知的古典计算机的发展方向是,类神经元处理机制的处理器(nPU)和有助于AI应用的专用处理器。其中神经元处理器,实际上是仿人类大脑的处理的分任务处理器,这个方向最有前途,也会最先取得突破。所谓AI的专用处理器,需要依据高速的天量数据访问和猜测学习,各行各业的需求都不一样,非常难形成一个通用处理器,但是在某些特定方面取得进展是有可能的。

但是所有的这些新的方向,并没有改变计算机的LPS机制。

请恕我才疏学浅,我实在是想象不到这个量子计算机将用什么方式来取代古典计算机而发生革命性的改变??否则,意义何在??

是的,即使在最乐观的假设下,量子计算机顶多只是辅助古典计算机,在少数几个特定领域有优势。

实际上,我觉得很可能只有破解公开码这种数论上的问题才会有效益,但是还距离九个数量级,这说不定永远做不到,就算做得到,也很可能是50年之后了,现在拼命圈钱实在没有意义(除了为圈钱大师们收集退休金)。

王孟源2019/11/02 00:13回覆
1楼. 4a3c6572
2019/11/01 09:50
很多科学家相信未来人工智能能超越真实人类智能,所谓超越真实人类智能是指比真实人类更能理解人性爱恨情欲个性自尊,我常怀疑这点是否已违反了最基本的常识逻辑,正如同量子力学相信时间能倒流一样违反了祖父悖论此种最基本的常识逻辑,量子计算机离不开量子力学理论,依据量子力学相信时间能倒流的逻辑可以导出量子计算机能促使未来人工智能超越真实人类智能的结论,如果量子计算机能超越真实人类智能,那就等同于人类能创造出高于自己智能(不是智商而是理解人性)的产物,而且这产物还是没有生命的无生物,没有生命的无生物比真实人类更理解人性的前提应是它比人类大脑更复杂,人类能创造出比自己大脑(再强调不是智商而是理解人性)更复杂的东西合乎最基本的常识逻辑吗?如果量子力学相信时间能倒流的理论不成立,量子计算机还能超越人类大脑吗?

我无法断言在长远的未来,人工智能是否会超越人类智力水平的上限,这是因爲目前根本没有足够的事实来做推断。然而正因如此,我可以明确地告诉你,任何一个下断言的人都是在胡扯;你所看到的那些对量子计算机做无限联想的,连量子计算机的细节都不懂,逻辑乱七八糟,我们没有必要去理他们。

当然,这些人正在主动拉低人类智力水平的下限,所以人工智能超越他们是必然的,至少计算机不会故意去胡扯。

王孟源2019/11/01 11:32回覆