メインコンテンツへスキップ

エラー軽減の設定

新しい実行モデル、ベータリリースで利用可能

新しい実行モデルのベータリリースが利用可能になりました。指向性実行モデルは、エラー軽減ワークフローのカスタマイズにおいてより高い柔軟性を提供します。詳細については指向性実行モデルガイドを参照してください。

パッケージバージョン

このページのコードは以下の要件を使用して開発されました。 これらのバージョンまたはそれ以降の使用を推奨します。

qiskit-ibm-runtime~=0.43.1

エラー軽減技術により、ユーザーは実行時のデバイスノイズをモデリングして 回路エラーを軽減できます。これは通常、モデルトレーニングに関連する量子 前処理オーバーヘッドと、生成されたモデルを使用して生の結果のエラーを 軽減するための古典的な後処理オーバーヘッドをもたらします。

Estimatorプリミティブは、TREXZNEPECPEAを含む複数のエラー軽減技術をサポートしています。各手法の説明については エラー軽減およびエラー抑制技術を 参照してください。プリミティブを使用する場合、個々の手法をオンまたはオフに できます。詳細はカスタムエラー設定セクションを参照してください。

備考

Samplerはエラー軽減をサポートしていませんが、mthree(行列フリー測定軽減)パッケージを使用してローカルでエラー軽減を実行できます。

Estimatorはresilience_levelもサポートしています。レジリエンスレベルは、 エラーに対してどの程度の耐性を構築するかを指定します。より高いレベルはより 正確な結果を生成しますが、処理時間が長くなります。レジリエンスレベルは、 プリミティブクエリにエラー軽減を適用する際のコスト/精度のトレードオフを 設定するために使用できます。エラー軽減は、関連する回路のコレクション (アンサンブル)からの出力を処理することで、結果のエラー(バイアス)を 削減します。エラー削減の程度は適用される手法によって異なります。レジリエンス レベルは、エラー軽減手法の詳細な選択を抽象化し、ユーザーがアプリケーションに 適切なコスト/精度のトレードオフについて判断できるようにします。

これを踏まえ、各レベルは量子サンプリングオーバーヘッドが増加する手法に 対応しており、異なる時間精度のトレードオフを試すことができます。以下の表は、 各プリミティブで利用可能なレベルと対応する手法を示しています。

注意

エラー軽減はタスク固有であるため、適用できる技術は分布のサンプリングか 期待値の生成かによって異なります。

Estimatorは以下のレジリエンスレベルをサポートしています。Samplerは レジリエンスレベルをサポートしていません。

レジリエンスレベル定義技術
0軽減なしなし
1 [デフォルト]最小限の軽減コスト:読み取りエラーに関連するエラーを軽減Twirled Readout Error eXtinction(TREX)測定トワーリング
2中程度の軽減コスト。通常、推定量のバイアスを削減しますが、ゼロバイアスは保証されません。レベル1 + Zero Noise Extrapolation(ZNE)およびゲートトワーリング
注意

レジリエンスレベルは現在ベータ版であるため、サンプリングオーバーヘッドとソリューション品質は回路ごとに異なります。新機能、高度なオプション、および管理ツールは順次リリースされます。各レジリエンスレベルで特定のエラー軽減手法が適用されることは保証されていません。

レジリエンスレベルによるEstimatorの設定

レジリエンスレベルを使用してエラー軽減技術を指定するか、カスタムエラー設定で説明されているように個別のカスタム技術を設定できます。

レジリエンスレベル0

ユーザープログラムにエラー軽減は適用されません。

レジリエンスレベル1

レベル1は、Twirled Readout Error eXtinction(TREX)として知られるモデルフリー 技術を適用して、読み取りエラー軽減測定トワーリングを行います。測定 直前にXゲートを通じてランダムに量子ビットを反転させることで、測定に関連する ノイズチャネルを対角化し、測定エラーを削減します。対角ノイズチャネルからの 再スケーリング項は、ゼロ状態で初期化されたランダム回路のベンチマーキングに よって学習されます。これにより、サービスは読み取りノイズに起因する期待値の バイアスを除去できます。このアプローチの詳細はModel-free readout-error mitigation for quantum expectation valuesで説明されています。

レジリエンスレベル2

レベル2は、レベル1に含まれるエラー軽減技術に加えて、ゲートトワーリングZero Noise Extrapolation(ZNE)手法を適用します。ZNEは、異なるノイズ ファクター(増幅段階)でオブザーバブルの期待値を計算し、測定された期待値を 使用してゼロノイズ限界での理想的な期待値を推定します(外挿段階)。この アプローチは期待値のエラーを削減する傾向がありますが、不偏な結果を生成する ことは保証されていません。

この画像はグラフを示しています。x軸はノイズ増幅ファクター、y軸は期待値です。上昇する線は軽減された値とラベル付けされています。線の近くの点はノイズ増幅された値です。x軸のすぐ上に正確な値とラベル付けされた水平線があります。

この手法のオーバーヘッドはノイズファクターの数に応じてスケールします。デフォルト設定では3つのノイズファクターで期待値をサンプリングするため、このレジリエンスレベルを使用する場合、おおよそ3倍のオーバーヘッドが発生します。

レベル2では、TREX手法は測定直前にXゲートを通じてランダムに量子ビットを反転させ、Xゲートが適用された場合は対応する測定ビットを反転させます。このアプローチの詳細はModel-free readout-error mitigation for quantum expectation valuesで説明されています。

EstimatorV2インターフェースにより、ユーザーはオブザーバブルの期待値のエラーを削減するために、さまざまなエラー軽減手法をシームレスに利用できます。以下のコードは、resilience_level 2を設定するだけでZero Noise Extrapolationと読み取りエラー軽減を使用します。

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Setting options during primitive initialization
estimator = Estimator(backend, options={"resilience_level": 2})

カスタムエラー設定

動的デカップリング、ゲートおよび測定トワーリング、測定エラー軽減、PEC、ZNEを 含む個々のエラー軽減およびエラー抑制手法をオンまたはオフにできます。各手法の 説明についてはエラー軽減およびエラー抑制技術を参照してください。

注記
  • すべてのオプションが両方のプリミティブで利用できるわけではありません。利用可能なオプションのリストについては、利用可能なオプションの表を参照してください。
  • すべての手法がすべてのタイプの回路で連携して動作するわけではありません。詳細は機能互換性テーブルを参照してください。
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(backend)
options = estimator.options
# Turn on gate twirling.
options.twirling.enable_gates = True
# Turn on measurement error mitigation.
options.resilience.measure_mitigation = True

print(f">>> gate twirling is turned on: {estimator.options.twirling.enable_gates}")
print(f">>> measurement error mitigation is turned on: {estimator.options.resilience.measure_mitigation}")

すべてのエラー軽減をオフにする

すべてのエラー軽減をオフにする手順については、すべてのエラー抑制および軽減をオフにするセクションを参照してください。

次のステップ

推奨事項