Amazon Braket Hybrid Jobs の使用 - Amazon Braket

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

Amazon Braket Hybrid Jobs の使用

Amazon Braket Hybrid Jobs は、クラシック AWS リソースと量子処理ユニット (QPUs) の両方を必要とするハイブリッド量子クラシックアルゴリズムを実行する方法を提供します。Hybrid Jobs は、リクエストされたクラシックリソースをスピンアップし、アルゴリズムを実行し、完了後にインスタンスを解放するように設計されているため、使用した分に対してのみ料金が発生します

Hybrid Jobs は、従来のコンピューティングリソースと量子コンピューティングリソースの両方を使用する、長時間実行される反復アルゴリズムに最適です。Hybrid Jobs では、アルゴリズムを実行してから、Braket はスケーラブルでコンテナ化された環境でアルゴリズムを実行します。アルゴリズムが完了したら、結果を取得できます。

さらに、ハイブリッドジョブから作成された量子タスクは、ターゲット QPU デバイスへの優先度の高いキューイングの利点があります。この優先順位付けにより、量子計算が処理され、キューで待機している他のタスクの前に実行されます。これは、1 つの量子タスクの結果が以前の量子タスクの結果に依存する反復ハイブリッドアルゴリズムに特に便利です。このようなアルゴリズムの例としては、量子近似最適化アルゴリズム (QAOA)バリエーション量子固有ソルバー量子機械学習などがあります。また、アルゴリズムの進行状況をほぼリアルタイムでモニタリングできるため、コスト、予算、トレーニング損失や期待値などのカスタムメトリクスを追跡できます。

Braket のハイブリッドジョブには、以下を使用してアクセスできます。

Amazon Braket Hybrid Jobsを使用する時期

Amazon Braket Hybrid Jobs を使用すると、従来のコンピューティングリソースと量子コンピューティングデバイスを組み合わせて現在の量子システムのパフォーマンスを最適化する、Variational Quantum Eigensolver (VQE) や Quantum Approximate Optimization Algorithm (QAOA) などのハイブリッド量子クラシックアルゴリズムを実行できます。Amazon Braket Hybrid Jobs には、主に次の 3 つの利点があります。

  1. パフォーマンス: Amazon Braket Hybrid Jobs は、お客様の環境からハイブリッドアルゴリズムを実行するよりも優れたパフォーマンスを提供します。ジョブの実行中に、選択したターゲット QPU に優先的にアクセスできます。ジョブのタスクは、デバイスでキューに入れられた他のタスクの前に実行されます。これにより、ハイブリッドアルゴリズムのランタイムが短くなり、予測しやすくなります。Amazon Braket Hybrid Jobs は、パラメトリックコンパイルもサポートしています。フリーパラメータを使用して回路を送信でき、Braket は回路を 1 回コンパイルします。後続のパラメータ更新を同じ回路に再コンパイルする必要がないため、ランタイムがさらに速くなります。

  2. 利便性: Amazon Braket Hybrid Jobs は、コンピューティング環境のセットアップと管理を簡素化し、ハイブリッドアルゴリズムの実行中も実行し続けることができます。アルゴリズムスクリプトを指定し、実行する量子デバイス (量子処理ユニットまたはシミュレーター) を選択するだけです。Amazon Braket は、ターゲットデバイスが使用可能になるまで待機し、クラシックリソースをスピンアップして、構築済みのコンテナ環境でワークロードを実行し、結果を Amazon Simple Storage Service (Amazon S3) に返し、コンピューティングリソースを解放します。

  3. メトリクス: Amazon Braket Hybrid Jobs は、実行中のアルゴリズムに関するオンザフライのインサイトを提供し、カスタマイズ可能なアルゴリズムメトリクスをほぼリアルタイムで Amazon CloudWatch と Amazon Braket コンソールに配信することで、アルゴリズムの進行状況を追跡できます。

Amazon Braket Hybrid Jobs でハイブリッドジョブを実行する

Amazon Braket Hybrid Jobs でハイブリッドジョブを実行するには、まずアルゴリズムを定義する必要があります。Amazon Braket Python SDK または PennyLane を使用して、アルゴリズムスクリプトと、オプションで他の依存関係ファイルを作成することで定義できます。他の (オープンソースまたは独自の) ライブラリを使用する場合は、これらのライブラリを含む Docker を使用して独自のカスタムコンテナイメージを定義できます。詳細については、「自分のコンテナを持参 (BYOC)」を参照してください。

いずれの場合も、次に Amazon Braket を使用してハイブリッドジョブを作成します。ここでAPIアルゴリズムスクリプトまたはコンテナを指定し、ハイブリッドジョブが使用するターゲット量子デバイスを選択し、さまざまなオプション設定から選択します。これらのオプション設定で提供されるデフォルト値は、ほとんどのユースケースで機能します。ターゲットデバイスがハイブリッドジョブを実行するには、QPU、オンデマンドシミュレーター (SV1、DM1、 などTN1)、または従来のハイブリッドジョブインスタンス自体のいずれかを選択できます。オンデマンドシミュレーターまたは QPU を使用すると、ハイブリッドジョブコンテナはリモートデバイスに API コールを行います。組み込みシミュレーターを使用すると、シミュレーターはアルゴリズムスクリプトと同じコンテナに埋め込まれます。PennyLane の稲妻シミュレーターには、デフォルトの構築済みハイブリッドジョブコンテナが埋め込まれています。埋め込み PennyLane シミュレーターまたはカスタムシミュレーターを使用してコードを実行する場合は、インスタンスタイプと使用するインスタンスの数を指定できます。各選択肢に関連するコストについては、Amazon Braket の料金ページを参照してください。

ハイブリッド、QPU、オンデマンド、埋め込みタスクの Amazon Braket コンポーネント、API、ジョブインスタンス、シミュレーターとのユーザーインタラクションを示すフローチャート図。結果は Amazon Simple Storage Service バケットに保存され、Amazon Braket コンソールの Amazon CloudWatch を使用して分析されます。

ターゲットデバイスがオンデマンドシミュレーターまたは埋め込みシミュレーターである場合、Amazon Braket はハイブリッドジョブの実行をすぐに開始します。ハイブリッドジョブインスタンスを起動し (API呼び出しでインスタンスタイプをカスタマイズできます)、アルゴリズムを実行し、結果を Amazon S3 に書き込み、リソースを解放します。このリリースのリソースを使用すると、使用した分に対してのみお支払いいただくことができます。

量子処理ユニット (QPU) あたりの同時ハイブリッドジョブの合計数は制限されています。現在、一度に QPU で実行できるハイブリッドジョブは 1 つだけです。キューは、許可される制限を超えないように、実行できるハイブリッドジョブの数を制御するために使用されます。ターゲットデバイスが QPU の場合、ハイブリッドジョブは最初に選択した QPU のジョブキューに入ります。Amazon Braket は、必要なハイブリッドジョブインスタンスをスピンアップし、デバイスでハイブリッドジョブを実行します。アルゴリズムの期間中、ハイブリッドジョブには優先アクセスがあります。つまり、ジョブ量子タスクが数分に 1 回 QPU に送信されていれば、ハイブリッドジョブの量子タスクはデバイスでキューに入れられた他の Braket 量子タスクの前に実行されます。ハイブリッドジョブが完了すると、リソースが解放されます。つまり、使用した分に対してのみ料金が発生します。

注記

デバイスはリージョン別であり、ハイブリッドジョブはプライマリデバイス AWS リージョン と同じ で実行されます。

シミュレーターと QPU ターゲットシナリオの両方で、アルゴリズムの一部としてハミルトニアンのエネルギーなどのカスタムアルゴリズムメトリクスを定義するオプションがあります。これらのメトリクスは Amazon CloudWatch に自動的にレポートされ、そこからほぼリアルタイムに Amazon Braket コンソールに表示されます。

注記

GPU ベースのインスタンスを使用する場合は、Braket の組み込みシミュレーターで使用できる GPU ベースのシミュレーターのいずれかを使用してください (例: lightning.gpu)。CPU ベースの埋め込みシミュレーター (、 などbraket:default-simulator) のいずれかを選択した場合lightning.qubit、GPU は使用されず、不要なコストが発生する可能性があります。