Udostępnij za pośrednictwem


Rozwiązywanie typowych problemów w usłudze Azure Quantum

Podczas pracy z usługą Azure Quantum możesz napotkać te typowe problemy. Zobacz, jak można je rozwiązać.

Nawiązywanie połączenia z obszarem roboczym

Problem: Nie można uwierzytelnić się w usłudze Azure Quantum za pośrednictwem protokołu pytket-azure CI

Podczas próby uwierzytelnienia w usłudze Azure Quantum za pośrednictwem pytket-azure pakietu w środowisku ciągłej integracji przy użyciu zmiennych środowiskowych "AZURE_TENANT_ID", "AZURE_CLIENT_ID" i "AZURE_CLIENT_SECRET" może wystąpić błąd:

Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.

Aby rozwiązać ten problem, spróbuj uwierzytelnić się przy użyciu parametry połączenia i zmiennej środowiskowej "AZURE_QUANTUM_CONNECTION_STRING". Aby uzyskać więcej informacji, zobacz Connect with a parametry połączenia (Nawiązywanie połączenia za pomocą parametry połączenia).

connection_string = "[Copy connection string]" 

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Przesyłanie zadań

Problem: Brak targets

target Jeśli brakuje miejsca, w którym chcesz uruchomić zadanie z listy dostępnychtarget, prawdopodobnie musisz zaktualizować element do najnowszej Quantum Development Kit wersji programu Visual Studio Code. Aby uzyskać więcej informacji, zobacz Aktualizowanie zestawu QDK.

Problem: Operacja zwraca nieprawidłowy kod stanu "Brak autoryzacji"

Kroki rozwiązywania tego problemu:

  1. Otwórz witrynę Azure Portal (https://portal.azure.com) i uwierzytelnij swoje konto.

  2. W obszarze Navigate (Nawiguj) wybierz pozycję Subskrypcje i wybierz swoją subskrypcję.

  3. Wybierz pozycję Kontrola dostępu (IAM) .

  4. W obszarze Sprawdź dostęp wyszukaj swój adres e-mail i wybierz konto.

  5. Nie powinna być widoczna rola Właściciel lub Współautor .

  6. Wybierz kartę Przypisania roli.

    Uwaga

    Jeśli nie widzisz karty Przypisania ról, może być konieczne rozwinięcie portalu w tryb pełnoekranowy lub zamknięcie< okienka przypisań nazw>.

  7. Wybierz listę rozwijaną Rola, wybierz pozycję Właściciel lub Współautor, a następnie wprowadź swój adres e-mail i wybierz konto.

  8. Wybierz pozycję Zapisz.

  9. Teraz powinien zostać wyświetlony zestaw kont skonfigurowany z rolą Właściciel lub Współautor .

  10. Ponownie utwórz obszar roboczy usługi Azure Quantum, a następnie prześlij zadanie względem tego nowego obszaru roboczego.

Problem: "AuthorizationFailure — to żądanie nie jest autoryzowane do wykonania tej operacji"

Jeśli przesyłanie zadania zakończy się niepowodzeniem z tym komunikatem, mimo że masz prawidłowe połączenie z usługą Azure Quantum, konto magazynu może zostać skonfigurowane do blokowania dostępu do sieci publicznej. Usługa Azure Quantum obsługuje tylko konta magazynu za pośrednictwem publicznego dostępu do Internetu.

Aby sprawdzić konto magazynu:

  • Na stronie obszaru roboczego kwantowego w witrynie Azure Portal wybierz pozycję Przegląd i wybierz konto magazynu.
  • Na stronie konta magazynu w obszarze Zabezpieczenia i sieć wybierz pozycję Sieć.
  • Na karcie Zapory i sieci wirtualne w obszarze Dostęp do sieci publicznej upewnij się, że wybrano opcję Włącz wszystkie sieci .

Problem: "Nie można skompilować programu" podczas próby przesłania programu w języku Q# za pośrednictwem interfejsu wiersza polecenia

Podczas próby przesłania zadania w wierszu polecenia przy użyciu az quantum submit polecenia może wystąpić następujący komunikat o błędzie:

az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)

Ten błąd występuje, gdy występuje problem z programem języka Q#, który powoduje niepowodzenie kompilacji.

Problem: Błąd kompilatora "Nieprawidłowa liczba parametrów bramy"

Podczas przesyłania zadania do aplikacji Quantinuum z lokalnego środowiska Jupyter Notebook lub wiersza polecenia oraz przy użyciu starszej wersji translatora QASM (OPENQASM 2.0) może wystąpić następujący błąd:

Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters

Ten błąd występuje, gdy przecinek "" lub inny znak bez kropki jest używany jako separator dziesiętny, co jest powszechne w wielu językach. Zastąp wszystkie separatory dziesiętne bez kropki kropkami ".".

// replace this line:
rx(1,5707963267948966) q[0];

// with this:
rx(1.5707963267948966) q[0];

Uwaga

Ten problem nie występuje w notesach hostowanych w witrynie Azure Quantum Portal tylko w lokalnych środowiskach deweloperskich.

Problem: Błąd kompilatora "niedostępny dla bieżącej konfiguracji kompilacji"

Po uruchomieniu komórki kodu języka Q# w notesie Jupyter Notebook w programie VS Code może wystąpić błąd:

<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration

Ten błąd wskazuje, że profil QIR target jest ustawiony na Wartość Podstawowa , a kwestionowana funkcja wymaga profilu Bez ograniczeńtarget . Aby ustawić profil na target Bez ograniczeń:

  1. W programie Q# w programie VS Code wybierz pozycję Q#: QIR base na dolnym pasku stanu.
  2. Z opcji wyświetlanych na górnym pasku stanu wybierz pozycję Q#: unrestricted.

Problem: Operacja zwróciła nieprawidłowy kod stanu "Zabronione"

Podczas przesyłania pierwszego zadania może zostać wyświetlony kod błędu "Zabronione".

Ten problem może pochodzić z procesu tworzenia obszaru roboczego: usługa Azure Quantum nie może ukończyć przypisania roli łączącego nowy obszar roboczy z określonym kontem magazynu. Typowy scenariusz tej sytuacji polega na zamknięciu karty lub okna przeglądarki internetowej, zanim tworzenie obszaru roboczego zostanie ukończone.

Aby sprawdzić, czy występuje problem z przypisaniem roli, wykonaj następujące kroki:

  • Przejdź do nowego obszaru roboczego kwantowego w witrynie Azure Portal
  • W obszarze Przegląd>Podstawowe>konto magazynu wybierz link do konta magazynu
  • Na lewym pasku nawigacji wybierz pozycję Kontrola dostępu (IAM)
  • Wybierz pozycję Przypisania ról
  • Sprawdź, czy obszar roboczy jest wyświetlany jako współautor
  • Jeśli obszar roboczy nie jest wyświetlany jako współautor , możesz wykonać następujące czynności:
    • Utwórz nowy obszar roboczy i poczekaj na ukończenie tworzenia obszaru roboczego przed zamknięciem karty lub okna przeglądarki internetowej.
    • Dodawanie odpowiedniego przypisania roli na koncie magazynu
      • Kontrola dostępu (zarządzanie dostępem i tożsamościami) > — dodawanie przypisań ról
      • Współautor roli >
      • Przypisywanie dostępu do > użytkownika, grupy lub jednostki usługi
      • Wybierz > pozycję [Nazwa obszaru roboczego]
      • Zapisz

Problem: Zadanie kończy się niepowodzeniem z kodem błędu: QIRPreProcessingFailed

Po przesłaniu zadania do dostawcy usługi Rigetti zadanie kończy się niepowodzeniem i jest zgłaszane w konsoli zarządzania zadaniami w witrynie Azure Portal:

Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled

Ten błąd może być spowodowany konfliktem zależności z poprzednią wersją narzędzia pyqir lub qiskit-qir. Odinstaluj wszystkie wersje pyqir, pyqir-*i qiskit-qir na komputerze lokalnym, a następnie zainstaluj lub zaktualizuj pakiet azure-quantum Python przy użyciu parametru [qiskit]:

pip install --upgrade azure-quantum[qiskit]

Problem: Pobieranie podstawowych informacji o zadaniach, które zakończyły się niepowodzeniem

Po przesłaniu zadania do sprzętu targetzadanie może znajdować się w kolejce przez kilka godzin, a nawet jeden lub dwa dni, zanim zakończy się niepowodzeniem.

Aby pobrać więcej informacji na temat błędu:

  • get_results() Użyj metody z obiektem zadania, aby wyświetlić dane wyjściowe lub zwrócony komunikat o błędzie:
job.get_results()
  • W obszarze roboczym witryny Azure Portal wybierz pozycję Zarządzanie zadaniami operacji>, a następnie wybierz nazwę zadania, aby otworzyć okienko szczegółów.
  • W obszarze roboczym witryny Azure Portal wybierz pozycję Dostawcy operacji>. Sprawdź dostępność maszyny target . Zadania przesłane do targets programu ze stanem Obniżona wydajność mogą pozostawać w kolejce dłużej niż zwykle. Czasami zadania są przetwarzane, ale czasami upłynął limit czasu i zwrócił błąd niedostępnościtarget.

Problem: Otrzymuję monit o uwierzytelnienie podczas programowego nawiązywania połączenia z moim obszarem roboczym

Jeśli używasz zestawu Azure Quantum Python SDK (na przykład w notesach Jupyter) i łączysz się z obszarem roboczym przy użyciu klasy AzureQuantumProvider, możesz zobaczyć wyskakujące okienko do uwierzytelniania na platformie Azure za każdym razem, gdy uruchamiasz skrypt.

Dzieje się tak, ponieważ token zabezpieczający jest resetowany za każdym razem, gdy uruchamiasz skrypt.

Ten problem można rozwiązać, uruchamiając polecenie az login przy użyciu interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz az login.

Problem: Po zaktualizowaniu pakietu azure-quantum występuje błąd "ModuleNotFoundError: Brak modułu o nazwie qiskit.tools" podczas monitorowania zadania

Od qiskit 1.0 moduł, qiskit.tools który jest wymagany dla job_monitor() funkcji, został przestarzały. Aby monitorować zadania, użyj wait_for_final_state() funkcji lub result .

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()

Narzędzie do szacowania zasobów usługi Azure Quantum

Następujące typowe scenariusze mogą uniemożliwić ukończenie zadań szacowania zasobów. Zobacz, jak je rozwiązać.

Problem: Algorytm kwantowy musi zawierać co najmniej jeden stan lub pomiar T

Aby uwzględnić mapowanie dowolnego programu kwantowego na tablicę 2D kubitów logicznych, narzędzie do szacowania zasobów zakłada, że przetwarzanie równoległej syntezy sekwencyjnej Pauli (PSSPC) (zobacz arXiv:2211.07629, Dodatek D) jest wykonywane w programie wejściowym. W tym podejściu wszystkie operacje Cliffordu są dojeżdżane przez wszystkie bramy T, bramy rotacji i operacje pomiaru, pozostawiając jedną operację Clifford, która może być wydajnie oceniana klasycznie. W związku z tym program kwantowy, który nie zawiera ani stanów T, na przykład z bram T ani bram obrotowych, ani operacji pomiaru nie wymaga żadnych fizycznych zasobów obliczeniowych kwantowych.

Error message: Algorithm requires at least one T state or measurement to estimate resources

Problem: Fizyczna szybkość błędów bramy T jest zbyt wysoka

Współczynnik błędów logicznego stanu T zależy od budżetu błędu i liczby stanów T w programie kwantowym. Fabryki T są używane do tworzenia stanów T z wymaganym współczynnikiem błędów stanu logicznego T z fizycznych bram T, które mają fizyczny współczynnik błędów bramy T. Zazwyczaj fizyczna szybkość błędów bramy T jest znacznie wyższa niż wymagana logiczna szybkość błędów bramy T. W niektórych scenariuszach fizyczna szybkość błędów bramy T jest znacznie wyższa w porównaniu z wymaganą logiczną szybkością błędów stanu T, tak aby nie można było znaleźć żadnej fabryki T, która może generować logiczne stany T wystarczającej jakości.

Error message: No T factory can be found, because the required logical T state error rate is too low

Oto co można zrobić w takim scenariuszu:

  • Zwiększ budżet błędów , łącznie lub część dla stanów T.
  • Zmniejsz szybkość błędów fizycznej bramy T w parametrach kubitu.
  • Zmniejsz liczbę stanów T w programie kwantowym, zmniejszając liczbę bram T, bram rotacji i bram toffoli.

Problem: Fizyczna szybkość błędów bramy T jest zbyt niska

Istnieje również odwrotny scenariusz, w którym fizyczna szybkość błędów bramy T jest niższa niż wymagana liczba błędów stanu logicznego T. W takich przypadkach nie jest wymagana żadna fabryka T, ponieważ fizyczna szybkość błędów bramy T jest już wystarczająca. Wymaga to jednak starannego rozważenia wpływu jednostek transferu, które przesyłają fizyczne stany T z odległości 1 kodu do odległości kodu algorytmu (patrz arXiv:2211.07629, dodatek C). Ogólnie rzecz biorąc, w obecności fabryk T koszt jednostek transferowych jest niewielki.

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.

Oto co można zrobić w takim scenariuszu:

  • Zwiększ szybkość błędów fizycznej bramy T w parametrach kubitu do wymaganego logicznego współczynnika błędów stanu T.
  • Zmniejsz budżet błędów lub tylko część stanów T.

Problem: Współczynnik błędów musi być liczbą z zakresu od 0 do 1

Współczynniki błędów powinny zawsze być wartościami z zakresu od 0 do 1. Ponadto, aby korekta błędów byłaby skuteczna, fizyczna szybkość błędów bram i pomiarów musi być niższa od właściwości kodu korekty błędów i wymaganego logicznego współczynnika błędów.

Oto co można zrobić w takim scenariuszu:

  • Zwiększ budżet błędów, sumę lub część błędów logicznych.
  • Zmniejsz współczynniki błędów fizycznych w parametrach kubitu.

Problem: Ograniczenia maksymalnego środowiska uruchomieniowego i maksymalnej liczby kubitów fizycznych wzajemnie się wykluczają

Narzędzie do szacowania zasobów akceptuje tylko jedno z maxDuration ograniczeń lub maxPhysicalQubits w tym czasie, ale nie dwa. Jeśli dla pojedynczego zadania podaj zarówno ograniczenia, jak maxDuration i maxPhysicalQubits, zwraca błąd BothDurationAndPhysicalQubitsProvided .

Problem: Uruchamianie kontenera liczników oszacowań QIR: niezdefiniowany symbol __quantum__rt__result_record_output

Ten błąd wynika z generowania QIR dla obwodów Qiskit za pośrednictwem pakietu qiskit_qir Python bez ustawiania parametru record_output na False.

Aby uniknąć tego błędu, wykonaj jedną z następujących czynności:

  • Użyj pakietu azure_quantum Python, aby przesłać obwody Qiskit do usługi Azure Quantum (zalecane).
  • W przypadku korzystania z pakietu qiskit_qir Python należy ustawić record_output parametr na False przed przesłaniem obwodu.

Tworzenie obszaru roboczego usługi Azure Quantum

Podczas tworzenia obszaru roboczego za pomocą witryny Azure Portal mogą wystąpić następujące problemy.

Problem: Nie można uzyskać dostępu do formularza tworzenia obszaru roboczego w witrynie Azure Portal; Zostanie wyświetlony monit o zarejestrowanie się w celu uzyskania subskrypcji

Ten problem występuje, ponieważ nie masz aktywnej subskrypcji.

Możesz na przykład zarejestrować się w 30-dniowej bezpłatnej subskrypcji platformy Azure, która obejmuje bezpłatne środki na korzystanie z platformy Azure w wysokości 200 USD. Należy pamiętać, że te środki na korzystanie z platformy Azure nie są takie same jak środki na korzystanie z usługi Azure Quantum i nie kwalifikują się do użycia u dostawców sprzętu kwantowego. Po 30 dniach rejestracji lub po wykorzystaniu 200 USD bezpłatnych środków na korzystanie z platformy Azure (w zależności od tego, co nastąpi wcześniej), musisz przejść do subskrypcji z płatnością zgodnie z rzeczywistym użyciem, aby kontynuować korzystanie z usług Azure Quantum. Po utworzeniu aktywnej subskrypcji witryna Azure Portal umożliwi dostęp do formularza tworzenia obszaru roboczego.

Aby wyświetlić listę subskrypcji i skojarzonych ról, zobacz Sprawdzanie subskrypcji.

Problem: Opcja Szybkiego tworzenia jest niedostępna

Aby użyć opcji Szybkie tworzenie, musisz być właścicielem wybranej subskrypcji. Aby wyświetlić listę subskrypcji i skojarzonych ról, zobacz Sprawdzanie subskrypcji. Jeśli jesteś współautorem subskrypcji, możesz użyć opcji Tworzenie zaawansowane, aby utworzyć obszar roboczy.

Problem: Nie możesz utworzyć lub wybrać grupy zasobów lub konta magazynu

Ten problem występuje, ponieważ nie masz wymaganej autoryzacji na poziomie subskrypcji, grupy zasobów ani konta magazynu. Aby uzyskać więcej informacji na temat wymaganych poziomów dostępu, zobacz Wymagania dotyczące ról dotyczące tworzenia obszaru roboczego.

Problem: Po wybraniu pozycji Utwórz zostanie wyświetlony komunikat o błędzie "Weryfikacja wdrożenia nie powiodła się"

Ten komunikat o błędzie może zawierać więcej szczegółów, takich jak "Klient nie ma autoryzacji do wykonania akcji".

Ten problem występuje, ponieważ nie masz wymaganej autoryzacji na poziomie subskrypcji, grupy zasobów ani konta magazynu. Aby uzyskać więcej informacji na temat wymaganych poziomów dostępu, zobacz Wymagania dotyczące ról dotyczące tworzenia obszaru roboczego.

Jeśli dostęp został niedawno udzielony, może być konieczne odświeżenie strony. Czasami może upłynąć do jednej godziny, aby nowe przypisania ról zaczęły obowiązywać w przypadku buforowanych uprawnień w obrębie stosu.

Problem: Na karcie Dostawcy nie widzisz określonego dostawcy sprzętu kwantowego

Ten problem występuje, ponieważ dostawca nie obsługuje regionu rozliczeniowego, w którym jest ustawiona subskrypcja. Jeśli na przykład twoja subskrypcja jest ustawiona w Izraelu, karta Dostawcy nie będzie wyświetlać listy Rigetti jako dostępnego dostawcy. Aby uzyskać listę dostawców i ich dostępność według kraju/regionu, zobacz Globalna dostępność dostawców usługi Azure Quantum.

Problem: Tworzenie obszaru roboczego lub dodawanie/usuwanie dostawców kończy się niepowodzeniem z komunikatem "ResourceDeploymentFailure" lub "ProviderDeploymentFailure"

Ten problem może zawierać więcej szczegółów, takich jak "ResourceDeploymentFailure — operacja zasobu "AzureAsyncOperationWaiting" zakończona z stanem aprowizacji terminalu "Niepowodzenie". lub "ProviderDeploymentFailure — nie można utworzyć planu dla dostawcy: <nazwa dostawcy>".

Dzieje się tak, ponieważ dzierżawa nie włączyła zakupów w witrynie Azure Marketplace. Wykonaj kroki opisane w temacie Włączanie zakupów w witrynie Azure Marketplace, aby włączyć zakupy w witrynie Azure Marketplace.

Problem: Wdrażanie obszaru roboczego kwantowego lub wdrażanie konta magazynu kończy się niepowodzeniem z jednym z następujących błędów:

  • Obszar roboczy: "Operacja zapisu zasobu nie powiodła się, ponieważ osiągnięto stan aprowizacji terminalu "Niepowodzenie".
  • Konto magazynu: "Wdrożenie szablonu nie powiodło się z powodu naruszenia zasad".

Ten problem może wystąpić, jeśli zasady zabezpieczeń subskrypcji blokują tworzenie kont magazynu z włączonym dostępem publicznym. Usługa Azure Quantum obsługuje tylko konta magazynu za pośrednictwem publicznego dostępu do Internetu.

Aby rozwiązać ten problem, skontaktuj się z administratorem subskrypcji, aby uzyskać wyjątek dla konta magazynu, którego chcesz użyć.

Witryna Azure Quantum Portal

Problem: Zapisane notesy nie są ładowane

Po wybraniu pozycji Notesy w obszarze roboczym lista zapisanych notesów wyświetla pasek postępu, ale nigdy nie ładuje.

Może się to zdarzyć z trzech powodów:

  1. Jeśli konto magazynu już nie istnieje. Może się tak zdarzyć, jeśli konto magazynu połączone z obszarem roboczym zostało usunięte. Aby sprawdzić, wybierz stronę Przegląd obszaru roboczego i wybierz link do konta magazynu. Jeśli konto magazynu zostało usunięte, zostanie wyświetlony błąd 404 — Nie znaleziono .

  2. Jeśli konto magazynu nie jest włączone dla publicznego dostępu do Internetu. Aby uzyskać więcej informacji, zobacz Niepowodzenie autoryzacji.

  3. Jeśli tożsamość zarządzana obszaru roboczego nie jest współautorem konta magazynu. Sprawdź, czy tożsamość obszaru roboczego (która używa tej samej nazwy co obszar roboczy) nadal ma przypisanie roli Współautor do konta magazynu. Aby sprawdzić, wybierz stronę Przegląd obszaru roboczego i wybierz link do konta magazynu. Na stronie Przegląd konta magazynu wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) i sprawdź, czy obszar roboczy znajduje się na liście w obszarze Współautor.