Přeskočit na hlavní obsah

Vyber správný režim spuštění

Úlohy v měřítku utility mohou trvat mnoho hodin, proto je důležité, aby byly klasické i kvantové zdroje plánovány efektivně a spuštění probíhalo plynule. Režimy spuštění poskytují flexibilitu při vyvažování kompromisu mezi náklady a časem, aby bylo možné optimálně využívat zdroje pro tvoje úlohy. Při výběru režimu spuštění je třeba zvážit několik aspektů, například celkovou dobu spuštění (maximální doba životnosti, tzv. TTL) a dobu mezi joby (interaktivní TTL).

Výhody každého režimu jsou shrnuty níže:

  • Batch
    • Celá dávka jobů je naplánována společně a pro každý z nich neprobíhá žádné dodatečné čekání ve frontě.
    • Klasické výpočty jobů, jako je kompilace, se provádějí paralelně. Spuštění více jobů v dávkovém režimu je tak výrazně rychlejší než jejich sériové spuštění.
    • Prodleva mezi joby je obvykle minimální, což pomáhá předcházet driftu.
    • Pokud rozdělíš svou úlohu na více jobů a spustíš je v dávkovém režimu, můžeš získávat výsledky z jednotlivých jobů, což usnadňuje práci s nimi. Například pokud výsledky jobu nesplňují tvá očekávání, můžeš zbývající joby zrušit. Také pokud jeden job selže, můžeš ho znovu odeslat místo opětovného spuštění celé úlohy.
    • Je obecně levnější než Session.
  • Session
    • Veškerá funkcionalita dávkového režimu (ale vyžaduje vyšší využití; více informací o výpočtu využití viz Využití úlohy).
    • Vyhrazený a výhradní přístup k QPU během aktivního okna Session.
    • Užitečné pro úlohy, u nichž nejsou všechny vstupy připraveny předem, pro iterativní úlohy vyžadující klasické následné zpracování před spuštěním další, a pro experimenty, které musí proběhnout co nejblíže u sebe.
  • Job
    • Nejjednodušší na použití při spuštění malého experimentu.
    • Může být spuštěn dříve než v dávkovém režimu.

Doporučení a osvědčené postupy

Obecně používej dávkový režim, pokud nemáš úlohy, u nichž nejsou všechny vstupy připraveny předem.

  • Používej batch režim pro současné odesílání více primitive jobů a zkrácení doby zpracování.

  • Používej session režim pro iterativní úlohy nebo pokud potřebuješ vyhrazený přístup k QPU.

  • Vždy používej job režim pro odeslání jediného primitive požadavku.

  • Protože session jsou obecně dražší, doporučuje se používat batch vždy, když nepotřebuješ dodatečné výhody session.

  • Uživatelé Open Plan nemohou odesílat joby v session.

Pro zajištění co nejefektivnějšího využití režimů spuštění se doporučují následující postupy:

  • Se spuštěním jobu je spojena pevná režie. Obecně platí, že pokud každý z tvých jobů využívá méně než jednu minutu času QPU, zvaž sloučení několika jobů do jednoho většího (platí pro všechny režimy spuštění). „Čas QPU" označuje dobu, po kterou komplex QPU zpracovává tvůj job.

  • Pokud každý z tvých jobů spotřebovává více než jednu minutu času QPU, nebo pokud slučování jobů není praktické, můžeš stále spouštět více jobů paralelně. Každý job prochází klasickým i kvantovým zpracováním. Zatímco QPU může zpracovávat pouze jeden job najednou, paralelně lze zpracovávat až pět klasických jobů. Toho můžeš využít odesláním více jobů v režimu batch nebo session.

Výše uvedené jsou obecné pokyny a měl bys svou úlohu ladit, aby sis našel optimální poměr, zejména při používání session. Pokud například používáš session pro získání výhradního přístupu k backendu, zvaž rozdělení velkých jobů na menší a jejich paralelní spuštění. To může být nákladově efektivnější, protože může zkrátit čas na hodinách.

Příklady

Spuštění kvantového variačního algoritmu

Spuštění kvantového variačního algoritmu obvykle probíhá takto:

  1. Připrav ansatz.
  2. Vyhodnoť nákladovou funkci na QPU.
  3. Vezmi výsledek z předchozího kroku a spusť ho přes klasický optimalizátor.
  4. Uprav parametry podle výstupu kroku (3) a přejdi zpět na krok (2).

V tomto případě, pokud bys používal job nebo batch režim, každý job generovaný krokem (2) musí znovu projít frontou. To výrazně prodlužuje délku experimentu (čas na hodinách) kvůli době čekání ve frontě. Také může trvat déle, než dojde ke konvergenci, kvůli driftu zařízení. To znamená, že každá iterace by měla přinést lepší výsledek, ale drift zařízení může způsobit, že následující výsledky budou horší.

Navíc pokud používáš PEA nebo PEC, můžeš naučit se model šumu jednou a aplikovat ho na následující joby při spuštění ve vyhrazené session. To obvykle nefunguje s dávkovým nebo job režimem, protože model šumu by mohl být zastaralý v době, kdy je další job vyřazen z fronty.

Porovnání nastavení zmírnění chyb

Pro porovnání účinků dostupných metod zmírnění chyb bys mohl postupovat takto:

  1. Sestav Circuit a observabl.
  2. Odešli primitive joby, které používají různé kombinace nastavení zmírnění chyb.
  3. Vykresli výsledky, aby byly patrné efekty různých nastavení.

V tomto případě jsou všechny joby (které jsou příbuzné, ale nezávislé) dostupné od samého začátku. Pokud použiješ dávkový režim, jsou naplánovány společně, takže musíš čekat ve frontě pouze jednou. Navíc, protože cílem je porovnat účinky různých metod zmírnění chyb, je výhodné, aby se spouštěly co nejblíže u sebe. Batch by tedy byl dobrá volba. Tyto joby bys mohl spustit v session, ale protože session jsou obecně dražší, doporučuje se používat batch vždy, když nepotřebuješ dodatečné funkce, které session poskytuje.

Další kroky