我发现量子计算非常有趣! 在最简单的层面上,它利用量子位或 qubit 扩展了具有 0
或 1
值的位的概念。量子位可以具有两种不同(量子)状态的组合。
量子位的两个特征使它们变得非常有趣:
- 当您查看量子位的值时,您只能得到两种可能状态中的一种,其概率取决于自身状态的组合方式。
- 多个量子位可以“连接”在一起(这称为量子纠缠),从而通过改变一个量子位的状态,即使只是通过读取其值,也可以改变其他量子位的状态。
这些特征来自量子力学描述的低水平属性,量子力学是物理学的基础理论,它在原子和亚原子尺度上描述了自然的物理特性。幸运的是,我们不需要获得量子力学学位就可以使用量子计算,就像我们不需要精通半导体就可以使用普通计算机一样。
研究人员正在使用量子位设计新算法,这些算法有可能比传统计算机所能实现的要快得多。为了加快量子计算的科学研究和软件开发,我们在 re:Invent 2019 中推出了 Amazon Braket。Amazon Braket 是一项完全托管的量子计算服务,使您可以在模拟器和量子计算机上构建、测试和运行量子算法。
混合算法和量子处理单元 (QPU)
量子算法将在许多不同领域产生变革,它需要执行数十万到数百万个量子门。不幸的是,当前一代的 QPU 受噪声影响,造成了错误,在错误接管之前,将操作限制在几百或数千个量子门。
为了帮助解决此问题,我们可以从机器学习中汲取灵感:我们不使用固定量子电路,即实现算法的逻辑,而是通过调整调节电路的参数来“学习”算法,从而更有可能通过适应特定设备中的噪声来解决给定问题(将它们视为“自学习量子算法”)。
这与计算机视觉类似:机器学习算法通过迭代调整神经网络的参数来“学习”正确的功能,而不是通过手工制作功能来区分狗和猫(众所周知,这对于计算机来说非常困难)。
量子计算中一个快速发展的研究领域使用 QPU,即量子计算机使用的处理器,就像在机器学习中使用 GPU 一样:将量子电路参数化,用一些值进行初始化,然后在 QPU 上运行。就像神经网络中的权重一样,这些参数随后会根据计算结果进行迭代调整。这些所谓的混合算法依赖于经典计算机和 QPU 之间的快速迭代计算。
要运行混合算法,您需要手动设置经典基础设施,安装所需的软件,并在混合算法期间管理量子和经典计算流程之间的交互。然后,您需要构建自定义监控解决方案来可视化算法的进度,以确保算法按预期收敛到解决方案,或者在必要时进行干预以调整算法的参数。
另一项重大挑战在于,QPU 是共享的非弹性资源,您需要与他人竞争访问权限。这可能会减慢算法的执行速度。来自另一个客户的单个大型工作负载可能会导致算法停止,从而可能将您的总运行时间延长数小