翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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必要があります。Amazon Braket SV1シミュレータqubitsーの 34 の制限は、メモリとストレージの制限により、実用的な制約です。これを次のように考えることができます。 qubitを に追加するたびにSV1、問題は 2 倍難しくなります。
多くのクラスの問題では、 TN1はグラフの構造を利用するSV1ため、 よりもはるかに大きな回路を現実的な時間で評価TN1できます。基本的には、最初からソリューションの進化を追跡し、効率的なトラバーサルに寄与する設定のみを保持します。別の言い方をすると、行列乗算の順序を作成するための設定が保存され、評価プロセスがよりシンプルになります。
の場合TN1、 qubitsゲートと ゲートの数は重要ですが、グラフの構造はさらに重要です。例えば、 TN1はゲートが短い回路 (グラフ) と、接続 (またはゲートqubits) の範囲qubitが類似している回路 (グラフ) の評価に非常に適しています。の一般的な範囲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 マトリックスが必要です。難しすぎると判断される収縮中に必要な中間行列は巨大です。このような計算には、完了までに数日かかるでしょう。そのため、Amazon Braket は極めて複雑な収縮を試みません。
同時実行
すべての Braket シミュレーターを使用すると、複数の回路を同時に実行できます。同時実行数の制限は、シミュレーターとリージョンによって異なります。同時実行数の制限の詳細については、「クォータ」ページを参照してください。