Rozwiązywanie problemów z usługą Azure Quantum

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

Przesyłanie zadań

Problem: Brak targets

Jeśli brakuje miejsca, w target którym chcesz uruchomić zadanie z dostępnej target listy, prawdopodobnie musisz zaktualizować do najnowszej Quantum Development Kit wersji programu dla 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 Azure Portal (https://portal.azure.com) i uwierzytelnij swoje konto.

  2. W obszarze Nawiguj wybierz pozycję Subskrypcje i wybierz 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 ról .

    Uwaga

    Jeśli nie widzisz karty Przypisania ról, może być konieczne rozwinięcie portalu w trybie pełnoekranowym 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 swoje konto.

  8. Wybierz pozycję Zapisz.

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

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

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

Podczas próby przesłania zadania w wierszu polecenia za pomocą 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 inny niż kropka jest używany jako separator dziesiętny, co jest powszechne w wielu językach. Zastąp wszystkie separatory dziesiętne bez kropki "."

// 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 programistycznych.

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

Po uruchomieniu komórki kodu języka Q# w 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 nieograniczonegotarget profilu. Aby ustawić profil na targetBez 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#: nieograniczone.

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.

Możesz sprawdzić, czy występuje problem z przypisaniem roli, wykonując następujące kroki:

  • Przejdź do nowego obszaru roboczego kwantowego w witrynie Azure Portal
  • W obszarze Przegląd>Essentials>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:
    • Twórca nowy obszar roboczy i upewnij się, że przed zamknięciem karty lub okna przeglądarki internetowej należy poczekać na ukończenie tworzenia obszaru roboczego.
    • Dodawanie odpowiedniego przypisania roli na koncie magazynu
      • Access Control (IAM) > 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 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ą 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 o niepowodzeniu:

  • 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 pozycję Nazwa zadania, aby otworzyć okienko szczegółów.
  • W obszarze roboczym witryny Azure Portal dostawcy operacji >selecd. Sprawdź dostępność maszyny target . Zadania przesłane do targets stanu Obniżona wydajność mogą pozostać w kolejce dłużej niż zwykle. Czasami zadania są przetwarzane, ale czasami kończą się limitem czasu i zwracają błąd target niedostępności.

Problem: Podczas programowego nawiązywania połączenia z obszarem roboczym jest wyświetlany monit o uwierzytelnienie

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 az login polecenie przy użyciu interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz az login.

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

Od qiskit 1.0 qiskit.tools moduł, 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 kwantowych platformy Azure

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 T lub pomiar

Aby uwzględnić mapowanie dowolnego programu kwantowego na tablicę 2D kubitów logicznych, narzędzie do szacowania zasobów zakłada, że przetwarzanie sekwencyjne syntezy równoległej 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 obrotu i operacje pomiaru, pozostawiając pojedynczą operację Clifford, która może być skutecznie 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 obrotu, 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: Szybkość błędów bramy fizycznej 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łędu bramy T jest znacznie wyższa niż wymagana logiczna szybkość błędów bramy T. W niektórych scenariuszach szybkość błędu bramy fizycznej T jest znacznie wyższa w porównaniu z wymaganym logicznym współczynnikiem 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łędu , łą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 bramy T, bramy obrotu i bramy Toffoli.

Problem: Szybkość błędów bramy fizycznej T jest zbyt niska

Istnieje również przeciwny scenariusz, w którym fizyczny współczynnik błędów bramy T jest niższy niż wymagana szybkość błędu stanu logicznego T. W takich przypadkach nie jest wymagana żadna fabryka T, ponieważ fizyczna szybkość błędu bramy T jest już wystarczająca. Wymaga to jednak dokładnego rozważenia wpływu jednostek transferu, które przenoszą 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 nieznaczny.

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łędu lub tylko część dla stanów T.

Problem: Szybkość 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 poprawek błędów był skuteczny, fizyczny współczynnik błędów dla bram i pomiarów musi być poniżej wartości, która zależy od właściwości kodu korekty błędu 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 fizycznych kubitów wykluczają się wzajemnie

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

Problem: Uruchamianie kontenera liczników szacowania QIR: niezdefiniowany symbol __quantum__rt__result_record_output

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

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

  • Użyj pakietu azure_quantum Python do przesyłania obwodów qiskit do usługi Azure Quantum (zalecane).
  • W przypadku korzystania z pakietu qiskit_qir Python należy ustawić record_output parametr na wartość False przed przesłaniem obwodu.

Tworzenie obszaru roboczego usługi Azure Quantum

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

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

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

Na przykład możesz zarejestrować się w celu skorzystania z 30-dniowej bezpłatnej wersji próbnej subskrypcji platformy Azure, która obejmuje bezpłatne środki na korzystanie z platformy Azure w wysokości 200 USD (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 bezpłatnych środków na korzystanie z platformy Azure w wysokości 200 USD (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 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 Zaawansowane tworzenie , aby utworzyć obszar roboczy.

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

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

Problem: komunikat o błędzie "Walidacja wdrożenia nie powiodło się" po wybraniu Twórca

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 autoryzacji wymaganej na poziomie subskrypcji, grupy zasobów lub konta magazynu. Aby uzyskać więcej informacji na temat wymaganych poziomów dostępu, zobacz Wymagania dotyczące roli 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ć za pośrednictwem buforowanych uprawnień w stosie.

Problem: Nie widzisz określonego dostawcy sprzętu kwantowego na karcie Dostawcy

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 "Failed". lub "ProviderDeploymentFailure — nie można utworzyć planu dla dostawcy: <nazwa dostawcy>".

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

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 się.

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

  1. Jeśli konto magazynu już nie istnieje. Może się to 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 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 (IAM) i sprawdź, czy obszar roboczy znajduje się na liście w obszarze Współautor.