翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 つのフェーズが必要です
通常、TN1 は、量子計算をシミュレートするための 2 段階のアプローチで動作します。
-
リハーサルフェーズ: このフェーズでは、TN1 では、グラフを効率的にトラバースする方法を考え出します。これには、必要な測定値を取得できるように、すべてのノードを訪問することが含まれます。顧客として、このフェーズは表示されません。TN1 は両方のフェーズを一緒に実行します。最初のフェーズを完了し、実用的な制約に基づいて、2 番目のフェーズを単独で実行するかどうかを決定します。シミュレーションの開始後、その決定への入力はありません。
-
収縮フェーズ:このフェーズは、古典的なコンピュータにおける計算の実行フェーズに似ています。フェーズは、一連の行列乗算で構成されます。これらの乗算の順序は、計算の難しさに大きな影響を与えます。したがって、グラフ全体で最も効果的な計算パスを見つけるために、リハーサルフェーズが最初に実行されます。リハーサルフェーズ中に収縮パスが見つかったら、TN1 は回路のゲートをまとめて、シミュレーションの結果を生成します。
TN1 グラフはマップに似ています
比喩的には、基盤となる TN1 グラフを都市の街角に表示します。計画されたグリッドがある都市では、地図を使用して目的地までのルートを簡単に見つけることができます。計画外の道路や道路名が重複している都市では、地図を見て目的地までのルートを見つけるのが難しい場合があります。
If TN1 はリハーサルフェーズを実行しませんでした。まずマップを見るのではなく、都市の通りを歩き回って目的地を見つけます。地図を見るのにより多くの時間を費やすことは、歩く時間という点で本当に報われるでしょう。同様に、リハーサルフェーズは貴重な情報を提供します。
例えば、TN1 は、トラバースする基盤となる回路の構造をある程度「認識」します。この意識はリハーサルフェーズ中に高まります。
これらのタイプのシミュレーターに最も適した問題の種類
SV1 は、主に特定の数の qubits および ゲート。通常、必要な時間はゲートの数に応じて直線的に増加しますが、 の数には依存しません。shots. SV1 は一般的に よりも高速です。TN1 28 未満の回路の場合 qubits.
SV1 は、より遅くなる可能性があります qubit 数値は、実際には、非常に可能性の低いものであっても、すべての可能性をシミュレートするためです。どの結果が出そうなのかを判断する方法はありません。したがって、30-qubit 評価、SV1 は 2^30 設定を計算する必要があります。制限 34 qubits の Amazon Braket SV1 シミュレーターは、メモリとストレージの制限があるため、実用的な制約です。次のように考えることができます。 を追加するたびに qubit から SV1の場合、問題は 2 倍になります。
多くの問題クラスでは、TN1 は、 よりもはるかに大きな回路を現実的に評価できます。SV1 なぜなら TN1 はグラフの構造を利用します。基本的には、ソリューションの進化を最初から追跡し、効率的なトラバーサルに寄与する設定のみを保持します。別の言い方をすれば、行列乗算の順序を作成するための設定が保存され、評価プロセスがよりシンプルになります。
[ TN1、 の数 qubits と ゲートは重要ですが、グラフの構造はさらに重要です。例えば、 などです TN1 は、ゲートが短距離である回路 (グラフ) の評価に非常に適しています (つまり、各 は qubit は、ゲートによって最も近い隣人にのみ接続されます。qubits) と、接続 (またはゲート) が同様の範囲を持つ回路 (グラフ)。の一般的な範囲 TN1 は、それぞれ qubit 他の とのみ話す qubits 5 です 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.
注記
のリハーサルステージに対して課金されます TN1 収縮が実行されず、FAILED
ステータスが表示される場合でも。
予測ランタイムは、shot カウント。最悪のシナリオでは、TN1 収縮時間は、shot カウント。回路は、より少ない で収縮可能になる可能性があります。shots。 例えば、量子タスクを 100 で送信できます。shots。TN1 は契約不可と判断しますが、10 のみを使用して再送信すると、縮小が続行されます。この場合、100 個のサンプルを取得するには、10 個の量子タスクを 10 個送信できます。shots は同じ回路で、結果を最後に結合します。
ベストプラクティスとして、回路または回路クラスは、常にいくつかの を使用してテストすることをお勧めします。shots (10 など) 回路の硬度を調べる TN1、 の数を増やす前に shots.
注記
収縮フェーズを形成する一連の乗算は、小さな NxN マトリックスから始まります。例えば、2-qubit ゲートには 4x4 マトリックスが必要です。難しすぎると判断される収縮中に必要な中間行列は巨大です。このような計算には、完了までに数日かかるでしょう。だからこそ Amazon Braket は、非常に複雑な収縮を試みません。
同時実行
すべての Braket シミュレーターでは、複数の回路を同時に実行できます。同時実行の制限は、シミュレーターとリージョンによって異なります。同時実行制限の詳細については、「クォータ」ページを参照してください。