Amazon Braket シミュレーターを比較する - Amazon Braket

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

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 には 2 つのフェーズが必要です

通常、 は量子計算をシミュレートするための 2 フェーズアプローチでTN1動作します。

  • リハーサルフェーズ: このフェーズでは、 はグラフを効率的にトラバースする方法TN1を考え出します。これには、必要な測定値を取得できるようにすべてのノードを訪問することが含まれます。は両方のフェーズを一緒にTN1実行するため、顧客にはこのフェーズは表示されません。第 1 フェーズを完了し、実用的な制約に基づいて第 2 フェーズを単独で実行するかどうかを決定します。シミュレーションの開始後、その決定への入力はありません。

  • 収縮フェーズ:このフェーズは、古典的なコンピュータにおける計算の実行フェーズに似ています。フェーズは、一連の行列乗算で構成されます。これらの乗算の順序は、計算の難しさに大きな影響を与えます。したがって、グラフ全体で最も効果的な計算パスを見つけるために、最初にリハーサルフェーズが実行されます。リハーサルフェーズ中に収縮パスが見つかったら、 は回路のゲートをTN1まとめてシミュレーションの結果を生成します。

TN1 グラフはマップに似ています

比喩的に、基盤となるTN1グラフを都市の通りと比較できます。計画されたグリッドがある都市では、地図を使用して目的地までのルートを簡単に見つけることができます。計画外の道路や道路名が重複している都市では、地図を見て目的地までのルートを見つけるのが難しい場合があります。

TN1 がリハーサルフェーズを実行しなかった場合は、最初に地図を見るのではなく、都市の通りを歩いて目的地を見つけるようなものになります。地図を見るのにより多くの時間を費やすことは、歩く時間という点で本当に報われるでしょう。同様に、リハーサルフェーズは貴重な情報を提供します。

TN1 は、トラバースする基盤となる回路の構造に特定の「認識」があると言えます。この意識はリハーサルフェーズ中に高まります。

これらのタイプのシミュレーターに最も適した問題の種類

SV1 は、主に一定数の qubitsおよび ゲートを持つことに依存する問題のクラスに最適です。一般的に、必要な時間はゲートの数に応じて直線的に増加しますが、 の数には依存しませんshots。 SV1は一般的に 28 未満のTN1回路よりも高速ですqubits。

SV1 は、非常に可能性の低いものであっても、実際にはすべての可能性をシミュレートするため、qubit数値が大きいほど遅くなる可能性があります。どの結果が出そうなのかを判断する方法はありません。したがって、30-qubit評価のために、 は 2^30 設定を計算するSV1必要があります。qubits Amazon Braket SV1 Simulator の 34 の制限は、メモリとストレージの制限により、実用的な制約です。次のように考えることができます。 qubitを に追加するたびにSV1、問題は 2 倍の困難になります。

多くのクラスの問題では、 TN1はグラフの構造を利用するSV1ため、 よりもはるかに大きな回路を現実的な時間で評価TN1できます。基本的には、最初からソリューションの進化を追跡し、効率的なトラバーサルに寄与する設定のみを保持します。別の方法として、行列乗算の順序を作成するための設定を保存し、評価プロセスを簡素化します。

ではTN1、 qubitsゲートと ゲートの数は重要ですが、グラフの構造はさらに重要です。例えば、 TN1は、ゲートが短い (つまり、それぞれqubitがゲートによって最も近い隣接する にのみ接続されている) 回路 (グラフqubits) と、接続 (またはゲート) が同様の範囲を持つ回路 (グラフ) を評価するのに非常に適しています。の一般的な範囲TN1は、それぞれが 5 qubitsの距離にある他の とのみqubit通信qubitsすることです。構造の大部分をより単純な関係に分解できる場合、このような関係は、より詳細、より詳細、またはより均一なマトリックスで表すことができます。 は評価を簡単にTN1実行します。

の制限 TN1

TN1 は、グラフの構造の複雑さSV1に応じて遅くなる可能性があります。特定のグラフでは、 はリハーサルステージの後にシミュレーションTN1を終了し、次の 2 つの理由のいずれかで FAILEDのステータスを表示します。

  • パスを見つけることができない - グラフが複雑すぎる場合、正常なトラバーサルパスを見つけるのは困難であり、シミュレーターは計算をあきらめます。 は収縮を実行TN1できません。以下のようなエラーメッセージが表示されることがあります。 No viable contraction path found.

  • 収縮段階が難しすぎる - 一部のグラフでは、 はトラバーサルパスを見つけるTN1ことができますが、評価には非常に時間がかかり、非常に時間がかかります。この場合、収縮は非常に高価であるためコストは膨大なものになり、代わりにリハーサルフェーズの後にTN1終了します。以下のようなエラーメッセージが表示されることがあります。 Predicted runtime based on best contraction path found exceeds TN1 limit.

注記

収縮が実行されず、FAILEDステータスが表示されTN1ても、 のリハーサルステージに対して課金されます。

予測ランタイムは、shotカウントにも依存します。最悪のシナリオでは、TN1収縮時間はshotカウントに直線的に依存します。回路は、より少ない で収縮できる場合がありますshots。例えば、100 の で量子タスクを送信できます。これはshots、 が契約不可能であるTN1と判断しますが、10 の のみで再送信すると、収縮が続行されます。このような状況では、100 個のサンプルを得るために、同じ回路shotsに対して 10 個の量子タスクを 10 個送信し、その結果を最後に組み合わせることができます。

ベストプラクティスとして、数個 shots (10 など) の回路または回路クラスで常にテストし、 の数を増やす前にTN1、 の回路のハードさを調べることをお勧めしますshots。

注記

収縮フェーズを形成する一連の乗算は、小さな NxN マトリックスから始まります。例えば、2-qubitゲートには 4x4 マトリックスが必要です。難しすぎると判断される収縮中に必要な中間行列は巨大です。このような計算には、完了までに数日かかるでしょう。そのため、AmazonBraket は非常に複雑な収縮を試みません。

同時実行

Braket シミュレーターはすべて、複数の回路を同時に実行することができます。同時実行数の制限は、シミュレーターとリージョンによって異なります。同時実行数の制限の詳細については、「クォータ」ページを参照してください。