Konfigurace správy šumu s Estimatorem
Verze balíčků
Kód na této stránce byl vyvinut s použitím následujících požadavků. Doporučujeme používat tyto verze nebo novější.
qiskit-ibm-runtime~=0.46.1
Existuje několik způsobů správy šumu, typicky pomocí různých technik zmírnění chyb a potlačení chyb, aby se chybám předešlo ještě před jejich vznikem. Tyto techniky obvykle způsobují předzpracovací režii. Proto je důležité dosáhnout rovnováhy mezi zdokonalením výsledků a zajištěním, že tvá úloha skončí v přiměřeném čase.
Estimator podporuje následující techniky správy šumu. Vysvětlení každé z nich najdeš v části Techniky zmírnění a potlačení chyb. Pokyny pro povolení těchto technik najdeš v části Vlastní nastavení chyb.
Úroveň odolnosti
resilience_level určuje, jakou míru odolnosti budovat vůči chybám. Vyšší úrovně generují přesnější výsledky za cenu delší doby zpracování. Úrovně odolnosti lze použít ke konfiguraci kompromisu mezi náklady a přesností při aplikaci správy šumu na tvůj dotaz na primitivum. Správa šumu snižuje chyby (zkreslení) ve výsledcích zpracováním výstupů ze sady nebo souboru souvisejících obvodů. Míra snížení chyb závisí na použité metodě. Úroveň odolnosti abstrahuje podrobnou volbu metody správy šumu a umožňuje uživatelům uvažovat o kompromisu nákladů a přesnosti, který je vhodný pro jejich aplikaci.
Každá úroveň proto odpovídá metodě nebo metodám s rostoucí úrovní kvantové vzorkovací režie, aby sis mohl experimentovat s různými kompromisy mezi časem a přesností. Následující tabulka ukazuje, které úrovně a odpovídající metody jsou dostupné pro každé z primitiv.
| Úroveň odolnosti | Popis | Technika |
|---|---|---|
| 0 | Bez zmírnění | Žádná |
| 1 [Výchozí] | Minimální náklady na zmírnění: Zmírnění chyb spojených s chybami čtení | Twirling pro měření Twirled Readout Error eXtinction (TREX) |
| 2 | Střední náklady na zmírnění. Typicky snižuje zkreslení v odhadech, ale není zaručeno nulové zkreslení. | Úroveň 1 + Extrapolace nulového šumu (ZNE) a gate twirling |
Úrovně odolnosti jsou momentálně ve fázi beta, takže vzorkovací režie a kvalita řešení se budou lišit obvod od obvodu. Nové funkce, pokročilé možnosti a nástroje pro správu budou vydávány průběžně. Není zaručeno, že konkrétní metody správy šumu budou aplikovány na každé úrovni odolnosti.
Konfigurace Estimatoru s úrovněmi odolnosti
Úrovně odolnosti můžeš použít k určení technik správy šumu, nebo můžeš nastavit vlastní techniky jednotlivě, jak je popsáno v části Vlastní nastavení chyb.
Jakékoli možnosti, které ručně zadáš navíc k úrovni odolnosti, se aplikují navíc ke základní sadě možností definované úrovní odolnosti. Proto bys v principu mohl nastavit úroveň odolnosti na 1, ale poté vypnout zmírnění chyb měření, i když to není doporučeno.
Například nastavení úrovně odolnosti na 0 vypne zne_mitigation, ale estimator.options.resilience.zne_mitigation = True tuto hodnotu přepíše.
Příklad
Následující kód povoluje ZNE, TREX a gate twirling nastavením resilience_level 2.
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
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})
Vlastní nastavení správy šumu
Jednotlivé metody správy šumu můžeš zapínat a vypínat pomocí možností Estimatoru.
Ne všechny možnosti fungují dohromady se všemi typy obvodů. Podrobnosti najdeš v tabulce kompatibility funkcí.
Příklad
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}"
)
>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True
Vypnout veškeré zmírnění chyb
Pokyny k vypnutí veškerého zmírnění chyb najdeš v části Vypnout veškeré potlačení a zmírnění chyb v průvodci možnostmi Estimatoru.
Další kroky
- Projdi si příklad, který používá zmírnění chyb v lekci cost function v IBM Quantum Learning.
- Zjisti více o technikách zmírnění a potlačení chyb.
- Prozkoumej možnosti Estimatoru.
- Rozhodni se, v jakém prováděcím režimu spustíš svou úlohu.