Compartilhar via


Solução de problemas no Azure Quantum

Ao trabalhar com o serviço Azure Quantum, você pode enfrentar problemas de conexão ou de trabalho. Este artigo explica como solucionar esses problemas.

Problemas de conexão do espaço de trabalho

Problema: não consigo me autenticar no Azure Quantum com pytket-azure

Ao tentar autenticar para Azure Quantum com o pacote pytket-azure em um ambiente de CI usando as variáveis de ambiente "AZURE_TENANT_ID", "AZURE_CLIENT_ID" e "AZURE_CLIENT_SECRET", você poderá encontrar o seguinte erro:

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

Para resolver esse problema, use uma cadeia de conexão e a variável de ambiente "AZURE_QUANTUM_CONNECTION_STRING" em vez de se autenticar. Para obter mais informações, consulte Conectar com uma cadeia de conexão.

connection_string = "" # Add your connection string

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Problemas na submissão de tarefas

Problema: não consigo encontrar o target que quero enviar meu trabalho para

Se o Azure Quantum target em que você deseja executar seu trabalho não estiver na lista target disponível, atualize para a versão mais recente do Quantum Development Kit (QDK) para Visual Studio Code (VS Code). Para obter mais informações, consulte Atualizar o QDK.

Problema: a operação retorna um código de status inválido 'Não autorizado'

Para resolver esse problema, siga estas etapas:

  1. Entre no portal Azure e autentique sua conta.
  2. Vá para o workspace do Quantum para o qual você está tentando enviar um trabalho.
  3. No painel de navegação do workspace, selecione Controle de acesso (IAM).
  4. Selecione o botão Exibir meu acesso . O painel de atribuições é aberto.
  5. Na coluna Função da tabela Atribuições de função, verifique se você tem a função Proprietário ou Colaborador .
  6. Se você não tiver nenhuma das funções, peça ao administrador da assinatura para atribuir a você a função de Proprietário ou Colaborador para esse workspace.

Problema: "AuthorizationFailure – Esta solicitação não está autorizada a executar esta operação"

Se você receber essa mensagem mesmo quando tiver uma conexão válida com o serviço Azure Quantum, a conta de armazenamento poderá ser configurada para bloquear o acesso à rede pública. O serviço Azure Quantum dá suporte apenas a contas de armazenamento que têm acesso público à Internet.

Para verificar as configurações da conta de armazenamento, siga estas etapas:

  1. Entre no Azure portal.
  2. Vá para o seu espaço de trabalho do Quantum.
  3. Na página Visão geral , selecione a conta de Armazenamento.
  4. No painel de navegação, expanda a lista suspensa Segurança + Rede e selecione Rede.
  5. Na seção Acesso à rede pública da guia Acesso público , selecione o botão Gerenciar .
  6. Para a configuração de acesso à rede pública , selecione Habilitar. Para a configuração de escopo de acesso à rede pública , selecione Habilitar em todas as redes.
  7. Selecione o botão Salvar .

Problema: "Falha ao compilar o programa" ao enviar um programa Q# de CLI do Azure

Ao enviar um trabalho com o comando az quantum submit CLI do Azure, você pode encontrar a seguinte mensagem de erro:

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

Esse erro ocorre quando há um problema com o programa Q# que faz com que a compilação falhe. Verifique se o código Q# tem a sintaxe adequada.

Problema: erro do compilador "Número incorreto de parâmetros de porta"

Quando você envia um trabalho para o Quantinuum de um ambiente de Jupyter Notebook ou CLI local e está usando o tradutor herdado do QASM (OPENQASM 2.0), você pode encontrar este erro:

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

Esse erro ocorre quando uma vírgula "" ou outro caractere fora do período é usado como um separador decimal. Substitua todos os separadores decimais fora do período por períodos ".". Por exemplo:

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

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

Problema: erro do compilador "não disponível para a configuração de compilação atual"

Ao executar uma célula de código Q# em um Jupyter Notebook no VS Code, você pode encontrar o erro:

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

Esse erro indica que você define o perfil QIR (representação intermediária quântica) target como Base quando a função requer o perfil irrestritotarget . Se você não especificar um tipo de perfil target, o compilador definirá automaticamente target como Irrestrito.

Proibido: a operação retornou o código de status inválido 'Proibido'

Ao enviar seu primeiro trabalho, você pode obter um 'forbidden' código de erro.

Esse problema ocorre quando você cria um novo workspace no portal do Azure e Azure Quantum falha ao concluir a atribuição de função que vincula o workspace à conta de armazenamento especificada. Isso pode acontecer quando você fecha a guia ou o navegador da Web antes que a criação do espaço de trabalho seja concluída.

Para verificar se você está enfrentando um problema relacionado à atribuição de função, siga estas etapas:

  1. Vá para o espaço de trabalho Quantum no portal do Azure.
  2. Na página Visão geral , selecione a conta de Armazenamento.
  3. No painel de navegação, selecione Controle de Acesso (IAM).
  4. Escolha a guia Atribuições de função .
  5. Na coluna Função, verifique se a conta de armazenamento do seu workspace possui as funções Colaborador da Conta de Armazenamento e Colaborador de Dados do Blob de Armazenamento.

Se o workspace não tiver essas duas funções na conta de armazenamento, siga um destes procedimentos:

  • Crie um novo workspace e verifique se a criação do workspace é concluída antes de fechar a janela ou a guia do navegador da Web.
  • Atribua as funções Colaborador da Conta de Armazenamento e Colaborador de Dados de Blob de Armazenamento para o seu espaço de trabalho na conta de armazenamento.

Problema: o trabalho falha devido ao código de erro: QIRPreProcessingFailed

Quando você envia um trabalho para um Rigetti target e o trabalho falha, você pode ver a seguinte mensagem de erro no console Job management para seu espaço de trabalho quântico no portal do Azure.

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

Esse erro pode ser causado por um conflito de dependência com uma versão anterior de pyqir ou qiskit-qir. Desinstale todas as versões do pyqir, pyqir-* e qiskit-qir no computador local e, em seguida, instale ou atualize a biblioteca Python qdk com os extras azure e qiskit:

pip install --upgrade "qdk[azure,qiskit]"

Problema: Recuperação de informações básicas sobre trabalhos falhados

Quando você envia um trabalho para um hardware target, seu trabalho pode ficar na fila por várias horas ou dias antes que o trabalho falhe.

Para recuperar mais informações sobre a falha do trabalho, siga um destes procedimentos:

  • Para exibir a saída do trabalho ou a mensagem de erro, use o método get_results() do módulo qdk.azure Python:

    job.get_results()
    
  • No espaço de trabalho do Quantum no portal do Azure, acesse o painel Gerenciamento de Trabalhos no menu suspenso Operações e escolha o trabalho Nome para abrir o painel de detalhes do trabalho.

  • No seu workspace Quantum no portal Azure, vá para o painel Providers no dropdown Operations. Verifique se o target hardware está disponível. Se o target status estiver Degradado, as tarefas poderão permanecer na fila por mais tempo do que o normal. Às vezes, os trabalhos são processados, mas às vezes eles ultrapassam o tempo limite e retornam um erro de target indisponível.

Problema: Azure Quantum me pede para me autenticar quando me conecto programaticamente ao meu workspace

Se você estiver usando o SDK do Azure Quantum Python e estiver se conectando ao seu workspace usando a classe AzureQuantumProvider, poderá experimentar um pop-up para se autenticar no Azure sempre que executar o script.

Esse pop-up ocorre porque o token de segurança é redefinido sempre que você executa o script.

Para resolver esse problema, execute az login do CLI do Azure. Para obter mais informações, consulte az login.

Problemas do estimador de recursos Quantum da Microsoft

Os problemas a seguir podem fazer com que os trabalhos de estimativa de recursos falhem.

Problema: o algoritmo quântico deve conter pelo menos um estado T ou medição

Para considerar o mapeamento de um programa quântico arbitrário para uma matriz 2D de qubits lógicos, o estimador de recursos pressupõe que a Computação de Pauli Sequencial de Síntese Paralela (PSSPC) seja executada no programa de entrada. Nessa abordagem, todas as operações de Clifford são comutadas através de todas as portas T, portas de rotação e operações de medição, restando uma única operação de Clifford que pode ser avaliada de forma eficiente de maneira clássica. Portanto, um programa quântico que não contém estados T, por exemplo, de portões T ou portas de rotação, ou operações de medição não requer recursos físicos de computação quântica. Para obter mais informações sobre a Computação Sequencial de Pauli de Síntese Paralela, consulte arXiv:2211.07629, Apêndice D.

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

Problema: a taxa de erro da porta T física é muito alta

A taxa de erro de estado T lógico depende do orçamento de erro e do número de estados T no programa quântico. As fábricas T são usadas para criar estados T com a taxa de erro lógica de estado T necessária a partir de portas T físicas, que têm uma taxa de erro de porta T física. Normalmente, a taxa de erro do portão T físico é maior do que a taxa de erro da porta T lógica necessária. Em alguns cenários, a taxa de erro de porta T física é significativamente maior em comparação com a taxa de erro de estado T lógica necessária, de modo que nenhuma fábrica T pode ser encontrada que possa produzir estados T lógicos de qualidade suficiente.

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

Para resolver esse problema, execute um destes procedimentos:

  • Aumente o orçamento de erro, seja o total ou especificamente a parte destinada aos estados T.
  • Reduza a taxa de erro da porta T física nos parâmetros de qubit.
  • Reduza o número de estados T no programa quântico reduzindo as portas T, as portas de rotação e as portas de Toffoli.

Problema: a taxa de erro da porta T física é muito baixa

Quando a taxa de erro do portão T físico for menor do que a taxa de erro lógica necessária do estado T, você não precisará de um gerador de T porque a taxa de erro do portão T físico é suficiente. No entanto, você ainda precisa considerar o impacto das unidades de transferência que transferem os estados T físicos da distância de código 1 para a distância de código do algoritmo (consulte arXiv:2211.07629, Apêndice C). Em geral, na presença de fábricas do tipo T, o custo das unidades de transferência é insignificante.

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.

Para resolver esse problema, execute um destes procedimentos:

  • Aumente a taxa de erro da porta T física nos parâmetros de qubit para a taxa de erro de estado T lógico necessária.
  • Reduza o orçamento de erros ou apenas a parte referente aos estados T.

Problema: a taxa de erro deve ser um número entre 0 e 1

As taxas de erro só podem ter um valor entre 0 e 1. Para que a correção de erros seja eficaz, a taxa de erros físicos para portões e medidas deve estar abaixo de um valor que depende das propriedades do código de correção de erro e da taxa de erro lógica necessária.

Para resolver esse problema, execute um destes procedimentos:

  • Aumente o orçamento de erros, seja o total ou a parte destinada a erros lógicos.
  • Reduza as taxas de erros físicos nos parâmetros de qubit.

Problema: o tempo máximo de execução e o número máximo de qubits físicos são mutuamente exclusivos

O avaliador de recursos aceita apenas uma das restrições maxDuration ou maxPhysicalQubits. Se você fornecer ambas as restrições maxDuration e maxPhysicalQubits para um único trabalho, então o trabalho retornará o erro BothDurationAndPhysicalQubitsProvided.

Problema: executar contêiner de contagem de estimativas QIR: símbolo indefinido __quantum__rt__result_record_output

Você recebe esse erro ao gerar o QIR para circuitos do Qiskit com o pacote qiskit_qir Python e não define o parâmetro record_output como False.

Para evitar esse erro, siga um destes procedimentos:

  • Use o módulo qdk.azure Python para enviar circuitos do Qiskit para Azure Quantum (recomendado).
  • Ao usar o pacote qiskit_qir Python, defina o parâmetro record_output para False antes de enviar o circuito.

Problemas na criação do workspace do Azure Quantum

Você pode enfrentar os seguintes problemas ao criar um workspace do Quantum no portal do Azure.

Problema: você não pode acessar o formulário de criação do workspace no portal do Azure e é solicitado que você se inscreva para uma assinatura em vez disso

Esse problema ocorre porque você não tem uma assinatura de Azure ativa.

Ao se inscrever para uma assinatura do Azure com 30 dias de avaliação gratuita, você obtém créditos gratuitos do Azure. Depois de usar todos os seus créditos gratuitos ou após 30 dias de inscrição, você precisará atualizar para uma assinatura pagamento conforme o uso para continuar usando os serviços do Azure Quantum. Quando você tem uma assinatura ativa, o portal Azure permite que você acesse o formulário de criação do workspace.

Para ver uma lista de suas assinaturas e funções associadas, consulte Verificar suas assinaturas.

Observação

Os créditos do Azure da assinatura de teste gratuito de 30 dias não são elegíveis para uso em provedores de hardware quântico.

Problema: a opção de criação rápida não está disponível

Você deve ser proprietário de uma assinatura para usar a opção De criação rápida . Para ver uma lista de suas assinaturas e funções associadas, consulte Verificar suas assinaturas. Se você for um Colaborador de assinatura, poderá usar a opção de criação avançada para criar um workspace.

Problema: não é possível criar ou selecionar um grupo de recursos ou uma conta de armazenamento

Esse problema ocorre porque você não tem a autorização necessária no nível da assinatura, do grupo de recursos ou da conta de armazenamento. Para obter mais informações sobre os níveis de acesso necessários, consulte Requisitos de função para criar um workspace.

Problema: uma mensagem de erro "Falha na Validação de Implantação" é exibida quando você escolhe Criar

Essa mensagem de erro pode incluir mais detalhes, como "O cliente não tem autorização para executar a ação".

Esse problema ocorre porque você não tem a autorização necessária no nível da assinatura, do grupo de recursos ou da conta de armazenamento. Para obter mais informações sobre os níveis de acesso necessários, consulte Requisitos de função para criar um workspace.

Se você recebeu acesso recentemente, talvez seja necessário atualizar a página. As novas atribuições de função podem levar até uma hora para entrar em vigor nas permissões em cache em toda a pilha.

Problema: você não vê um provedor de hardware quântico específico na guia Provedores

Esse problema ocorre porque o provedor não dá suporte à região de cobrança na qual sua assinatura está definida. Para obter uma lista de provedores e sua disponibilidade por país/região, consulte Disponibilidade global de provedores de Azure Quantum.

Problema: a criação ou a adição/remoção de provedores do workspace falham com "ResourceDeploymentFailure" ou "ProviderDeploymentFailure"

Esse problema pode incluir mais detalhes, como "ResourceDeploymentFailure - A operação de recurso 'AzureAsyncOperationWaiting' foi concluída com o estado de provisionamento de terminal 'Failed'.", ou "ProviderDeploymentFailure - Falha ao criar um plano para o provedor: <Nome do Provedor>".

Essa falha ocorre porque o locatário não habilitou compras Azure Marketplace. Siga as etapas em Habilitar compras do Azure Marketplace para habilitar compras no Azure Marketplace.

Problema: Falha na implantação de um espaço de trabalho quântico ou conta de armazenamento

Ao tentar implantar uma conta de armazenamento ou workspace do Quantum, você poderá receber um dos seguintes erros:

  • Workspace: "A operação de gravação de recursos não foi concluída com êxito, porque atingiu o estado de provisionamento de terminal 'Falha'".
  • Conta de armazenamento: "A implantação do modelo falhou devido à violação de política."

Esse problema poderá ocorrer se a política de segurança da assinatura bloquear a criação de contas de armazenamento que tenham acesso público habilitado. O serviço Azure Quantum dá suporte apenas a contas de armazenamento que têm acesso público à Internet.

Para resolver isso, trabalhe com o administrador da assinatura para obter uma exceção para a conta de armazenamento que você deseja usar.