Řešení běžných problémů v Azure Quantum
Při práci se službou Azure Quantum můžete narazit na tyto běžné problémy. Podívejte se, jak je můžete vyřešit.
Připojení k pracovnímu prostoru
Problém: Nejde se ověřit ve službě Azure Quantum přes pytket-azure CI
Při pokusu pytket-azure
o ověření ve službě Azure Quantum prostřednictvím balíčku v prostředí CI pomocí proměnných prostředí "AZURE_TENANT_ID", "AZURE_CLIENT_ID" a "AZURE_CLIENT_SECRET", může dojít k chybě:
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
Pokud chcete tento problém vyřešit, zkuste se místo toho ověřit pomocí připojovací řetězec a proměnné prostředí "AZURE_QUANTUM_CONNECTION_STRING". Další informace najdete v tématu Připojení pomocí připojovací řetězec.
connection_string = "[Copy connection string]"
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
Odesílání úloh
Problém: Chybí targets
Pokud v target seznamu dostupných target funkcí chybí místo, kde chcete spustit úlohu, budete pravděpodobně muset aktualizovat na nejnovější verzi Quantum Development Kit nástroje Visual Studio Code. Další informace najdete v tématu Aktualizace sady QDK.
Problém: Operace vrátí neplatný stavový kód Neautorizováno.
Postup řešení tohoto problému:
Otevřete web Azure Portal (https://portal.azure.com) a ověřte svůj účet.
V části Procházet vyberte Předplatná a vyberte své předplatné.
Vyberte Řízení přístupu (IAM) .
V části Kontrola přístupu vyhledejte svoji e-mailovou adresu a vyberte účet.
Neměli byste vidět roli Vlastník ani Přispěvatel .
Vyberte kartu Přiřazení rolí.
Poznámka:
Pokud kartu Přiřazení rolí nevidíte, možná budete muset portál rozbalit na celou obrazovku nebo zavřít <podokno přiřazení jmen>.
Vyberte rozevírací seznam Role, vyberte vlastníka nebo přispěvatele a zadejte svoji e-mailovou adresu a vyberte svůj účet.
Zvolte Uložit.
Teď by se měla zobrazit sada účtů nakonfigurovaná s rolí Vlastník nebo Přispěvatel .
Vytvořte znovu pracovní prostor Azure Quantum a pak odešlete úlohu do tohoto nového pracovního prostoru.
Problém: "AuthorizationFailure – Tento požadavek nemá oprávnění k provedení této operace"
Pokud odeslání úlohy selže s touto zprávou, i když máte platné připojení ke službě Azure Quantum, může být účet úložiště nakonfigurovaný tak, aby blokoval přístup k veřejné síti. Služba Azure Quantum podporuje pouze účty úložiště prostřednictvím veřejného přístupu k internetu.
Postup kontroly účtu úložiště:
- Na stránce kvantového pracovního prostoru na webu Azure Portal vyberte Přehled a vyberte účet úložiště.
- Na stránce účtu úložiště v části Zabezpečení a sítě vyberte Sítě.
- Na kartě Brány firewall a virtuální sítě v přístupu k veřejné síti se ujistěte, že je vybraná možnost Povolit všechny sítě .
Problém: Nepodařilo se zkompilovat program při pokusu o odeslání programu v Q# prostřednictvím rozhraní příkazového řádku
Při pokusu o odeslání úlohy na příkazovém řádku pomocí az quantum submit
příkazu se může zobrazit následující chybová zpráva:
az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)
K této chybě dochází v případě, že dojde k problému s programem Q#, který způsobí selhání kompilace.
Problém: Chyba kompilátoru Chybný počet parametrů brány
Při odesílání úlohy do Quantinuum z místního prostředí Jupyter Notebook nebo příkazového řádku a použití starší verze překladače QASM (OPENQASM 2.0), může dojít k této chybě:
Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters
K této chybě dochází, když se jako oddělovač desetinných míst používá čárka "" nebo jiný znak bez tečky, jak je běžné v mnoha jazycích. Nahraďte všechny oddělovače desetinných míst bez tečky tečkami ".".
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
Poznámka:
K tomuto problému nedochází v hostovaných poznámkových blocích na portálu Azure Quantum, pouze v místních vývojových prostředích.
Problém: Chyba kompilátoru Není k dispozici pro aktuální konfiguraci kompilace
Když v poznámkovém bloku Jupyter v editoru VS Code spustíte buňku s kódem Q#, může dojít k chybě:
<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration
Tato chyba značí, že profil QIR target je nastavený na Basic a daná funkce vyžaduje neomezenýtarget profil. target Nastavení profilu na Neomezený:
- V programu Q# v editoru VS Code vyberte Q#: QIR base na dolním stavovém řádku.
- V možnostech zobrazených na horním stavovém řádku vyberte Q#: neomezené.
Problém: Operace vrátila neplatný stavový kód Zakázáno.
Když odešlete první úlohu, může se zobrazit kód chyby Zakázáno.
Tento problém může pocházet během vytváření pracovního prostoru: Azure Quantum nedokončí přiřazení role, které propojí nový pracovní prostor se zadaným účtem úložiště. K této situaci obvykle dochází v případě zavření karty nebo okna webového prohlížeče před dokončením vytváření pracovního prostoru.
Pomocí následujícího postupu můžete ověřit, že narazíte na tento problém s přiřazením role:
- Přechod na nový kvantový pracovní prostor na webu Azure Portal
- V části Přehled>základního>účtu úložiště vyberte odkaz na účet úložiště.
- V levém navigačním panelu vyberte Řízení přístupu (IAM).
- Vyberte Přiřazení rolí.
- Ověřte, že se váš pracovní prostor zobrazuje jako přispěvatel.
- Pokud se pracovní prostor nezobrazuje jako přispěvatel , můžete:
- Vytvořte nový pracovní prostor a před zavřením karty nebo okna webového prohlížeče počkejte na dokončení vytvoření pracovního prostoru.
- Přidání správného přiřazení role pod účet úložiště
- Řízení přístupu (IAM) – > Přidání přiřazení rolí
- Přispěvatel rolí >
- Přiřazení přístupu k uživateli, skupině nebo instančnímu > objektu
- Vyberte > [Název pracovního prostoru]
- Uložit
Problém: Úloha selže s kódem chyby: QIRPreProcessingFailed
Když odešlete úlohu poskytovateli Rigetti, úloha selže a zobrazí se v konzole pro správu úloh na webu Azure Portal:
Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled
Příčinou této chyby může být konflikt závislostí s předchozí verzí pyqir nebo qiskit-qir. Odinstalujte všechny verze pyqir, pyqir-*a qiskit-qir na místním počítači a pak pomocí parametru [qiskit] nainstalujte nebo aktualizujte balíček Pythonu azure-quantum:
pip install --upgrade azure-quantum[qiskit]
Problém: Načtení základních informací o neúspěšných úlohách
Po odeslání úlohy do hardwaru targetmůže vaše úloha sedět ve frontě několik hodin, nebo dokonce jeden nebo dva dny před selháním.
Získání dalších informací o selhání:
get_results()
Pomocí metody s objektem úlohy zobrazte výstup nebo vrácenou chybovou zprávu:
job.get_results()
- V pracovním prostoru webu Azure Portal vyberte Operations > Job Management a pak výběrem názvu úlohy otevřete podokno podrobností.
- V pracovním prostoru webu Azure Portal vyberte Poskytovatele operací>. Ověřte dostupnost target počítače. Úlohy odeslané do targets stavu Degraded můžou zůstat ve frontě delší než obvykle. Někdy se úlohy zpracují, ale někdy vyprší jejich časový limit a vrátí chybu nedostupnostitarget.
Problém: Při programovém připojování k pracovnímu prostoru se stále zobrazuje výzva k ověření
Pokud používáte sadu Azure Quantum Python SDK (například v poznámkových blocích Jupyter) a připojujete se k pracovnímu prostoru pomocí třídy AzureQuantumProvider, můžete při každém spuštění skriptu zaznamenat automaticky otevírané okno pro ověření v Azure.
K tomu dochází, protože se token zabezpečení resetuje při každém spuštění skriptu.
Tento problém můžete vyřešit spuštěním az login
azure CLI. Další informace najdete v tématu az login.
Problém: Po aktualizaci balíčku azure-quantum se při monitorování úlohy zobrazí chyba ModuleNotFoundError: No module named qiskit.tools
Od Qiskitu 1.0 qiskit.tools
byl modul, který je pro funkci nutný job_monitor()
, zastaralý. K monitorování úloh použijte wait_for_final_state()
result
tyto funkce.
job = MyTarget.run(circuit, shots=100)
# to wait until the job is complete
job.wait_for_final_state()
# to return the results of the job
result = job.result()
Estimátor prostředků Azure Quantum
Následující běžné scénáře mohou bránit dokončení úloh odhadu prostředků. Podívejte se, jak je vyřešit.
Problém: Kvantový algoritmus musí obsahovat alespoň jeden stav T nebo měření
Aby bylo možné počítat s mapováním libovolného kvantového programu na 2D pole logických qubitů, odhad prostředků předpokládá, že se na vstupnímprogramu provádí paralelní syntéza sekvenčního pauliho výpočetního programu ( viz arXiv:2211.07629, Příloha D). V takovém přístupu jsou všechny operace Cliffordu dojížděné přes všechny brány T, rotační brány a měrné operace, takže je možné efektivně vyhodnotit jednu operaci Clifford. Kvantový program, který neobsahuje žádné stavy T, například z bran T nebo rotačních bran, ani operace měření nevyžadují žádné fyzické kvantové výpočetní prostředky.
Error message: Algorithm requires at least one T state or measurement to estimate resources
Problém: Míra chyb brány fyzického T je příliš vysoká
Míra chyb logického stavu T závisí na rozpočtu chyb a počtu stavů T v kvantovém programu. Továrny T se používají k vytváření stavů T s požadovanou chybovou rychlostí logického T stavu z fyzických bran T, které mají chybovost fyzické brány T. Obvykle je míra chyb fyzické brány T mnohem vyšší než požadovaná logická míra chyb brány T. V některých scénářích je míra chyb fyzické brány T mnohem vyšší než požadovaná chybovost logického T stavu, aby nebyla nalezena žádná továrna T, která může produkovat logické stavy T dostatečné kvality.
Error message: No T factory can be found, because the required logical T state error rate is too low
Tady je to, co byste mohli v takovém scénáři udělat:
- Zvyšte rozpočet chyb, a to buď celkem, nebo část pro stavy T.
- Snižte chybovost fyzické brány T v parametrech qubitu.
- Snižte počet stavů T v kvantovém programu snížením bran T, rotačních bran a bran Toffoli.
Problém: Míra chyb brány fyzického T je příliš nízká
Existuje také opačný scénář, kdy je míra chyb fyzické brány T nižší než požadovaná chybovost logického stavu T. V takových případech není vyžadována žádná továrna T, protože míra chyb fyzické brány T již má dostatečnou kvalitu. To však vyžaduje pečlivé zvážení dopadu přenosových jednotek, které přenášejí fyzické stavy T ze vzdálenosti kódu 1 do vzdálenosti kódu algoritmu (viz arXiv:2211.07629, Příloha C). Obecně platí, že v přítomnosti T továren je cena transferových jednotek zanedbatelná.
Error message: No T factory can be found, because the required logical T state error rate is too high; transfer units are necessary to perform a resource estimation accurately. One possibility to circumvent this problem is to increase the physical T gate error rate of the qubit parameters.
Tady je to, co byste mohli v takovém scénáři udělat:
- Zvyšte chybovost fyzické brány T v parametrech qubitu na požadovanou chybovou frekvenci stavu T.
- Snižte rozpočet chyb nebo jenom část stavů T.
Problém: Míra chyb musí být číslo od 0 do 1.
Chybové míry by vždy měly být hodnoty v rozmezí od 0 do 1. Aby byla oprava chyb účinná, musí být fyzická míra chyb bran a měření nižší než hodnota, která závisí na vlastnostech kódu opravy chyb a požadované logické chybovosti.
Tady je to, co byste mohli v takovém scénáři udělat:
- Zvyšte rozpočet chyb, a to buď celkem, nebo část logických chyb.
- Snižte míry fyzických chyb v parametrech qubitu.
Problém: Omezení maximálního běhu a maximálního počtu fyzických qubitů se vzájemně vylučují
Estimátor prostředků přijímá pouze jedno z maxDuration
omezení maxPhysicalQubits
v době, ale ne dvě. Pokud zadáte omezení maxDuration
pro jednu úlohu i maxPhysicalQubits
omezení, vrátí BothDurationAndPhysicalQubitsProvided
chybu.
Problém: Spuštění kontejneru počtu odhadů QIR: nedefinovaný symbol __quantum__rt__result_record_output
Výsledkem této chyby je generování QIR pro okruhy Qiskit prostřednictvím balíčku qiskit_qir Pythonu bez nastavení parametru record_output
na False
.
Pokud se chcete této chybě vyhnout, udělejte jednu z těchto věcí:
- Pomocí balíčku azure_quantum Pythonu odešlete okruhy Qiskit do Azure Quantum (doporučeno).
- Při použití balíčku qiskit_qir Pythonu nezapomeňte před odesláním okruhu
record_output
nastavit parametr naFalse
hodnotu.
Vytvoření pracovního prostoru Azure Quantum
K následujícím problémům může dojít při vytváření pracovního prostoru pomocí webu Azure Portal.
Problém: Na webu Azure Portal nemáte přístup k formuláři pro vytvoření pracovního prostoru. Místo toho se zobrazí výzva k registraci předplatného.
K tomuto problému dochází, protože nemáte aktivní předplatné.
Můžete se například zaregistrovat k 30dennímu bezplatnému zkušebnímu předplatnému Azure, které zahrnuje bezplatné kredity Azure ve výši 200 USD pro použití ve službách Azure. Mějte na paměti, že tyto kredity Azure nejsou stejné jako kredity Azure Quantum a nemají nárok na použití na poskytovatelích kvantového hardwaru. Po 30 dnech registrace nebo po spotřebování 200 USD bezplatných kreditů Azure (podle toho, co nastane dříve), musíte upgradovat na předplatné s průběžnými platbou, abyste mohli dál používat služby Azure Quantum. Jakmile máte aktivní předplatné, azure Portal vám umožní přístup k formuláři pro vytvoření pracovního prostoru.
Pokud chcete zobrazit seznam předplatných a přidružených rolí, přečtěte si téma Kontrola předplatných.
Problém: Možnost Rychlé vytvoření není k dispozici
Abyste mohli použít možnost Rychlé vytvoření, musíte být vlastníkem předplatného, které vyberete. Pokud chcete zobrazit seznam předplatných a přidružených rolí, přečtěte si téma Kontrola předplatných. Pokud jste přispěvatelem předplatného, můžete k vytvoření pracovního prostoru použít možnost Rozšířené vytvoření.
Problém: Nemůžete vytvořit nebo vybrat skupinu prostředků nebo účet úložiště
K tomuto problému dochází, protože nemáte autorizaci požadovanou na úrovni předplatného, skupiny prostředků nebo účtu úložiště. Další informace o požadovaných úrovních přístupu najdete v tématu Požadavky na roli pro vytvoření pracovního prostoru.
Problém: Po výběru možnosti Vytvořit se zobrazí chybová zpráva Ověření nasazení se nezdařilo.
Tato chybová zpráva může obsahovat další podrobnosti, například klient nemá autorizaci k provedení akce.
K tomuto problému dochází, protože nemáte autorizaci požadovanou na úrovni předplatného, skupiny prostředků nebo účtu úložiště. Další informace o požadovaných úrovních přístupu najdete v tématu Požadavky na roli pro vytvoření pracovního prostoru.
Pokud byl přístup nedávno udělen, možná budete muset stránku aktualizovat. Někdy může trvat až hodinu, než se nová přiřazení rolí projeví nad oprávněními uloženými v mezipaměti v rámci zásobníku.
Problém: Na kartě Poskytovatelé se nezobrazuje konkrétní poskytovatel kvantového hardwaru
K tomuto problému dochází, protože poskytovatel nepodporuje fakturační oblast, ve které je vaše předplatné nastavené. Pokud je například vaše předplatné nastavené v Izraeli, karta Poskytovatelé nebude jako dostupný poskytovatel vypisovat Rigetti. Seznam poskytovatelů a jejich dostupnosti podle země nebo oblasti najdete v tématu Globální dostupnost poskytovatelů Azure Quantum.
Problém: Vytvoření nebo odebrání zprostředkovatele pracovního prostoru selže s chybou ResourceDeploymentFailure nebo ProviderDeploymentFailure
Tento problém může obsahovat další podrobnosti, například ResourceDeploymentFailure – Operace prostředku AzureAsyncOperation Await se dokončila se stavem zřizování terminálu Failed nebo ProviderDeploymentFailure – Nepodařilo se vytvořit plán pro poskytovatele: <Název poskytovatele>.
K tomu dochází, protože tenant nepovolil nákupy na Azure Marketplace. Pokud chcete povolit nákupy na Azure Marketplace, postupujte podle kroků v části Povolení nákupů na Azure Marketplace.
Problém: Nasazení kvantového pracovního prostoru nebo nasazení účtu úložiště selže s jednou z následujících chyb:
- Pracovní prostor: Operace zápisu prostředku se nepovedla úspěšně, protože dosáhla stavu zřizování terminálu Failed.
- Účet úložiště: Nasazení šablony selhalo kvůli porušení zásad.
K tomuto problému může dojít, pokud vaše zásady zabezpečení předplatného zablokuje vytváření účtů úložiště s povoleným veřejným přístupem. Služba Azure Quantum podporuje pouze účty úložiště prostřednictvím veřejného přístupu k internetu.
Pokud chcete tento problém vyřešit, obraťte se na správce předplatného a získejte výjimku pro účet úložiště, který chcete použít.
Portál Azure Quantum
Problém: Uložené poznámkové bloky se nenačítají
Po výběru poznámkových bloků v pracovním prostoru se v seznamu uložených poznámkových bloků zobrazí indikátor průběhu, ale nikdy se nenačte.
K tomu může dojít ze tří důvodů:
Pokud účet úložiště již neexistuje. K tomu může dojít v případě, že byl odstraněn účet úložiště propojený s pracovním prostorem. Pokud to chcete ověřit, vyberte stránku Přehled pracovního prostoru a vyberte odkaz na účet úložiště. Pokud se účet úložiště odstranil, zobrazí se chyba 404 – Nenalezena .
Pokud účet úložiště není povolený pro veřejný přístup k internetu. Další informace najdete v tématu Selhání autorizace.
Pokud spravovaná identita pracovního prostoru není přispěvatelem účtu úložiště. Zkontrolujte, že identita pracovního prostoru (která používá stejný název jako pracovní prostor) má k účtu úložiště stále přiřazenou roli Přispěvatel . Pokud to chcete ověřit, vyberte stránku Přehled pracovního prostoru a vyberte odkaz na účet úložiště. Na stránce Přehled účtu úložiště vyberte Řízení přístupu (IAM) a ověřte, že je pracovní prostor uvedený v části Přispěvatel.