Přeskočit na hlavní obsah

Úvod do Qiskitu

Název „Qiskit" je obecný termín označující kolekci softwaru pro spouštění programů na kvantových počítačích. Nejvýznamnějším z těchto softwarových nástrojů je open-source Qiskit SDK a běhové prostředí (přístupné přes Qiskit Runtime), prostřednictvím kterého můžeš spouštět úlohy na kvantových procesorových jednotkách (QPU) od IBM®. S tím, jak se kvantová technologie vyvíjí, vyvíjí se i Qiskit – každý rok jsou vydávány nové funkce, které rozšiřují tuto základní sbírku kvantového softwaru.

Kromě toho je mnoho open-source projektů součástí širšího ekosystému Qiskit. Tyto softwarové nástroje nejsou přímo součástí Qiskitu, ale rozhraní s ním spolupracují a mohou poskytovat cennou dodatečnou funkcionalitu.

IBM je oddána odpovědnému vývoji kvantových počítačů. Více informací a přehled našich principů odpovědného přístupu ke kvantovým technologiím najdeš v tématu Odpovědné kvantové počítání.

Qiskit SDK

Qiskit SDK (název balíčku qiskit) je open-source SDK pro práci s kvantovými počítači na úrovni rozšířených (statických, dynamických a naplánovaných) kvantových Circuit, operátorů a primitiv. Tato knihovna je základní součástí Qiskitu; je to největší balíček pod názvem Qiskit s nejširší sadou nástrojů pro kvantové výpočty a mnoho dalších komponent s ní spolupracuje.

Mezi nejužitečnější funkce Qiskit SDK patří:

  • Nástroje pro sestavování Circuit (qiskit.circuit) – Pro inicializaci a manipulaci s registry, Circuit, instrukcemi, Gate, parametry a objekty řídicího toku.

  • Knihovna Circuit (qiskit.circuit.library) – Rozsáhlá škála Circuit, instrukcí a Gate – klíčové stavební bloky pro kvantové výpočty založené na Circuit.

  • Knihovna kvantových informací (qiskit.quantum_info) – Sada nástrojů pro práci s kvantovými stavy, operátory a kanály pomocí přesných výpočtů (bez šumu vzorkování). Pomocí tohoto modulu můžeš specifikovat vstupní observably a analyzovat věrnost výstupů z dotazů na primitiva.

  • Transpiler (qiskit.transpiler) – Pro transformaci a přizpůsobení kvantových Circuit konkrétní topologii zařízení a optimalizaci pro spuštění na skutečných kvantových procesorových jednotkách (QPU).

  • Primitiva (qiskit.primitives) – Modul obsahující základní definice a referenční implementace primitiv Sampler a Estimator, ze kterých mohou různí poskytovatelé kvantového hardwaru odvodit vlastní implementace. Více informací o primitivech Qiskit Runtime najdeš v dokumentaci.

Instalace

Podrobnější úvod do instalace Qiskit SDK najdeš na stránce instalace. Pokud jsi připraven/a ho nainstalovat hned, jednoduše spusť:

pip install qiskit

Benchmarking a balíček Benchpress

Benchmarking je důležitý pro porovnání relativního výkonu kvantového softwaru v různých fázích vývojového pracovního postupu. Benchmarkingové testy pro kvantový software mohou například zkoumat rychlost a kvalitu sestavování, manipulace a transpilace Circuit. IBM Quantum je odhodláno dodávat co nejvýkonnější SDK, a proto je Qiskit SDK testován pomocí více než 1 000 testů vyvinutých předními univerzitami, národními laboratořemi a výzkumníky z IBM. Benchmarkingová sada používaná pro tyto testy, pojmenovaná Benchpress, je nyní dostupná jako open-source balíček. Balíček Benchpress teď můžeš použít k vlastní analýze výkonu kvantového SDK.

Qiskit Runtime

Qiskit Runtime je cloudová služba pro provádění kvantových výpočtů na hardwaru IBM Quantum®. Balíček qiskit-ibm-runtime je klient této služby a nástupce Qiskit IBM Provider. Služba Qiskit Runtime zjednodušuje kvantové výpočty a poskytuje optimální implementace primitiv Qiskit pro hardware IBM Quantum. Jak začít s primitivy Qiskit Runtime, zjistíš v dokumentaci.

Qiskit Runtime je navržen tak, aby využíval další klasické a kvantové výpočetní zdroje, včetně technik jako je potlačení chyb a zmírňování chyb, a vrátil tak výsledky vyšší kvality při spouštění kvantových Circuit na kvantových procesorech. Mezi příklady patří dynamické oddělování pro potlačení chyb a zmírňování chyb při čtení a extrapolace nulového šumu (ZNE) pro zmírňování chyb. Jak tyto možnosti nakonfigurovat, se dozvíš na stránce Konfigurace zmírňování chyb.

Qiskit Runtime také zahrnuje tři typy režimů spouštění pro provoz kvantového programu na hardwaru IBM: Job, Session a Batch,, přičemž každý z nich má jiné případy použití a dopady na frontu kvantových úloh. Job je jediný dotaz na primitivum, který lze spustit s určeným počtem opakování (shots). Session ti umožňují efektivně spouštět více úloh v iterativních pracovních postupech na kvantových počítačích. Dávkový režim (Batch) ti umožňuje odeslat všechny úlohy najednou pro paralelní zpracování. Upozorňujeme, že uživatelé plánu Open Plan nemohou odesílat úlohy v rámci Session.

Qiskit Runtime rychle nainstaluješ spuštěním následujícího příkazu:

pip install qiskit-ibm-runtime

Další podrobnosti o nastavení vývojového prostředí pro sestavování kvantových programů najdeš na stránce instalace.

Je Qiskit Runtime open-source?

Stručná odpověď zní: ne celý. Software služby Qiskit Runtime, který řeší technické záležitosti spouštění tvého kvantového programu na zařízení IBM Quantum (včetně veškerého zmírňování a potlačování chyb), není open-source. Klient Qiskit Runtime (rozhraní pro přístup uživatelů ke službě Qiskit Runtime), Qiskit SDK běžící na straně serveru a část softwaru používaného pro zmírňování chyb jsou open-source. Chceš-li se zapojit do open-source aktivit Qiskit, navštiv naši organizaci na GitHubu na adresách github.com/Qiskit a github.com/Qiskit-Extensions.

Qiskit Serverless

Vytváření kvantových aplikací v užitkovém měřítku obecně vyžaduje různé požadavky na výpočetní zdroje. Qiskit Serverless (qiskit-ibm-catalog.QiskitServerless) poskytuje jednoduché rozhraní pro spouštění pracovních postupů napříč kvantově-klasickými zdroji. To zahrnuje nasazování programů na IBM Quantum Platform a vzdálené spouštění pracovních postupů, stejně jako snadnou správu zdrojů pro případy použití zahrnující více cloudů a superpočítače zaměřené na kvantové technologie. Více informací najdeš v dokumentaci Qiskit Serverless o tom, jak tuto kolekci nástrojů použít k:

  • Paralelizaci klasických úloh, jako je předzpracování a postprocesing
  • Zachování dlouhotrvajících pracovních postupů v cloudu, i když je tvůj laptop vypnutý
  • Nasazení opakovaně použitelných programů v cloudu

Chceš-li začít Qiskit Serverless používat hned, nainstaluj ho pomocí pip:

pip install qiskit_serverless

Qiskit Functions

Qiskit Functions (qiskit-ibm-catalog.QiskitFunctionsCatalog) jsou abstrahované služby navržené k urychlení objevování algoritmů a prototypování aplikací. Prozkoumej katalog Qiskit Functions, který zahrnuje:

  • Circuit functions: Služby zahrnující transpilaci, potlačení chyb, zmírňování chyb a techniky postprocesingu, které přijímají abstraktní Circuit a požadované měřitelné observably jako vstup. S Circuit functions mohou uživatelé objevovat nové algoritmy a aplikace, aniž by se museli zabývat transpilací nebo výkonem kvantového hardwaru.
  • Application functions: Služby zahrnující celé kvantové pracovní postupy – od mapování klasického na kvantové, přes optimalizaci pro hardware, spuštění na hardwaru až po postprocesing. Uživatelé mohou prototypovat průmyslové aplikace se vstupy a výstupy blízkými jejich oboru.

Členové plánů Premium Plan, Flex Plan a On-Prem (přes IBM Quantum Platform API) mají okamžitý přístup k funkcím poskytovaným IBM nebo si mohou zakoupit licence pro funkce od partnerů přímo od těchto partnerů.

Katalog lze nainstalovat pomocí pip:

pip install qiskit-ibm-catalog

Qiskit Transpiler Service

Qiskit Transpiler Service (název balíčku qiskit-ibm-transpiler) je nová experimentální služba, která poskytuje vzdálené možnosti transpilace v cloudu uživatelům plánů IBM Quantum Premium Plan, Flex Plan a On-Prem (přes IBM Quantum Platform API). Kromě místních možností Transpiler v Qiskit SDK mohou tvé transpilační úlohy těžit z cloudových zdrojů IBM Quantum i z průchodů Transpiler s umělou inteligencí díky této službě. Více o tom, jak integrovat cloudovou transpilaci do svého pracovního postupu s Qiskitem, se dozvíš v dokumentaci.

Službu Transpiler lze nainstalovat pomocí pip:

pip install qiskit-ibm-transpiler

Qiskit addons

Qiskit addons jsou kolekce výzkumných možností pro objevování algoritmů v užitkovém měřítku. Tyto možnosti stavějí na výkonném základu nástrojů Qiskit pro vytváření a spouštění kvantových algoritmů. Addons jsou modulární softwarové komponenty, které se zapojují do pracovního postupu za účelem škálování nebo navrhování nových kvantových algoritmů. Chceš-li se dozvědět více o dostupné sadě Qiskit addons a o tom, jak s nimi začít, navštiv dokumentaci.

K dispozici je řada addons v závislosti na tom, o jakou výzkumnou schopnost máš zájem. Každý z nich lze nainstalovat pomocí pip.

Diagonalizace kvantových vzorků (SQD):

pip install qiskit-addon-sqd

Přibližná kvantová kompilace (AQC):

pip install qiskit-addon-aqc-tensor[quimb-jax]

Zpětná propagace operátorů (OBP):

pip install qiskit-addon-obp

Vzorce s více produkty (MPF):

pip install qiskit-addon-mpf

Ekosystém Qiskit

Kromě Qiskitu existuje mnoho open-source projektů, které používají název „Qiskit", ale nejsou přímo součástí Qiskitu; spíše s ním spolupracují a mohou poskytovat cennou dodatečnou funkcionalitu doplňující základní pracovní postup Qiskit. Některé z těchto projektů jsou spravovány týmy IBM Quantum, zatímco jiné jsou podporovány širší open-source komunitou. Qiskit SDK je navržen modulárním a rozšiřitelným způsobem, aby bylo pro vývojáře snadné vytvářet podobné projekty rozšiřující jeho schopnosti.

Mezi oblíbené projekty v ekosystému Qiskit patří:

  • Qiskit Aer (qiskit-aer) – balíček pro simulátory kvantových počítačů s realistickými modely šumu. Poskytuje rozhraní pro spouštění kvantových Circuit se šumem i bez šumu pomocí různých simulačních metod. Spravuje IBM Quantum.
  • qBraid SDK (qbraid) – platformově agnostický framework pro kvantový běh pro poskytovatele jak kvantového softwaru, tak hardwaru, navržený tak, aby zjednodušil kompletní správu životního cyklu kvantových úloh – od definování specifikací programu přes odesílání úloh až po postprocesing a vizualizaci výsledků. Spravuje qBraid.
  • mthree mthree – balíček pro implementaci M3 (Matrix-free Measurement Mitigation), techniky zmírňování chyb při měření, která řeší opravené pravděpodobnosti měření pomocí kroku redukce dimenzionality, po němž následuje buď přímá LU faktorizace, nebo podmíněná iterativní metoda, která nominálně konverguje v O(1) krocích a lze ji počítat paralelně. Spravuje IBM Quantum.

Katalog projektů najdeš na stránce ekosystému Qiskit, stejně jako informace o tom, jak nominovat vlastní projekt.

Další kroky

Doporučení
  • Přečti si o knihovně Circuit a instrukcí dostupných v Qiskitu v knihovně Circuit.
  • Přečti si o Transpiler Qiskit a mnoha možnostech transpilace v sekci Transpiler.
  • Zjisti, jak používat primitiva Qiskit pro zjednodušení kvantového programování.