成本跟踪和节省 - Amazon Braket

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

成本跟踪和节省

提示

通过以下方式学习量子计算的基础 AWS!注册 Amazon Braket 数字学习计划,完成一系列学习课程和数字评估后,即可获得自己的数字徽章。

借助 Amazon Braket,您可以按需访问量子计算资源,无需预先承诺。您仅需按实际用量付费。要了解有关定价的更多信息,请访问我们的定价页面

近乎实时的成本跟踪

Brak SDK et 为您提供了为量子工作负载添加近乎实时的成本跟踪的选项。我们的每个示例笔记本都包含成本跟踪代码,可为您提供有关 Braket 量子处理单元 (QPUs) 和按需模拟器的最大成本估算。最高成本估算值将显示在中USD,其中不包括任何积分或折扣。

注意

显示的费用是根据您的 Amazon Braket 模拟器和量子处理单元 (QPU) 任务使用情况估算的费用。显示的预计费用可能与您的实际费用有所不同。预计费用不计入任何折扣或积分,您可能会因使用其他服务(例如亚马逊弹性计算云(AmazonEC2)而产生额外费用。

成本跟踪 SV1

为了演示如何使用成本跟踪功能,我们将构建一个 Bell State 电路并在我们的SV1模拟器上运行它。首先导入 Braket SDK 模块,定义 Bell 状态并将Tracker()函数添加到我们的电路中:

#import any required modules from braket.aws import AwsDevice from braket.circuits import Circuit from braket.tracking import Tracker #create our bell circuit circ = Circuit().h(0).cnot(0,1) device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") with Tracker() as tracker: task = device.run(circ, shots=1000).result() #Your results print(task.measurement_counts)
Counter({'00': 500, '11': 500})

当你运行 Notebook 时,你可以期待 Bell State 模拟的以下输出。跟踪器功能将向您显示发送的镜头数量、已完成的量子任务、执行持续时间、计费的执行持续时间以及您的最大成本。USD每次模拟的执行时间可能会有所不同。

import datetime tracker.quantum_tasks_statistics() {'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 1000, 'tasks': {'COMPLETED': 1}, 'execution_duration': datetime.timedelta(microseconds=4000), 'billed_execution_duration': datetime.timedelta(seconds=3)}} tracker.simulator_tasks_cost()
Decimal('0.0037500000')

使用成本跟踪器设置最高成本

您可以使用成本跟踪器来设置计划的最高成本。对于要在给定项目上花费的金额,您可能有一个最大门槛。通过这种方式,您可以使用成本跟踪器在执行代码中构建成本控制逻辑。以下示例采用了同一条电路上的相同电路 Rigetti QPU并将成本限制为 1 USD。在我们的代码中运行一次电路迭代的成本为 0.48 USD。我们已将逻辑设置为重复迭代,直到总成本超过 1USD;因此,代码片段将运行三次,直到下一次迭代超过 1。USD通常,程序会继续迭代,直到达到所需的最大成本,在本例中为三次迭代。

device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2") with Tracker() as tracker: while tracker.qpu_tasks_cost() < 1: result = device.run(circ, shots=200).result() print(tracker.quantum_tasks_statistics()) print(tracker.qpu_tasks_cost(), "USD")
{'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.4400000000 USD
注意

费用跟踪器不会跟踪失败的持续时间 TN1 量子任务。在一段时间内 TN1 模拟,如果您的排练已完成,但收缩步骤失败,则您的排练费用将不会显示在成本跟踪器中。

节省成本的最佳实践

请考虑以下使用 Amazon Braket 的最佳实践。节省时间,最大限度地降低成本,并避免常见错误。

使用模拟器进行验证

  • 在模拟器上运行电路之前,请使用模拟器对其进行验证QPU,这样您就可以在不产生使用费用的情况下对QPU电路进行微调。

  • 尽管在仿真器上运行电路的结果可能与在仿真器上运行电路的结果不同QPU,但您可以使用仿真器识别编码错误或配置问题。

限制用户访问某些设备

  • 您可以设置限制,防止未经授权的用户在某些设备上提交量子任务。限制访问的推荐方法是 AWS IAM。有关如何执行此操作的更多信息,请参阅限制访问

  • 我们建议您不要使用管理员账户来授予或限制用户访问 Amazon Braket 设备。

设置账单警报

  • 您可以设置账单警报,以便在账单达到预设限额时通知您。设置闹钟的推荐方法是通过 AWS Budgets。您可以设置自定义预算,并在费用或使用量可能超过预算金额时收到提醒。有关信息,请访问AWS Budgets

测试 TN1 射击次数低的量子任务

  • 模拟器的成本低于QHPs,但是如果量子任务以高射击次数运行,则某些模拟器可能会很昂贵。我们建议您测试自己的 TN1 任务较低 shot 计数。Shot 计数不影响成本 SV1 和本地模拟器任务。

检查所有区域的量子任务

  • 控制台仅显示您当前的量子任务 AWS 区域。在查找已提交的计费量子任务时,请务必查看所有区域。

  • 您可以在支持的设备文档页面上查看设备及其相关区域的列表。