Técnicas de mitigação e supressão de erros
A versão beta de um novo modelo de execução está disponível. O modelo de execução dirigida oferece mais flexibilidade para personalizar seu fluxo de trabalho de mitigação de erros. Consulte o guia Modelo de execução dirigida para mais informações.
As técnicas de mitigação e supressão de erros são utilizadas para melhorar a qualidade dos resultados ao escalar para cargas de trabalho maiores. Esta página fornece explicações de alto nível sobre as técnicas de supressão e mitigação de erros disponíveis com o Qiskit.
Desacoplamento dinâmico
Os circuitos quânticos são executados em hardware IBM® como sequências de pulsos de micro-ondas que precisam ser agendados e executados em intervalos de tempo precisos. Infelizmente, interações indesejadas entre qubits podem levar a erros coerentes em qubits ociosos. O desacoplamento dinâmico funciona inserindo sequências de pulsos em qubits ociosos para cancelar aproximadamente o efeito desses erros. Cada sequência de pulsos inserida equivale a uma operação identidade, mas a presença física dos pulsos tem o efeito de suprimir erros. Há muitas escolhas possíveis de sequências de pulsos, e qual sequência é melhor para cada caso particular permanece uma área ativa de pesquisa.
Observe que o desacoplamento dinâmico é principalmente útil para circuitos que contêm lacunas nas quais alguns qubits ficam ociosos sem nenhuma operação agindo sobre eles. Se as operações no circuito estiverem muito densamente agrupadas, de modo que todos os qubits estejam ocupados na maior parte do tempo, a adição de pulsos de desacoplamento dinâmico pode não melhorar o desempenho. Na verdade, pode até piorar o desempenho devido a imperfeições nos próprios pulsos.
O diagrama abaixo representa o desacoplamento dinâmico com uma sequência de pulsos XX. O circuito abstrato à esquerda é mapeado para um cronograma de pulsos de micro-ondas no canto superior direito. O canto inferior direito representa o mesmo cronograma, mas com uma sequência de dois pulsos X inserida durante um período ocioso do primeiro qubit.

Você pode habilitar o desacoplamento dinâmico das seguintes formas:
- O passe de transpilador de desacoplamento dinâmico no Qiskit
- A opção de desacoplamento dinâmico ao usar o IBM Quantum Estimator ou o Sampler
Twirling de Pauli
O twirling, também conhecido como compilação randomizada, é uma técnica amplamente utilizada para converter canais de ruído arbitrários em canais de ruído com estrutura mais específica.
O twirling de Pauli é um tipo especial de twirling que utiliza operações de Pauli. Ele tem o efeito de transformar qualquer canal quântico em um canal de Pauli. Realizado isoladamente, pode mitigar o ruído coerente, pois o ruído coerente tende a se acumular quadraticamente com o número de operações, enquanto o ruído de Pauli se acumula linearmente. O twirling de Pauli é frequentemente combinado com outras técnicas de mitigação de erros que funcionam melhor com ruído de Pauli do que com ruído arbitrário.
O twirling de Pauli é implementado envolvendo um conjunto escolhido de portas com portas de Pauli de qubit único escolhidas aleatoriamente, de tal forma que o efeito ideal da porta permaneça o mesmo. O resultado é que um único circuito é substituído por um conjunto aleatório de circuitos, todos com o mesmo efeito ideal. Ao amostrar o circuito, as amostras são retiradas de múltiplas instâncias aleatórias, em vez de apenas uma.
Como a maioria dos erros no hardware quântico atual provém de portas de dois qubits, essa técnica é frequentemente aplicada exclusivamente a portas de dois qubits (nativas). O diagrama a seguir representa alguns twirls de Pauli para as portas CNOT e ECR. Cada circuito dentro de uma linha tem o mesmo efeito ideal.

Você pode habilitar o twirling de Pauli das seguintes formas:
- Um passe personalizado de twirling de Pauli no Qiskit
- As opções de twirling ao usar o IBM Quantum Estimator ou o Sampler
Extinção de Erros de Leitura por Twirling (TREX)
A Extinção de Erros de Leitura por Twirling (TREX) mitiga o efeito de erros de medição na estimativa de valores esperados de observáveis de Pauli. Ela se baseia na noção de medições com twirling, que são realizadas substituindo aleatoriamente portas de medição por uma sequência de (1) uma porta X de Pauli, (2) uma medição e (3) inversão de bit clássico. Assim como no twirling de portas padrão, essa sequência é equivalente a uma medição simples na ausência de ruído, conforme representado no diagrama a seguir:
Na presença de erros de leitura, o twirling de medição tem o efeito de diagonalizar a matriz de transferência de erros de leitura, tornando-a fácil de inverter. Um termo de reescalonamento do canal de ruído diagonal é aprendido por benchmarking de circuitos aleatórios inicializados no estado zero. Isso permite que o serviço remova o viés dos valores esperados resultantes do ruído de leitura. Estimar a matriz de transferência de erros de leitura requer a execução de circuitos de calibração adicionais, o que introduz uma pequena sobrecarga.
Você pode habilitar o TREX das seguintes formas:
- O addon Qiskit Mitigation para o Qiskit
- A opção
measure_mitigationao usar o IBM Quantum Estimator - O nível de resiliência ao usar o IBM Quantum Estimator
Extrapolação de ruído zero (ZNE)
A extrapolação de ruído zero (ZNE) é uma técnica para mitigar erros na estimativa de valores esperados de observáveis. Embora frequentemente melhore os resultados, não há garantia de que produza um resultado não viesado.
A ZNE consiste em duas etapas:
-
Amplificação de ruído: O circuito quântico original é executado múltiplas vezes em diferentes taxas de ruído.
-
Extrapolação: O resultado ideal é estimado extrapolando os resultados de valor esperado com ruído até o limite de ruído zero.
Tanto a etapa de amplificação de ruído quanto a de extrapolação podem ser implementadas de muitas formas diferentes. O IBM Quantum Compute implementa a amplificação de ruído por "dobramento digital de portas", o que significa que as portas de dois qubits são substituídas por sequências equivalentes da porta e seu inverso. Por exemplo, substituir um unitário por resultaria em um fator de amplificação de ruído de 3. Para a extrapolação, você pode escolher entre várias formas funcionais, incluindo um ajuste linear ou exponencial. A imagem abaixo representa o dobramento digital de portas à esquerda e o procedimento de extrapolação à direita.

A sobrecarga deste método escala com o número de fatores de ruído. As configurações padrão amostram o valor esperado em três fatores de ruído, resultando em uma sobrecarga de aproximadamente 3x.
Você pode habilitar a ZNE das seguintes formas:
- O addon Qiskit Mitigation para o Qiskit
- A opção
zne_mitigationao usar o IBM Quantum Estimator - O nível de resiliência ao usar o IBM Quantum Estimator
Amplificação Probabilística de Erros (PEA)
Um dos principais desafios na ZNE é amplificar com precisão o ruído que afeta o circuito alvo. O dobramento de portas fornece uma maneira fácil de realizar essa amplificação, mas pode ser impreciso e levar a resultados incorretos. Veja o artigo "Scalable error mitigation for noisy quantum circuits produces competitive expectation values", e especificamente a página 4 das informações suplementares para detalhes. A amplificação probabilística de erros fornece uma abordagem mais precisa para a amplificação de erros por meio do aprendizado de ruído.
A PEA é uma técnica mais sofisticada que realiza experimentos preliminares para reconstruir o ruído e, em seguida, usa essas informações para realizar uma amplificação precisa. Ela começa aprendendo o modelo de ruído com twirling de cada camada de portas de entrelaçamento no circuito antes de serem executadas. Após a fase de aprendizado, os circuitos são executados em cada fator de ruído, em que cada camada de entrelaçamento dos circuitos é amplificada por injeção probabilística de ruído de qubit único proporcional ao modelo de ruído aprendido correspondente. Veja o artigo "Evidence for the utility of quantum computing before fault tolerance" para mais detalhes.
A PEA consiste em três etapas:
- Aprendizado: O modelo de ruído com twirling de cada camada de portas de entrelaçamento no circuito é aprendido.
- Amplificação de ruído: O circuito quântico original é executado múltiplas vezes em diferentes fatores de ruído.
- Extrapolação: O resultado ideal é estimado extrapolando os resultados de valor esperado com ruído até o limite de ruído zero.
Para experimentos em escala de utilidade, a PEA é frequentemente a melhor escolha.
Como a PEA é uma técnica de amplificação de ruído da ZNE, você também precisa habilitar a ZNE. Você pode habilitar a PEA e a ZNE das seguintes formas:
- O addon Qiskit Mitigation para o Qiskit
- A opção
zne_mitigationcompeacomo amplificador ao usar o IBM Quantum Estimator
Se você estiver usando o novo Estimator do lado do cliente introduzido no qiskit-ibm-runtime v0.50.0, um job de aprendizado de ruído separado é necessário para usar PEA.
Veja Migrar do Sampler e Estimator do lado do servidor para o lado do cliente para mais informações.
Cancelamento probabilístico de erros (PEC)
O cancelamento probabilístico de erros (PEC) é uma técnica para mitigar erros na estimativa de valores esperados de observáveis. Ao contrário da ZNE, ele retorna uma estimativa não viesada do valor esperado. No entanto, geralmente incorre em uma sobrecarga maior.
No PEC, o efeito de um circuito alvo ideal é expresso como uma combinação linear de circuitos com ruído que são realmente implementáveis na prática:
A saída do circuito ideal pode então ser reproduzida executando diferentes instâncias de circuito com ruído retiradas de um conjunto aleatório definido pela combinação linear. Se os coeficientes formarem uma distribuição de probabilidade, eles podem ser usados diretamente como as probabilidades do conjunto. Na prática, alguns dos coeficientes são negativos, portanto formam uma distribuição de quasi-probabilidade. Eles ainda podem ser usados para definir um conjunto aleatório, mas há uma sobrecarga de amostragem relacionada à negatividade da distribuição de quasi-probabilidade, que é caracterizada pela quantidade
A sobrecarga de amostragem é um fator multiplicativo no número de shots necessários para estimar um valor esperado com uma determinada precisão, em comparação com o número de shots que seriam necessários no circuito ideal. Ela escala quadraticamente com , que por sua vez escala exponencialmente com a profundidade do circuito.
Você pode habilitar a PEC das seguintes formas:
- O addon Qiskit Mitigation para o Qiskit
- A opção
pec_mitigationao usar o IBM Quantum Estimator
Se você estiver usando o novo Estimator do lado do cliente introduzido no qiskit-ibm-runtime v0.50.0, um job de aprendizado de ruído separado é necessário para usar PEC.
Veja Migrar do Sampler e Estimator do lado do servidor para o lado do cliente para mais informações.
Próximos passos
-
Confira o tutorial sobre como combinar opções de mitigação de erros com a primitiva Estimator.
-
Explore outras opções para as primitivas do IBM Quantum.
-
Decida em qual modo de execução executar seu job.