Pengenalan kepada Qiskit
Nama "Qiskit" merujuk secara umum kepada koleksi perisian untuk melaksanakan program pada komputer kuantum. Yang paling menonjol dalam koleksi perisian ini ialah Qiskit SDK sumber terbuka, dan persekitaran runtime (yang boleh diakses menggunakan Qiskit Runtime) yang membolehkan anda melaksanakan beban kerja pada unit pemprosesan kuantum (QPU) IBM®. Seiring dengan perkembangan teknologi kuantum, Qiskit turut berkembang, dengan keupayaan baharu yang dikeluarkan setiap tahun bagi mengembangkan koleksi teras perisian kuantum ini.
Selain itu, banyak projek sumber terbuka merupakan sebahagian daripada ekosistem Qiskit yang lebih luas. Perisian-perisian ini bukan sebahagian daripada Qiskit itu sendiri, tetapi berinteraksi dengan Qiskit dan boleh menyediakan fungsi tambahan yang bernilai.
IBM komited terhadap pembangunan pengkomputeran kuantum secara bertanggungjawab. Ketahui lebih lanjut dan semak prinsip kuantum bertanggungjawab kami dalam topik Pengkomputeran kuantum bertanggungjawab.
Qiskit SDK​
Qiskit SDK (nama pakej qiskit) ialah SDK sumber terbuka untuk bekerja dengan komputer kuantum pada tahap litar kuantum yang diperluaskan (statik, dinamik, dan berjadual), operator, dan primitif. Pustaka ini merupakan komponen teras Qiskit; ia adalah pakej terbesar di bawah nama Qiskit dengan koleksi alatan pengkomputeran kuantum yang paling menyeluruh, dan banyak komponen lain berinteraksi dengannya.
Beberapa ciri Qiskit SDK yang paling berguna termasuk:
-
Alatan pembinaan Circuit (
qiskit.circuit) - Untuk memulakan dan memanipulasi daftar, litar, arahan, Gate, parameter, dan objek aliran kawalan. -
Pustaka Circuit (
qiskit.circuit.library) - Pelbagai litar, arahan, dan Gate — blok pembinaan utama untuk pengkomputeran kuantum berasaskan litar. -
Pustaka maklumat kuantum (
qiskit.quantum_info) - Kotak alatan untuk bekerja dengan keadaan kuantum, operator dan saluran, menggunakan pengiraan tepat (tanpa bunyi pensampelan). Gunakan modul ini untuk menentukan boleh lihat masukan dan menganalisis ketepatan output daripada pertanyaan primitif. -
Transpiler (
qiskit.transpiler) - Untuk mengubah dan menyesuaikan Circuit kuantum bagi memenuhi topologi peranti tertentu, dan mengoptimumkan untuk pelaksanaan pada unit pemprosesan kuantum (QPU) sebenar. -
Primitif (
qiskit.primitives) - Modul yang mengandungi takrifan asas dan pelaksanaan rujukan primitif Sampler dan Estimator, di mana pembekal perkakasan kuantum yang berlainan boleh mendapatkan pelaksanaan mereka sendiri. Lihat maklumat lanjut tentang primitif Qiskit Runtime dalam dokumentasi.
Pemasangan​
Untuk pengenalan yang lebih terperinci tentang memasang Qiskit SDK, lihat halaman pemasangan. Jika anda sudah bersedia untuk memasangnya sekarang, jalankan sahaja:
pip install qiskit
Penanda aras dan pakej Benchpress​
Penanda aras penting untuk membandingkan prestasi relatif perisian kuantum merentasi peringkat aliran kerja pembangunan yang berbeza. Ujian penanda aras untuk perisian kuantum boleh, sebagai contoh, melihat kelajuan dan kualiti pembinaan, manipulasi, dan transpilasi litar. IBM Quantum komited untuk menghantar SDK yang paling berprestasi, dan dengan itu, Qiskit SDK diukur menggunakan lebih 1,000 ujian yang dibangunkan oleh universiti terkemuka, makmal kebangsaan, dan penyelidik di IBM. Suite penanda aras yang digunakan untuk ujian ini, dinamakan Benchpress, kini tersedia sebagai pakej sumber terbuka. Anda kini boleh menggunakan pakej Benchpress untuk menjalankan analisis prestasi SDK kuantum anda sendiri.
Qiskit Runtime​
Qiskit Runtime ialah perkhidmatan berasaskan awan untuk melaksanakan pengkomputeran kuantum pada perkakasan IBM Quantum®. Pakej qiskit-ibm-runtime ialah klien untuk perkhidmatan tersebut, dan merupakan pengganti kepada Qiskit IBM Provider. Perkhidmatan Qiskit Runtime mempermudahkan pengkomputeran kuantum dan menyediakan pelaksanaan optimum primitif Qiskit untuk perkakasan IBM Quantum. Untuk memulakan dengan primitif Qiskit Runtime, lawati dokumentasi.
Qiskit Runtime direka bentuk untuk menggunakan sumber pengiraan klasikal dan kuantum tambahan, termasuk teknik seperti penindasan ralat dan mitigasi ralat, bagi mengembalikan keputusan berkualiti lebih tinggi daripada pelaksanaan Circuit kuantum pada pemproses kuantum. Contohnya termasuk penggabungan dinamik untuk penindasan ralat, serta mitigasi bacaan dan ekstrapolasi sifar hingar (ZNE) untuk mitigasi ralat. Ketahui cara mengkonfigurasi pilihan ini di halaman Konfigurasi mitigasi ralat.
Qiskit Runtime juga menyertakan tiga jenis mod pelaksanaan untuk menjalankan program kuantum anda pada perkakasan IBM: Job, Session, dan Batch, yang masing-masing mempunyai kes penggunaan dan implikasi berbeza untuk giliran kerja kuantum. Job ialah pertanyaan tunggal kepada primitif yang boleh dijalankan ke atas bilangan shot yang ditentukan. Session membolehkan anda menjalankan berbilang job dengan cekap dalam beban kerja berulang pada komputer kuantum. Mod Batch membolehkan anda menghantar semua job anda sekaligus untuk pemprosesan selari. Perlu diingat bahawa pengguna Pelan Terbuka tidak boleh menghantar job Session.
Untuk memasang Qiskit Runtime dengan cepat, jalankan arahan berikut:
pip install qiskit-ibm-runtime
Butiran lanjut tentang menyediakan persekitaran pembangunan untuk membina program kuantum boleh didapati di halaman pemasangan.
Adakah Qiskit Runtime sumber terbuka?​
Jawapan ringkasnya, tidak semuanya. Perisian perkhidmatan Qiskit Runtime yang mengendalikan teknikal menjalankan program kuantum anda pada peranti IBM Quantum (termasuk sebarang mitigasi dan penindasan ralat) adalah bukan sumber terbuka. Walau bagaimanapun, klien Qiskit Runtime (antara muka bagi pengguna untuk mengakses perkhidmatan Qiskit Runtime), Qiskit SDK yang berjalan di bahagian pelayan, dan sebahagian perisian yang digunakan untuk mitigasi ralat, adalah sumber terbuka. Untuk terlibat dalam usaha sumber terbuka Qiskit, lawati organisasi GitHub kami di github.com/Qiskit dan github.com/Qiskit-Extensions.
Qiskit Serverless​
Mencipta aplikasi kuantum berskala utiliti biasanya memerlukan pelbagai keperluan sumber pengiraan. Qiskit Serverless (qiskit-ibm-catalog.QiskitServerless) menyediakan antara muka mudah untuk menjalankan beban kerja merentasi sumber kuantum-klasikal. Ini termasuk menggunakan program pada IBM Quantum Platform dan menjalankan beban kerja dari jauh, serta pengurusan sumber yang mudah untuk kes penggunaan pelbagai awan dan superkomputeran berpusat kuantum. Lihat maklumat lanjut dalam dokumentasi Qiskit Serverless tentang cara menggunakan koleksi alatan ini untuk:
- Memparalelkan tugas klasikal, seperti pra-pemprosesan dan pasca-pemprosesan
- Mengekalkan beban kerja yang berjalan lama di awan, walaupun komputer riba anda dimatikan
- Menggunakan program yang boleh digunakan semula di awan
Untuk mula menggunakan Qiskit Serverless dengan segera, pasangnya dengan pip:
pip install qiskit_serverless
Qiskit Functions​
Qiskit Functions (qiskit-ibm-catalog.QiskitFunctionsCatalog) ialah perkhidmatan abstrak yang direka bentuk untuk mempercepatkan penemuan algoritma dan prototaip aplikasi. Terokai Katalog Qiskit Functions, termasuk:
- Fungsi Circuit: Perkhidmatan yang merangkumi transpilasi, penindasan ralat, mitigasi ralat, dan teknik pasca-pemprosesan yang mengambil Circuit abstrak dan boleh lihat pengukuran yang diingini sebagai input. Dengan Fungsi Circuit, pengguna boleh menemui algoritma dan aplikasi baharu tanpa perlu menguruskan transpilasi atau prestasi perkakasan kuantum.
- Fungsi Aplikasi: Perkhidmatan yang merangkumi keseluruhan aliran kerja kuantum, daripada pemetaan klasikal ke kuantum, pengoptimuman untuk perkakasan, pelaksanaan pada perkakasan, dan pasca-pemprosesan. Pengguna boleh membuat prototaip aplikasi industri dengan input dan output yang biasa dalam domain mereka.
Ahli Pelan Premium, Pelan Flex, dan Pelan On-Prem (melalui IBM Quantum Platform API) boleh mengakses fungsi yang disediakan IBM dengan serta-merta, atau membeli lesen untuk fungsi yang disediakan rakan kongsi terus daripada rakan kongsi tersebut.
Katalog boleh dipasang dengan pip:
pip install qiskit-ibm-catalog
Perkhidmatan Transpiler Qiskit​
Perkhidmatan Transpiler Qiskit (nama pakej qiskit-ibm-transpiler) ialah perkhidmatan eksperimental baharu yang menyediakan keupayaan transpilasi jauh di awan kepada pengguna Pelan Premium IBM Quantum, Pelan Flex, dan Pelan On-Prem (melalui IBM Quantum Platform API). Selain keupayaan Transpiler Qiskit SDK tempatan, tugas transpilasi anda boleh mendapat manfaat daripada sumber awan IBM Quantum dan laluan Transpiler berkuasa AI menggunakan perkhidmatan ini. Untuk mengetahui lebih lanjut tentang cara mengintegrasikan transpilasi berasaskan awan ke dalam aliran kerja Qiskit anda, anda boleh menyemak dokumentasi.
Perkhidmatan Transpiler boleh dipasang dengan pip:
pip install qiskit-ibm-transpiler
Qiskit addons​
Qiskit addons ialah koleksi keupayaan penyelidikan untuk penemuan algoritma berskala utiliti. Keupayaan ini dibina atas asas alatan Qiskit yang berprestasi tinggi untuk mencipta dan menjalankan algoritma kuantum. Addon ialah komponen perisian modular yang disambungkan ke dalam aliran kerja untuk menskalakan atau mereka bentuk algoritma kuantum baharu. Untuk mengetahui lebih lanjut tentang set addon Qiskit yang tersedia dan cara memulakan penggunaannya, lawati dokumentasi.
Terdapat beberapa addon bergantung kepada keupayaan penyelidikan yang anda minati. Setiap satunya boleh dipasang dengan pip.
Pendiagonalan kuantum berasaskan sampel (SQD):
pip install qiskit-addon-sqd
Penyusunan kuantum hampiran (AQC):
pip install qiskit-addon-aqc-tensor[quimb-jax]
Penyebaran balik operator (OBP):
pip install qiskit-addon-obp
Formula pelbagai produk (MPF):
pip install qiskit-addon-mpf
Ekosistem Qiskit​
Di luar Qiskit, terdapat banyak projek sumber terbuka yang menggunakan nama "Qiskit" tetapi bukan sebahagian daripada Qiskit itu sendiri; sebaliknya, mereka berinteraksi dengan Qiskit dan boleh menyediakan fungsi tambahan yang bernilai untuk melengkapi aliran kerja teras Qiskit. Sesetengah projek ini diselenggarakan oleh pasukan IBM Quantum, manakala yang lain disokong oleh komuniti sumber terbuka yang lebih luas. Qiskit SDK direka bentuk secara modular dan boleh dikembangkan untuk memudahkan pembangun mencipta projek seperti ini yang mengembangkan keupayaannya.
Beberapa projek popular dalam ekosistem Qiskit termasuk:
- Qiskit Aer (
qiskit-aer) - pakej untuk simulator pengkomputeran kuantum dengan model hingar yang realistik. Ia menyediakan antara muka untuk menjalankan Circuit kuantum dengan atau tanpa hingar menggunakan pelbagai kaedah simulasi yang berbeza. Diselenggarakan oleh IBM Quantum. - qBraid SDK (
qbraid) - rangka kerja runtime kuantum yang bebas platform untuk pembekal perisian dan perkakasan kuantum, direka bentuk untuk mempermudahkan pengurusan kitaran hayat penuh kerja kuantum — daripada menentukan spesifikasi program hingga penghantaran kerja dan sehingga pasca-pemprosesan dan visualisasi keputusan. Diselenggarakan oleh qBraid. - mthree
mthree- pakej untuk melaksanakan M3 (Mitigasi Pengukuran Bebas Matriks), teknik mitigasi pengukuran yang menyelesaikan kebarangkalian pengukuran yang diperbetulkan menggunakan langkah pengurangan dimensi diikuti oleh sama ada pemfaktoran LU terus atau kaedah berulang terkondisi yang secara nominal menumpu dalam langkah O(1), dan boleh dikira secara selari. Diselenggarakan oleh IBM Quantum.
Anda boleh mencari katalog projek di halaman ekosistem Qiskit, serta maklumat tentang cara menominasikan projek anda sendiri.
Langkah seterusnya​
- Ketahui tentang pustaka litar dan arahan yang tersedia dalam pustaka circuit Qiskit.
- Baca tentang Transpiler Qiskit dan pelbagai pilihan untuk transpilasi dalam bahagian Transpiler.
- Ketahui cara menggunakan primitif Qiskit untuk mempermudahkan pengaturcaraan kuantum.