Поделиться через


Устранение распространенных проблем в Azure Quantum

При работе со службой Azure Quantum вы можете столкнуться с этими распространенными проблемами. Узнайте, как их решить.

Подключение к рабочей области

Проблема. Не удается выполнить проверку подлинности в Azure Quantum с помощью pytket-azure CI

При попытке выполнить проверку подлинности в Azure Quantum с помощью пакета в среде CI с помощью pytket-azure переменных среды "AZURE_TENANT_ID", "AZURE_CLIENT_ID" и "AZURE_CLIENT_SECRET", может возникнуть ошибка:

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

Чтобы устранить эту проблему, попробуйте выполнить проверку подлинности с помощью строка подключения и переменной среды "AZURE_QUANTUM_CONNECTION_STRING". Дополнительные сведения см. в разделе "Подключение с помощью строка подключения".

connection_string = "[Copy connection string]" 

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Отправка заданий

Проблема: отсутствуют targets

target Если в доступном target списке отсутствует место выполнения задания, скорее всего, потребуется обновить до последней Quantum Development Kit версии Visual Studio Code. Дополнительные сведения см. в разделе "Обновление QDK".

Ошибка: операция возвращает код недопустимого состояния «Нет разрешения»

Способ решения проблемы:

  1. Откройте портал Azure (https://portal.azure.com) и подтвердите подлинность учетной записи.

  2. В разделе "Навигация" выберите "Подписки" и выберите свою подписку.

  3. Выберите Управление доступом (IAM).

  4. В разделе Проверка доступа найдите свой адрес электронной почты и выберите учетную запись.

  5. Вы не должны видеть роль владельца или участника, указанную в списке.

  6. Выберите вкладку Назначения ролей.

    Примечание.

    Если вкладка Назначения ролей не отображается, разверните окно портала во весь экран или закройте область Назначения <ваше имя>.

  7. Выберите раскрывающийся список "Роль", выберите "Владелец" или "Участник", а затем введите адрес электронной почты и выберите свою учетную запись.

  8. Выберите Сохранить.

  9. Теперь набор учетных записей с ролью Владелец или Участник должен отобразиться на портале.

  10. Еще раз создайте рабочую область Azure Quantum, а затем отправьте задание в эту новую рабочую область.

Проблема: "AuthorizationFailure - этот запрос не авторизован для выполнения этой операции"

Если отправка задания завершается ошибкой с этим сообщением, даже если у вас есть допустимое подключение к службе Azure Quantum, учетная запись хранения может быть настроена для блокировки доступа к общедоступной сети. Служба Azure Quantum поддерживает только учетные записи хранения через общедоступный интернет-доступ.

Чтобы проверить учетную запись хранения, выполните следующие действия.

  • На странице квантовой рабочей области на портале Azure выберите "Обзор " и выберите учетную запись хранения.
  • На странице учетной записи хранения в разделе "Безопасность и сеть" выберите "Сеть".
  • На вкладке "Брандмауэры и виртуальные сети " в общедоступном сетевом доступе убедитесь, что выбрано включение всех сетей .

Проблема: «Не удалось скомпилировать программу» при попытке отправить программу Q# через интерфейс командной строки

При попытке отправить задание из командной строки с помощью команды az quantum submit может отобразиться следующее сообщение об ошибке:

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

Эта ошибка возникает при возникновении проблемы с программой Q#, которая приводит к сбою компиляции.

Проблема: ошибка компилятора "Неправильное число параметров шлюза"

При отправке задания в Quantinuum из локальной среды Jupyter Notebook или командной строки и использовании устаревшего переводчика QASM (OPENQASM 2.0) может возникнуть эта ошибка:

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

Эта ошибка возникает, когда запятая "" или другой символ, отличный от периода, используется в качестве десятичного разделителя, как и во многих языках. Замените все разделители десятичных разделителей на точки ".".

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

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

Примечание.

Эта проблема не возникает в размещенных записных книжках на портале Azure Quantum только в локальных средах разработки.

Проблема: ошибка компилятора "недоступна для текущей конфигурации компиляции"

При запуске ячейки кода Q# в Jupyter Notebook в VS Code может возникнуть ошибка:

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

Эта ошибка означает, что для профиля QIR target задано значение Basic, а для функции, указанной в вопросе, требуется неограниченный target профиль. Чтобы задать для профиля значение "Неограниченныйtarget", выполните указанные ниже действия.

  1. Хотя в программе Q# в VS Code выберите Q#: QIR в нижней строке состояния.
  2. В верхней строке состояния выберите Q#: неограниченный.

Проблема: операция вернула код недопустимого статуса «Запрещено»

При отправке первого задания может появиться код ошибки "запрещено".

Эта проблема может появиться, если при создании рабочей области в Azure Quantum не удалось завершить назначение роли, чтобы связать новую рабочую область с указанной учетной записью хранения. Обычно это происходит, если вкладку или окно веб-браузера закрыть до завершения создания рабочей области.

Чтобы убедиться, что вы работаете с этой проблемой назначения ролей, выполните следующие действия.

  • На портале Azure перейдите к новой рабочей области для квантовых вычислений
  • В разделе "Обзор>учетной записи хранения Essentials>" выберите ссылку учетной записи хранения
  • В области навигации слева выберите Управление доступом (IAM) .
  • Выберите Назначения ролей.
  • Убедитесь, что рабочая область отображается с ролью Участник
  • Если рабочая область не отображается как участник , вы можете:
    • Создайте новую рабочую область, обязательно дождитесь завершения создания рабочей области, прежде чем закрыть вкладку или окно веб-браузера.
    • Добавление правильного назначения ролей в учетной записи хранения
      • Управление доступом (IAM) > Добавить назначение роли
      • Роль > Участник
      • Назначение доступа к > Пользователь, группа или субъект-служба
      • Выберите > [Имя рабочей области]
      • Сохранить

Проблема: задание завершается сбоем с кодом ошибки: QIRPreProcessingFailed

При отправке задания поставщику Rigetti задание завершается сбоем и сообщается в консоль управления задания в портал Azure:

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

Эта ошибка может быть вызвана конфликтом зависимостей с предыдущей версией pyqir или qiskit-qir. Удалите все версии pyqir, pyqir-qiskit-qir на локальном компьютере, а затем установите или обновите пакет Python azure-quantum с помощью параметра [qiskit]:

pip install --upgrade azure-quantum[qiskit]

Проблема. Получение основных сведений о неудачных заданиях

После отправки задания на оборудование targetзадание может находиться в очереди в течение нескольких часов или даже через два дня до сбоя.

Чтобы получить дополнительные сведения о сбое, выполните следующие действия.

  • get_results() Используйте метод с объектом задания для просмотра выходных данных или возвращаемого сообщения об ошибке:
job.get_results()
  • В рабочей области портала Azure выберите "Управление заданиями операций>", а затем выберите имя задания, чтобы открыть панель сведений.
  • В рабочей области портала Azure выберите "Поставщики операций>". Проверьте доступность target компьютера. Задания, отправленные targets в состояние "Понижение " , могут оставаться в очереди дольше, чем обычно. Иногда задания обрабатываются, но иногда они истекают и возвращают ошибку недоступностиtarget.

Проблема. При программном подключении к рабочей области я постоянно запрашиваю проверку подлинности.

Если вы используете пакет SDK Azure Quantum Python (например, записные книжки Jupyter) и подключаетесь к рабочей области с помощью класса AzureQuantumProvider, то при каждом запуске скрипта может появиться всплывающее окно для проверки подлинности в Azure.

Это происходит, так как маркер безопасности сбрасывается при каждом запуске скрипта.

Эту проблему можно устранить с az login помощью Azure CLI. Дополнительные сведения см. в статье az login.

Проблема. После обновления пакета azure-quantum при мониторинге задания возникает ошибка ModuleNotFoundError: нет модуля с именем qiskit.tools.

По состоянию на Qiskit 1.0 модуль, qiskit.tools который требуется для job_monitor() функции, устарел. Для мониторинга заданий wait_for_final_state() используйте функции или 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()

Оценка ресурсов Azure Quantum

Следующие распространенные сценарии могут препятствовать завершению заданий оценки ресурсов. Узнайте, как устранить их.

Проблема. Квантовый алгоритм должен содержать по крайней мере одно состояние или измерение T

Чтобы учитывать сопоставление произвольной квантовой программы с 2D-массивом логических кубитов, в средстве оценки ресурсов предполагается, что параллельное синтезирование последовательных вычислений Паули (PSSPC) (см . arXiv:2211.07629, Приложение D) выполняется на входной программе. В этом подходе все операции Клиффорда коммутируются через все ворота T, шлюзы поворота и операции измерения, оставляя одну операцию Clifford, которая может быть эффективно оценена классическим образом. Таким образом, квантовая программа, содержащая ни состояния T, например из шлюзов T или шлюзов поворота, ни для операций измерения не требуется никаких физических квантовых вычислительных ресурсов.

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

Проблема: слишком высокая скорость ошибок физического шлюза T

Частота ошибок логического состояния T зависит от бюджета ошибок и количества состояний T в квантовой программе. Фабрики T используются для создания состояний T с требуемой логической скоростью ошибок состояния T из физических ворот T, которые имеют физическую частоту ошибок шлюза T. Как правило, физическая частота ошибок шлюза T гораздо выше, чем требуемая логическая скорость ошибки шлюза T. В некоторых сценариях частота ошибок физического шлюза T значительно выше по сравнению с требуемой скоростью ошибок логического состояния T, поэтому не удалось найти фабрику T, которая может производить логические состояния T достаточного качества.

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

Вот что можно сделать в таком сценарии:

  • Увеличьте бюджет ошибок либо общий, либо часть для состояний T.
  • Уменьшите частоту ошибок физического шлюза T в параметрах кубита.
  • Уменьшите число состояний T в квантовой программе, уменьшая шлюзы T, вращаемые ворота и тоффоли.

Проблема: частота ошибок физического шлюза T слишком низка

Существует также противоположный сценарий, в котором частота ошибок физического шлюза T ниже требуемой логической частоты ошибок состояния T. В таких случаях не требуется фабрика T, так как физическая скорость ошибок T уже имеет достаточное качество. Однако для этого требуется тщательное рассмотрение влияния единиц передачи, которые передают физические состояния T с расстояния кода 1 на расстояние кода алгоритма (см . arXiv:2211.07629, приложение C). В общем, в присутствии фабрик T стоимость трансферных единиц не является незначительной.

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.

Вот что можно сделать в таком сценарии:

  • Увеличьте частоту ошибок физического шлюза в параметрах кубита до требуемой логической частоты ошибок состояния T.
  • Уменьшите бюджет ошибок или только часть для состояний T.

Проблема. Частота ошибок должна быть числом от 0 до 1

Частота ошибок всегда должна быть значениями от 0 до 1. Кроме того, для эффективной исправления ошибок физическая частота ошибок для шлюзов и измерений должна быть ниже значения, зависящее от свойств кода исправления ошибок и требуемой логической частоты ошибок.

Вот что можно сделать в таком сценарии:

  • Увеличьте бюджет ошибок, общий или часть для логических ошибок.
  • Уменьшите физические частоты ошибок в параметрах кубита.

Проблема. Ограничения максимальной среды выполнения и максимальное количество физических кубитов являются взаимоисключающими

Оценка ресурсов принимает только одно или maxDuration ограничение в то время, maxPhysicalQubits но не два. Если вы предоставляете оба maxDuration и maxPhysicalQubitsограничения для одного задания, он возвращает ошибку BothDurationAndPhysicalQubitsProvided .

Проблема: запуск контейнера счетчиков QIR: неопределенный символ __quantum__rt__result_record_output

Эта ошибка приводит к созданию QIR для каналов Qiskit через пакет Python qiskit_qir без задания record_output параметра False.

Чтобы избежать этой ошибки, выполните одно из следующих действий:

  • Используйте пакет Python azure_quantum для отправки каналов Qiskit в Azure Quantum (рекомендуется).
  • При использовании пакета Python qiskit_qir обязательно задайте record_output параметр перед False отправкой канала.

Создание рабочей области Azure Quantum

Следующие проблемы могут возникнуть при использовании портал Azure для создания рабочей области.

Проблема. Вы не можете получить доступ к форме создания рабочей области в портал Azure; вам предлагается зарегистрироваться для подписки.

Эта проблема возникает, так как у вас нет активной подписки.

Например, вы могли зарегистрироваться в 30-дневной бесплатной пробной подписке Azure, которая включает в себя бесплатные кредиты Azure для использования в службах Azure. Обратите внимание, что эти кредиты Azure не совпадают с кредитами Azure Quantum и не могут использоваться для поставщиков квантовых оборудования. После 30 дней регистрации или после того, как вы потребляли 200 долларов США бесплатного кредита Azure (независимо от того, что происходит в первую очередь), необходимо обновить подписку на оплату по мере использования azure Quantum. После активной подписки портал Azure позволит получить доступ к форме создания рабочей области.

Чтобы просмотреть список подписок и связанных ролей, см. статью "Проверка подписок".

Проблема. Параметр быстрого создания недоступен

Вы должны быть владельцем выбранной подписки, чтобы использовать параметр быстрого создания. Чтобы просмотреть список подписок и связанных ролей, см. статью "Проверка подписок". Если вы являетесь участником подписки, можно использовать параметр "Дополнительное создание" для создания рабочей области.

Проблема. Не удается создать или выбрать группу ресурсов или учетную запись хранения

Эта проблема возникает из-за отсутствия авторизации на уровне подписки, группы ресурсов или учетной записи хранения. Дополнительные сведения о необходимых уровнях доступа см. в разделе "Требования к роли" для создания рабочей области.

Проблема: сообщение об ошибке проверки развертывания отображается после нажатия кнопки "Создать"

Это сообщение об ошибке может содержать дополнительные сведения, такие как "Клиент не имеет авторизации для выполнения действий".

Эта проблема возникает из-за отсутствия авторизации на уровне подписки, группы ресурсов или учетной записи хранения. Дополнительные сведения о необходимых уровнях доступа см. в разделе "Требования к роли" для создания рабочей области.

Если доступ был предоставлен недавно, может потребоваться обновить страницу. Иногда может потребоваться до одного часа, чтобы новые назначения ролей вступают в силу над кэшируемыми разрешениями в стеке.

Проблема. На вкладке "Поставщики" не отображается конкретный поставщик квантового оборудования

Эта проблема возникает, так как поставщик не поддерживает регион выставления счетов, в который настроена подписка. Например, если ваша подписка установлена в Израиле, вкладка "Поставщики" не будет перечислять Rigetti в качестве доступного поставщика. Список поставщиков и их доступность по странам или регионам см. в статье "Глобальная доступность поставщиков Azure Quantum".

Проблема. Создание рабочей области или добавление или удаление поставщиков завершается сбоем с параметром ResourceDeploymentFailure или ProviderDeploymentFailure.

Эта проблема может включать дополнительные сведения, такие как ResourceDeploymentFailure — операция ресурса AzureAsyncOperationWaiting, завершенная с состоянием подготовки терминала "Сбой". Или "ProviderDeploymentFailure - Не удалось создать план для поставщика: <имя поставщика>".

Это происходит из-за того, что клиент не включил покупки в Azure Marketplace. Выполните действия, описанные в разделе "Включение покупок в Azure Marketplace" , чтобы включить покупки в Azure Marketplace.

Проблема. Развертывание квантовой рабочей области или развертывание учетной записи хранения завершается сбоем с одной из следующих ошибок:

  • Рабочая область: "Не удалось завершить операцию записи ресурсов, так как она достигла состояния подготовки терминала "Сбой".
  • Учетная запись хранения: "Сбой развертывания шаблона из-за нарушения политики".

Эта проблема может возникнуть, если политика безопасности подписки блокирует создание учетных записей хранения с включенным общедоступным доступом. Служба Azure Quantum поддерживает только учетные записи хранения через общедоступный интернет-доступ.

Чтобы устранить эту проблему, обратитесь к администратору подписки, чтобы получить исключение для учетной записи хранения, которую вы хотите использовать.

Портал Azure Quantum

Проблема: сохраненные записные книжки не загружают

После выбора записных книжек в рабочей области список сохраненных записных книжек отображает индикатор хода выполнения, но никогда не загружается.

Это может произойти по трем причинам:

  1. Если учетная запись хранения больше не существует. Это может произойти, если учетная запись хранения, связанная с рабочей областью, была удалена. Чтобы проверить, выберите страницу обзора рабочей области и выберите ссылку на учетную запись хранения. Если учетная запись хранения удалена, появится ошибка 404 — не найдена .

  2. Если учетная запись хранения не включена для общедоступного доступа к Интернету. Дополнительные сведения см. в разделе "Сбой авторизации".

  3. Если управляемое удостоверение рабочей области не является участником учетной записи хранения. Убедитесь, что удостоверение рабочей области (которое использует то же имя, что и рабочая область), по-прежнему имеет назначение роли участника учетной записи хранения. Чтобы проверить, выберите страницу обзора рабочей области и выберите ссылку на учетную запись хранения. На странице обзора учетной записи хранения выберите элемент управления доступом (IAM) и убедитесь, что рабочая область указана в разделе "Участник".