Skip to main content
IBM Quantum Platform

Configure o gerenciamento de ruído com o Estimator

  • O código desta página foi desenvolvido com base nos seguintes requisitos. Recomendamos usar essas versões ou versões mais recentes.

    qiskit-ibm-runtime~=0.47.0
    

Existem várias maneiras de gerenciar ruídos, geralmente por meio do uso de diversas técnicas de mitigação e supressão de erros para evitar que estes ocorram. Essas técnicas geralmente acarretam uma sobrecarga no pré-processamento. Portanto, é importante encontrar um equilíbrio entre aperfeiçoar seus resultados e garantir que seu trabalho seja concluído em um prazo razoável.

O Estimator oferece suporte às seguintes técnicas de gerenciamento de ruído. Consulte “Técnicas de mitigação e supressão de erros” para obter uma explicação sobre cada uma delas. Consulte a seção “Configurações de erros personalizados” para obter instruções sobre como ativar essas técnicas.


Nível de resiliência

O resilience_level especifica o nível de resiliência a ser incorporado para lidar com erros. Níveis mais altos geram resultados mais precisos, em detrimento de tempos de processamento mais longos. Os níveis de resiliência podem ser usados para definir o equilíbrio entre custo e precisão ao aplicar o gerenciamento de ruído à sua consulta primitiva. O gerenciamento de ruído reduz os erros (viés) nos resultados ao processar as saídas de um conjunto de circuitos relacionados. O grau de redução do erro depende do método aplicado. O nível de resiliência abstraí a escolha detalhada do método de gerenciamento de ruído para permitir que os usuários avaliem o equilíbrio entre custo e precisão adequado à sua aplicação.

Diante disso, cada nível corresponde a um ou mais métodos com um nível crescente de sobrecarga de amostragem quântica, permitindo que você experimente diferentes equilíbrios entre tempo e precisão. A tabela a seguir mostra quais níveis e métodos correspondentes estão disponíveis para cada uma das primitivas.

Nível de resiliência
Descrição
Técnica
0Sem medidas de mitigaçãoNenhum
1 [Padrão]Custos mínimos de mitigação: Mitigar erros associados a falhas na leituraMedição de eXtinction de erro de leitura rotativa (TREX)
2Custos médios de mitigação. Normalmente reduz o viés nos estimadores, mas não é garantido que tenha viés zero.Nível 1 + Extrapolação de Ruído Zero (ZNE) e rotação de portas
Atenção

Os níveis de resiliência estão atualmente em fase beta, portanto, a sobrecarga de amostragem e a qualidade da solução variam de circuito para circuito. Novos recursos, opções avançadas e ferramentas de gerenciamento serão lançados progressivamente. Não há garantia de que métodos específicos de gestão de ruído sejam aplicados em cada nível de resiliência.

Configurar o Estimador com níveis de resiliência

Você pode usar os níveis de resiliência para definir técnicas de gerenciamento de ruído ou definir técnicas personalizadas individualmente, conforme descrito em Configurações personalizadas de erro.

Importante

Quaisquer opções que você especificar manualmente, além do nível de resiliência, são aplicadas em conjunto com o conjunto básico de opções definido pelo nível de resiliência. Portanto, em princípio, você poderia definir o nível de resiliência como 1, mas desativar a mitigação de medição, embora isso não seja recomendado.

Por exemplo, definir o nível de resiliência como 0 desativa a função zne_mitigation, mas estimator.options.resilience.zne_mitigation = True substitui esse valor.

Exemplo

O código a seguir habilita o ZNE, o TREX e a rotação de portas ao definir resilience_level 2.

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Setting options during primitive initialization
estimator = Estimator(backend, options={"resilience_level": 2})

Configurações personalizadas de gerenciamento de ruído

Você pode ativar e desativar métodos individuais de gerenciamento de ruído usando as opções do Estimador.

Note

Nem todas as opções são compatíveis entre si em todos os tipos de circuitos. Consulte a tabela de compatibilidade de recursos para obter mais detalhes.

Exemplo

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(backend)
options = estimator.options
# Turn on gate twirling.
options.twirling.enable_gates = True
# Turn on measurement error mitigation.
options.resilience.measure_mitigation = True

print(
    f">>> gate twirling is turned on: {estimator.options.twirling.enable_gates}"
)
print(
    f">>> measurement error mitigation is turned on: "
    f"{estimator.options.twirling.enable_gates}"
)

Output:

>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True

Desative todas as medidas de mitigação de erros

Para obter instruções sobre como desativar todas as medidas de mitigação de erros, consulte a seção “Desativar todas as medidas de supressão e mitigação de erros ” no guia de opções do Estimator.


Próximas etapas

Recomendações
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.