Solução de problemas comuns no Azure Quantum
Ao trabalhar com o serviço do Azure Quantum, você pode encontrar esses problemas comuns. Veja como você pode resolvê-los.
Conectando-se ao seu espaço de trabalho
Problema: não é possível autenticar no Azure Quantum por meio da CI pytket-azure
Ao tentar autenticar no Azure Quantum por meio do pytket-azure
pacote em um ambiente de CI usando as variáveis de ambiente "AZURE_TENANT_ID", "AZURE_CLIENT_ID" e "AZURE_CLIENT_SECRET", você pode encontrar o erro:
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
Para resolver esse problema, tente autenticar usando uma cadeia de conexão e a variável de ambiente "AZURE_QUANTUM_CONNECTION_STRING". Para obter mais informações, consulte Conectar-se com uma cadeia de conexão.
connection_string = "[Copy connection string]"
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
Envio de trabalhos
Problema: Ausente targets
Se o target local onde você deseja executar seu trabalho estiver ausente na lista disponível target , você provavelmente precisará atualizar para a versão mais recente do para Visual Quantum Development Kit Studio 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'
Etapas para resolver o problema:
Abra o portal do Azure (https://portal.azure.com) e autentique sua conta.
Em Navegar, selecione Assinaturas e selecione sua assinatura.
Selecione IAM (Controle de acesso) .
Em Verificar acesso, procure seu endereço de email e selecione a conta.
Você não deve ver uma função de Proprietário ou Colaborador listada.
Selecione a guia Atribuições de função.
Observação
Se você não vir a guia Atribuições de função, talvez seja necessário expandir o portal para tela inteira ou fechar o painel Atribuições de <seu nome>.
Selecione o menu suspenso Função , selecione Proprietário ou Colaborador, insira seu endereço de e-mail e selecione sua conta.
Selecione Salvar.
Agora você deve ver seu conjunto de contas configurado com a função de proprietário ou Colaborador.
Crie o workspace do Azure Quantum novamente e envie um trabalho para esse novo workspace.
Problema: "AuthorizationFailure - Esta solicitação não está autorizada a executar esta operação"
Se um envio de trabalho falhar com essa mensagem, mesmo que você tenha uma conexão válida com o serviço do Azure Quantum, a conta de armazenamento poderá ser configurada para bloquear o acesso à rede pública. O serviço Azure Quantum só dá suporte a contas de armazenamento por meio de acesso público à Internet.
Para verificar a conta de armazenamento:
- Na página do workspace quântico no Portal do Azure, selecione Visão geral e selecione a conta de armazenamento.
- Na página da conta de armazenamento, em Segurança + rede, selecione Rede.
- Na guia Firewalls e redes virtuais em Acesso à rede pública, verifique se a opção Habilitar todas as redes está selecionada.
Problema: "Falha ao compilar o programa" ao tentar enviar um programa Q# por meio da CLI
Ao tentar enviar um trabalho no prompt de comando usando o comando az quantum submit
, a seguinte mensagem de erro pode ser exibida:
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.
Problema: erro do compilador "Número incorreto de parâmetros de porta"
Ao enviar um trabalho para o Quantinuum a partir de um Jupyter Notebook local ou ambiente de linha de comando, e usando o tradutor QASM herdado (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 que não seja ponto é usado como separador decimal, como é comum em muitos idiomas. Substitua quaisquer separadores decimais que não sejam de ponto por pontos ".".
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
Observação
Esse problema não ocorre em notebooks hospedados no portal do Azure Quantum, somente em ambientes de desenvolvimento locais.
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 o perfil QIR target está definido como Básico e a função em questão requer o perfil Irrestritotarget . Para definir o target perfil como Irrestrito:
- Enquanto estiver no programa Q# no VS Code, selecione Q#: QIR base na barra de status inferior.
- Nas opções exibidas na barra de status superior, selecione Q#: irrestrito.
Proibido: a operação retornou o código de status inválido 'Proibido'
Ao enviar seu primeiro trabalho, você pode receber um código de erro 'proibido'.
Esse problema pode ocorrer durante a criação de um workspace, se o Azure Quantum não conseguir concluir a atribuição de função para vincular o novo workspace à conta de armazenamento que foi especificada. Um cenário típico para essa situação ocorrerá se a janela da guia ou do navegador da Web for fechada antes da conclusão da criação do workspace.
Você pode verificar se está enfrentando esse problema de atribuição de função seguindo estas etapas:
- Navegue até o novo workspace quantum no portal do Azure
- Em Visão geral>da conta de armazenamento do Essentials>, selecione o link da conta de armazenamento
- Selecione Controle de acesso (IAM) na navegação à esquerda
- Selecione Atribuições de função
- Verifique se seu workspace aparece como Colaborador
- Se o espaço de trabalho não aparecer como um Colaborador , você poderá:
- Criar um novo workspace e lembrar-se de aguardar a conclusão da criação do workspace antes de fechar a janela ou a guia do navegador da Web.
- Adicionar a atribuição de função adequada na conta de armazenamento
- Controle de Acesso (IAM) > Adicionar atribuições de função
- Função > Colaborador
- Atribuir acesso a > Usuário, grupo ou entidade de serviço
- Selecionar > [Nome do workspace]
- Salvar
Problema: o trabalho falha com o código de erro: QIRPreProcessingFailed
Quando você envia um trabalho para um provedor Rigetti, o trabalho falha e é relatado no console de gerenciamento de trabalhos 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 do pyqir ou qiskit-qir. Desinstale todas as versões do pyqir, pyqir-* e qiskit-qir em seu computador local e, em seguida, instale ou atualize o pacote Python azure-quantum usando o parâmetro [qiskit]:
pip install --upgrade azure-quantum[qiskit]
Problema: Recuperando informações básicas sobre trabalhos com falha
Depois de enviar um trabalho para um hardware target, seu trabalho pode ficar na fila por várias horas, ou até mesmo um ou dois dias, antes de falhar.
Para recuperar mais informações sobre a falha:
- Use o
get_results()
método com o objeto de trabalho para exibir a saída ou a mensagem de erro retornada:
job.get_results()
- No workspace do Portal do Azure, selecione Gerenciamento de Trabalho de Operações > e, em seguida, selecione o Nome do trabalho para abrir um painel de detalhes.
- No workspace do Portal do Azure, selecione Provedores de Operações>. Verifique a disponibilidade da target máquina. Os trabalhos enviados targets com um status de Degradado podem permanecer na fila por mais tempo do que o normal. Às vezes, os trabalhos são processados, mas às vezes eles atingem o tempo limite e retornam um erro de target indisponível.
Problema: continuo sendo solicitado a autenticar ao me conectar programaticamente ao meu workspace
Se você estiver usando o SDK do Python do Azure Quantum (em notebooks Jupyter, por exemplo) e estiver se conectando ao workspace usando a classe AzureQuantumProvider, poderá experimentar um pop-up para autenticar no Azure sempre que executar o script.
Isso acontece porque seu token de segurança está sendo redefinido toda vez que você executa o script.
Você pode resolver esse problema executando az login
usando a CLI do Azure. Para obter mais informações, consulte az login.
Problema: depois de atualizar o pacote azure-quantum, recebo o erro "ModuleNotFoundError: Nenhum módulo chamado qiskit.tools" ao monitorar um trabalho
A partir do Qiskit 1.0, o qiskit.tools
módulo, que é necessário para a job_monitor()
função, foi descontinuado. Para monitorar trabalhos, use as wait_for_final_state()
funções ou .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()
Avaliador de Recursos do Azure Quantum
Os cenários comuns a seguir podem impedir que os trabalhos de estimativa de recursos sejam concluídos. Veja como resolvê-los.
Problema: o algoritmo quântico deve conter pelo menos um estado T ou medição
Para levar em conta o mapeamento de um programa quântico arbitrário para uma matriz 2D de qubits lógicos, o Avaliador de Recursos pressupõe que a Computação Sequencial de Pauli de Síntese Paralela (PSSPC) (consulte arXiv:2211.07629, Apêndice D) é executada no programa de entrada. Nessa abordagem, todas as operações de Clifford são comutadas por todas as portas T, portas de rotação e operações de medição, deixando uma única operação de Clifford que pode ser avaliada com eficiência classicamente. Portanto, um programa quântico que não contém estados T, por exemplo, de portas T ou portas de rotação, nem operações de medição não requer nenhum recurso físico de computação quântica.
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 do 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 de estado T lógico necessária de portas T físicas, que têm uma taxa de erro de porta T física . Normalmente, a taxa de erro da porta T física é muito maior do que a taxa de erro da porta T lógica necessária. Em alguns cenários, a taxa de erro da porta T física é muito maior em comparação com a taxa de erro de estado T lógico 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
Aqui está o que você pode fazer em tal cenário:
- Aumente o orçamento de erro, seja total ou parte para T estados.
- 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
Há também o cenário oposto, no qual a taxa de erro da porta T física é menor do que a taxa de erro de estado T lógico necessária. Nesses casos, nenhuma fábrica T é necessária, porque a taxa de erro da porta T física já é de qualidade suficiente. No entanto, isso requer uma consideração cuidadosa do impacto das unidades de transferência que transferem os estados físicos T 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 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.
Aqui está o que você pode fazer em tal cenário:
- 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 para os estados T.
Problema: a taxa de erro deve ser um número entre 0 e 1
As taxas de erro devem ser sempre valores entre 0 e 1. Além disso, para que a correção de erros seja eficaz, a taxa de erro físico para portas e medições deve estar abaixo de um valor que depende das propriedades do código de correção de erros e da taxa de erro lógico necessária.
Aqui está o que você pode fazer em tal cenário:
- Aumente o orçamento de erros, seja total ou parte para erros lógicos.
- Reduza as taxas de erro físico nos parâmetros de qubit.
Problema: o tempo de execução máximo das restrições e o número máximo de qubits físicos são mutuamente exclusivos
O Avaliador de Recursos aceita apenas uma restrição de maxDuration
or maxPhysicalQubits
no momento, mas não duas. Se você fornecer restrições maxDuration
e maxPhysicalQubits
para um único trabalho, ele retornará o BothDurationAndPhysicalQubitsProvided
erro.
Problema: Executar contêiner de contagens de estimativa QIR: símbolo indefinido __quantum__rt__result_record_output
Esse erro resulta da geração de QIR para circuitos Qiskit por meio do pacote qiskit_qir Python sem definir o record_output
parâmetro como False
.
Para evitar esse erro, siga um destes procedimentos:
- Use o pacote Python azure_quantum para enviar circuitos Qiskit para o Azure Quantum (recomendado).
- Ao usar o pacote qiskit_qir Python, certifique-se de definir o
record_output
parâmetro comoFalse
antes de enviar seu circuito.
Criando um workspace do Azure Quantum
Os problemas a seguir podem ocorrer quando você usa o portal do Azure para criar um workspace.
Problema: não é possível acessar o formulário de criação de workspace no portal do Azure. Você é solicitado a se inscrever para uma assinatura
Esse problema ocorre porque você não tem uma assinatura ativa.
Por exemplo, você pode ter se inscrito para a assinatura de avaliação gratuita de 30 dias do Azure, que inclui US$ 200 Créditos do Azure gratuitos para usar nos serviços do Azure. Observe que esses créditos do Azure não são os mesmos que os Créditos do Azure Quantum e não estão qualificados para uso em provedores de hardware quântico. Após 30 dias de inscrição ou depois de consumir os US$ 200 de créditos gratuitos do Azure (o que ocorrer primeiro), você deve atualizar para uma assinatura paga conforme o uso para continuar usando os serviços do Azure Quantum. Depois de ter uma assinatura ativa, o portal do Azure permitirá 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.
Problema: a opção Criação rápida não está disponível
Você deve ser um proprietário da assinatura selecionada para usar a opção 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: a mensagem de erro "Falha na validação da implantação" é exibida depois que você seleciona 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 o acesso foi concedido recentemente, talvez seja necessário atualizar a página. Às vezes, pode levar até uma hora para que novas atribuições de função entrem em vigor sobre as permissões armazenadas 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 em que sua assinatura está definida. Por exemplo, se sua assinatura estiver definida em Israel, a guia Provedores não listará o Rigetti como um provedor disponível. Para obter uma lista de provedores e sua disponibilidade por país/região, consulte Disponibilidade global de provedores do 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' concluída com o estado de provisionamento de terminal 'Falha'.", ou "ProviderDeploymentFailure – Falha ao criar plano para provedor: <Nome do provedor>".
Isso ocorre porque o locatário não habilitou as compras do Azure Marketplace. Siga as etapas em Habilitando compras do Azure Marketplace para habilitar compras do Azure Marketplace.
Problema: a implantação de um workspace quântico ou de uma conta de armazenamento falha com 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: "Falha na implantação do modelo devido à violação da política".
Esse problema poderá ocorrer se a política de segurança da assinatura bloquear a criação de contas de armazenamento com acesso público habilitado. O serviço Azure Quantum só dá suporte a contas de armazenamento por meio de 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.
Portal do Azure Quantum
Problema: os blocos de anotações salvos não são carregados
Depois de selecionar Notebooks em seu espaço de trabalho, a lista de seus notebooks salvos exibe uma barra de progresso, mas nunca é carregada.
Isso pode acontecer por três motivos:
Se a conta de armazenamento não existir mais. Isso pode acontecer se a conta de armazenamento vinculada ao workspace tiver sido excluída. Para verificar, selecione a página Visão geral do workspace e selecione o link para a conta de armazenamento. Se a conta de armazenamento tiver sido excluída, você verá um erro 404 - Não encontrado .
Se a conta de armazenamento não estiver habilitada para acesso público à Internet. Consulte Falha de autorização para obter mais informações.
Se a identidade gerenciada do workspace não for um Colaborador da conta de armazenamento. Verifique se a identidade do workspace (que usa o mesmo nome do workspace) ainda tem a atribuição de função Colaborador à conta de armazenamento. Para verificar, selecione a página Visão geral do workspace e selecione o link para a conta de armazenamento. Na página Visão geral da conta de armazenamento, selecione Controle de acesso (IAM) e verifique se o workspace está listado em Colaborador.