Lumaktaw sa pangunahing nilalaman

Panimula sa Qiskit

Ang salitang "Qiskit" ay isang pangkalahatang termino na tumutukoy sa isang koleksyon ng software para sa pagpapatakbo ng mga programa sa mga quantum computer. Ang pinaka-kapansin-pansing kasangkapan sa software na ito ay ang open-source na Qiskit SDK, at ang runtime environment (na na-a-access gamit ang Qiskit Runtime) kung saan maaari kang magpatakbo ng mga workload sa IBM® quantum processing units (QPUs). Habang umuunlad ang teknolohiyang quantum, umuunlad din ang Qiskit — bawat taon ay may mga bagong kakayahan na inilalabas upang palawakin ang pangunahing koleksyon ng quantum software na ito.

Bukod dito, maraming open-source na proyekto ang bahagi ng mas malawak na Qiskit ecosystem. Hindi bahagi ng Qiskit mismo ang mga software tool na ito, kundi nag-i-interface sila sa Qiskit at maaaring magbigay ng mahalagang karagdagang functionality.

Ang IBM ay nakatuon sa responsableng pag-unlad ng quantum computing. Matuto pa at suriin ang aming mga responsableng quantum na prinsipyo sa paksa na Responsableng quantum computing.

Ang Qiskit SDK​

Ang Qiskit SDK (package name qiskit) ay isang open-source SDK para sa pagtatrabaho sa mga quantum computer sa antas ng extended (static, dynamic, at scheduled) quantum circuits, operators, at primitives. Ang library na ito ang pangunahing bahagi ng Qiskit; ito ang pinakamalaking package sa ilalim ng pangalang Qiskit na may pinakamalawak na hanay ng mga kasangkapan para sa quantum computation, at maraming iba pang component ang nag-i-interface dito.

Ilan sa mga pinaka-kapaki-pakinabang na feature ng Qiskit SDK:

  • Mga kasangkapan sa pagbuo ng Circuit (qiskit.circuit) - Para sa pag-initialize at pag-manipula ng mga register, circuit, instruction, gate, parameter, at control flow object.

  • Circuit library (qiskit.circuit.library) - Isang malawak na hanay ng mga circuit, instruction, at gate — mga pangunahing building block para sa circuit-based na quantum computation.

  • Quantum info library (qiskit.quantum_info) - Isang toolkit para sa pagtatrabaho sa mga quantum state, operator at channel, gamit ang eksaktong kalkulasyon (walang sampling noise). Gamitin ang module na ito upang tukuyin ang mga input observable at suriin ang fidelity ng mga output mula sa mga primitives query.

  • Transpiler (qiskit.transpiler) - Para sa pag-transform at pag-adapt ng mga quantum circuit upang akma sa tiyak na device topology, at pag-optimize para sa pagpapatakbo sa tunay na quantum processing units (QPUs).

  • Primitives (qiskit.primitives) - Ang module na naglalaman ng mga base definition at reference implementation ng Sampler at Estimator primitives, kung saan maaaring gumawa ng sariling implementation ang iba't ibang quantum hardware provider. Tingnan ang karagdagang impormasyon tungkol sa Qiskit Runtime primitives sa dokumentasyon.

Pag-install​

Para sa mas detalyadong panimula sa pag-install ng Qiskit SDK, tingnan ang pahina ng pag-install. Kung handa ka nang i-install ito ngayon, patakbuhin lang:

pip install qiskit

Benchmarking at ang Benchpress package​

Mahalaga ang benchmarking para sa paghahambing ng relatibong performance ng quantum software sa iba't ibang yugto ng isang development workflow. Ang mga benchmarking test para sa quantum software ay maaaring, halimbawa, tingnan ang bilis at kalidad ng pagbuo, pag-manipula, at pag-transpile ng mga circuit. Ang IBM Quantum ay nakatuon sa paghahatid ng pinaka-performant na SDK na posible, kaya naman ang Qiskit SDK ay sino-subject sa benchmarking gamit ang mahigit 1,000 na test na binuo ng mga nangungunang unibersidad, pambansang laboratoryo, at mga mananaliksik sa IBM. Ang benchmarking suite na ginagamit para sa mga test na ito, na pinangalanang Benchpress, ay available na ngayon bilang isang open-source na package. Maaari mo nang gamitin ang Benchpress package para magsagawa ng sarili mong pagsusuri ng quantum SDK performance.

Qiskit Runtime​

Ang Qiskit Runtime ay isang cloud-based na serbisyo para sa pagpapatakbo ng mga quantum computation sa IBM Quantum® hardware. Ang qiskit-ibm-runtime package ay isang client para sa serbisyong iyon, at ito ang kahalili ng Qiskit IBM Provider. Pinasimple ng Qiskit Runtime service ang mga quantum computation at nagbibigay ng optimal na implementasyon ng mga Qiskit primitive para sa IBM Quantum hardware. Para magsimula sa Qiskit Runtime primitives, bisitahin ang dokumentasyon.

Ang Qiskit Runtime ay idinisenyo upang gumamit ng karagdagang klasikal at quantum compute resource, kabilang ang mga teknik tulad ng error suppression at error mitigation, upang magbalik ng mas mataas na kalidad na resulta mula sa pagpapatakbo ng mga quantum circuit sa mga quantum processor. Kabilang sa mga halimbawa ang dynamical decoupling para sa error suppression, at readout mitigation at zero-noise extrapolation (ZNE) para sa error mitigation. Alamin kung paano i-configure ang mga opsyong ito sa pahina ng Pag-configure ng error mitigation.

Kasama rin sa Qiskit Runtime ang tatlong uri ng execution mode para sa pagpapatakbo ng iyong quantum program sa IBM hardware: Job, Session, at Batch, na bawat isa ay may iba't ibang use case at implikasyon para sa quantum job queue. Ang Job ay isang solong query sa isang primitive na maaaring patakbuhin sa tinukoy na bilang ng shots. Pinapayagan ng Sessions ang mahusay na pagpapatakbo ng maraming job sa mga iterative na workload sa mga quantum computer. Ang Batch mode ay nagbibigay-daan sa iyo na isumite ang lahat ng iyong job nang sabay-sabay para sa parallel na pagpoproseso. Tandaan na ang mga gumagamit ng Open Plan ay hindi maaaring magsumite ng session job.

Para mabilis na ma-install ang Qiskit Runtime, patakbuhin ang sumusunod na command:

pip install qiskit-ibm-runtime

Ang karagdagang detalye sa pag-set up ng development environment para sa pagbuo ng mga quantum program ay makikita sa pahina ng pag-install.

Open-source ba ang Qiskit Runtime?​

Ang maikling sagot ay, hindi lahat. Ang Qiskit Runtime service software na humahawak sa mga teknikal na aspeto ng pagpapatakbo ng iyong quantum program sa isang IBM Quantum device (kabilang ang anumang error mitigation at suppression) ay hindi open-source. Gayunpaman, ang Qiskit Runtime client (ang interface para sa mga gumagamit na ma-access ang Qiskit Runtime service), ang Qiskit SDK na tumatakbo sa server side, at ang ilan sa software na ginagamit para sa error mitigation, ay open-source. Para makiisa sa mga open-source na pagsisikap ng Qiskit, bisitahin ang aming GitHub organization sa github.com/Qiskit at github.com/Qiskit-Extensions.

Qiskit Serverless​

Ang paglikha ng utility-scale na quantum application ay karaniwang nangangailangan ng iba't ibang kinakailangan sa compute resource. Nagbibigay ang Qiskit Serverless (qiskit-ibm-catalog.QiskitServerless) ng simpleng interface para magpatakbo ng mga workload sa mga quantum-classical na resource. Kasama dito ang pag-deploy ng mga programa sa IBM Quantum Platform at pagpapatakbo ng mga workload nang malayuan, pati na rin ang madaling pamamahala ng resource para sa mga multi-cloud at quantum-centric supercomputing na kaso ng paggamit. Tingnan ang karagdagang impormasyon sa dokumentasyon ng Qiskit Serverless tungkol sa kung paano gamitin ang koleksyon ng mga kasangkapang ito upang:

  • Mag-parallelize ng mga klasikal na gawain, tulad ng pre-processing at post-processing
  • Mapanatili ang mga matagalang workload sa cloud, kahit na nakapatay ang iyong laptop
  • Mag-deploy ng mga reusable na programa sa cloud

Para magsimulang gumamit ng Qiskit Serverless agad, i-install ito gamit ang pip:

pip install qiskit_serverless

Qiskit Functions​

Ang Qiskit Functions (qiskit-ibm-catalog.QiskitFunctionsCatalog) ay mga abstracted na serbisyo na idinisenyo upang mapabilis ang pagtuklas ng algorithm at prototyping ng application. I-explore ang Qiskit Functions Catalog, kabilang ang:

  • Mga Circuit function: Mga serbisyo na kinabibilangan ng transpilation, error suppression, error mitigation, at mga teknik sa post-processing na tumatanggap ng mga abstract circuit at nais na measurement observable bilang input. Sa pamamagitan ng mga Circuit function, ang mga gumagamit ay maaaring makatuklas ng mga bagong algorithm at application nang hindi kailangang pamahalaan ang transpilation o quantum hardware performance.
  • Mga Application function: Mga serbisyo na kinabibilangan ng buong quantum workflow, mula sa pag-map ng klasikal patungong quantum, pag-optimize para sa hardware, pagpapatakbo sa hardware, at post-processing. Ang mga gumagamit ay maaaring mag-prototype ng mga industriyang aplikasyon gamit ang mga input at output na pamilyar sa kanilang larangan.

Ang mga miyembro ng Premium Plan, Flex Plan, at On-Prem (sa pamamagitan ng IBM Quantum Platform API) Plan ay maaaring ma-access ang mga function na ibinibigay ng IBM agad, o bumili ng mga lisensya para sa mga function na ibinibigay ng partner direkta mula sa mga partner na iyon.

Ang catalog ay maaaring i-install gamit ang pip:

pip install qiskit-ibm-catalog

Qiskit Transpiler Service​

Ang Qiskit Transpiler Service (package name qiskit-ibm-transpiler) ay isang bagong eksperimental na serbisyo na nagbibigay ng remote transpilation capability sa cloud para sa mga gumagamit ng IBM Quantum Premium Plan, Flex Plan, at On-Prem (sa pamamagitan ng IBM Quantum Platform API) Plan. Bukod sa mga lokal na transpilation capability ng Qiskit SDK Transpiler, ang iyong mga transpilation task ay maaaring makinabang mula sa parehong IBM Quantum cloud resource at AI-powered transpiler pass gamit ang serbisyong ito. Para matuto pa tungkol sa kung paano i-integrate ang cloud-based na transpilation sa iyong Qiskit workflow, maaari kang tingnan ang dokumentasyon.

Ang transpiler service ay maaaring i-install gamit ang pip:

pip install qiskit-ibm-transpiler

Mga Qiskit addon​

Ang mga Qiskit addon ay isang koleksyon ng mga research capability para sa utility-scale na pagtuklas ng algorithm. Ang mga kakayahang ito ay nagtatayo sa matibay na pundasyon ng Qiskit ng mga kasangkapan para sa paglikha at pagpapatakbo ng mga quantum algorithm. Ang mga addon ay mga modular na software component na nag-i-integrate sa isang workflow upang mag-scale o mag-disenyo ng mga bagong quantum algorithm. Para matuto pa tungkol sa hanay ng mga available na Qiskit addon at kung paano magsimulang gamitin ang mga ito, bisitahin ang dokumentasyon.

Mayroon ilang addon depende sa kung anong research capability ang iyong kinainteresan. Bawat isa sa mga ito ay maaaring i-install gamit ang 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

Multi-product formulas (MPF):

pip install qiskit-addon-mpf

Ang Qiskit ecosystem​

Bukod sa Qiskit, maraming open-source na proyekto ang gumagamit ng pangalang "Qiskit" ngunit hindi bahagi ng Qiskit mismo; sa halip, nag-i-interface sila sa Qiskit at maaaring magbigay ng mahalagang karagdagang functionality upang dagdagan ang pangunahing Qiskit workflow. Ang ilan sa mga proyektong ito ay pinapanatili ng mga IBM Quantum team, habang ang iba naman ay sinusuportahan ng mas malawak na open-source na komunidad. Ang Qiskit SDK ay idinisenyo sa isang modular at extensible na paraan upang maging madali para sa mga developer na lumikha ng mga ganitong proyekto na nagpapalawak ng mga kakayahan nito.

Ilan sa mga sikat na proyekto sa Qiskit ecosystem:

  • Qiskit Aer (qiskit-aer) - isang package para sa mga quantum computing simulator na may mga realistikong noise model. Nagbibigay ito ng mga interface para magpatakbo ng mga quantum circuit na may o walang noise gamit ang maraming iba't ibang paraan ng simulation. Pinapanatili ng IBM Quantum.
  • qBraid SDK (qbraid) - isang platform-agnostic na quantum runtime framework para sa parehong quantum software at hardware provider, idinisenyo upang pasimplehin ang buong lifecycle management ng mga quantum job — mula sa pagtatakda ng mga program specification hanggang sa pagsumite ng job at sa post-processing at visualization ng mga resulta. Pinapanatili ng qBraid.
  • mthree mthree - isang package para sa pagpapatupad ng M3 (Matrix-free Measurement Mitigation), isang measurement mitigation technique na naglulutas para sa mga corrected measurement probability gamit ang isang dimensionality reduction step na sinusundan ng alinman sa direktang LU factorization o isang preconditioned iterative method na nominally nagko-converge sa O(1) hakbang, at maaaring kalkulahin nang parallel. Pinapanatili ng IBM Quantum.

Makakakita ka ng catalog ng mga proyekto sa pahina ng Qiskit ecosystem, pati na rin impormasyon tungkol sa kung paano i-nominate ang iyong sariling proyekto.

Mga susunod na hakbang​

Mga Rekomendasyon
  • Matuto tungkol sa library ng mga circuit at instruction na available sa Qiskit circuit library.
  • Basahin ang tungkol sa Qiskit Transpiler at sa maraming opsyon para sa transpilation sa seksyon ng Transpiler.
  • Alamin kung paano gamitin ang mga Qiskit primitive upang pasimplehin ang quantum programming.