利用 TensorFlow 提升量子计算机硬件性能
2020 年 10 月 1 日

来自 Q-CTRL 的 Michael J. Biercuk、Harry Slatyer 和 Michael Hush 的客座文章

Google 最近宣布发布 TensorFlow Quantum - 一个将最先进的机器学习技术与量子算法设计相结合的工具集。 这是为开发量子应用程序的开发人员构建工具的重要一步 - 主要在“堆栈顶部”操作的用户。

与之平行的是,我们一直在构建一个基于 TensorFlow 的补充工具集,从硬件级别向上工作 - 从堆栈底部开始。 我们的工作重点是通过集成一组我们称之为量子固件的技术来提高量子计算硬件的性能。

在本文中,我们将概述这项工作的基本驱动力 - 抑制量子计算机中的噪声和错误 - 并描述 Q-CTRL 团队如何使用 TensorFlow 来有效地表征和抑制噪声和缺陷对量子硬件的影响。 这些是全球努力使量子计算机变得有用的关键挑战。

Q-CTRL image

量子计算机的致命弱点 - 噪声和错误

简而言之,量子计算是一种使用量子物理学定律处理信息的新方法 - 这些定律控制着微观尺度的自然规律。 通过数十年的科学和工程努力,我们现在准备将这种物理学用于解决对普通计算机来说极难解决的问题。

在当今系统上实现有用的计算需要认识到,性能主要受到硬件缺陷和故障的限制,而不是系统规模。 对噪声和错误的敏感性仍然是量子计算机的致命弱点,最终限制了在量子计算硬件上运行的算法的范围和实用性。

作为广泛的社区平均水平,大多数量子计算机硬件只能在不到一毫秒的时间内运行几十次计算,然后需要重置,因为噪声的影响。 具体情况不同,但这大约是笔记本电脑中硬件性能的 1024 倍!

这就是量子计算如此困难的核心原因。 在这种情况下,“噪声”描述了导致量子计算机发生干扰的所有因素。 就像手机通话可能会受到干扰而断断续续一样,量子计算机也容易受到各种来源的干扰,例如来自 WiFi 的电磁信号或地球磁场的扰动。

当量子计算机中的量子位暴露在这种噪声下时,它们中的信息会像通话中受到干扰而导致声音质量下降一样被降级。 在量子系统中,这个过程被称为退相干。 退相干会导致编码在量子计算机中的信息变得随机化 - 这会导致我们在执行算法时出现错误。 噪声的影响越大,可以运行的算法就越短。

那么我们该怎么做呢? 首先,在过去的二十年里,团队一直在努力使他们的硬件更被动地稳定 - 抵御导致退相干的噪声。 与此同时,理论家设计了一种巧妙的算法,称为量子纠错,它可以识别和修复硬件中的错误,其很大程度上基于经典纠错码。 这在原理上是必不可少的,但缺点是,为了使其工作,你必须将一个量子位中的信息分散到许多量子位上;可能需要 1000 个或更多物理量子位才能实现一个纠错的“逻辑量子位”。 当今的机器还远远不能从这种量子纠错中获益。

Q-CTRL 添加了一些额外的东西 - 量子固件 - 它可以在不需要额外资源的情况下稳定量子位对抗噪声和退相干。 它通过在量子计算堆栈的最低层添加新的解决方案来实现这一点,这些解决方案提高了硬件对错误的鲁棒性。

使用 TensorFlow 构建量子固件

Quantum firmware graphic

量子固件描述了一组协议,其目的是为量子计算堆栈中更高抽象级别的量子硬件提供增强性能。 选择术语固件反映了这样一个事实,即相关例程通常是软件定义的,但嵌入在物理层附近,并且对更高抽象层来说实际上是不可见的。

量子计算硬件通常依赖于某种精确设计的物质-光相互作用来执行量子逻辑运算。 从某种意义上说,这些操作构成了量子计算机的本机机器语言;一个与超导量子位共振的微波定时脉冲可以转化为一个有效的比特翻转操作,而另一个脉冲可以实现一对量子位之间的条件逻辑操作。 然后,这些电磁信号的适当组合实现了目标量子算法。

量子固件决定了如何操纵物理硬件,重新定义硬件机器语言,从而提高了对退相干的稳定性。 这个过程的关键是使用从硬件本身收集的信息来计算噪声鲁棒操作。

使用 TensorFlow 构建对于 Q-CTRL 从“自制”代码转向商用级产品至关重要。 支撑这些技术(正式来自量子控制领域)的是工具,使我们能够执行复杂的基于梯度的优化。 我们将所有优化问题都表示为数据流图,这些图描述了优化变量(可以被优化器调整的变量)是如何转化为成本函数的(优化器试图最小化的目标)。 我们将自定义便利函数与对 TensorFlow 原语的访问相结合,以便高效地执行优化,正如我们工作流程的许多不同部分中所使用的。 重要的是,我们利用 TensorFlow 的高效梯度计算工具 来解决通常是自制实现中最薄弱的环节,尤其是在相关函数的解析形式通常是非线性的并且包含许多复杂的依赖关系时。

例如,考虑定义一个数值优化的抗错误量子比特翻转的情况,用于操纵量子位 - 这类似于经典的 NOT 门。 如上所述,在超导量子位中,这是通过使用微波脉冲来实现的。 我们有自由度来“塑造”脉冲包络的不同方面,以便以一种对常见噪声源(例如微波强度或频率的波动)表现出鲁棒性的方式来执行相同的数学变换。

为此,我们首先定义用于优化此量子位操作的数据流图 - 它包括描述可用“旋钮”进行调整的对象、噪声源和目标操作(此处为 Hadamard 门)。

data flow graph
用于优化量子控制的数据流图。 左侧的循环通过我们的 TensorFlow 优化引擎运行

一旦在我们的上下文管理器中定义了图,就必须创建一个对象,将目标函数(在本例中是最小化结果门误差)和定义微波脉冲形状的期望输出联系起来。 创建了图对象后,可以使用返回包含优化结果的新图对象的服务来运行优化。

这种结构使我们能够简单地创建辅助函数,这些函数使物理上合理的约束可以直接构建到图中。 例如,这些可能是对称性要求、信号随时间变化的限制,甚至是对用于生成微波脉冲的电子系统的特征的整合。 任何其他此辅助函数库没有直接涵盖的功能也可以直接编码为 TensorFlow 原语。

通过这种方法,我们实现了极其灵活且高性能的优化引擎;我们的直接基准测试表明,相对于最佳可用的替代架构,求解时间有数量级的优势。

此工具包启用的功能涵盖了稳定量子计算硬件和减少量子计算堆栈最低层错误所需的各种任务。 重要的是,它们在真实的量子计算硬件上得到了实验验证;量子固件已被证明可以降低错误发生的可能性,减轻系统性能在不同设备之间的差异,使硬件稳定地抵抗缓慢漂移,甚至使量子逻辑操作更兼容量子计算中更高层次的抽象,例如量子纠错。 所有这些功能和真实硬件演示都可以在我们公开发布的用户指南应用笔记中以可执行的 Jupyter 笔记本形式获得。

最终,我们相信,如果没有量子固件中封装的功能的集成,构建和运行大规模量子计算系统将实际上是不可能的。 在追求性能和自主性的过程中,有很多概念可以从机器学习和机器人控制领域借鉴,而 TensorFlow 已被证明是支持开发关键工具集的有效语言。

从 Shor 到量子机器学习的 QC 简史

量子计算的热潮始于 1994 年,当时人们发现了用于分解大数的肖尔算法。公钥密码系统(即大多数加密系统)依赖于分解素数的数学复杂性,以保护信息免受窥探的计算机的攻击。然而,由于量子计算机对信息编码和处理的独特方法,据推测它们能够更快地分解素数——以指数级速度快于经典计算机。从理论上讲,这不仅对国家安全构成威胁,而且对加密货币等新兴技术也构成威胁。

这一认识推动了整个量子计算领域的发展。肖尔算法促使美国国家安全局启动了其首个公开的、由大学驱动的研究项目,旨在研究是否可以构建这样的系统。快进到 2020 年,量子霸权已经实现,这意味着一个真实的量子计算硬件系统已经完成了一项即使是世界上最大的超级计算机也难以完成的任务。

量子霸权是一个重要的技术里程碑,但其在解决对最终用户有意义的问题方面的实际意义尚不清楚。我们社区正在不断朝着量子优势迈进——这是一个门槛,表明使用量子计算机解决实际问题的成本或速度实际上更低。我们认为,对于合适的难题,在未来 5-10 年内,我们将使用一台与现有的量子计算机规模相差不大的量子计算机跨越这一门槛。它只需要性能更好。

那么,哪些问题是量子计算机应该首先解决的难题呢?

在许多方面,随着挑战规模的扩大,肖尔算法的重要性已经下降。一篇 最近的技术分析 表明,我们不太可能在 2039 年之前看到肖尔算法以实用的规模应用。如今,全世界实验室中存在着一些由几十个相互作用的量子比特组成的小型机器,这些机器由超导电路、单个俘获原子或类似的奇异材料制成。问题在于,这些早期机器太小,太脆弱,无法解决与分解有关的问题。

为了分解一个在密码学中具有重要意义的足够大的数字,需要一个由数千个量子比特组成的系统,该系统能够处理每秒万亿次操作。对于传统的机器来说,这算不上什么,因为硬件可以运行数十亿年,每秒执行数十亿次操作,并且不太可能出现故障。但正如我们所见,量子计算机的情况则完全不同。

这些限制促使人们开始研究材料科学和 化学 中的一类新的应用,这些应用可能同样具有影响力,并且可以使用更小的系统。近期的量子计算还可以帮助开发新一代人工智能系统。最近的研究表明,量子计算与人工神经网络之间存在着强烈的、意想不到的联系,这可能预示着 机器学习的新方法

这类问题通常可以被表述为优化问题,其中对经典机器学习算法的输入来自小型量子计算,或者数据在量子域中表示,并实施学习过程。TensorFlow Quantum 为开发人员提供了一个激动人心的工具集,让他们可以探索新的、改进的方法,利用现有的和不久的将来将会出现的较小的量子计算机。

尽管如此,即使是那些小型机器的性能也不出色。Q-CTRL 的量子固件使用户能够从硬件中获得最大性能。因此,我们看到 TensorFlow 在新兴的量子计算软件堆栈中发挥着至关重要的作用——从量子固件到量子机器学习算法。

如果您想了解更多信息,请查看以下资源

我们认识到,TensorFlow 社区的成员对量子计算的熟悉程度各不相同,并且本概述只是一个起点。为了帮助对量子计算感兴趣的读者了解更多信息,我们很乐意提供一些资源。

  • 对于那些熟悉机器学习的人来说,Q-CTRL 还制作了一系列网络研讨会,介绍了 量子计算中的鲁棒控制 概念,甚至演示了 使用强化学习在真实的量子硬件上发现门
  • 如果您需要从零开始,Q-CTRL 制作了一系列入门视频教程,通过我们的 学习中心 帮助新手开始他们的量子之旅。我们还提供了一个 可视化界面,使新用户能够发现并建立对量子计算基础概念的直觉,包括噪声对量子硬件的影响。
  • 来自 X 的杰克·希达里写了一本 优秀书籍,重点介绍了量子计算基础与当今团队编写量子机器代码之间的联系。
  • 对于那些对量子计算感兴趣的人来说,传统的“正式”起点是“迈克与艾克” 的经典教科书。
下一篇博文
Boosting quantum computer hardware performance with TensorFlow

Q-CTRL 的迈克尔·J·比尔丘克、哈里·斯拉特耶和迈克尔·哈什撰写的一篇客座文章 Google 最近宣布发布 TensorFlow Quantum——一个将最先进的机器学习技术与量子算法设计相结合的工具集。这是为开发量子应用程序的开发人员构建工具的重要一步——主要在“堆栈顶部”进行操作的用户。在…