Teknik mitigasi dan supresi error
Rilis beta dari model eksekusi baru kini tersedia. Model eksekusi terarah memberikan fleksibilitas lebih besar saat mengustomisasi alur kerja mitigasi error kamu. Lihat panduan Model eksekusi terarah untuk informasi lebih lanjut.
Teknik mitigasi error dan supresi error digunakan untuk meningkatkan kualitas hasil saat memperbesar skala ke beban kerja yang lebih besar. Halaman ini memberikan penjelasan tingkat tinggi tentang teknik supresi error dan mitigasi error yang tersedia dengan Qiskit.
Dynamical decoupling (dekopling dinamis)
Circuit kuantum dieksekusi pada perangkat keras IBM® sebagai rangkaian pulsa gelombang mikro yang perlu dijadwalkan dan dijalankan pada interval waktu yang tepat. Sayangnya, interaksi yang tidak diinginkan antar qubit dapat menyebabkan error koheren pada qubit yang sedang diam. Dynamical decoupling bekerja dengan menyisipkan rangkaian pulsa pada qubit yang diam untuk secara aproksimatif meniadakan efek error tersebut. Setiap rangkaian pulsa yang disisipkan setara dengan operasi identitas, namun keberadaan fisik pulsa tersebut berfungsi untuk menekan error. Ada banyak pilihan rangkaian pulsa, dan rangkaian mana yang lebih baik untuk setiap kasus tertentu masih menjadi area penelitian aktif.
Perlu dicatat bahwa dynamical decoupling terutama berguna untuk Circuit yang memiliki celah saat sebagian qubit menganggur tanpa ada operasi yang dikenakan padanya. Jika operasi dalam Circuit sangat padat, sehingga semua qubit sibuk sebagian besar waktu, maka penambahan pulsa dynamical decoupling mungkin tidak meningkatkan performa. Bahkan, hal itu bisa memperburuk performa karena ketidaksempurnaan pada pulsa itu sendiri.
Diagram di bawah ini menggambarkan dynamical decoupling dengan rangkaian pulsa XX. Circuit abstrak di sebelah kiri dipetakan ke jadwal pulsa gelombang mikro di kanan atas. Kanan bawah menggambarkan jadwal yang sama, namun dengan rangkaian dua pulsa X yang disisipkan selama periode diam qubit pertama.

Kamu dapat mengaktifkan dynamical decoupling dengan cara berikut:
- Dynamical decoupling transpiler pass di Qiskit
- Opsi dynamical decoupling jika menggunakan IBM Quantum Estimator atau Sampler
Twirling Pauli
Twirling, juga dikenal sebagai randomized compiling, adalah teknik yang banyak digunakan untuk mengubah kanal noise arbitrer menjadi kanal noise dengan struktur yang lebih spesifik.
Pauli twirling adalah jenis twirling khusus yang menggunakan operasi Pauli. Teknik ini berfungsi untuk mengubah kanal kuantum apa pun menjadi kanal Pauli. Dilakukan sendiri, teknik ini dapat memitigasi noise koheren karena noise koheren cenderung terakumulasi secara kuadratik seiring jumlah operasi, sedangkan noise Pauli terakumulasi secara linier. Pauli twirling sering dikombinasikan dengan teknik mitigasi error lain yang bekerja lebih baik dengan noise Pauli daripada noise arbitrer.
Pauli twirling diimplementasikan dengan mengapit sekumpulan Gate yang dipilih dengan Gate Pauli satu qubit yang dipilih secara acak sedemikian rupa sehingga efek ideal dari Gate tetap sama. Hasilnya adalah satu Circuit digantikan dengan ansambel Circuit acak, semuanya dengan efek ideal yang sama. Saat mengambil sampel Circuit, sampel diambil dari beberapa instance acak, bukan hanya satu.
Karena sebagian besar error pada perangkat keras kuantum saat ini berasal dari Gate dua qubit, teknik ini sering diterapkan secara eksklusif pada Gate dua qubit (asli). Diagram berikut menggambarkan beberapa Pauli twirl untuk Gate CNOT dan ECR. Setiap Circuit dalam satu baris memiliki efek ideal yang sama.

Kamu dapat mengaktifkan Pauli twirling dengan cara berikut:
- Custom pass Pauli twirling di Qiskit
- Opsi twirling jika menggunakan IBM Quantum Estimator atau Sampler
Twirled Readout Error eXtinction (TREX)
Twirled Readout Error eXtinction (TREX) memitigasi efek error pengukuran untuk estimasi nilai ekspektasi observabel Pauli. Teknik ini didasarkan pada konsep twirled measurements, yang dilakukan dengan secara acak mengganti Gate pengukuran dengan rangkaian (1) Gate Pauli X, (2) pengukuran, dan (3) bit flip klasik. Sama seperti gate twirling standar, rangkaian ini setara dengan pengukuran biasa tanpa adanya noise, seperti yang digambarkan dalam diagram berikut:
Dengan adanya readout error, measurement twirling berfungsi untuk mendiagonalisasi matriks transfer readout-error, sehingga mudah untuk diinversikan. Sebuah suku penskalaan ulang dari kanal noise diagonal dipelajari dengan melakukan benchmarking Circuit acak yang diinisialisasi dalam keadaan nol. Hal ini memungkinkan layanan untuk menghilangkan bias dari nilai ekspektasi yang dihasilkan oleh readout noise. Mengestimasi matriks transfer readout-error memerlukan eksekusi Circuit kalibrasi tambahan, yang menimbulkan sedikit overhead.
Kamu dapat mengaktifkan TREX dengan cara berikut:
- Addon Qiskit Mitigation untuk Qiskit
- Opsi
measure_mitigationjika menggunakan IBM Quantum Estimator - Tingkat resiliensi jika menggunakan IBM Quantum Estimator
Ekstrapolasi noise-nol (ZNE)
Zero-noise extrapolation (ZNE) adalah teknik untuk memitigasi error dalam mengestimasi nilai ekspektasi observabel. Meskipun sering meningkatkan hasil, teknik ini tidak dijamin menghasilkan hasil yang tidak bias.
ZNE terdiri dari dua tahap:
-
Amplifikasi noise: Circuit kuantum asli dieksekusi beberapa kali pada tingkat noise yang berbeda.
-
Ekstrapolasi: Hasil ideal diestimasi dengan mengekstrapolasi hasil nilai ekspektasi yang noisy ke batas zero-noise.
Baik tahap amplifikasi noise maupun ekstrapolasi dapat diimplementasikan dengan berbagai cara. IBM Quantum Compute mengimplementasikan amplifikasi noise dengan "digital gate folding," yang berarti Gate dua qubit digantikan dengan rangkaian ekuivalen dari Gate dan inversnya. Misalnya, mengganti operator uniter dengan akan menghasilkan faktor amplifikasi noise sebesar 3. Untuk ekstrapolasi, kamu dapat memilih salah satu dari beberapa bentuk fungsional, termasuk fit linier atau fit eksponensial. Gambar di bawah ini menggambarkan digital gate folding di sebelah kiri, dan prosedur ekstrapolasi di sebelah kanan.

Overhead dari metode ini berskala dengan jumlah faktor noise. Pengaturan default mengambil sampel nilai ekspektasi pada tiga faktor noise, sehingga menghasilkan overhead sekitar 3x.
Kamu dapat mengaktifkan ZNE dengan cara berikut:
- Addon Qiskit Mitigation untuk Qiskit
- Opsi
zne_mitigationjika menggunakan IBM Quantum Estimator - Tingkat resiliensi jika menggunakan IBM Quantum Estimator
Amplifikasi Error Probabilistik (PEA)
Salah satu tantangan utama dalam ZNE adalah mengamplifikasi noise yang mempengaruhi Circuit target secara akurat. Gate folding menyediakan cara mudah untuk melakukan amplifikasi ini, namun berpotensi tidak akurat dan dapat menghasilkan hasil yang salah. Lihat artikel "Scalable error mitigation for noisy quantum circuits produces competitive expectation values", khususnya halaman 4 dari informasi tambahan untuk detailnya. Probabilistic error amplification memberikan pendekatan yang lebih akurat untuk amplifikasi error melalui pembelajaran noise.
PEA adalah teknik yang lebih canggih yang melakukan eksperimen pendahuluan untuk merekonstruksi noise dan kemudian menggunakan informasi ini untuk melakukan amplifikasi yang akurat. Teknik ini dimulai dengan mempelajari model noise yang di-twirl dari setiap lapisan Gate entangling dalam Circuit sebelum dijalankan. Setelah fase pembelajaran, Circuit dieksekusi pada setiap faktor noise, di mana setiap lapisan entangling dari Circuit diamplifikasi dengan menyuntikkan secara probabilistik noise satu qubit yang proporsional dengan model noise yang dipelajari dan bersesuaian untuk lapisan tersebut. Lihat artikel "Evidence for the utility of quantum computing before fault tolerance" untuk detail lebih lanjut.
PEA terdiri dari tiga tahap:
- Pembelajaran: Model noise yang di-twirl dari setiap lapisan Gate entangling dalam Circuit dipelajari.
- Amplifikasi noise: Circuit kuantum asli dieksekusi beberapa kali pada faktor noise yang berbeda.
- Ekstrapolasi: Hasil ideal diestimasi dengan mengekstrapolasi hasil nilai ekspektasi yang ber-noise ke batas zero-noise.
Untuk eksperimen skala utilitas, PEA sering menjadi pilihan terbaik.
Karena PEA adalah teknik amplifikasi noise ZNE, kamu juga perlu mengaktifkan ZNE. Kamu dapat mengaktifkan PEA dan ZNE dengan cara berikut:
- Addon Qiskit Mitigation untuk Qiskit
- Opsi
zne_mitigationdenganpeasebagai amplifier jika menggunakan IBM Quantum Estimator
Jika kamu menggunakan Estimator sisi klien baru yang diperkenalkan di qiskit-ibm-runtime v0.50.0, job pembelajaran noise terpisah diperlukan untuk menggunakan PEA.
Lihat Migrasi dari Sampler dan Estimator sisi server ke sisi klien untuk informasi lebih lanjut.
Pembatalan error probabilistik (PEC)
Probabilistic error cancellation (PEC) adalah teknik untuk memitigasi error dalam mengestimasi nilai ekspektasi observabel. Tidak seperti ZNE, teknik ini mengembalikan estimasi nilai ekspektasi yang tidak bias. Namun, umumnya menimbulkan overhead yang lebih besar.
Dalam PEC, efek dari Circuit target ideal dinyatakan sebagai kombinasi linier dari Circuit ber-noise yang sebenarnya dapat diimplementasikan dalam praktik:
Output dari Circuit ideal kemudian dapat direproduksi dengan mengeksekusi berbagai instance Circuit ber-noise yang diambil dari ansambel acak yang didefinisikan oleh kombinasi linier. Jika koefisien membentuk distribusi probabilitas, koefisien tersebut dapat digunakan langsung sebagai probabilitas ansambel. Dalam praktiknya, beberapa koefisien bernilai negatif, sehingga membentuk distribusi kuasi-probabilitas. Koefisien tersebut masih dapat digunakan untuk mendefinisikan ansambel acak, namun ada overhead pengambilan sampel yang terkait dengan negativitas distribusi kuasi-probabilitas, yang dikarakterisasi oleh besaran
Overhead pengambilan sampel adalah faktor perkalian pada jumlah shot yang diperlukan untuk mengestimasi nilai ekspektasi hingga presisi tertentu, dibandingkan dengan jumlah shot yang dibutuhkan dari Circuit ideal. Hal ini berskala secara kuadratik dengan , yang pada gilirannya berskala secara eksponensial dengan kedalaman Circuit.
Kamu dapat mengaktifkan PEC dengan cara berikut:
- Addon Qiskit Mitigation untuk Qiskit
- Opsi
pec_mitigationjika menggunakan IBM Quantum Estimator
Jika kamu menggunakan Estimator sisi klien baru yang diperkenalkan di qiskit-ibm-runtime v0.50.0, job pembelajaran noise terpisah diperlukan untuk menggunakan PEC.
Lihat Migrasi dari Sampler dan Estimator sisi server ke sisi klien untuk informasi lebih lanjut.
Langkah selanjutnya
-
Lihat tutorial tentang menggabungkan opsi mitigasi error dengan primitif Estimator.
-
Jelajahi opsi lain untuk primitif IBM Quantum.
-
Tentukan mode eksekusi mana yang akan digunakan untuk menjalankan job kamu.