Устранение неполадок с Azure Quantum

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

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

Проблема: отсутствует 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, а затем отправьте задание в эту новую рабочую область.

Проблема: «Не удалось скомпилировать программу» при попытке отправить программу 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 задано значение Базовый , а для рассматриваемой функции требуется профиль Неограниченныйtarget . Чтобы задать для профиля неограниченное значение, выполните следующие действияtarget.

  1. В программе Q# в VS Code выберите Q#: QIR base (Q#: QIR base) в нижней строке состояния.
  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-состояние или измерение

Чтобы учесть сопоставление произвольной квантовой программы с двухмерным массивом логических кубитов, оценщик ресурсов предполагает, что параллельный синтез последовательных вычислений Паули (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, приложение В). В общем, при наличии фабрик 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.
  • Сократите бюджет ошибок или только часть для состояний T.

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

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

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

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

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

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

Проблема. Запуск QIR estimate counts контейнер: неопределенный символ __quantum__rt__result_record_output

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

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

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

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

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

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

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

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

Список подписок и связанных ролей см. в статье Проверка подписок.

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

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

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

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

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

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

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

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

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

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

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

Эта проблема может включать дополнительные сведения, например "ResourceDeploymentFailure — операция ресурса AzureAsyncOperationWaiting завершена с состоянием подготовки терминала "Failed". или "ProviderDeploymentFailure - Failed to create plan for provider: <Name of the provider>".

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

Портал Azure Quantum

Проблема. Сохраненные записные книжки не загружались

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

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

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

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