Lewati ke konten utama

Menjalankan Circuit kuantum

Tonton video tentang Circuit kuantum dan primitif dari Olivia Lanes, atau buka video di jendela terpisah di YouTube.

Gambaran umum pelajaranโ€‹

Pelajaran ini akan menjadi tinjauan tingkat tinggi tentang dasar-dasar menjalankan komputasi kuantum skala utilitas, mulai dari perangkat keras kuantum yang digunakan hingga prinsip-prinsip yang perlu dipertimbangkan saat merancang Circuit kuantum. Idealnya, pada akhir pelajaran ini, kamu akan tahu:

  1. Apa sebenarnya komputer kuantum IBMยฎ. Kamu perlu mengetahui dasar-dasar fitur perangkat keras untuk merancang Circuit kuantum secara optimal agar bisa dijalankan.

  2. Apa itu Qiskit, apa itu primitif, dan bagaimana kita bisa menggunakannya untuk membuat dan mengeksekusi Circuit kuantum.

  3. Alur kerja tipikal yang kita ikuti untuk menjalankan eksperimen pada skala. Ini termasuk memilih primitif terbaik untuk kasus penggunaanmu, memetakan masalah ke Circuit kuantum, dan menerapkan mitigasi dan penekanan kesalahan, yang memungkinkan kita memaksimalkan kekuatan mesin-mesin ini.

Perangkat keras โ€“ prosesor kuantum IBMโ€‹

Untuk memahami bagaimana kita bisa membuat pilihan optimal dalam merancang Circuit kuantum berskala besar, kita perlu mengetahui sedikit tentang perangkat keras sebenarnya yang akan menjalankan Circuit ini. Jadi mari kita bahas secara singkat qubit fisik dan prosesor kuantum IBM.

Prosesor kuantum IBM dibangun menggunakan qubit transmon superkonduktor, yang merupakan sirkuit listrik yang terdiri dari sambungan Josephson dan kapasitor yang terhubung secara paralel. Sambungan Josephson adalah induktor nonlinear yang dibuat dari dua lapisan logam superkonduktor yang tumpang tindih dengan penghalang isolator di antaranya. Pada suhu yang sangat rendah, elektron dalam superkonduktor berpasangan untuk membentuk apa yang dikenal sebagai pasangan Cooper. Pasangan Cooper bisa secara spontan melakukan tunneling melalui penghalang isolator dari satu sisi sambungan ke yang lain. Perilaku tunneling ini menimbulkan sifat-sifat nonlinear yang menciptakan qubit kita.

Jalur transmisi gelombang mikro difabrikasi pada chip untuk mengirimkan sinyal gelombang mikro ke qubit. Ketika kita menerapkan pulsa gelombang mikro yang dikalibrasi dengan sangat tepat โ€” dengan frekuensi, amplitudo, bentuk, dan durasi tertentu โ€” ke jalur tersebut, kita bisa membuat qubit melakukan hal-hal spesifik. Ini membentuk dasar Gate kuantum kita. Kita memfabrikasi chip sehingga qubit yang bertetangga terhubung dalam struktur kisi tertentu yang disebut kisi heavy-hex. Konektivitas ini โ€” yang disebut topologi โ€” prosesor kita merupakan faktor penting yang perlu dipertimbangkan saat merancang Circuit, seperti yang akan kita bahas nanti dalam pelajaran ini.

Instruksi untuk pulsa gelombang mikro pergi dari komputermu, melalui cloud, dan ke elektronik kontrol suhu ruangan, yang menafsirkan instruksi tersebut dan secara fisik menghasilkan pulsa. Setelah kotak kontrol suhu ruangan membuat pulsa, mereka pergi melalui kabel ke lemari pendingin dilusi dan akhirnya ke chip kuantum. Sinyal masuk ke resonator, melalui wirebond, dan kemudian mengalir turun jalur transmisi ke qubit kita.

IBM memiliki lusinan komputer kuantum di seluruh dunia, dan kami baru-baru ini memutakhirkan armada kami untuk memiliki prosesor lebih besar dari 100 qubit secara eksklusif. Beberapa di antaranya berlokasi di pusat data kuantum IBM di bagian utara negara bagian New York dan dikerahkan melalui cloud untuk digunakan semua orang โ€” dan beberapa di antaranya adalah sistem on-premises yang didedikasikan untuk mendukung mitra dalam IBM Quantumยฎ Network. Kamu bisa masuk ke quantum.cloud.ibm.com untuk melihat prosesor mana yang bisa kamu akses.

Setiap prosesor mencantumkan tiga metrik kinerja, yang kita bahas di pelajaran sebelumnya, tetapi sebagai pengingat, mereka adalah: jumlah qubit, EPLG, dan CLOPS.

  • Jumlah qubit. Ini sudah jelas: ini adalah jumlah total qubit yang tersedia untuk digunakan pada satu prosesor kuantum. Untuk masalah yang relatif besar dan berskala utilitas, kamu perlu memastikan kamu menggunakan prosesor dengan cukup qubit untuk bisa menangani masalah tersebut. Tapi jumlah qubit saja bukan satu-satunya hal yang penting.

  • EPLG, atau "errors per layered gate." Ini adalah ukuran kualitas qubit dan Gate kuantum. Ini mengukur kesalahan rata-rata yang diperkenalkan setiap Gate dalam Circuit yang membelit qubit yang bertetangga dalam rantai 100 qubit. Kamu ingin ini sekecil mungkin.

  • CLOPS, atau "circuit layer operations per second." Ini mengkuantifikasi kecepatan prosesor. Ini mengukur berapa banyak lapisan sirkuit benchmarking tertentu yang disebut sirkuit quantum volume yang bisa dieksekusi oleh unit pemrosesan kuantum (QPU) per satuan waktu. Semakin tinggi angkanya, semakin cepat kita bisa menghitung.

Pentingnya setiap metrik ini bervariasi tergantung pada aplikasi spesifik, dan dalam pelajaran-pelajaran mendatang, kita akan melihat contoh nyata untuk melihat bagaimana setiap faktor ini bisa mempengaruhi hasil perhitungan.

Perangkat lunak: Qiskit dan Qiskit Runtimeโ€‹

Untuk mengubah masalah kuantummu menjadi instruksi untuk komputer kuantum, kamu akan menggunakan Qiskit, kit pengembangan perangkat lunak open-source yang dirancang untuk bekerja pada komputer kuantum yang dikembangkan oleh IBM. Ada juga Ekosistem Qiskit โ€” kumpulan tutorial perangkat lunak dan fungsi yang membangun atau memperluas fungsionalitas inti Qiskit โ€” dan Qiskit Runtime โ€” layanan komputasi kuantum dan model pemrograman yang memungkinkan pengguna merancang dan mengoptimalkan beban kerja kuantum mereka dan mengeksekusinya secara efisien menggunakan Qiskit Runtime Primitives.

Primitif adalah blok pembangun kecil yang bisa kamu gunakan untuk merancang Circuit atau pekerjaan yang lebih besar. Dua primitif yang paling penting bagi kita adalah Sampler dan Estimator, yang akan kita bahas lebih mendalam segera.

Dengan rilis terbaru Qiskit v1.0, Qiskit telah menjadi lebih berkinerja dan stabil dari sebelumnya. Jadi, bagi kalian yang baru memulai, kamu datang di waktu yang tepat! Bagi kamu yang sudah familiar dengan Qiskit, kamu perlu mengunduh dan menginstal ulang versi terbaru. Untuk panduan instalasi lengkap, kunjungi panduan Install Qiskit.

Circuit Kuantumโ€‹

Sekarang kita siap untuk membahas fondasi program kuantum: Circuit kuantum. Bagian ini hanya akan berfungsi sebagai penyegaran โ€” jika kamu tidak familiar dengan Circuit kuantum, kami menyarankan untuk mempelajarinya lebih mendalam dengan mengunjungi pelajaran Quantum Circuits dalam kursus "Basics of quantum information" sebelum melanjutkan.

Circuit kuantum adalah jaringan Gate kuantum dan pengukuran yang dihubungkan oleh kabel yang mewakili qubit, seperti yang ditunjukkan di bawah ini. Circuit kuantum bisa dibaca seperti lembaran musik, dari kiri ke kanan, mulai dari waktu 0 di sebelah kiri. Qubit virtual โ€” yang belum ditugaskan ke qubit fisik pada prosesor โ€” tercantum dalam urutan meningkat dari atas ke bawah.

Gate diwakili oleh simbol yang berbeda pada kabel qubit yang terlibat. Gate qubit tunggal โ€” seperti Gate Hadamard, yang digambarkan di bawah (kotak dengan H) โ€” hanya mempengaruhi qubit yang kawatnya ditempatkan. Gate multi-qubit โ€” seperti Gate CNOT, juga ditunjukkan di bawah (tanda plus dalam lingkaran dengan garis yang terhubung ke q0) โ€” mempengaruhi dua qubit atau lebih. Dalam Gate CNOT yang digambarkan, keadaan q1 berubah sesuai dengan keadaan q0. Setelah semua Gate dilakukan, kita bisa mengukur qubit, ditunjukkan oleh Gate hitam dengan simbol pengukuran. Hasil pengukuran ditulis ke register klasik, bus "meas" berlapis ganda di bawah.

Contoh Circuit kuantum sederhana

Satu karakteristik penting dari Circuit adalah kedalamannya. Kedalaman Circuit kuantum adalah jumlah minimum "lapisan" Gate kuantum, yang dieksekusi secara paralel, yang diperlukan untuk menyelesaikan Circuit. Gate kuantum bisa dieksekusi secara paralel (pada saat yang sama) kapan pun mereka tidak memiliki qubit yang sama. Tapi jika dua Gate atau lebih bekerja pada qubit yang sama maka kita tidak bisa melakukannya secara paralel โ€” mereka harus dilakukan dalam dua lapisan terpisah, satu demi satu.

Ada cara lain yang kurang jelas untuk menentukan kedalaman Circuit, dengan memainkan semacam permainan. Aturannya sederhana: mulai dari kabel qubit mana pun di sebelah kiri, kamu harus melakukan perjalanan ke kanan dan menghitung jumlah Gate yang kamu temui di jalurmu. Kamu bisa melompat ke kabel yang bertetangga hanya ketika itu terhubung ke kawatmu saat ini oleh Gate multi-qubit. Tujuannya adalah memaksimalkan jumlah Gate yang kamu temui di sepanjang jalurmu. Angka maksimal ini juga kebetulan merupakan kedalaman Circuit.

Contoh Circuit sembilan lapisan

Karena Gate kuantum memerlukan waktu untuk diimplementasikan, kedalaman Circuit secara kasar sesuai dengan jumlah waktu yang diperlukan komputer kuantum untuk mengeksekusi Circuit. Beberapa mesin lebih cocok untuk Circuit kedalaman besar dari yang lain karena waktu dekoherensi qubit pada prosesor. Jadi, kita perlu mengetahui kedalaman Circuit untuk mengetahui apakah bisa dijalankan pada perangkat tertentu.

Merancang Circuit kuantum: Qiskit patternsโ€‹

Jadi, bagaimana kita merancang dan menjalankan Circuit kuantum? Cara termudah untuk memahami alur kerja komputasi kuantum tipikal adalah melalui Qiskit patterns. Qiskit patterns adalah kerangka konseptual yang memungkinkan pengguna menjalankan beban kerja kuantum dengan mengimplementasikan langkah-langkah tertentu dengan perkakas modular. Ini memungkinkan tugas komputasi kuantum dilakukan oleh infrastruktur komputasi heterogen (CPU/GPU/QPU) yang kuat. Langkah-langkah ini bisa dilakukan sebagai layanan dan bisa memasukkan manajemen sumber daya, yang memungkinkan komposabilitas kemampuan baru yang mulus seiring pengembangannya.

Berikut langkah-langkah utamanya, yang kemungkinan akan dikenali oleh pengguna Qiskit yang berpengalaman.

  1. Peta. Langkah ini memformalkan bagaimana kita mengambil masalah umum yang kita minati dan mencari tahu cara memetakannya ke komputer kuantum dalam bentuk Circuit kuantum.

  2. Optimalkan. Dalam langkah ini kita menggunakan Transpiler Qiskit untuk merutekan dan menata Circuit ke perangkat keras qubit fisik sebenarnya. Ini termasuk menerjemahkan Gate kuantum individu ke urutan operasi yang dilakukan pada perangkat keras serta optimasi dalam tata letak Gate.

  3. Eksekusi. Qiskit Runtime primitives menyediakan antarmuka ke perangkat keras IBM Quantum yang memungkinkan Circuit yang telah ditranspilasi untuk dijalankan. Langkah ini juga mencakup penggunaan teknik penekanan dan mitigasi kesalahan, yang sebagian besar bisa diabstraksikan dari pengguna.

  4. Pasca-proses. Dalam langkah ini, data dari prosesor kuantum itu sendiri diproses, memberikan pengguna hasil yang berguna pada masalah asal. Pada dasarnya, ini mencakup analisis lebih lanjut dari data yang diperoleh.

Petaโ€‹

Langkah Peta pada dasarnya mengajukan pertanyaan: "Bagaimana cara saya menerjemahkan masalah saya ke Circuit kuantum yang bisa dijalankan secara wajar pada perangkat keras kuantum?" Tidak diragukan lagi: pemetaan adalah masalah yang sulit dan merupakan area penelitian aktif. Tidak ada metode yang terbukti menjamin kesuksesan, tetapi ada pedoman yang disarankan dan contoh masalah yang sudah kita ketahui cara memetakannya.

Pedoman pertama adalah membiarkan komputer klasik melakukan pekerjaan apa pun yang lebih baik mereka lakukan. Tugas yang mudah untuk komputer klasik kemungkinan tidak akan mendapat manfaat dari komputer kuantum. Komputer kuantum adalah untuk masalah yang sulit secara klasik. Tentu saja, jika ini adalah pertama kalinya kamu menggunakan Qiskit atau komputer kuantum, jangan khawatir tentang menemukan masalah yang secara komputasi kompleks. Pecah menjadi masalah yang lebih kecil dan mudah dipahami yang bisa kamu pelajari cara mengatasinya sebelum langsung ke proyek skala utilitas.

Selanjutnya, terjemahkan hasil untuk masalahmu yang ingin kamu ukur atau pahami menjadi nilai ekspektasi atau fungsi biaya. Fungsi biaya adalah fungsi spesifik masalah yang mendefinisikan tujuan masalah sebagai sesuatu yang akan diminimalkan atau dimaksimalkan. Ini bisa digunakan untuk melihat seberapa baik keadaan atau solusi percobaan berkinerja sehubungan dengan tujuan tersebut. Gagasan ini bisa diterapkan pada berbagai aplikasi dalam kimia, machine learning, keuangan, optimasi, dan sebagainya โ€” tidak perlu dari subjek apa kamu mendekati masalah.

Ingat juga bahwa perangkat keras yang akan kamu gunakan memiliki topologi tertentu, seperti yang kita bahas di bagian perangkat keras. Beberapa qubit terhubung, dan beberapa tidak โ€” kamu perlu memetakan masalahmu ke Circuit yang menghormati topologi heavy-hex prosesor kuantum IBM.

Untuk sekarang, hal terpenting yang perlu diingat adalah bahwa tahap ini memerlukan latihan. Kamu perlu memiliki pemahaman yang baik tidak hanya tentang masalahmu, tetapi juga kemampuan perangkat keras โ€” dan kita akan melalui contoh dan kasus penggunaan spesifik dalam pelajaran-pelajaran mendatang untuk melihat cara menyeimbangkan semua pertimbangan ini.

Optimalkanโ€‹

Selanjutnya, kita perlu memilih prosesor kuantum yang memiliki cukup qubit berkualitas tinggi agar kita bisa menjalankan Circuit kuantum kita. Buat keputusan ini dipandu oleh tiga metrik yang kita bahas di bagian perangkat keras: jumlah qubit, EPLG, dan CLOPS.

Kemudian kita mengoptimalkan Circuit kita untuk perangkat keras yang dipilih. Pertama, kita perlu menata dan merutekan Circuit kita secara efisien. Tata letak mengacu pada pemetaan qubit virtual dalam Circuit ke qubit fisik pada prosesor. Perutean mengacu pada penyesuaian Circuit sehingga konektivitas antara qubit virtual dalam Circuit cocok dengan konektivitas qubit fisik pada prosesor. Ada beberapa hal yang perlu diingat selama tahap tata letak dan perutean.

  1. Tidak semua qubit terhubung. Beberapa sangat jauh satu sama lain di chip, dan kita perlu mengurangi atau menghilangkan interaksi jarak jauh di mana pun mungkin. Kamu bisa menerapkan serangkaian SWAP Gate antara qubit yang bertetangga untuk memindahkan informasi qubit, tetapi SWAP Gate mahal dan rentan kesalahan, jadi mungkin ada cara yang lebih baik untuk melakukannya. Cobalah menghindari terlalu banyak SWAP Gate yang mahal.

  2. Tata letak dan perutean adalah proses iteratif. Kamu bisa melakukannya dengan tangan, tetapi ada juga alat Qiskit yang disebut mapomatic, yang bisa memberikan rekomendasi untuk tata letak qubit fisik berdasarkan tingkat kesalahan perkiraan. Transpiler (yang akan kita bahas segera) juga bisa memberikan saran yang tepat.

Selanjutnya, kita bisa menggabungkan urutan Gate satu qubit yang bekerja pada qubit yang sama menjadi Gate tunggal โ€” dan kita juga terkadang bisa menghilangkan Gate yang tidak perlu atau kombinasi Gate. Misalnya, beberapa kombinasi Gate bisa dikurangi menjadi kombinasi yang lebih sederhana โ€” dan pada kenyataannya, terkadang kombinasi Gate mungkin setara dengan operasi identitas, sehingga kita bisa menghilangkannya. Kamu bisa melakukan ini secara otomatis menggunakan Transpiler Qiskit โ€” tetapi kamu juga bisa melakukannya secara manual pada basis Gate-per-Gate jika kamu menginginkan kontrol lebih.

Setelah kita meningkatkan tata letak Circuit, perutean, dan jumlah Gate โ€” baik dengan tangan atau menggunakan transpiler โ€” kita biasanya ingin memvisualisasikan Circuit kita untuk memastikan waktu semua Gate masuk akal. Ada argumen yang bisa kamu tandai dalam transpiler untuk memvisualisasikan timeline Circuit kamu, dan memastikan semuanya selaras seperti yang kamu harapkan.

Transpiler Qiskitโ€‹

Seperti yang disebutkan sebelumnya, Transpiler Qiskit bisa digunakan untuk membantu dalam tahap awal alur kerja patterns. Sekarang mari kita dalami kemampuannya lebih rinci. Ia bisa menulis ulang Circuit input yang diberikan sehingga cocok dengan topologi perangkat kuantum tertentu dan mengoptimalkan Circuit untuk eksekusi dan ketahanan terhadap noise. Ia juga menulis ulang Circuit yang diberikan ke Gate basis prosesor kuantum spesifik yang telah kamu pilih untuk digunakan.

Qiskit memiliki empat pipeline transpilasi bawaan yang sesuai dengan level optimasi yang berbeda, dan kecuali kamu sudah familiar dengan optimasi Circuit kuantum, kami menyarankan menggunakan salah satunya. Secara default, proses transpilasi mencakup enam langkah ini:

  1. Inisialisasi. Tahap ini menjalankan pass awal yang diperlukan sebelum kita mulai menyematkan Circuit ke Backend. Ini biasanya melibatkan unrolling instruksi kustom dan mengonversi Circuit ke hanya Gate satu dan dua qubit.

  2. Tata letak. Tahap ini memetakan qubit virtual dalam Circuit ke qubit fisik pada Backend. Lihat Layout Stage untuk detail lebih lanjut.

  3. Perutean. Tahap ini berjalan setelah tata letak diterapkan dan menyuntikkan Gate (seperti SWAP Gate) ke dalam Circuit asli untuk membuatnya kompatibel dengan konektivitas Backend. Lihat Routing Stage untuk detail lebih lanjut.

  4. Terjemahan. Tahap ini menerjemahkan Gate dalam Circuit ke set basis Backend target. Lihat Translation Stage untuk detail lebih lanjut.

  5. Optimasi. Tahap ini menjalankan loop optimasi utama berulang kali hingga kondisi (seperti mencapai kedalaman target tertentu) tercapai. Kita memiliki empat level optimasi berbeda untuk dipilih, yang dijelaskan di bawah ini.

  6. Penjadwalan. Tahap ini untuk pass penjadwalan yang sadar perangkat keras. Pada level tinggi, penjadwalan bisa dianggap sebagai penyisipan penundaan ke dalam Circuit untuk memperhitungkan waktu idle pada qubit antara eksekusi instruksi.

Ada empat level optimasi mulai dari 0 hingga 3, di mana level optimasi yang lebih tinggi memerlukan lebih banyak waktu dan upaya komputasi tetapi mungkin menghasilkan Circuit yang lebih baik. Level optimasi 0 dimaksudkan untuk eksperimen karakterisasi perangkat dan, dengan demikian, hanya memetakan Circuit input ke batasan Backend target, tanpa melakukan optimasi apa pun. Level optimasi 3 menghabiskan upaya paling banyak untuk mengoptimalkan Circuit. Namun, karena banyak teknik optimasi dalam transpiler berbasis heuristik, menghabiskan lebih banyak upaya komputasi tidak selalu menghasilkan peningkatan kualitas Circuit output. Jika ini menarik lebih lanjut, lihat dokumentasi transpiler dalam dokumentasi Qiskit.

Penekanan kesalahanโ€‹

Langkah pertama dalam mengurangi kesalahan dalam Circuit adalah mengoptimalkan tata letak, perutean, dan meminimalkan jumlah Gate, yang sudah kita lakukan, baik menggunakan transpiler atau sendiri. Sekarang mari kita bahas beberapa metode penekanan kesalahan yang lebih canggih.

Penekanan kesalahan mengacu pada kelas teknik yang mengubah Circuit selama kompilasi untuk meminimalkan kesalahan. Ini berbeda dari mitigasi kesalahan, yang akan kita bahas nanti di bagian "Eksekusi" di bawah ini. Dua bentuk penekanan kesalahan yang paling umum kita gunakan adalah dynamical decoupling dan Pauli twirling:

  1. Dynamical decoupling digunakan untuk secara efektif membatalkan sebagian noise lingkungan yang diperkenalkan ketika qubit berada dalam keadaan idle. Dengan menerapkan serangkaian Gate pada waktu tertentu, kamu bisa membuat noise yang terakumulasi di satu bagian dari periode idle secara kasar membatalkan noise di bagian lainnya.
  2. Pauli twirling adalah cara menyisipkan Gate acak bukan untuk membatalkan noise, seperti dalam dynamical decoupling, tetapi untuk menyederhanakan noise. Dengan menyisipkan Gate acak, ini mencegah efek kesalahan yang berbeda menumpuk secepat mungkin, dan membuat noise lebih mudah dikarakterisasi, karena sekarang memiliki sifat stokastik. Metode ini juga membentuk dasar teknik mitigasi kesalahan yang kuat, yang akan kita bahas di bawah ini.

Eksekusiโ€‹

Sekarang kita siap untuk mengeksekusi program kuantum. Qiskit Runtime primitives menyediakan antarmuka ke perangkat keras IBM Quantum, dan mereka juga mengabstraksikan penekanan dan mitigasi kesalahan dari pengguna. Ada dua primitif yang bisa dipilih: Sampler dan Estimator.

Qiskit Runtime's Sampler menjalankan Circuit berkali-kali pada perangkat kuantum, melakukan pengukuran pada setiap jalannya, dan merekonstruksi distribusi probabilitas dari string bit yang dipulihkan. Semakin banyak jalannya (atau shot) yang dilakukan, semakin akurat hasilnya, tetapi ini memerlukan lebih banyak waktu dan sumber daya kuantum. Secara khusus, ini menghitung probabilitas mendapatkan setiap keadaan basis standar yang mungkin dengan mengukur keadaan yang disiapkan oleh Circuit.

Qiskit Runtime's Estimator menggunakan proses aljabar yang kompleks untuk memperkirakan nilai ekspektasi pada perangkat kuantum nyata dengan memecah observable menjadi kombinasi observable lain dengan eigenbasis yang diketahui.

Langkah Eksekusi juga merupakan saat kita bisa memilih strategi mitigasi kesalahan. Mitigasi kesalahan mengacu pada teknik yang memungkinkan pengguna mengurangi kesalahan Circuit dengan memodelkan noise perangkat yang ada pada saat eksekusi. Biasanya, ini menghasilkan overhead pra-pemrosesan kuantum yang terkait dengan pelatihan model dan overhead pasca-pemrosesan klasik untuk memitigasi kesalahan dalam hasil mentah menggunakan model yang dihasilkan. Sebagai ganti overhead ini, kita bisa mendapatkan hasil yang jauh lebih akurat.

Ada beberapa teknik yang bisa kita implementasikan untuk mitigasi kesalahan. Kita akan membahas tiga, dalam urutan ketahanan terhadap kesalahan yang meningkat, tetapi juga, akibatnya, dalam urutan biaya komputasi yang meningkat. Perhatikan, bagaimanapun, bahwa ini adalah area penelitian aktif โ€” jadi kita kemungkinan akan terus menemukan yang baru dan meningkatkan yang lama.

Pada level ketahanan 0, transpiler tidak melakukan apa pun pada Circuit kamu.

Pada level 1, ini memperkenalkan metode yang disebut Twirled Readout Error eXtinction (T-REX). T-REX menggunakan Pauli twirling, seperti yang dibahas di bagian penekanan kesalahan. Seperti yang disebutkan, menyisipkan Gate acak ke dalam Circuit bisa membuat bahkan noise yang sangat rumit dan sulit dimodelkan terlihat stokastik, dan jauh lebih mudah untuk diperhitungkan atau dikurangkan dalam pasca-pemrosesan.

Pada level ketahanan 2, Zero Noise Extrapolation (ZNE) ditambahkan. Ini adalah teknik populer yang telah kita miliki banyak keberhasilan baru-baru ini. Ide di balik ZNE mungkin sedikit mengejutkan โ€” kita sebenarnya menambahkan noise di atas yang sudah ada! Tetapi ini memungkinkan kita mengekstrapolasi ke arah sebaliknya, untuk memprediksi seperti apa hasilnya jika ada lebih sedikit dan lebih sedikit noise.

Menambahkan noise bisa dilakukan dengan beberapa cara yang berbeda. Misalnya, kita bisa meregangkan Gate untuk membuatnya lebih panjang dan karenanya lebih rentan kesalahan, atau menjalankan lebih banyak Gate yang pada akhirnya menghasilkan operasi identitas, sehingga Circuit tidak berubah secara fungsional tetapi kita sengaja mengambil sampel lebih banyak noise. Namun kamu harus melakukan ini untuk setiap Circuit dan setiap nilai ekspektasi yang ingin kamu pantau โ€” jadi kamu bisa melihat betapa mahalnya secara komputasi.

Satu jenis spesifik ZNE disebut Probabilistic Error Amplification (PEA). Setelah kita mempelajari model noise untuk suatu Gate, PEA bekerja dengan mengambil sampel kesalahan dari model noise tersebut dan sengaja menyuntikkannya ke dalam Circuit. Ini belum tersedia di Qiskit, tetapi akan ada nanti tahun ini.

Bentuk mitigasi kesalahan terakhir yang akan kita bahas adalah Probabilistic Error Cancellation (PEC). Alih-alih berada di level ketahanan ke-3, PEC adalah kemampuan khusus yang harus kamu aktifkan secara manual di Qiskit, karena sumber daya komputasi yang diperlukan tidak berkembang dengan sangat baik dibandingkan dengan teknik mitigasi kesalahan lainnya. Kamu mulai dengan mempelajari noise yang mempengaruhi Circuit kamu โ€” jalankan sirkuit noise-learning atau noise-characterization untuk setiap lapisan unik Gate dua qubit dalam Circuit kamu. Hasil ini memungkinkanmu mendeskripsikan noise dalam hal operator Pauli. Setelah kamu mengetahui suku-suku noise ini, kamu bisa memodifikasi Circuit kamu sehingga mereka secara efektif memiliki Gate Pauli sebaliknya yang dibangun untuk membatalkan saluran noise ini. Dalam beberapa hal, prosesnya mirip dengan cara headphone peredam noise bekerja. Namun, cara ini untuk membatalkan noise sangat mahal, dengan waktu berjalan yang tumbuh dengan cepat dan secara eksponensial dalam jumlah Gate, sehingga mungkin bukan pilihan terbaik untuk Circuit yang sangat besar.

Pasca-prosesโ€‹

Tahap pasca-proses adalah saat kita memvisualisasikan dan menganalisis output dari Circuit kuantum kita. Ada sejumlah alat Qiskit yang tersedia untuk melakukan ini, seperti modul visualisasi dan quantum-info. Kita tidak akan membahas ini di sini, tetapi kita akan melihat modul-modul ini beraksi saat kita menyelami beberapa contoh aplikasi dalam pelajaran-pelajaran mendatang.

Kesimpulanโ€‹

Semoga pelajaran ini memberimu tur singkat tentang pertimbangan dan alur kerja utama yang kita gunakan saat ingin menjalankan komputasi kuantum skala utilitas. Penuh dengan informasi, dan banyak dari itu tidak akan langsung dipahami sampai kita melihat beberapa contoh nyata di mana konsep-konsep teoritis ini dipraktikkan. Jadi, itulah yang akan menjadi sisa kursus ini. Lagipula, kursus ini bukan disebut Quantum Computing in Practice tanpa alasan!

Lain kali, kita akan melihat contoh spesifik cara menggunakan alur kerja Qiskit patterns untuk merancang dan menjalankan Circuit kuantum yang memecahkan masalah klasik dari teori graf yang disebut MaxCut.

Source: IBM Quantum docs โ€” updated 27 Apr 2026
English version on doQumentation โ€” updated 7 Mei 2026
This translation based on the English version of approx. 27 Mar 2026