一份蓝图:量子计算机该如何走向实用时代?
通用型量子计算机的开发之路虽然艰难,但并非不可能。
经典魔方拥有43252003274489856000种可能的组合。大家可能会好奇,人类是如何将这样一个经过加扰的多维数据集恢复至初始状态,即每侧仅排布同一种颜色的。更夸张的是,有些人在看过一遍打乱后的状态后,蒙上眼睛也能把魔方快速复原。之所以可行,是因为魔方的排列背后存在一套基本规则,因此操作者总是能够在20步或者更少的操作量之内将其还原至初始状态。
控制量子计算机,在原理上有点像蒙住眼睛破解魔方:初始状态一目了然,而且基本元素(量子比特)也是明确且有限的,可以通过一且简单的规则进行操作及表达(表示量子态的旋转向量)。但问题在于,操作过程中一旦行观察,就会给系统的运转结果造成严重影响:如果查看过早,则计算将受到干扰。换言之,我们只能查看计算给出的最终状态。
量子计算机的强大之处在于,这套系统可能同时处于多种组合状态当中。不少专家认为这种特性意味着量子计算机根本不可能被创造出来——即使被创造出来,也无法有效操控。他们的理由也明确,描述状态组合所需要的参数实在太多。没错,控制量子计算机并确保其状态不受各类错误源干扰本身,确实是一项极为困难的工程学挑战。但是,真正的难点并不在于复杂的量子态,而更多体现在保证基础控制信号集正常起产方面——如果保证不了这一点,我们根本无法验证量子比特的行为是否与预期相符。
如果工程师们能够找出答案,那么量子计算机终有一天会解决当前经典计算机搞不定的难题,包括破解传统意义上无法破解的密码、加快新药的发现、改善机器学习系统并解决极为复杂的物流优化问题等等。
人们的期望高涨,科技企业与各国政府也将数十亿美元砸向量子计算机研究领域。但这仍是一场赌博,因为成就这一切巨大潜力的量子力学效应,同时也导致这类设备极为敏感且难以控制。
但结果必然如此吗?经典超级计算机与量子计算机之间的核心差异,在于后者会利用某些量子力学效应以反直觉的方式进行数据操控。这里我们只能简单聊聊纯技术内容,但相信这样的表述应该足够帮助大家理解量子计算机在工程设计层面的难度,以及克服这些障碍的某些可行策略。
传统经典计算机面对的是二进制比特,每一位必须为0或1;量子计算机面对的则是qubits,即量子比特。与经典比特不同,量子比特可利用叠加态这一量子力学效应,使得单一量子比特同时处于0与1的叠加状态。在描述某个量子比特的状态时,我们实际上是在描述其处于1与0所对应的概率系数——这将是一个复数,由实部与虚部共同构成。
经典超级计算机与量子计算机之间的核心差异,在于后者会利用某些量子力学效应以反直觉的方式进行数据操控。
在一台多量子比特计算机当中,我们可以通过非常特殊的方式创建量子比特,确保某一量子比特的状态无法以脱离另一量子比特状态的前提下进行描述。这种现象被称为纠缠态——多个量子比特的纠缠态,要比单一量子比特的状态更加复杂。
二比特经典二进制组合只能表达00、01、10及11这四种状态,但两个相互纠缠的量子比特却能够处于这四种基础状态的叠加态中。换言之,两个相互纠缠的量子比特可能包含一定的00度、一定的01度、一定的10度以及一定的11度。三个量子比特相互纠缠将代表八种基本状态的叠加。因此,n个量子比特将处于2n个状态的叠加态。在对这n个相互纠缠的量子比特执行操作时,将等同于同时处理2n位信息。
我们对量子比特执行的操作,类似于旋转魔方。但最大的区别在于,量子旋转永远不可能完美。由于信号质量控制能力的限制以及量子比特极高的敏感度,我们对量子比特旋转90度的操作很可能最终带来了90.1或者89.9度的结果。这样的错误看似不大,但其影响会快速叠加起来,最终输出完全错误的结果。
提高实现门槛的另一个因素是退相干:量子比特会逐渐失去其承载的信息,即脱离纠缠态。引发这种情况的原因,在于量子比特与环境之间存在一定程度的相互作用,即使存储量子比特的物理基质经过精心设计、高度隔离,仍无法彻底消除这种作用。虽然我们可以使用所谓量子误差校正来补偿误差控制与退相干造成的影响,但这同时要求我们引入更多物理量子比特,而它们同样需要受到相应的校正保护。
不过一旦克服了上述技术难题,量子计算机将在某些特殊类型的计算中发挥出无可比拟的价值。在量子算法执行完毕后,设备将测量其最终状态,并在理论上解决众多经典计算机无法在合理时间内解决的数学问题。
那么,我们要如何设计一台量子计算机?在工程层面,目前的最佳作法是将机器的主要功能拆分成多个包含相似性质或者所需性能的子功能组。这些功能组能够更轻松地与硬件映射起来。我和我的同事们发现,量子计算机所需要的功能可以天然划分为五类,即概念意义上的五种控制层。IBM、谷歌、英特尔以及其他各类企业机构的研究人员都在遵循类似的策略。当然,这只是可能性较高的一种,目前还存在其他一些量子计算机构建方法。
下面,我们来具体了解这块五层“大蛋糕”。首先从最顶层起步,民就是硬件内部结构中位置最高的抽象层。
最重要的部分自然是顶部的应用层,它并不是量子计算机的物理组成部分,但在整个系统中扮演着核心角色。它代表着组成相关算法所需要的全部要素:编程环境、量子计算机操作系统、用户界面等等。由这一层构成的算法可以是纯量子形式,也可以是经典计算加量子计算的混合体。应用层应该独立于其下各层中使用的硬件类型之外。
Cake分层大蛋糕: 实用型量子计算机的全部组件可以分为五个部分,每一部分负责执行不同类型的处理任务。
应用层下方的是经典处理层,其具备三项基本功能。首先,它负责优化当前运行中的量子算法,将算法编译为微指令。整个过程与传统计算机中的CPU执行方式类似,CPU需要将每条待执行的机器代码指令编译为多条微指令。另外,该层还将处理以下各层内硬件返回的量子态测量结果,将这些结果反馈至经典算法中以产生最终结果。最后,经典处理层还负责为以下各层提供必要的校准与调整。
经典层下方为数字、模拟与量子处理层,它们共同构成一个量子处理单元(QPU)。QPU 这三层之间紧密相连,每层的具体设计都在很大程度上取决于另外两层。接下来,我将更全面地自上而下描述构成QPU的这三个层。
数字处理层负责将微指令转换为脉冲,即操作量子比特所需要的信号类型,进而将量子比特转换为量子逻辑门。更准确地说,此层提供了模拟脉冲所对应的数字定义。模拟脉冲本身在QPU的模拟处理层内生成。数字层还负责将量子计算的测量结果反馈至上方的经典处理层,确保后者将量子解与经典计算结果整合起来。
目前,个人计算机或现场可编辑门阵列已经足以应对这些任务。但在对量子计算机进行量子纠错时,数字处理层会变得更加复杂。
接下来是模拟处理层,负责创建发送至量子比特的各种信号。这些信号主要表现为电压阶跃、微波脉冲的扫描与猝发等,其经过调相与调幅以保证正确执行必要的量子比特操作。这些操作直接指向相互连接为量子逻辑门的量子比特,而量子逻辑门又将进一步相互协同,根据当前运行的特定量子算法执行整体计算。
虽然从技术角度看,生成这样的信号并不是非常困难,但在管理量子计算机内的实际信号时,我们仍要面对不少障碍。一方面,发送至不同量子比特的信号需要在皮秒级时间尺度上保持同步。我们必须以某种方式将这些不同信号传递至对应的不同量子比特,确保它们正确执行不同操作。这事听着困难,做起来更困难。
分而治之: 在实用型量子计算机中,由于量子比特太多,我们无法独立将信号线附加至每个量子比特上。相反,我们只能使用空间与频率的复用组合。量子比特将被成组制造出来,并附加至同一条公共信号线上,其中每个量子比特被调整为仅响应一种信号频率(图中显示为不同颜色)。以此为基础,计算机即可生成特定频率的脉冲并通过模拟交换网络将脉冲仅发送至特定量子比特组,从而操纵量子比特中的目标子集。
在目前只包含几十个量子比特的小型系统当中,每个量子比特都被调谐至不同频率——大家可以将其理解为锁定在某一频道上的无线电接收机。我们在公共信号线上通过特殊频率选定要建起的量子比特。虽然可行,但这种方式扩展性较差。可以想见,发送至量子比特的信号必须具备合理的带宽,例如10兆赫。如果计算机内包含100万个量子比特,那么这样的信号系统将需要10太赫的带宽,这显然不可能实现。此外,我们也不可能建立100万条单独的信号线,用来直接将每信信号单独发送至每一个量子比特。
可行的解决方案,可能需要将频率与空间整理成复用组合。量子比特将被成组制造出来,各个组全部接入模拟通信网络,该网络负责将模拟层中生成的信号单纯接入选定的组子集处。只要正确安排信号频率与网络连接,我们就能够操纵单一或者一组目标量子比特,同时保证不影响其他量子比特。
虽然在理论上可行,但这种多路复用结构也有其代价:控制精度不足。如何解决这种精度不足问题,目前仍有待商榷。
在现有系统中,数字与模拟处理层主要运行在室温环境下。但下方的量子处理层(保存量子比特的层)则需要运行在绝对零度条件当中。不过随着未来系统中量子比特数量的持续增长,构建这三个层的电子设备必须集成到同一块经过封装的低温芯片内。
部分企业目前正着手构建基于超导量子比特的所谓预原型系统。这类设备最多包含几十个量子比特,能够执行数十至数百项相干量子操作。遵循这一思路的企业包括科技巨头谷歌、IBM以及英特尔。通过扩展控制线的数量,工程师们能够将现有架构扩展至数百量子比特,但也就仅此而已。量子比特之间保持相干性的时间很短(目前大约为50微秒),系统必须在退相干发生之前尽可能多地执行量子指令。
考虑到这些限制,预计未来一段时间,这类包含数百个量子比特的系统将主要作为常规超级计算机的加速器方案。量子计算机在处理特定任务时速度更快,能够将结果返回给超级计算机以供进一步处理。从某种意义上讲,这样的量子计算机类似于笔记本电脑中的GPU,专门用于完成矩阵求逆或者初始条件优化等CPU不太适合处理的任务。
在量子计算机的下一发展阶段,应用层的构建将越来越轻松。数字处理层同样相对简单。但是,构建QPU的三个层才是真正的核心难题,现有制造技术也无法产生完全一致的量子比特。因此,不同的量子比特之间必然存在略有差异的属性。这种异质性又要求QPU中的模块层做出针对性的适应。这就带来了定制化需求,并导致构建QPU的流程难以大规模扩展。要想开发出规模更大的量子比特系统,首先需要消除模拟层的定制化需求,同时找到可行的控制信号与测量信号多路复用方法。
要在未来五到十年内显著提升量子比特数量,研究人员必须首先找到成熟的多路复用方案,确保他们能够在设备上提升纠错功能。这种纠错功能的基本思路很简单:不再将数据保存在单一物理量子比特中,而是将多个物理量子比特组合为同一个经过纠错的逻辑量子比特。
量子纠错能够从根本上解决退相干难题,但每个逻辑量子比特可能需要100到10000上物理量子比特。这还不是唯一的障碍——实现纠错还需要一套低延迟、高吞吐量的反馈环路,且跨越QPU中的全部三个层。
目前正处于试验阶段的量子比特分为多种类型,包括超导电路、自旋量子比特、光子系统、离子阱、氮空位中心等等,我们还不清楚哪一种最适合用于创建大规模量子比特系统。无论哪种方法最有效,可以肯定的是要打造出通用型量子计算机,我们至少需要能够封装并控制数百万个量子比特(甚至更多)。
这就引出了新的疑问:这一切真能实现吗?数百万个量子比特必须由连续的模拟信号精准控制。很难,但并非完全不可能。我和其他研究人员经过计算后发现,如果能够将设备质量提升几个数量级,即可实现对纠错控制信号的多路复用,模拟层的设计将因此变得简单明了,数字层则可直接管理这套多路复用方案。以此为基础,未来的QPU将不再需要数以百万计的数字连接——只需要数千甚至数百条即可,现有IC设计与制造工艺已经完全能够实现。
更大的挑战可能来自测量方面:在量子计算机上,芯片每秒需要执行数千次测量。这些测量操作在设计上不应干扰量子信息(直到计算结束,这些信息才会真正呈现),同时能够发现并纠正期间出现的任何误差。要以这样的频率测量数百万个量子比特,无疑要求我们彻底升级现有测量原理。
现有量子比特的测量方法需要对模拟信号进行解调与数字化。在数千赫兹的测量速率下,如果一台计算机内包含数百万个量子比特,那么总数字吞吐量将高达每秒数PB。要求将室温电子设备接入绝对零度环境下量子芯片的现有技术,根本无法应对如此恐怖的数据量。
很明显,QPU的模拟层与数字层必须和同一芯片上的量子处理层集成起来,并引入某种精巧的设计方案以实现测量预处理以及多路复用。幸运的是,单纯的纠错操作并不需要将所有量子比特的测量结果上传至数字层。只有在本地电路检测到错误时,才需要实际执行上传,这将大大减少所需的数字传输带宽。
量子层的具体设计,将从根本上决定计算机的运行状况。量子比特中如果存在缺陷,则意味着我们必须引入更多缺陷以执行纠错。随着缺陷的愈发严重,量子计算机本身终将无法正常运转。但反之亦然:量子比特质量的提升虽然成本不菲,但却能给工程师们留下更多发挥空间,并最终打开指向通用型量子计算机的大门。
不过在目前的量子计算原型开发阶段,我们仍然不得不对各个量子比特进行单独控制,从而充分利用少得可怜的现有量子比特。不过随着可用量子比特数量的增长,研究人员们很快就得设计出用于实现控制信号复用与量子比特测量的新系统。
接下来的另一项重要工作,是引入某种基础性纠错形式。初步来看,将存在两条并行的开发路径——一条具备纠错功能,一条没有纠错功能。但几乎可以肯定,具备纠错功能的量子计算机终将占据主导地位,而没有纠错功能的方案将无法执行任何具有现实意义的任务。
为了做好准备,芯片设计师、芯片制程工程师、低温控制专家、海量数据处理专家、量子算法开发人员以及其他相关人士必须开展紧密合作。
如此复杂的合作,恐怕只能在国际量子工程路线图的指引下才有可能实现。以此为基础,各项任务将被有序分配给不同的专家小组,路线图的发布方则负责管理各组间的往来沟通。将学术机构、研究机构以及商业企业的力量集中起来,我们有望成功构建起具备实用性的量子计算机,并真正开启量子计算的新时代。
本文章选自《数字化转型方略》杂志,阅读更多杂志内容,请扫描下方二维码