量子计算机不是计算机?键盘侠们会对美国这样说吗? | 袁岚峰

  导读

  正是因为中国科学家的努力,让中国在量子计算领域赶上了美国,才让键盘侠们能够好整以暇地说风凉话。如果美国的量子计算远超中国,人家用量子计算机破解了我们的密码,或者用量子计算机研发出了新药,键盘侠们会不会用同样的理由去批评人家不是计算机、是虚假宣传呢?

  视频链接:

  西瓜视频:

  https://www.ixigua.com/6933748238977597966

  本视频发布于2020年12月25日,播放量已超过六百万

  2020年12月,中国的量子计算机“九章”引起了国内外的轰动,受到了广泛赞扬(《导读:比最快的超级计算机快一百万亿倍!中国科学家实现“量子计算优越性”里程碑》)。不过,随之也出现了不少抨击的声音。这其中最典型的,是认为九章根本不是个计算机,属于虚假宣传。

500

  九章光量子干涉实物图(比最快的超级计算机快一百万亿倍!中国科学家实现“量子计算优越性”里程碑)

  左下方为输入光学部分,右下方为锁相光路,上方共输出100个光学模式,分别通过低损耗单模光纤与100超导单光子探测器连接。

  摄影:马潇汉,梁竞,邓宇皓

  例如,不久前我和两位专家朋友尹璋琦教授、张文卓博士做了一场介绍量子计算的直播,又分成两个录播视频放出来(《科学家评论各国量子计算实力,你猜最大的喜剧和悲剧是谁?| 科技袁人》)。播放量都有几百万,绝大多数观众都表示受益匪浅。然而,也有人提这样的问题:

  “我看了所有的评论,竟然没有一个质疑的,都是点赞。我很无语。比如现在出现的量子计算机算不算是计算机,这有很大的争论,但在这里却看不到有质疑声。这说明了什么?”

  哎,这是个有趣的问题。大家觉得,这说明了什么?

  实际上,在这条评论下面,立刻就有人回答他:

  “至于算不算计算?前面视频也有解释。经典计算机本质也是一个物理过程,靠逻辑电路完成。为什么同样是物理过程的量子操作就不算计算了?还有,我学化学的,很多东西我也不懂。但是我觉得虚心学习认真思考比无知自大来得好。不说别的,能在国际顶级期刊发文,得到了国外该领域的研究者的认可。是否比你的发问更有深度呢?有时候很多发问不是真有深度,而是故做深度。”

500

  一位网友对量子计算机算不算计算机的质疑与另一位网友的回答(https://www.ixigua.com/6927099530697507332)

  我要为这位网友点赞,看得出来他看了我很多节目,而且进行了深入的思考。实际上,不久前我就做过一期节目,专门讲了“九章不是计算机”这种观点为什么是误解(《九章不是计算机,是浮夸宣传?这是严重的误解 | 袁岚峰》)。许多人看了那期节目就恍然大悟了。不过,仍然有人转不过弯来。为什么会这样呢?

  我仔细研究了一下他们的思维方式,得到一个结论:他们老想着通过下定义来否定一个成果,这不是建设性的思维方式。真正重要的不是一个事物叫什么名字,而是它实际是什么,能实现什么不平凡的效果。

  比如说,我们经常提到宇宙飞船(spaceship)。请问,这东西真的是个船吗?

500

  《星际迷航》中的企业号

  你如果想论证它不是船,当然能找到一大堆理由。例如船应该在水里,不应该在太空,就像阿杜应该在车底,不应该在车里。但你觉得,宇宙飞船这个词是不是虚假宣传呢?

500

  阿杜在车底

  实际上,如果你把船这个概念固定在平时见到的船,那么宇宙飞船当然不是个船。而如果你对船这个概念做广义的理解,即能装载人旅行的交通工具,那么宇宙飞船确实是个船。量子计算机也是这样。

  如果你把计算机的概念固定在平时见到的计算机,那你当然很容易论证九章不是个计算机。而如果你对计算机的概念做广义的理解,只抓它最本质的特点,即能计算,那么九章确实是个计算机。而且算得超级快,比常规的计算机快得多,这才是九章的价值。所以它被认为是量子计算领域的重大突破,受到全世界科学家的赞誉。

  总结一下:我们见到一个新事物,首要的问题不应该是“它叫什么名字”?而应该是“它能实现什么超能力”?如果你有这个意识,那么你的思维水平就超过了90%的人。

500

  蝙蝠侠的超能力:I’m rich(《正义联盟》)

  现在来问大家一下,九章实现的是什么超能力?

  如果你看过我以前的节目,那么你肯定知道答案了。如果你没看过,那么我来稍微解释一下。

  在科学术语中,跟“量子”相对的叫做“经典”。所以后面,我们把现有的常规的计算机称为经典计算机。

  九章实现的超能力,是多个光子的“玻色子取样”(boson sampling)。这个问题用经典计算机计算起来超级困难,因为它涉及到“积和式”(Permanent)。

  什么叫做积和式呢?取一个n × n的方阵,在第一行取一个数字,在第二行不同的列取一个数字,在第三行跟前两个数字不同的列取一个数字,如此等等。总共取n行的n个数字,然后把它们乘起来。把所有这样的n个数的乘积相加,就是积和式。

500

  积和式

  例如对于a、b、c、d四个数组成的方阵A,

500

  它的积和式就是

  perm(A) = ad + bc。

  积和式的定义看起来很简单,但计算量大得惊人,以至于经典计算机很快就算不动了。为什么呢?

  来考虑一下,对于n行n列的方阵,这n个数的取法总共有多少?第一个数可以在n列中任选一个。第二个数不能和第一个数在同一列,所以它有n - 1个选择。第三个数不能和前两个数在同一列,所以它有n - 2个选择。如此等等。一直到倒数第二个数,只有两列可选。到最后一个数,只剩下一列,那就不用选了。

  所以这n个数的总的取法数量,就是把每一行的选择数量乘起来,即

  1 × 2 × 3 × … × n。

  在数学上,这个从1乘到n的乘积叫做n的阶乘(factorial),写成n!。一个n × n的方阵的积和式,就是把这n!个乘积加起来。

  下面是真正的重点:随着n的增加,n!增加得超级快。

  例如,10的阶乘是3628800。这已经很大了,但看起来还在可处理的范围。然后n增加10,20的阶乘约等于2.43 × 1018,即243亿亿。然后n再增加10,30的阶乘约等于2.65 × 1032,即2.65亿亿亿亿。仅仅30这样一个日常生活中看起来很小的数字,就产生了四个亿连在一起的结果。

  继续增长下去,60的阶乘约等于8.32 × 1081。一般认为宇宙中总的粒子数在1080的数量级,所以仅仅是60的阶乘,就超过了整个宇宙的粒子数!

  现在,大家明白为什么积和式非常难计算了吧?那些认为九章没什么了不起的人,都是因为对九章解决的这个问题有多困难没有概念。

  一个普遍的思维方法是,你只有了解一个事物的对手,才能对它的价值做出正确的评估。

  讲个笑话。在中国解放战争期间,美国政府对蒋介石集团的评价很低,简直是切齿痛恨。因为他们无能又腐败,被共军打得落花流水,四大家族还把美援都给吞了。一场朝鲜战争打下来,一个意外的效果是,美国政府对蒋介石集团的观感陡然提升。因为发现共军原来这么厉害,而蒋介石居然还能跟共军扛几年,那他也算是颇有两把刷子了!

500

  运输大队长蒋介石

  下面我们来看,九章是如何计算玻色子取样的?

  它不是用积和式的定义去算,而是直接运行玻色子取样这个物理过程。这个任务可以大致理解为:一个光路有若干个入口和出口,把若干个光子放进去,让它们经过复杂的透射、反射和干涉,探测光子从每一个出口出去的概率。

500

  九章论文附件(https://science.sciencemag.org/content/suppl/2020/12/02/science.abe8770.DC1)图1,整个装置的示意图

  在九章的实验中,光学干涉仪有100个模式,即有100个入口和出口。九章用200秒取样了5千万次,光子数的平均值是43,最多达到76。而现在最强的经典计算机取同样多的样需要6亿年,跟它相比九章有一百万亿倍的优势。

  有些人可能要反对:这只是个光学的物理过程,怎么能叫计算呢?

  那请想一想我们平时用的计算机,它是怎么计算的?那也是个电学的物理过程,为什么你会认为它做的就是计算呢?其实只是因为习惯了而已。

  如果一个十九世纪的人穿越到现在,看到遍地是一种盒子,它用电工作,而人们把它叫做计算机,他肯定会惊讶不已。现在的你如果穿越到将来,说不定也会看到遍地是一种用光工作的盒子,而那时的人也把它称为计算机。这有什么不可以的呢?

  追根究底,任何物理过程如果能给出数学计算的结果,都可以称为计算。让我们回顾一下前面强调的思维方式:重要的不是一个事物叫什么名字,而是它实际是什么,能实现什么不平凡的效果。

  有些人可能又要说了:我拿个手电筒对着很多面镜子乱照一通(《高斯玻色采样不是量子并行计算而是经典的硬件蒙特卡洛模拟》)或者点个爆竹(《“九章”量子计算机为啥这么快?玻色采样问题是什么?量子霸权时代是否已经到来?》),不也能超过经典计算机吗?

500

  手电筒乱照理论

500

  点爆竹理论

  这种说法的错误在于,要计算,你首先得知道自己计算的是个什么问题,要把每个参数都精确地输进去才行。九章在技术上做出了很多突破,就是为了实现对每个参数的精确控制。

  这些技术突破,包括最好的量子光源、最好的干涉技术、最好的锁相技术、最好的单光子探测器等等。例如这个最好的锁相技术,实现的是在2米自由空间加20米光纤的光程中抖动不超过25纳米,这相当于100公里的距离误差小于一根头发丝(《让中央集体学习的量子科技究竟是啥?这个科普我已经做了五年(五)在九章中介绍九章 | 袁岚峰》)。

  现在大家可以明白,九章的技术难度是在这里。潘建伟研究组十多年来就是光学量子信息研究的世界领导者,改进了大量的技术。这个实验的基本原理大家早就知道,但为什么是潘建伟和陆朝阳等人做出来了,其他人没做出来,原因就在于此。

  从更大的视野看去,这些技术突破本身就很重要,因为它们可以用于更大的范围。例如窦贤康院士与潘建伟研究组张强教授合作研制了量子雷达,将大气风场的探测距离从2.6公里提高到了8公里(《高空大气与量子雷达 | 窦贤康》)。普通人也许听不懂量子计算机,但听到量子雷达,立刻就知道这东西很有用了吧?

500

  窦贤康院士与潘建伟研究组张强教授合作研制的量子雷达,将大气风场探测距离增加到3倍(高空大气与量子雷达 | 窦贤康)

  对照一下,你就会发现,点爆竹不是个有精确定义的问题,因为你无法控制每次点爆竹的初始条件都相同。至于拿手电筒乱照一通,——提问者自己都说了是乱照嘛!宣称这样能超越经典计算机,看起来很机智,其实是脑子不清醒。你自己都不知道自己在算什么,别人当然更不知道,难道你这样就超越了别人?

  我见到的另一种对九章的反驳,是说拿一个高尔顿钉板,里面钉上一万个钉子,分成100排。箱子下部做100个格子。然后从上面开口处撒下一千个玻璃珠子,几秒钟内全部落入底部。分别计算每个格子内的玻璃珠数,立马就得到珠子的高斯正态分布(《按潘建伟的逻辑,袁灿伦设计出比“九章”快万亿倍超级量子计算机》)。

500

  高尔顿钉板和高斯正态分布

  然后这位作者嘲讽说:由于有一万个钉子,它的计算速度是太湖神光超级计算机的2的一万次方倍,是九章的万亿亿……倍。

500

  用高尔顿钉板超越九章,一个“机智”的设想

  这种说法的前半部分是对的,通过这种方法确实可以得到正态分布。但后半部分是错的,这种方法的速度根本不是超级计算机的2的一万次方倍。实际上,这位作者极大了低估了经典计算机。随便拿个计算机出来,计算正态分布都是瞬间出结果。因为它就是一个简单的指数函数啊!

500

  正态分布

  跟前面提到的拿手电筒乱照或者点爆竹相比,高尔顿钉板比它们靠谱一点,它处理的是一个有精确定义的问题。如果你愿意,确实可以把它称为计算机。但它算的是一个毫无难度的问题,所以做出九章可以发《Science》,而做个高尔顿钉板什么学术杂志都发不了。当然,可以作为教学工具,这正是它最大的用途。

  回顾一下前面说的:你应该了解一个事物的对手,才能对它的价值做出正确的评估。九章好比是能击败中神通王重阳,所以大家认为它很厉害。而这些人好比是沾沾自喜自己能击败小毛贼,然后就认为自己比九章厉害。这只能说明这些人分不清王重阳和小毛贼,也不知道自己几斤几两。

  这位作者之所以会产生这种奇葩的想法,大概是因为看到许多科普文章把九章比喻为高尔顿钉板,于是他就以为九章真的只是个高尔顿钉板。拜托,什么叫“比喻”你搞不清吗?网上经常把中国称为兔子,难道你就觉得中国真的是只兔子吗?

500

  《那年那兔那些事》

  实际上,这正是为什么九章要做的是“玻色子”取样,而不是“费米子”取样。微观粒子分为两种,玻色子(boson)和费米子(fermion)。光子属于玻色子,而质子、中子、电子属于费米子。玻色子和费米子遵循不同的物理规律。

  具体而言,费米子要满足泡利不相容原理,而玻色子不受这个限制。学过高中化学的同学,肯定听说过这个泡利不相容原理。由于这个区别,费米子取样的结果很容易计算,而玻色子取样的结果就很难计算。高尔顿钉板更类似的是费米子取样,而不是玻色子取样。

500

  泡利不相容原理

  作为一个普遍的思维方式,大家可以领悟到:一个重要的科学成果,它的每一个细节肯定都是很有考虑的。你如果觉得它平淡无奇,那八成是你没有理解它的精妙之处。好比《天龙八部》里萧峰使了一路太祖长拳,普通人也许看不出门道,而高手就赞叹不已。

500

  萧峰的太祖长拳

  总结一下,如果有人拿一个技术含量很低的装置跟九章类比,以此嘲讽九章,那么你可以问他两个问题:这个装置处理的是有精确定义的问题吗?这个问题是经典计算机难以处理的吗?他肯定会倒在其中至少一个问题上。

  如果对这两个问题的回答都是“是”,那么这个装置的技术含量肯定极高,能在国际科学界引起轰动的那种。这肯定不是没有学术基础的普通人能想到的。实际上,在目前所知的范围内,这样的装置只能是一台量子计算机。

  另一种对九章常见的反驳是,它只能执行玻色子取样这一个任务,连1 + 1 = 2都算不了,这怎么能行呢?计算机不是应该可编程,可以执行任何任务吗?

  对此的回答是这样的。让我们画一个图,横轴表示各种计算问题,纵轴表示性能。经典计算机有一个分布,好比是这样一条线。然后,你觉得量子计算机应该是什么样?

500

  你以为的量子计算机

  许多人觉得,量子计算机应该对所有的问题都比经典计算机快。也就是说,量子计算机的这条线应该整体在经典计算机的这条线的上方。

  错了!大错特错!这就是许多人误解的根源。

  真实的情况是,量子计算机的这条线只是在某些地方超过经典计算机,像一个锯齿一样脱颖而出。而在其他地方,它跟经典计算机是一样的。由于技术和成本限制,在那些问题上它的性能其实还不如经典计算机。

500

  实际的量子计算机

  你也许想问,为什么会这样?答案是,量子计算机的优势在于粒子的叠加与纠缠。但这只是个潜在的优势,需要有巧妙的算法才能发挥出来。

  对于有些问题,我们设计出了巧妙的算法。对于其他问题,我们还没有巧妙的算法。简而言之就是,量子计算机的优势需要软件配合,但这些软件只适用于某些问题。如果你想更深入地了解这些原理,我在以前的节目中介绍过不少,欢迎大家去看。

  量子计算机能超过经典计算机的问题,包括因数分解(《让中央集体学习的量子科技究竟是啥?这个科普我已经做了五年(四)量子因数分解与破解密码 | 袁岚峰》)和玻色子取样等等,数来数去其实没几个。而不超过经典计算机的问题,那就太多了,最简单的加减乘除就是。随便拎出一个问题,量子计算机不超过经典计算机是大概率事件,能超过才是惊人的。

  你也许会大失所望:就这?那量子计算机还有什么用?

  但请仔细想想:我们真的需要量子计算机在所有问题上都超越经典计算机吗?不需要啊。在那些常规的问题上,继续用经典计算机不就好了?只是对于量子计算机有优势的问题,我们去用量子计算机。也就是说,量子计算机的前景不是取代经典计算机,而是跟经典计算机联用。

500

  量子计算机与经典计算机联用

  因此,“九章连1+ 1 = 2都算不了”,这话完全不得要领。实际上,通过调整硬件,九章可以计算1+ 1 = 2。但我们不会去这么做,因为这没有价值。

  打个比方,有个人是游泳冠军,但有人非要说他举重不行。这不是抬杠吗?又比如说,手机能不能砸核桃?当然可以。但这是它该干的事吗?当然不是。除非,这个手机叫做诺基亚……

500

  手机砸核桃

  我的朋友、风云学会会员“抱朴仙人”看了我的文稿,立刻就总结出了量子计算机与普通计算机的比较:局部超优,大部偏弱,联合最好。看看,这就叫做善于抓重点!如果你想从事创造性的工作,没有这种抓重点的能力,是不可能成功的。

  实际上,类似的思路现在的计算机已经在使用。例如图形处理器(GPU),它设计出来是专门做图形加速的,后来又常用于深度学习里的并行计算。现在的个人电脑几乎全都在用GPU,就是显卡中的芯片。

  请问,GPU能处理所有的任务吗?不能啊。那它没有用处吗?当然不是啊,它非常有用。如果有人要把你电脑中的显卡拔了,你会同意吗?

  说到这里,你就会恍然大悟:我们完全不需要一台量子计算机执行所有的任务。完全可以是若干台量子计算机,每一台执行某一个特定的任务。甚至连若干台都不是必需的,只要有一台量子计算机能执行一个特定的任务,在这个任务上超过经典计算机,就是好的。

  很好。现在你明白了,量子计算机有用的关键不在于可编程,而在于在某个任务上超过经典计算机,也就是在性能曲线的某个地方脱颖而出。

  用专业术语说,这叫做实现“量子优越性”(quantum advantage)。这个词刚提出来的时候叫做“量子霸权”(quantum supremacy),后来因为霸权这个说法太容易令人产生负面联想,所以现在更多地叫量子优越性了。但无论叫什么,实质的意思是一样的。

  在这个背景下,我们就可以理解九章的意义了。以前的量子计算机有个重大的局限:对任何问题都实现不了量子优越性。也就是说,可以算,但算得很慢,相比现有的计算机没有优势。你老在经典计算机的曲线下面,不能脱颖而出,那还有什么用处?所以有不少唱衰派认为,量子计算机永远都不能成功。

  2019年,美国谷歌第一个宣布实现了量子优越性。他们的量子计算机叫做“悬铃木”(Sycamore),物理体系是超导电路,处理的问题叫做“随机线路取样”(random circuit sampling)。

500

  谷歌论文图1对“悬铃木”量子计算机结构的演示

  看“取样”这个名字就能知道,悬铃木计算的方法就是直接执行随机线路取样这个物理过程,以此超越按照数学定义做计算的经典计算机。在这个意义上,悬铃木跟九章是一样的。但中国的键盘侠们根本不知道这一点,所以没有去攻击悬铃木不是计算机、是虚假宣传。这些人跟前面提到的蒋委员长一样,是“内战内行,外战外行”。

  2020年,九章第二个宣布实现了量子优越性,物理体系是光学。实际上,这篇论文的标题就叫做《用光子实现量子计算优越性》(Quantum computational advantage using photons)。

500

  九章在《Science》上的论文(https://science.sciencemag.org/content/370/6523/1460.full)

  所以,九章的成果是第二个实现量子优越性,第一个用光学实现量子优越性。如果要仔细分析,还可以说是第一个实现无可争议的量子优越性。因为谷歌的成果不是那么确定的。如果把经典计算机的算法改进一下,再把取样的样本数增加一下,完全可能让经典计算机反超悬铃木。而九章就不存在这个问题,目前经典计算机看不到反超的方法。不过这个分析需要很多细节,只有内行才能完全理解,在这里就不多谈了。

  总而言之,有了九章和悬铃木,人们对量子计算的信心就大大增强了。现在再跑出一个唱衰人士说量子计算机永远不可能成功,人们相信他的可能性就很低了。这对整个行业很重要,否则如果各国政府和企业觉得量子计算是个大坑,全都撤了资,那它就真的不可能成功了。

  有不少人认为,九章不能编程,而悬铃木能编程,所以九章是个渣渣。了解了以上背景,你就明白这种观点的错误之处了。

  可编程确实是悬铃木相对于九章的一个优点。但现阶段的核心目标并不是可编程,而是量子优越性。在这方面,九章比悬铃木只强不弱。

  谷歌已经在用悬铃木来处理其他问题,例如量子化学计算。但在那些问题上的速度都不高,例如相当于四十年代的计算机ENIAC。它真正实现了量子优越性的问题,仍然只有一个,就是随机线路取样。在这个层面上,悬铃木跟九章是一样的。

500

  用悬铃木做量子化学计算,达到了1940年代计算机的水平(陆朝阳提供)

  请注意,我绝没有说悬铃木是渣渣。有些人为了狭隘的荣誉感,把外国的成果说得一钱不值。这是不对的。我们应该对所有的科学成果都心存敬意,无论它是哪国的。

  我要强调的是,有些人非要说九章是渣渣,这也是不对的。正确的理解是,两者都很了不起,赞一个不需要踩另一个。

  陆朝阳等人下一步的目标,是在五年内突破某些有重大实用价值的问题,例如加速药物研发(《“救命药贵到买不起”的难题,未来能靠量子计算机解决?| 科技袁人》)或者量子化学计算。

500

  《我不是药神》

  至于可编程的、能执行任何任务的通用量子计算机,那可能要20年或更远。

500

  量子计算机的一个个目标(中国科学家研制出首个有潜在应用的量子计算原型机 | 墨子沙龙)

  说到这里,让我想到一点。正是因为中国科学家的努力,让中国在量子计算领域赶上了美国,才让键盘侠们能够好整以暇地说风凉话。如果美国的量子计算远超中国,人家用量子计算机破解了我们的密码,或者用量子计算机研发出了新药,键盘侠们会不会用同样的理由去批评人家不是计算机、是虚假宣传呢?

  显然,即使他们这样做,也不会得到很多赞同的。大多数人都能辨别出来,这是一种阿Q行为。这让我又想到一个比喻。

  如果有中国人在明清时期说:不得了啦,洋人有枪!然后一群人反驳他说:非也非也,那不是赵子龙的长枪!你觉得怎么样呢?显然这些人没抓到重点,因为真正重要的是这东西能打死人,而不在于它叫做长枪还是火枪。

500

  我赵子龙来也!(《三国志之见龙卸甲》)

500

  僧格林沁骑兵对英法联军的八里桥之战(《火烧圆明园》)

  最后,从这些思维分析,我总结出一条原理:许多人的错误在于,千方百计把自己不理解的事物平凡化。

  我在康奈尔大学作博士后的时候,导师之一是李政道的二儿子李中汉(Stephen Lee)教授。李老师每次召集我们开组会,都会先发一堆文献,最近各个著名期刊上的论文。他让每个人迅速地看一下一篇文章,然后告诉大家:这篇文章的价值何在?为什么能发《Nature》?为什么能发《Science》?为什么能发《美国化学会志》?如此等等。

500

  李中汉

  这是一个很好的训练,让我们养成了“寻找事物的不平凡之处”的思维习惯。令人遗憾的是,许多人不但是没有这个意识,而且是反其道而行之。面对一个学术界认为非常不平凡的成果,他们不是努力去了解它,而是找种种理由,千方百计地论证它平淡无奇。

  这些人从来不去想想,如果这东西如此平凡,为什么会在著名期刊发出来呢?为什么会受到学术界的普遍重视呢?这是一种典型的思维缺陷,顺着这种思路想再多也没有好处,因为一路问的都是错误的问题。

  如果你领悟了这些思维方式,懂得寻求事物的不平凡之处,懂得问正确的问题,那么你一定会迅速进步,你的思维水平就超过了99%的人。

全部专栏