经过几十年的研究,AI正在成为主要的行业趋势之一。从与 Alexa 和 Siri 的对话,到 Waymo(谷歌)和特斯拉的自动驾驶汽车,OpenAI 的 GPT-3 像人类一样写作散文,以及 DeepMind(谷歌)的 AlphaZero 击败人类国际围棋大师,AI现在已经足够成熟了。解决现实生活中的问题,而且通常比人类更快更好。
在科技行业的其他地方,一些有远见的人正在努力开发量子计算机,这些计算机试图运用量子物理学的特性来比当今的计算机更快地执行计算。
在这一点上,许多人可能想知道:量子计算与AI到底有什么关系?
算法复杂性是隐藏的敌人
算法复杂性是一个有点晦涩的数学概念,它将 AI 研究人员和量子计算先驱所做的工作联系在一起。
计算复杂性理论是一个横跨数学和计算机科学的领域,专注于根据资源使用情况对计算问题进行分类,比如空间(内存)和时间。本质上,计算问题是可以由计算机按照算法中定义的数学步骤机械地解决的任务。
比如,考虑对列表中的数字进行排序的问题。一种可能的算法,称为“选择排序”,囊括从列表的未排序部分(起初是全部)重复找到最小元素(按升序)并将其放在开头。该算法有效地维护原始列表中的两个子列表,因为它正在运行:已经排序的部分和剩余的未排序部分。在这个过程经过几次之后,结果是一个从小到大的排序列表。就时间复杂度而言,这用 N 2的复杂度来表示,其中 N 表示列表中元素的大小或数量。数学家提出了更高效但更复杂的排序算法,比如“Cube Sort”或“Tim Sort”,这两种算法的复杂度都是 N x log(N)。对于今天的计算机来说,对包罗 100 个元素的列表进行排序是一项简单的任务,但对包罗十亿条记录的列表进行排序可能就不那么简单了。故此,时间复杂度(或算法中与输入问题大小相关的步骤数)非常重要。
为了更快地解决问题,可以使用更快的计算机,亦或找到需要更少操作的更有效算法,这就是较低时间复杂度的含义。不过,很明显,对于指数复杂度的问题(比如 N 2或 2 N),数学对您不利,并且对于较大的问题规模,仅使用更快的计算机是不现实的。而这恰恰是AI领域的情况。
AI是一个需要解决的高度复杂的问题
首先,我们将了解当今AI系统使用的人工神经网络的计算复杂性。这些数学模型的灵感来自构成动物大脑的生物神经网络。他们通过查看很多示例“学习”识别或分类输入数据。它们是互连节点或神经元的集合,结合激活函数,该函数根据“输入层”中呈现的数据和互连中的权重确定输出。
为了调整互连中的权重以使“输出”有用或正确,可以通过暴露于很多数据示例和“反向传播”输出损失来“训练”网络。
对于具有N个输入、M个隐藏层的神经网络,其中第i 个隐藏层包罗m i个隐藏神经元和k个输出神经元,调整所有神经元权重的算法(称为反向传播算法)将具有时间复杂度的:
综上所述,流行的 OpenAI 的 GPT-3 模型已经能够以与人类相当的流畅度编写原始散文,具有 1750 亿个参数(或神经元)。这个AI模型拥有数十亿的M,如今需要几个月的时间来训练,即使在大型云数据中心使用强大的服务器计算机也是如此。另外,AI模型的规模将继续增长,故此伴随时间的推移情况会变得更糟。
量子计算来拯救?
量子计算机是使用量子物理特性(特别是叠加和纠缠)来存储数据和执行计算的机器。期望它们可以同时执行数十亿个操作,从而为高度复杂的问题(囊括AI)提供非常实质性的加速。
经典计算机以比特(“二进制数字”的缩写)传输信息,而量子计算机使用量子比特(“量子比特”的缩写)。与经典比特一样,量子比特最终必须以 1 或 0 的形式传输信息,但其特殊之处在于它们可以同时表示 1 和 0。一个量子比特被认为具有概率分布,比如,它有 70% 的可能性是 1,而 30% 的可能性是 0。这就是量子计算机的特别之处。
量子计算机运用了量子力学中的两个基本属性:叠加和纠缠。
当一个量子比特同时为 1 和 0 时,称它处于叠加态。叠加是系统同时处于多个状态并且在测量时仅假定单个状态时的条件的总称。假如我们假设一枚硬币是一个量子物体,那么当硬币被翻转时,就会产生叠加:硬币只有正面或反面的概率。一旦硬币落地,我们就进行了测量,我们知道硬币是正面还是反面。同样,只有当我们测量电子的自旋(类似于硬币落地)时,我们才能知道电子处于什么状态以及它是 1 还是 0。
叠加态的量子粒子只有在我们拥有多个粒子时才有用。这将我们带到了量子力学的第二个基本原理:纠缠。两个(或多个)纠缠在一起的粒子无法单独描述,它们的性质完全依赖于彼此。故此,纠缠的量子比特可以相互影响。一个量子比特的概率分布(一个或零)取决于系统中所有其他量子比特的概率分布。
正因为如此,向系统中添加每个新的量子位都会使计算机可以分析的状态数量增加一倍。计算机能力的这种指数级增长与经典计算形成鲜明对比,经典计算仅随每个新位线性扩展。
理论上,纠缠的量子比特可以同时执行数十亿次操作。很明显,这种能力将为任何复杂度在 N 2、2 N或 N N范围内的算法提供显着的加速。
为量子驱动的AI做好准备
由于量子计算的巨大潜力,虽说硬件团队继续致力于使这些系统成为现实(迄今为止最大的是IBM 的 127-Qubit Eagle 系统),但软件研究人员已经在研究可以运用这种“同时计算”的新算法' 能力,在密码学、化学、材料科学、系统优化和机器学习/AI等领域。相信 Shor 的因式分解量子算法将提供比经典计算机更高的指数加速,这对当前的密码算法构成风险。
最有趣的是,人们相信量子线性代数将提供多项式加速,这将极大地提高我们人工神经网络的性能。谷歌推出了TensorFlow Quantum,这是一个用于量子机器学习的软件框架,它支持对混合量子经典机器学习模型进行快速原型设计。同样是量子计算的领导者,IBM 近期宣布,它发现了量子机器学习的量子优势的“数学证明”. 然则,尽管 IBM 和 Google 等公司是垂直整合的(故此同时开发了硬件系统和软件算法),但也有一群非常有趣的量子软件初创公司,囊括 Zapata、Riverlane、1Qbit,以及在一定程度上, Quantinuum(自从 Cambridge Quantum Computing 与 Honeywell 合并并更名后,它不再是一家纯粹的软件公司),仅举几例。
伴随量子硬件变得更加强大和量子机器学习算法的完善,量子计算很可能会在AI芯片市场上占据重要份额。