Langkau ke kandungan utama

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.46.1

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 ralat tersuai untuk arahan mengaktifkan teknik-teknik ini.

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 pertukaran 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 pertukaran 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 pertukaran 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 readoutPengukuran twirling Twirled Readout Error eXtinction (TREX)
2Kos pengurangan sederhana. Biasanya mengurangkan berat sebelah dalam Estimator, 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 bergilir. 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 ralat 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 ukuran, 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 — 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})

Tetapan pengurusan hingar tersuai

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

nota

Tidak semua pilihan berfungsi bersama pada semua jenis Circuit. Lihat jadual keserasian ciri untuk butiran.

Contoh

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: "
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