━━━━
作者|Richard Versluis
经典魔方有43 252 003 274 489 856 000种变化。你可能不解,人们如何将打乱的魔方复原,让每一面只有一种颜色。有些人甚至可以只看一眼打乱的魔方,然后蒙上眼睛来复原。这是完全有可能的,因为存在一套基本规则,通过至多20步即可复原魔方。
控制量子计算机好比是蒙上眼睛解魔方:初始状态已知,且存在一组有限的基本元素(量子位),操控可以通过一套简单的规则表示量子态向量的旋转来实现。但在操控期间查看系统会带来严重后果:如果查看过早,计算将会失败,你只能查看机器的最终状态。
量子计算机的强大在于系统可由众多状态组合而成。有时,这一事实也被用来论证建造或控制量子计算机是不可能的:论证的要点是,描述量子计算机状态所需的参数数量太过于庞大。的确,控制量子计算机并确保其状态不受各种误差源的影响将是巨大的工程挑战。然而,难点不在于其复杂的量子态,而在于确保基本的控制信号的执行完全准确无误,且量子位行为符合预期。
如果工程师能够找到相应方法,量子计算机终究会解决传统计算机无法解决的问题。量子计算机或许能够破解被认为无法破解的密码,协助发现新药,改进机器学习系统,解决复杂的物流问题,等等。
这些期望的确很高,科技公司和政府在量子计算机上押下数十亿美元的赌注。但这仍然是一场**,量子力学效应可带来巨大能量,同样也会使这些机器变得非常敏感,难以控制。
这种情况会持续下去吗?传统超级计算机和量子计算机的主要区别在于,量子计算机利用某些量子力学效应,以违背直觉的方式操控数据。我将简要介绍其中一些效应。这些介绍应足以帮助你了解工程方面的障碍,以及克服障碍的一些策略。
━━━━
普通传统计算机操控位(二进制数字),必须是0或1,而量子计算机操控量子位。与传统位不同,量子位利用称为“叠加”的量子力学效应,使得量子位可处于叠加了一定数量“0”和一定数量“1”的状态。描述一个量子位有多少“1”和多少“0”的系数是复数,它们含有实部和虚部。
在拥有多量子位的机器中,可以用一种极为特殊的方式来创造量子位,如此,量子位的状态便不能独立于其他量子位的状态来描述。这种现象称为“纠缠”。多个纠缠量子位可能存在的状态比单个量子位的要复杂得多。
传统的两位只能被设定为00、01、10或11,而两个纠缠量子位可将这4种基本状态叠加。也就是说,一对纠缠量子位可存在一定数量的00态,一定数量的01态,一定数量的10态和一定数量的11态。3个纠缠量子位元可由8种基本状态叠加而成。n个量子位可以是2n个状态的叠加。对n个纠缠量子位进行运算等同于同时对2n个信息位进行运算。
对量子位进行运算类似于旋转魔方。最大的不同之处在于量子旋转从来都不是完美的。由于控制信号的质量和量子位的灵敏度的某些限制,量子位旋转90度的运算最终可能会使其旋转90.1度或89.9度。误差看起来可能很小,但会迅速累加,导致完全错误的输出。
另一个误差来源是退相干:如果量子位离散,会逐渐丢失所含信息,失去纠缠。即便工程上用存储量子位的物理基使其相互隔绝,在一定程度上量子位也会与其环境相互作用。可以通过所谓的量子纠错来补偿控制误差和退相干的影响,但这样做的代价很大,所需物理量子位的数量和所需处理的工作量都很高。
一旦克服这些技术上的挑战,量子计算机将用于某些特殊类型的计算。执行量子算法后,机器将测量出最终状态。理论上讲,该测量结果有可能解答传统计算机在一个合理时间段内无法解决的数学问题。
━━━━
那么,如何设计量子计算机?工程上往往将机器的主要功能分解成若干子功能组,每个子功能组的性质相似或性能相近。这样,这些功能组易于映射到硬件上。在荷兰QuTech公司,我和同事发现,量子计算机所需的功能可基本分为5组,概念上由5个控制层表示。IBM、谷歌、英特尔等公司的研究人员也在采取类似策略,除此之外,建造量子计算机还可采用其他的方法。
现在来介绍这个5层的“蛋糕”,我将由顶层开始,这是对发生在硬件内部深层繁琐细节抽象的最高级别。
最上层是应用层,它并不是量子计算机本身的一部分,但却是整个系统的关键部分。它表示组成相关算法所需的所有要素:编程环境、量子计算机操作系统、用户界面等。该层算法的组成可以是完全量子化的,也可以是传统和量子的部分组合。应用层不应依赖于其下层使用的硬件类型。
应用层的正下方是传统处理层,它有3个基本功能。首先,它优化运行中的量子算法,并将其编译为微指令,类似于传统计算机中的CPU,对应每条必须执行的机器代码指令,操作运行众多微指令。该层还处理由下层硬件返回的量子态测量数据,这些数据可能会被反馈给传统算法,得出最终结果。传统处理层还将负责下层所需的校准和调谐。
传统处理层之下是数字处理层、模拟处理层和量子处理层,它们共同组成量子处理单元(QPU)。量子处理单元的3层之间有着紧密的联系,每一层的设计很大程度上取决于另外两层的设计。从上往下,我将更全面地介绍构成量子处理单元的这3层。
数字处理层将微指令转换成脉冲,这是操控量子位作为量子逻辑门所需的信号。更准确地说,该层仅仅提供了模拟脉冲的数字定义。模拟脉冲本身是在量子处理单元的模拟处理层中产生的。数字层还将量子计算的测量结果反馈给上面的传统处理层,使量子解与传统计算结果相结合。
当前,个人计算机或现场可编程门阵列可以处理这些任务。但是当纠错加入到量子计算机中时,数字处理层将不得不变得更加复杂。
模拟处理层产生发送给下一层量子位的各种信号,主要有电压阶跃和扫描以及微波脉冲串,经相位和幅度调制,执行所需的量子位运算。在运算过程中,量子位连接形成量子逻辑门,进而按照正在运行的特定量子算法共同进行整体计算。
虽然技术上生成此类信号并不困难,但管理实用量子计算机所需的众多信号存在重大障碍。首先,发送给不同量子位的信号需要在皮秒级时间尺度上同步。需要一些方法来将这些不同的信号传递给不同的量子位,使其发挥不同的作用。这是巨大的阻碍。
当前的小型系统中只有几十个量子位,每个量子位被调谐到不同频率,类似锁定在某个频道的无线电接收器。在共享信号线上,发射相应的特定频率,可以选择访问量子位。这可行,但该策略不可扩展。发送到一个量子位的信号必需有合理的带宽,如10兆赫。如果计算机包含100万个量子位,此类信号系统需要10太赫的带宽,这当然不可行。同样不可能构建100万条独立的信号线,将每条信号线直接连接到每个量子位。
该解决方案可能涉及频率复用和空间复用的组合。将量子位编造成组,组中的每一量子位被调谐到不同频率。计算机包含许多这样的量子位组,所有量子位组都连接到一个模拟通信网络上,模拟层生成的信号仅连接到一个选定量子位组子集。通过正确分配信号频率和网络连接,你可操控单个或一批目标量子位,而不影响其他量子位。
这种方法应该会有效,但多路复用的不足是控制不准确。如何消除这种不准确仍有待研究。
当前系统中,数字处理层和模拟处理层主要在室温下工作。只有其下面容纳量子位的量子处理层温度要保持在接近绝对零度。但是,随着未来系统中量子位数量的增加,构成这3层的电子元件无疑将不得不集成封装到低温芯片中。
━━━━
当前某些公司正建造所谓的初始原型样机是基于超导量子位。这些机器最多包含几十个量子位,能够执行几十到几百次相干量子运算。采纳这种方法的公司包括科技巨头谷歌、IBM和英特尔。
通过增加控制线的数量,工程师可以将当前架构扩展到数百个量子位,这已经很多了。这些量子位保持相干的时间很短,当前大约是50微秒,这将限制在计算出错之前可执行的量子指令数。
鉴于这些限制,我预计,数百个量子位的系统的主要应用将是作为传统超级计算机的加速器。将量子计算机运行速度快的特定任务由超级计算机发送到量子计算机,再将结果返回给超级计算机作进一步处理。某种意义上来说,量子计算机将像笔记本电脑中的图形处理器(GPU),执行某些特定任务,如矩阵求逆或初始条件优化,其速度要比单独的CPU快得多。
量子计算机发展的下一阶段,应用层的建造会相当直接。数字处理层也将相对简单。而建造组成量子处理单元的3层会很棘手。
当前技术无法生成完全一致的量子位。不同的量子位的属性略有不同。这种异质性反过来又要求量子处理单元的模拟层适配其所控制的特定量子位。这种定制需求使得建造量子处理单元的过程难以扩展。量子位一致性更高,便不需要定制模拟层,且允许控制和测量信号的多路复用。
研究人员可能会在5到10年内引入更多的量子位,进而为机器增加纠错机制,而大量的量子位将需要多路复用。支持这种纠错的思路非常简单:不要将数据存储在一个物理量子位中,而是将多个物理量子位组合成可纠错的一个逻辑量子位。
量子纠错可以解决根本的退相干问题,但每一逻辑量子位需要100到1万个物理量子位。这并非唯一的障碍。实现纠错需要低延迟、高通量、跨越量子处理单元3层的反馈循环。
在超导电路、自旋量子位、光子系统、离子阱、氮晶格空位中心等众多类型的量子位实验中,哪一种最适合用来制造进行纠错的大量量子位,尚有待观察。无论哪一种为最佳方案,都需要成功地封装和控制至少几百万的量子位。
这便引出了大问题:我们真的能够做到吗?数百万的量子位必须由连续的模拟信号来控制。这很难,但绝非没有可能。我和其他研究人员计算出,假如设备的质量能够提高几个数量级,用于纠错的控制信号便可多路复用,用数字层管理多路复用策略,模拟层设计会变得简单明了。未来的量子处理单元将不需要几百万,而只需要几百或几千个数字连接,这可借助当前的集成电路的设计和制造技术来实现。
更大的挑战很可能来自测量方面:每秒钟需要在芯片上进行数千次测量。测量不能干扰量子信息(计算结束前量子信息是不确定的),同时还要揭示和纠正计算过程中出现的错误。按照这样的频率测量数百万个量子位,测量方法需要进行很大的改变。
目前的量子位测量方法需要对模拟信号进行调制解调和数字化处理。当测量速率达到数千赫兹时,在拥有数百万量子位的机器中,数字总通量将是拍字节/秒。当前的技术无法处理如此之多的数据,这还涉及将室温电子器件在接近绝对零度的温度下连接到保存量子位的芯片。
显然,量子处理单元的模拟层和数字层必须与同一芯片的量子处理层集成,采用巧妙的策略对测量数据进行预处理和多路复用。幸运的是,对于为纠错而进行的处理,并非所有量子位的测量都必须传递到数字层。只有当本地电路检测到错误时才需如此,从而大大减少了所需的数字带宽。
量子层的性能将从根本上决定计算机的运算状况。量子位的瑕疵意味着需要更多的量子位来纠错,而当这些瑕疵恶化时,对量子计算机的要求便超出可行的范围。反之亦然:工程上改进量子位质量的成本极高,但能很快收回成本。
在当前的量子计算初始原型阶段,单独量子位控制是不可避免的:我们需要最大限度地利用已有的量子位。不过很快,随着可用量子位数量的增加,研究人员必须设计出多路复用的控制信号和量子位测量系统。
接下来的重要一步是采用基本的纠错形式。最初可能有两条平行的开发路线,一条有纠错,另一条没有纠错,但纠错量子计算机最终将占据主导地位。要建造可真正执行实际任务的机器,除此之外别无他法。
准备这些开发任务,需要芯片设计人员、芯片制造工程师、低温控制专家、大规模数据处理专家、量子算法开发人员以及其他人员的密切合作。
国际量子工程路线图有助于如此复杂的合作。可将各项任务分配给不同专家组,由路线图的发布者协调专家组之间的沟通。通过学术机构、研究机构和商业公司的联合,我们能够并将成功地建造实用的量子计算机,在未来释放出巨大的计算能力。