Pengantar Qiskit
Nama "Qiskit" adalah istilah umum yang merujuk pada kumpulan perangkat lunak untuk menjalankan program di komputer kuantum. Yang paling menonjol di antara alat perangkat lunak ini adalah Qiskit SDK open-source, dan lingkungan runtime (diakses menggunakan Qiskit Runtime) yang bisa kamu gunakan untuk menjalankan beban kerja di unit pemrosesan kuantum (QPU) IBM®. Seiring berkembangnya teknologi kuantum, Qiskit pun terus berkembang, dengan kemampuan baru yang dirilis setiap tahun untuk memperluas koleksi inti perangkat lunak kuantum ini.
Selain itu, banyak proyek open-source yang menjadi bagian dari ekosistem Qiskit yang lebih luas. Alat perangkat lunak ini bukan bagian dari Qiskit itu sendiri, melainkan berinteraksi dengan Qiskit dan bisa memberikan fungsionalitas tambahan yang berharga.
IBM berkomitmen terhadap pengembangan komputasi kuantum yang bertanggung jawab. Pelajari lebih lanjut dan tinjau prinsip kuantum bertanggung jawab kami di topik Komputasi kuantum yang bertanggung jawab.
Qiskit SDK​
Qiskit SDK (nama paket qiskit) adalah SDK open-source untuk bekerja dengan komputer kuantum di level circuit kuantum yang diperluas (statis, dinamis, dan terjadwal), operator, dan primitif. Library ini adalah komponen inti Qiskit; ini adalah paket terbesar di bawah nama Qiskit dengan rangkaian alat terluas untuk komputasi kuantum, dan banyak komponen lain yang berinteraksi dengannya.
Beberapa fitur paling berguna dari Qiskit SDK meliputi:
-
Alat pembangun Circuit (
qiskit.circuit) - Untuk menginisialisasi dan memanipulasi register, circuit, instruksi, gate, parameter, dan objek aliran kontrol. -
Library Circuit (
qiskit.circuit.library) - Berbagai macam circuit, instruksi, dan gate — blok pembangun utama untuk komputasi kuantum berbasis Circuit. -
Library info kuantum (
qiskit.quantum_info) - Toolkit untuk bekerja dengan state kuantum, operator dan channel, menggunakan perhitungan eksak (tanpa noise sampling). Gunakan modul ini untuk menentukan observabel input dan menganalisis fidelitas output dari kueri primitif. -
Transpiler (
qiskit.transpiler) - Untuk mengubah dan menyesuaikan circuit kuantum agar cocok dengan topologi perangkat tertentu, dan mengoptimalkan untuk eksekusi di unit pemrosesan kuantum (QPU) nyata. -
Primitif (
qiskit.primitives) - Modul yang berisi definisi dasar dan implementasi referensi dari primitif Sampler dan Estimator, yang bisa dijadikan dasar oleh berbagai penyedia hardware kuantum untuk implementasi mereka sendiri. Lihat informasi lebih lanjut tentang primitif Qiskit Runtime di dokumentasi.
Instalasi​
Untuk pengantar yang lebih detail tentang cara menginstal Qiskit SDK, lihat halaman instalasi. Kalau kamu sudah siap menginstalnya sekarang, cukup jalankan:
pip install qiskit
Benchmarking dan paket Benchpress​
Benchmarking penting untuk membandingkan performa relatif perangkat lunak kuantum di berbagai tahap alur kerja pengembangan. Tes benchmarking untuk perangkat lunak kuantum mungkin, misalnya, melihat kecepatan dan kualitas pembuatan, manipulasi, dan transpilasi circuit. IBM Quantum berkomitmen untuk menghadirkan SDK yang paling performan, dan untuk itu, Qiskit SDK di-benchmark menggunakan lebih dari 1.000 tes yang dikembangkan oleh universitas-universitas terkemuka, laboratorium nasional, dan peneliti di IBM. Suite benchmarking yang digunakan untuk tes ini, bernama Benchpress, kini tersedia sebagai paket open-source. Kamu sekarang bisa menggunakan paket Benchpress untuk melakukan analisis sendiri terhadap performa SDK kuantum.
Qiskit Runtime​
Qiskit Runtime adalah layanan berbasis cloud untuk menjalankan komputasi kuantum di hardware IBM Quantum®. Paket qiskit-ibm-runtime adalah klien untuk layanan tersebut, dan merupakan penerus dari Qiskit IBM Provider. Layanan Qiskit Runtime menyederhanakan komputasi kuantum dan menyediakan implementasi optimal dari primitif Qiskit untuk hardware IBM Quantum. Untuk memulai dengan primitif Qiskit Runtime, kunjungi dokumentasi.
Qiskit Runtime dirancang untuk menggunakan sumber daya komputasi klasik dan kuantum tambahan, termasuk teknik seperti error suppression dan error mitigation, untuk mengembalikan hasil yang lebih berkualitas dari eksekusi circuit kuantum di prosesor kuantum. Contohnya termasuk dynamical decoupling untuk error suppression, serta readout mitigation dan zero-noise extrapolation (ZNE) untuk error mitigation. Pelajari cara mengonfigurasi opsi-opsi ini di halaman Konfigurasi error mitigation.
Qiskit Runtime juga mencakup tiga jenis mode eksekusi untuk menjalankan program kuantum kamu di hardware IBM: Job, Session, dan Batch, yang masing-masing memiliki kasus penggunaan dan implikasi berbeda untuk antrean job kuantum. Job adalah satu kueri ke primitif yang bisa dijalankan dalam jumlah shot tertentu. Session memungkinkan kamu menjalankan beberapa job secara efisien dalam beban kerja iteratif di komputer kuantum. Mode Batch memungkinkan kamu mengirimkan semua job sekaligus untuk pemrosesan paralel. Perlu diperhatikan bahwa pengguna Open Plan tidak dapat mengirimkan session job.
Untuk menginstal Qiskit Runtime dengan cepat, jalankan perintah berikut:
pip install qiskit-ibm-runtime
Detail lebih lanjut tentang menyiapkan lingkungan pengembangan untuk membangun program kuantum dapat ditemukan di halaman instalasi.
Apakah Qiskit Runtime open-source?​
Jawaban singkatnya adalah, tidak semuanya. Perangkat lunak layanan Qiskit Runtime yang menangani teknis menjalankan program kuantum kamu di perangkat IBM Quantum (termasuk error mitigation dan suppression) tidak open-source. Namun, klien Qiskit Runtime (antarmuka bagi pengguna untuk mengakses layanan Qiskit Runtime), Qiskit SDK yang berjalan di sisi server, dan beberapa perangkat lunak yang digunakan untuk error mitigation, adalah open-source. Untuk terlibat dalam upaya open-source Qiskit, kunjungi organisasi GitHub kami di github.com/Qiskit dan github.com/Qiskit-Extensions.
Qiskit Serverless​
Membuat aplikasi kuantum skala utilitas umumnya membutuhkan berbagai kebutuhan sumber daya komputasi. Qiskit Serverless (qiskit-ibm-catalog.QiskitServerless) menyediakan antarmuka sederhana untuk menjalankan beban kerja di seluruh sumber daya kuantum-klasik. Ini termasuk mendeploy program ke IBM Quantum Platform dan menjalankan beban kerja dari jarak jauh, serta manajemen sumber daya yang mudah untuk kasus penggunaan multi-cloud dan komputasi super berbasis kuantum. Lihat informasi lebih lanjut di dokumentasi Qiskit Serverless tentang cara menggunakan koleksi alat ini untuk:
- Memparalelkan tugas klasik, seperti pre-processing dan post-processing
- Mempertahankan beban kerja yang berjalan lama di cloud, bahkan jika laptopmu dimatikan
- Men-deploy program yang bisa digunakan ulang di cloud
Untuk mulai menggunakan Qiskit Serverless sekarang, instal dengan pip:
pip install qiskit_serverless
Qiskit Functions​
Qiskit Functions (qiskit-ibm-catalog.QiskitFunctionsCatalog) adalah layanan terabstraksi yang dirancang untuk mempercepat penemuan algoritma dan pembuatan prototipe aplikasi. Jelajahi Katalog Qiskit Functions, termasuk:
- Circuit functions: Layanan yang mencakup transpilasi, error suppression, error mitigation, dan teknik post-processing yang menerima circuit abstrak dan observabel pengukuran yang diinginkan sebagai input. Dengan Circuit functions, pengguna bisa menemukan algoritma dan aplikasi baru tanpa perlu mengelola transpilasi atau performa hardware kuantum.
- Application functions: Layanan yang mencakup seluruh alur kerja kuantum, mulai dari pemetaan klasik ke kuantum, optimasi untuk hardware, eksekusi di hardware, hingga post-processing. Pengguna bisa membuat prototipe aplikasi industri dengan input dan output yang familiar di domain mereka.
Anggota Premium Plan, Flex Plan, dan On-Prem (via IBM Quantum Platform API) Plan bisa langsung mengakses fungsi yang disediakan IBM, atau membeli lisensi untuk fungsi yang disediakan mitra langsung dari mitra tersebut.
Katalog bisa diinstal dengan pip:
pip install qiskit-ibm-catalog
Qiskit Transpiler Service​
Qiskit Transpiler Service (nama paket qiskit-ibm-transpiler) adalah layanan eksperimental baru yang menyediakan kemampuan transpilasi jarak jauh di cloud untuk pengguna IBM Quantum Premium Plan, Flex Plan, dan On-Prem (via IBM Quantum Platform API) Plan. Selain kemampuan transpiler Qiskit SDK lokal, tugas transpilasi kamu bisa memanfaatkan sumber daya cloud IBM Quantum dan transpiler passes bertenaga AI menggunakan layanan ini. Untuk mempelajari lebih lanjut cara mengintegrasikan transpilasi berbasis cloud ke alur kerja Qiskit kamu, lihat dokumentasinya.
Layanan transpiler bisa diinstal dengan pip:
pip install qiskit-ibm-transpiler
Qiskit addons​
Qiskit addons adalah kumpulan kemampuan penelitian untuk penemuan algoritma skala utilitas. Kemampuan-kemampuan ini dibangun di atas fondasi alat Qiskit yang performan untuk membuat dan menjalankan algoritma kuantum. Addon adalah komponen perangkat lunak modular yang terhubung ke alur kerja untuk menskalakan atau merancang algoritma kuantum baru. Untuk mempelajari lebih lanjut tentang kumpulan Qiskit addons yang tersedia dan cara memulai menggunakannya, kunjungi dokumentasi.
Ada beberapa addon tergantung pada kemampuan penelitian yang kamu minati. Masing-masing bisa diinstal dengan pip.
Sample-based quantum diagonalization (SQD):
pip install qiskit-addon-sqd
Approximate quantum compilation (AQC):
pip install qiskit-addon-aqc-tensor[quimb-jax]
Operator backpropagation (OBP):
pip install qiskit-addon-obp
pip install qiskit-addon-mpf
Ekosistem Qiskit​
Di luar Qiskit, ada banyak proyek open-source yang menggunakan nama "Qiskit" tapi bukan bagian dari Qiskit itu sendiri; melainkan, mereka berinteraksi dengan Qiskit dan bisa memberikan fungsionalitas tambahan yang berharga untuk melengkapi alur kerja inti Qiskit. Beberapa proyek ini dipelihara oleh tim IBM Quantum, sedangkan yang lainnya didukung oleh komunitas open-source yang lebih luas. Qiskit SDK dirancang secara modular dan dapat diperluas sehingga memudahkan para developer untuk membuat proyek-proyek seperti ini yang memperluas kemampuannya.
Beberapa proyek populer di ekosistem Qiskit meliputi:
- Qiskit Aer (
qiskit-aer) - paket untuk simulator komputasi kuantum dengan model noise yang realistis. Ini menyediakan antarmuka untuk menjalankan circuit kuantum dengan atau tanpa noise menggunakan berbagai metode simulasi. Dipelihara oleh IBM Quantum. - qBraid SDK (
qbraid) - framework runtime kuantum yang platform-agnostik untuk penyedia perangkat lunak dan hardware kuantum, dirancang untuk menyederhanakan manajemen siklus hidup penuh job kuantum — mulai dari mendefinisikan spesifikasi program hingga pengiriman job dan melalui ke post-processing serta visualisasi hasil. Dipelihara oleh qBraid. - mthree
mthree- paket untuk mengimplementasikan M3 (Matrix-free Measurement Mitigation), teknik mitigasi pengukuran yang menyelesaikan probabilitas pengukuran yang dikoreksi menggunakan langkah reduksi dimensionalitas diikuti oleh faktorisasi LU langsung atau metode iteratif terkondisi awal yang secara nominal konvergen dalam O(1) langkah, dan dapat dihitung secara paralel. Dipelihara oleh IBM Quantum.
Kamu bisa menemukan katalog proyek di halaman ekosistem Qiskit, serta informasi tentang cara menominasikan proyekmu sendiri.
Langkah berikutnya​
- Pelajari tentang library circuit dan instruksi yang tersedia di circuit library Qiskit.
- Baca tentang Transpiler Qiskit dan berbagai opsi untuk transpilasi di bagian Transpiler.
- Cari tahu cara menggunakan primitif Qiskit untuk menyederhanakan pemrograman kuantum.