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 tahan | Penerangan | Teknik |
|---|---|---|
| 0 | Tiada pengurangan | Tiada |
| 1 [Lalai] | Kos pengurangan minimum: Kurangkan ralat yang berkaitan dengan ralat readout | Pengukuran twirling Twirled Readout Error eXtinction (TREX) |
| 2 | Kos pengurangan sederhana. Biasanya mengurangkan berat sebelah dalam Estimator, tetapi tidak dijamin bebas-berat sebelah. | Tahap 1 + Zero Noise Extrapolation (ZNE) dan twirling gate |
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.
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.
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
- Ikuti contoh yang menggunakan pengurangan ralat dalam pelajaran Fungsi kos dalam IBM Quantum Learning.
- Ketahui lebih lanjut tentang teknik pengurangan ralat dan penindasan ralat.
- Terokai pilihan Estimator.
- Tentukan mod pelaksanaan untuk menjalankan kerja anda.