Langkau ke kandungan utama
Projek ini dalam fasa beta. Jumpa pepijat? Buat isu GitHub. Ada soalan atau idea? Tanya dalam Discussions — kami suka dengar maklum balas anda!
Bagaimana kualiti terjemahan pada halaman ini?

Konfigurasi pengurusan hingar dengan Estimator

Versi pakej

Kod di halaman ini dibangunkan menggunakan keperluan berikut. Kami syorkan menggunakan versi ini atau yang lebih baru.

qiskit-ibm-runtime~=0.47.0

Terdapat beberapa cara untuk menguruskan hingar, biasanya dengan menggunakan pelbagai teknik pengurangan ralat dan penindasan ralat untuk mengelakkan ralat sebelum ia berlaku. Teknik-teknik ini biasanya menyebabkan overhed pra-pemprosesan. Oleh itu, penting untuk mencapai keseimbangan antara menyempurnakan keputusan anda dan memastikan kerja anda selesai dalam masa yang munasabah.

Estimator menyokong teknik pengurusan hingar berikut. Lihat Teknik pengurangan ralat dan penindasan ralat untuk penjelasan setiap teknik. Lihat bahagian Tetapan pengurusan hingar tersuai untuk contoh mendayakan teknik-teknik ini.

Penyahgandingan dinamik

Cara mendayakan: options.dynamical_decoupling.enable = True

Rujukan API: DynamicalDecouplingOptions

Pilihan penting: sequence_type

Pauli twirling

Cara mendayakan: options.twirling.enable_gates = True

Rujukan API: TwirlingOptions

Pilihan penting: num_randomizations, shots_per_randomization

TREX

Cara mendayakan: options.resilience.measure_mitigation = True

Rujukan API: MeasureNoiseLearningOptions

Pilihan penting:

ZNE

Cara mendayakan: options.resilience.zne_mitigation = True

Rujukan API: ZneOptions

Pilihan penting: noise_factors, extrapolator

PEA

Cara mendayakan: (Mesti juga mendayakan ZNE) options.resilience.zne_mitigation = True dan options.resilience.zne.amplifier = "pea"

Rujukan API: ZneOptions

Pilihan penting: noise_factors, extrapolator

PEC

Cara mendayakan: options.resilience.pec_mitigation = True

Rujukan API: PecOptions

Pilihan penting: max_overhead

Tahap daya tahan​

resilience_level menentukan berapa banyak daya tahan yang perlu dibina terhadap ralat. Tahap yang lebih tinggi menghasilkan keputusan yang lebih tepat, dengan kos masa pemprosesan yang lebih lama. Tahap daya tahan boleh digunakan untuk mengkonfigurasi tolak ansur kos/ketepatan apabila menggunakan pengurusan hingar pada pertanyaan primitif anda. Pengurusan hingar mengurangkan ralat (berat sebelah) dalam keputusan dengan memproses output daripada koleksi, atau ensemble, Circuit yang berkaitan. Tahap pengurangan ralat bergantung pada kaedah yang digunakan. Tahap daya tahan mengabstrak pilihan terperinci kaedah pengurusan hingar untuk membolehkan pengguna menilai tolak ansur kos/ketepatan yang sesuai untuk aplikasi mereka.

Memandangkan ini, setiap tahap sepadan dengan kaedah atau kaedah-kaedah dengan tahap overhed pensampelan kuantum yang semakin meningkat untuk membolehkan anda bereksperimen dengan tolak ansur masa-ketepatan yang berbeza. Jadual berikut menunjukkan tahap dan kaedah yang tersedia untuk setiap primitif.

Tahap daya tahanPeneranganTeknik
0Tiada penguranganTiada
1 [Lalai]Kos pengurangan minimum: Kurangkan ralat yang berkaitan dengan ralat readoutTwirling pengukuran Twirled Readout Error eXtinction (TREX)
2Kos pengurangan sederhana. Biasanya mengurangkan berat sebelah dalam penganggar, tetapi tidak dijamin bebas-berat sebelah.Tahap 1 + Zero Noise Extrapolation (ZNE) dan twirling gate
Perhatian

Tahap daya tahan kini dalam beta jadi overhed pensampelan dan kualiti penyelesaian akan berbeza dari Circuit ke Circuit. Ciri baru, pilihan lanjutan, dan alatan pengurusan akan dikeluarkan secara berperingkat. Kaedah pengurusan hingar khusus tidak dijamin digunakan pada setiap tahap daya tahan.

Konfigurasi Estimator dengan tahap daya tahan​

Anda boleh menggunakan tahap daya tahan untuk menentukan teknik pengurusan hingar, atau anda boleh menetapkan teknik tersuai secara individu seperti yang diterangkan dalam Tetapan pengurusan hingar tersuai.

Penting

Sebarang pilihan yang anda tentukan secara manual selain tahap daya tahan diterapkan sebagai tambahan kepada set pilihan asas yang ditentukan oleh tahap daya tahan. Oleh itu, pada dasarnya, anda boleh menetapkan tahap daya tahan ke 1, tetapi kemudian mematikan pengurangan ralat pengukuran, walaupun ini tidak disyorkan.

Sebagai contoh, menetapkan tahap daya tahan ke 0 mematikan zne_mitigation, tetapi estimator.options.resilience.zne_mitigation = True mengatasi nilai tersebut.

Contoh​

Kod berikut mengaktifkan ZNE, TREX, dan twirling gate dengan menetapkan resilience_level 2.

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit_ibm_runtime": "qiskit-ibm-runtime"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator

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

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

Tetapan pengurusan hingar tersuai​

Anda boleh menghidupkan dan mematikan kaedah pengurusan hingar individu menggunakan pilihan Estimator.

Nota

Contoh lengkap dengan berbilang pilihan​

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import 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: "
f"{estimator.options.twirling.enable_gates}"
)
>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True

Matikan semua pengurangan ralat​

Untuk arahan mematikan semua pengurangan ralat, lihat bahagian Matikan semua penindasan dan pengurangan ralat dalam panduan pilihan Estimator.

Langkah seterusnya​

Cadangan