Přeskočit na hlavní obsah
Tento projekt je v betě. Našel jsi chybu? Otevřít issue na GitHubu. Máš otázku nebo nápad? Zeptej se v Discussions — rádi si poslechneme tvou zpětnou vazbu!
Jaká je kvalita překladu na této stránce?

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.47.0

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. Příklad povolení těchto technik najdeš v části Vlastní nastavení správy šumu.

Dynamické oddělení

Jak zapnout: options.dynamical_decoupling.enable = True

Reference API: DynamicalDecouplingOptions

Pozoruhodné volby: sequence_type

Pauliho twirling

Jak zapnout: options.twirling.enable_gates = True

Reference API: TwirlingOptions

Pozoruhodné volby: num_randomizations, shots_per_randomization

TREX

Jak zapnout: options.resilience.measure_mitigation = True

Reference API: MeasureNoiseLearningOptions

Pozoruhodné volby:

ZNE

Jak zapnout: options.resilience.zne_mitigation = True

Reference API: ZneOptions

Pozoruhodné volby: noise_factors, extrapolator

PEA

Jak zapnout: (Musí být zapnuto také ZNE) options.resilience.zne_mitigation = True a options.resilience.zne.amplifier = "pea"

Reference API: ZneOptions

Pozoruhodné volby: noise_factors, extrapolator

PEC

Jak zapnout: options.resilience.pec_mitigation = True

Reference API: PecOptions

Pozoruhodné volby: max_overhead

Ú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, abys 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ň odolnostiPopisTechnika
0Bez 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)
2Stř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
Upozornění

Ú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í správy šumu.

Důležité

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ž se to nedoporučuje.

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 — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit_ibm_runtime": "qiskit-ibm-runtime"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import 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.

Poznámky

Úplný příklad s více možnostmi​

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import 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​

Doporučení