コストの追跡と保存 - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コストの追跡と保存

ヒント

で量子コンピューティングの基礎を学ぶ AWS! Amazon Braket Digital Learning Plan に登録し、一連の学習コースとデジタル評価を完了したら、独自のデジタルバッジを獲得します。

Amazon Braket を使用すると、事前のコミットメントなしに、オンデマンドで量子コンピューティングリソースにアクセスできます。お支払いいただくのは、使用分の料金だけです。料金の詳細については、料金ページをご覧ください。。

ほぼリアルタイムのコスト追跡

Braket SDKには、量子ワークロードにほぼリアルタイムのコスト追跡を追加するオプションがあります。各サンプルノートブックには、Braket の量子処理ユニット (QPUs) とオンデマンドシミュレーターの最大コスト見積もりを提供するコスト追跡コードが含まれています。最大コスト見積もりは に表示されUSD、クレジットや割引は含まれません。

注記

表示される料金は、Amazon Braket シミュレーターと量子処理ユニット (QPU) のタスク使用量に基づく見積もりです。表示される推定料金は、実際の料金とは異なる場合があります。推定料金は割引やクレジットを一切考慮せず、Amazon Elastic Compute Cloud (Amazon ) などの他の のサービスの使用に基づいて追加料金が発生する場合がありますEC2。

のコスト追跡 SV1

コスト追跡機能の使用方法を示すために、ベルステート回路を構築し、SV1シミュレーターで実行します。まず、Braket SDKモジュールをインポートし、ベル状態を定義して、回路に 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)

ノートブックを実行すると、ベルステートシミュレーションに対して次の出力が期待できます。トラッカー関数には、送信されたショット数、完了した量子タスク、実行期間、請求された実行期間、および の最大コストが表示されますUSD。実行時間はシミュレーションごとに異なる場合があります。

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() $0.00375

コストトラッカーを使用して最大コストを設定する

コストトラッカーを使用して、プログラムの最大コストを設定できます。特定のプログラムに費やす金額には、最大しきい値がある場合があります。このようにして、コストトラッカーを使用して、実行コードにコスト制御ロジックを構築できます。次の例では、 で同じ回路を使用します。Rigetti QPU と はコストを 1 に制限しますUSD。コード内の回路の反復を 1 回実行するコストは 0.37 ですUSD。合計コストが 1 を超えるまで反復を繰り返すようにロジックを設定しましたUSD。したがって、コードスニペットは次の反復が 1 を超えるまで 3 回実行されますUSD。通常、プログラムは希望する最大コストに達するまで反復し続けます。この場合、3 回の反復です。

device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3") 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/Aspen-M-3': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.11 USD
注記

コストトラッカーが失敗した期間を追跡しない TN1 量子タスク。中 TN1 シミュレーションでは、リハーサルは完了したが、収縮ステップが失敗した場合、リハーサル料金はコストトラッカーに表示されません。

コスト削減のベストプラクティス

Amazon Braket を使用する際に次のベストプラクティスを考慮してください。時間を節約し、コストを最小限に抑え、一般的なエラーを回避します。

シミュレーターで検証する

  • シミュレーターを使用して回路を検証してから で実行するとQPU、QPU使用料なしで回路を微調整できます。

  • シミュレーターで回路を実行した結果は、 で回路を実行した結果と同じではない場合がありますがQPU、シミュレーターを使用してコーディングエラーや設定の問題を特定できます。

特定のデバイスへのユーザーアクセスを制限する

  • 権限のないユーザーが特定のデバイスで量子タスクを送信できないように制限を設定できます。アクセスを制限する推奨方法は、 です。 AWS IAM。これを行う方法についての詳細は、アクセスの制限を参照してください。

  • Amazon Braket デバイスへのユーザーアクセスを許可または制限する方法として、管理者アカウントを使用しないことをお勧めします。

請求アラームの設定

  • 請求アラームを設定して、請求が事前設定された限度に達したときに通知を受けることもできます。アラームを設定する推奨方法は、 です。 AWS Budgets。 カスタム予算を設定し、コストや使用量が予算額を超えたときにアラートを受け取ることができます。情報は で入手できます。 AWS Budgets.

テスト TN1 ショット数が少ない量子タスク

  • シミュレーターのコストは よりも低くなりますがQHPs、量子タスクをショット数が多い場合、特定のシミュレーターは高価になる可能性があります。をテストすることをお勧めします。TN1 が低いタスク shot カウント。Shot カウントは のコストには影響しません SV1 およびローカルシミュレータータスク。

量子タスクのすべてのリージョンを確認する

  • コンソールには、現在の の量子タスクのみが表示されます。 AWS リージョン。 送信された請求可能な量子タスクを検索する場合は、必ずすべてのリージョンを確認してください。

  • サポートされるデバイスドキュメントページで、デバイスおよび関連するリージョンの一覧を表示できます。