Přeskočit na hlavní obsah
Tento projekt je v betě. Našel jsi chybu? Otevřít issue na GitHubu. Máš otázku nebo nápad? Zeptej se v Discussions — rádi si poslechneme tvou zpětnou vazbu!
Jaká je kvalita překladu na této stránce?

Vývojový postup

Termín Qiskit pattern popisuje vývojový postup pro rozčlenění doménově specifických problémů a kontextualizaci potřebných schopností do jednotlivých fází. Díky tomu lze nové schopnosti vyvinuté výzkumníky IBM Quantum® (a dalšími) plynule kombinovat a otevírá se budoucnost, ve které jsou kvantové výpočetní úlohy prováděny výkonnou heterogenní (CPU/GPU/QPU) výpočetní infrastrukturou. Bloky nebo skupiny bloků provádějí kroky patternu, přičemž Qiskit SDK poskytuje důležitou základní vrstvu, podporovanou dalšími nástroji nebo službami vyvinutými IBM Quantum nebo kvantovou open-source komunitou. Qiskit patterns umožňují odborníkům na danou doménu specifikovat problém a sestavit sadu nástrojů (bloky), která daný Qiskit pattern realizuje. Tento pattern pak může být spuštěn lokálně, prostřednictvím cloudových služeb nebo nasazen pomocí Qiskit Serverless.

Čtyři kroky Qiskit patternu jsou následující:

  • Mapování problému na kvantové Circuit a operátory

  • Optimalizace pro cílový hardware

  • Spuštění na cílovém hardwaru

  • Postprocessing výsledků

Každý krok je podrobně popsán v níže uvedených sekcích.

Mapování problému na kvantové Circuit a operátory​

Tento krok popisuje, jak uživatel začíná s klasickým problémem a přichází na to, jak ho namapovat na kvantový počítač. Například v aplikacích jako chemie nebo kvantová simulace tento krok obecně zahrnuje konstrukci kvantového Circuit reprezentujícího Hamiltonián, který se snažíš vyřešit. V průběhu tohoto kroku může být u určitých problémů žádoucí specifikovat již od začátku mapování problému na qubit v heavy-hex (nebo gross) mřížce IBM® hardwaru, pokud se struktura problému hodí pro dřívější optimalizaci. V tuto chvíli je také vhodné zvážit, jaký výsledek daný algoritmus přinese, jako přípravu na pozdější krok spuštění – například pokud požadovaný výsledek zahrnuje odvozování korelačních funkcí pomocí Hadamardových testů, může být vhodné připravit se na použití Sampler, zatímco specifikace pozorovatelných veličin by využila Estimator a mohla by nabídnout mnoho možností mitigace chyb.

Výstupem tohoto kroku je obvykle sada Circuit nebo kvantových operátorů, které lze v dalším kroku optimalizovat pro hardware.

Optimalizace pro cílový hardware​

V tomto kroku vezmeš abstraktní Circuit (nebo operátory) vytvořené v kroku mapování a provedeš na nich sérii optimalizací. To může zahrnovat routing a layout Circuit na fyzické qubity hardwaru, převod do základních Gate hardwaru a redukci počtu operací – to vše s cílem zvýšit pravděpodobnost úspěchu v pozdějším kroku spuštění. V tuto chvíli možná také budeš chtít otestovat své Circuit pomocí simulátoru před spuštěním na reálném hardwaru v dalším kroku.

Během tohoto kroku musí být abstraktní Circuit transpilovány do obvodů architektury instrukční sady (ISA). ISA Circuit je takový, který se skládá pouze z Gate srozumitelných cílovému hardwaru (základní Gate), přičemž vícequbitové Gate musí dodržovat jakákoli omezení propojení (coupling map). Na IBM hardwaru pomocí IBM Quantum Compute Service lze spouštět pouze ISA Circuit.

Spuštění na cílovém hardwaru​

Tento krok zahrnuje spuštění tvých Circuit na hardwaru a produkuje výstupy kvantového výpočtu. ISA Circuit vytvořené v předchozím kroku lze spustit pomocí primitiv Sampler nebo Estimator z balíčku qiskit-ibm-runtime, inicializovaných lokálně na tvém počítači nebo z clusteru či jiného heterogenního výpočetního prostředí. Tyto lze spouštět v Batch režimu, který umožňuje paralelní transpilaci pro klasickou výpočetní efektivitu – nebo v Session, která umožňuje efektivní implementaci iterativních úloh bez zpoždění způsobených čekáním ve frontě. Během tohoto kroku je také možné nakonfigurovat určité techniky potlačení a mitigace chyb poskytované qiskit-ibm-runtime.

V závislosti na tom, zda používáš primitivum Sampler nebo Estimator, bude výsledek tohoto kroku odlišný. Při použití Sampler bude výstupem měření pro každý shot ve formě bitových řetězců. Při použití Estimator budou výstupem střední hodnoty pozorovatelných veličin odpovídající fyzikálním veličinám nebo nákladovým funkcím.

Postprocessing výsledků​

Tento závěrečný krok zahrnuje spojení výstupů z předchozího kroku dohromady za účelem získání požadovaného výsledku. To může zahrnovat řadu kroků klasického zpracování dat, jako je vizualizace výsledků, techniky mitigace chyb při čtení, marginalizace kvazi-pravděpodobnostních distribucí za účelem zjištění výsledků na menších sadách qubit nebo post-selekce na základě inherentních vlastností problému, jako je celkový spin, parita nebo zachování počtu částic odstraněním nefyzikálních pozorovatelných veličin.

Jak se oblast posouvá od ručně navrhovaných obvodů k pracovním postupům v užitečném (utility) měřítku, flexibilita a snadnost, s níž Qiskit patterns umožňují uživatelům skládat různé kroky patternu, otevírají kvantové výpočty širokému spektru aplikací a technik, aby je vědci v oblasti kvantových výpočtů mohli snadno využívat.