Configure primitive options¶
Primitives を呼び出す場合、次のコードの行の estimator = Estimator(options=options)
に示すように、オプションを渡すことができます:
from qiskit_ibm_runtime import QiskitRuntimeService, Session, Estimator, Options
service = QiskitRuntimeService()
options = Options(optimization_level=1)
with Session(service=service, backend="ibmq_qasm_simulator"):
estimator = Estimator(options=options)
最も一般的に使用されるオプションは、このトピックで説明されているエラー抑制と緩和のためのオプションです。 利用可能なオプションの完全なリストについては、 Options API reference を参照してください。
エラー抑制と軽減の概要¶
コンピューティングプラットフォームに完璧はありません。量子コンピューターは新しく複雑な技術であるため、このような不完全性に対処する新しい方法を見つけなければならないのです。エラーの原因はいくつか考えられます:物理環境の乱れである「ノイズ」や、量子ビットの値や位相が変化してしまう「ビットエラー」。IBMでは、一部の量子ビットがエラーになっても正確な結果が返されるように、ハードウェアに冗長性を持たせています。しかし、エラー抑制やエラー緩和の技術を用いることで、さらにエラーに対処することができます。これらの戦略は、入力回路に対して生成される結果の質を向上させるために、事前および事後の処理を利用します。
エラー抑制: コンパイルの時点で回路を最適化したり変形させたりして、エラーを最小限に抑える技術。最も基本的なエラー処理技術です。 エラー抑制は、通常、runtime 全体に古典的な前処理オーバーヘッドをもたらします。
Primitive では、最適化レベルの設定 (optimization_level
オプション) や、高度なトランスパイルオプションの選択によって、エラー抑制のテクニックを使用することができます。 詳しくは エラー抑制の設定 を参照してください。
誤り軽減: 実行時のデバイス・ノイズをモデル化することで、回路エラーを軽減する技術です。 これは通常、モデルのトレーニングに関連する量子的な前処理のオーバーヘッドと、生成モデルを使用して生の結果のエラーを軽減するための古典的な後処理のオーバーヘッドになります。
Primitive に組み込まれた誤り軽減技術は、高度なresilienceオプションです。 これらのオプションを指定するには、ジョブを投入する際に resilience_level
を使用します。 詳細は エラー緩和の設定 を参照してください。