本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
比较 Amazon Braket 模拟器
本节通过描述一些概念、限制和用例,帮助您选择最适合您的量子任务的 Amazon Braket 模拟器。
在本地模拟器和按需模拟器之间进行选择 (SV1, TN1, DM1)
本地模拟器的性能取决于托管本地环境的硬件,例如用于运行模拟器的 Braket 笔记本实例。按需模拟器在 AWS 云端运行,旨在超越典型的本地环境。按需模拟器针对较大的电路进行了优化,但是每个量子任务或批量子任务会增加一些延迟开销。如果涉及许多量子任务,这可能意味着权衡取舍。鉴于这些一般性能特征,以下指导可以帮助您选择如何运行模拟,包括带有噪声的仿真。
对于模拟:
-
当雇用少于 18 人时 qubits,使用本地模拟器。
-
雇用 18—24 时 qubits,根据工作负载选择模拟器。
-
当雇佣人数超过 24 人时 qubits,使用按需模拟器。
对于噪声模拟:
-
当雇用少于 9 人时 qubits,使用本地模拟器。
-
雇用 9-12 时 qubits,根据工作负载选择模拟器。
-
当雇佣人数超过 12 人时 qubits,使用 DM1.
什么是状态向量模拟器?
SV1 是一个通用的状态向量模拟器。它存储量子态的全波函数,并按顺序将栅极运算应用于该状态。它存储了所有可能性,即使是极不可能的也是如此。这些区域有:SV1 模拟器执行量子任务的运行时间随着电路中门的数量而线性增加。
什么是密度矩阵模拟器?
DM1 用噪声模拟量子电路。它存储系统的全密度矩阵,并按顺序应用电路的栅极和噪声运算。最终的密度矩阵包含有关电路运行后量子态的完整信息。运行时间通常随操作数线性扩展,随操作数成指数扩展 qubits.
什么是张量网络模拟器?
TN1 将量子电路编码成结构化图。
-
图的节点由量子门组成,或 qubits.
-
图形的边缘表示大门之间的连接。
由于这种结构,TN1 可以为相对较大和复杂的量子电路找到仿真解。
TN1 需要两个阶段
通常,TN1 采用两阶段方法来模拟量子计算。
-
排练阶段:在这个阶段,TN1 想出了一种高效地遍历图表的方法,包括访问每个节点,这样你就可以获得所需的测量结果。作为客户,您看不到此阶段,因为 TN1 为您同时执行两个阶段。它完成了第一阶段,并根据实际限制决定是否单独执行第二阶段。在模拟开始后,您对该决定没有任何意见。
-
收缩阶段:此阶段类似于经典计算机中计算的执行阶段。该阶段由一系列矩阵乘法组成。这些乘法的顺序对计算难度有很大的影响。因此,首先要完成排练阶段,以便在图中找到最有效的计算路径。在排练阶段找到收缩路径后,TN1 将电路的大门收缩在一起以生成仿真结果。
TN1 图表类似于地图
比喻地说,你可以比较底层的 TN1 绘制城市街道的图表。在采用规划网格的城市中,使用地图可以很容易地找到通往目的地的路线。在一个街道计划外、街道名称重复等的城市中,通过查看地图可能很难找到通往目的地的路线。
如果 TN1 没有进行排练阶段,就像在城市的街道上走来走去寻找目的地一样,而不是先看地图。就步行时间而言,花更多的时间看地图确实可以获得回报。同样,排练阶段也提供了有价值的信息。
你可能会说 TN1 对它所穿越的底层电路的结构有一定的 “意识”。它在排练阶段获得了这种意识。
问题类型最适合每种类型的模拟器
SV1 非常适合于任何一类主要依赖于一定数量的问题 qubits 和大门。通常,所需时间会随着门数的增加而线性增长,而这并不取决于门的数量 shots. SV1 通常比 TN1 适用于 28 岁以下的电路 qubits.
SV1 可以慢一点换得更高 qubit 数字,因为它实际上模拟了所有可能性,即使是极不可能的可能性。它无法确定可能出现哪些结果。因此,对于 30-qubit 评估,SV1 必须计算 2^30 个配置。34 的上限 qubits 对于 Amazon Braket SV1 由于内存和存储限制,模拟器是一个实际限制。你可以这样想:每次你添加一个 qubit 到 SV1,问题变得困难了两倍。
对于许多类别的问题,TN1 在现实时间内可以评估比实际大得多的电路 SV1 因为 TN1 利用了图表的结构。它本质上是从一开始就跟踪解决方案的演变,并且仅保留有助于高效遍历的配置。换句话说,它保存配置以创建矩阵乘法的顺序,从而简化计算过程。
对于 TN1,的数量 qubits 而且 gates 很重要,但图表的结构更重要。例如,TN1 非常擅长评估栅极为短距离的电路(图表)(也就是说,每个 qubit 仅通过大门与其最近的邻居相连 qubits),以及连接(或门)具有相似范围的电路(图表)。的典型范围 TN1 各有各种 qubit 只和别人说话 qubits 那是 5 qubits 离开。如果结构的大部分可以分解成更简单的关系,例如这些关系,这些关系可以用更多、更小或更均匀的矩阵来表示,TN1 轻松执行评估。
的局限性 TN1
TN1 可以慢于 SV1 取决于图表的结构复杂性。对于某些图表,TN1 在排练阶段结束后终止模拟并显示状态FAILED
,原因有以下两个:
-
找不到路径 — 如果图形太复杂,则很难找到一条好的遍历路径,模拟器就会放弃计算。TN1 无法进行收缩。您可能会看到类似于以下内容的错误消息:
No viable contraction path found.
-
收缩阶段太困难了 ——在某些图表中,TN1 可以找到一条遍历路径,但是评估起来很长而且非常耗时。在这种情况下,收缩非常昂贵,以至于成本高得令人望而却步,TN1 排练阶段结束后退出。您可能会看到类似于以下内容的错误消息:
Predicted runtime based on best contraction path found exceeds TN1 limit.
注意
您需要支付排练阶段的费用 TN1 即使没有进行收缩并且您会看到FAILED
状态。
预测的运行时间还取决于 shot 计数。在最坏的情况下,TN1 收缩时间线性取决于 shot 计数。该电路可以用更少的钱进行合约 shots。 例如,你可以提交一个包含 100 的量子任务 shots,其中 TN1 决定不可合约,但如果你只有 10 次重新提交,则收缩会继续。在这种情况下,要获得 100 个样本,你可以提交 10 个量子任务,其中 10 个 shots 对于同一个电路,最后合并结果。
作为最佳实践,我们建议您始终使用几种方法来测试您的电路或电路等级 shots (例如,10)来了解你的电路有多难 TN1,然后再进行更高数量的 shots.
注意
形成收缩阶段的一系列乘法从小的 nxN 矩阵开始。例如,一个 2-qubit 门需要一个 4x4 的矩阵。在被判定为太困难的收缩期间所需的中间矩阵是巨大的。这样的计算需要几天才能完成。这就是为什么 Amazon Braket 不会尝试极其复杂的收缩。
并发
所有 Braket 模拟器都允许您同时运行多个电路。并发限制因模拟器和区域而异。有关并发限制的更多信息,请参阅配额页面。