量子计算、量子通讯在国内炒得很热。其实也不但在国内,在国外也一样。大家觉得超级计算机已经走到瓶颈,量子计算机也许是一条出路。本月IEEE Spectrum 2018/4月号发表Lee Gomes一篇长文,题目叫“Quantum Computing:Both Here and Not Here”比较详细介绍了量子计算的现状与未来。
薛定谔的猫,大家都听说过,它同时既是活的,也是死的。现在追随薛定谔的科学家也是在一种怪异的状态,同时高兴又惊骇。薛定谔思想的实验现在进入创造量子计算机的时期,希望能做一些传统计算机不能做的事。
2014/2/17时代杂志封面"无穷机器",说它能解人类大部分复杂问题。此后许多杂志跟着这么夸张。科学家们希望表明量子霸权,即系统可以解决已有传统计算机内存和处理器无法处理的问题。实际上,Google算法运行并没有什么实际意义,不过是超出了目前传统计算机的范围。
建造量子计算机来解决现实世界的问题还需要许多年的研究。Google和IBM搞量子计算的工程师们说:量子梦境机要解决令计算困惑的问题也许要几十年以后。即使在那时,也没人期望量子计算机会取代传统计算机。目前所有的量子计算机都是和传统计算机一起完成预处理和后处理的步骤。许多传统计算机可以很快执行的编程任务在量子计算机上可能更慢,即使与量子计算机配合的软硬件均已齐备,也是如此。
在美国标准与技术研究院(NIST)多年研究量子后来转到微软的Stephen Jordan说:量子机器只对用今天的计算机需要大量资源投入的一类计算任务有用。
量子计算机的想法源于1981年诺奖获得者、物理学家Richard Feynman的一次演说。他指出了用亚原子颗粒去模型化其他亚原子颗粒的形态的可能性。但是,一个关键的出发点是Peter Shor的一篇文章。他后来到了AT&T贝尔实验室,现在MIT。他说如果量子计算机可以建造出来,它可以找到大数的质因子,从而战胜通常使用的公钥密码系统。这种计算机将基本上打碎因特网。这就开启了量子密码的研究。美国安全部门很快就开始研究量子硬件。过去20年主要是政府花掉了几十亿美元。现在这个技术已经接近商业化,风险投资也已介入。所以,目前对量子的大肆宣传并不奇怪。
量子计算机怎么工作呢?大家知道,量子的状态不是用0和1能表达的。量子计算机建基于量子位,它是一个量子对象,有无穷个状态,与是0或1的概率有关。任何东西,譬如电子、光子,只要带有量子性质、能隔离、能控制,就可以作为量子位。
当量子位装入计算机,它就得接触某些机构,能给它传递电磁能量。为了运行一个特定的程序,计算机用一个精心设计的序列,譬如微波传送,以一定频率在一定时间去推动量子位。这些脉冲对应于量子程序的指令。每条指令使量子位的未测量状态用特定方式卷入该过程。这些脉冲运作并不是针对一个量子位,而是针对系统中所有量子位,各量子位接收到不同的脉冲指令。量子计算机中的量子位通过一个所谓纠缠的过程进行交互,就像说话,联系着它们的命运。量子计算机的研究者们关注的重点是任何用量子位有序状态的变化去完成有用的计算。成千上万的脉冲之后,程序完成,测量量子位得到计算的最后结果,从而使每一个量子位变成0或1,波形函数变成了量子机械。
这个过程很工程化,但必须保证在计算过程中量子位不被干扰。做到这一点非常困难。这就是为什么搞了这么多年,还只能做一二十个量子位,完成最简单的算术运算。由于干扰,量子位极易发生错误。因此,量子位必须有冗余的备份。当一位出错时,能用备份位纠正之。这种差错校正在正规的计算机里面也有,但备份位的数量在量子系统中就多得多。工程师们估计,在可靠的量子计算机中。每一个量子位需要1000个备份位,或者更多。因为许多近代算法一开始就要上千的量子位,所以,有用的量子机器可能需要上百万的量子位。
最近宣布的Google量子计算芯片只有72个量子位。能不能有用就决定于它们的差错出现率有多高。Google的量子计算机团队的先锋是2014年从加州大学圣巴巴拉分校招来的。去年11月IBM宣布他们做了50量子位的计算机,INTEL宣布做出了49量子位阵列,还有新开的在加州伯克利的Rigetti,都依赖于特殊设计的芯片,用虚拟的超导电路环路使之具有了量子性。这些芯片必须保持在极低的温度下,冷却机制变得非常复杂,就像好莱坞的科幻电影道具,制造一个小系统。杜克大学物理学家Jungsang Kim和马里兰大学的Christopher Monroe新开一家公司IonQ,用完全不同的量子硬件结构。一个量子质点,即离子,悬浮在系统中,工作在室温下。他们用镱离子做了一个机器。微软追求第三条途径,叫拓扑量子计算,有理论承诺,但没有建造出硬件。
所有这些系统都没有做出被公众接受的与量子有关的计算平台。加拿大的D-Wave系统已经安装在大公司里面,譬如Google和Volkswagen,但是,从量子计算的领域专家看来,D-Wave系统不能做任何传统计算机不能做的事,也没有达到任何量子加速。
看来Google-IBM-Rigetti的超导路线在硬件竞赛中占了上风。但是,不知道哪一种会最终取得胜利,或者三种都能并存。量子编程者并不在乎谁获胜,只要量子位好用就可以了。
量子计算的未知之一是机器增加量子位能有多快。对于传统的计算机技术,摩尔定律保证两年晶体管数可以翻一翻,但是,带量子机器的复杂电子却没有如此的预测。许多工程师预期在最近的将来,可能会有带少量量子位的机器,譬如几百个量子位。因为光是基本显示量子权威的机器可能提供不出什么有用的结果,而成熟的系统可能在许多年以后。所以,工程师们关注适当大小的量子系统上的算法能够在近期实现。有人怀疑:量子计算机是否能够在近期内解决现实世界的问题,或者用它来赚钱。我们需要更大的系统。
自从MIT的Shor开发了提取因子的算法,量子计算就与密码学紧密联系起来,但是,废除因特网的密码技术,使量子领域意识到Shor-worthy机器还有很长的路要走,而且,后量子密码学还要对任何量子攻击不受影响。现在NIST正在评估各种后量子密码方案。
最近研究人员不只关注加密技术,在Feynman关于量子计算原始想法的指引下转向研究用机器模型化原子和分子。在NIST量子算法Zoo里面模拟物理和化学,但代价比较高,譬如想象超导金属在室温下会怎么样。
非理性的繁荣应该防止。马里兰大学物理学家和计算机科学家Andrew Childs预言,第一代量子计算机只能处理相当简单的物理和化学问题。你可以用几个比特位回答凝聚态物理里的问题,但是,弄懂高温超导就需要很多比特位。
有了量子计算机,就要有越来越多的优化,实践的程序员得到实惠越多,他们的算法就会越好。这就是为什么IBM的量子机器放到网上,让研究人员随便改。我们需要可用的量子机器和算法的改进,需要上万的学生来促进这一领域。经典计算已经100年了,我们不希望还在电子管时代。希望还在,但路还很长。看下面的图片即可略知一二。
图1:IBM和Google的量子计算机需要冷却到接近绝对零度才能工作,此冷却是用一个稀释冰箱。下面是其框图。
图2:谷歌是用超导量子处理器,譬如下面的22个比特位排成两行。
图3:IBM用16比特位量子处理器去驱动IBM公用平台,探索量子计算。
图4:去年一月,INTEL宣布制造出49量子位的超导量子计算处理器,被称为Tangle lake。
图5:2016年IonQ演示一个可以工作的5量子位计算机,用激光处理设备中的镱离子阱。
图6:在加州伯克利刚开张的Rigetti最近开始制造19量子位超导处理器芯片。