Přeskočit na hlavní obsah

Úvod do možností nastavení

Primitivům lze předávat možnosti nastavení, aby vyhovovaly tvým potřebám. Tato část se zaměřuje na možnosti nastavení primitiv Qiskit Runtime. Přestože je rozhraní metody run() primitiv společné pro všechny implementace, jejich možnosti nastavení společné nejsou. Informace o možnostech nastavení pro qiskit.primitives a qiskit_aer.primitives najdeš v příslušných referencích API.

Přehled

Struktura

Při volání primitiv můžeš předávat možnosti nastavení prostřednictvím třídy možností nebo slovníku. Běžně používané možnosti, jako například resilience_level, jsou na první úrovni. Ostatní možnosti jsou seskupeny do různých kategorií, například execution. Podrobnosti najdeš v části Nastavení možností primitiv.

Výchozí hodnoty

Pokud pro některou možnost nastavení nezadáš hodnotu, dostane speciální hodnotu Unset a použije se výchozí hodnota serveru. Výchozí hodnota tak bude stejná bez ohledu na verzi tvého kódu.

Výchozí hodnoty jsou uvedeny v tabulkách v části Přehled tříd možností nastavení.

Nastavení možností

Možnosti nastavení lze definovat ještě před vytvořením primitiva a předat primitivu, které si z nich vytvoří kopii. To lze provést buď jako vnořený slovník, nebo pomocí tříd možností. Možnosti primitiva lze navíc měnit i po jeho vytvoření. Použij ten postup, který nejlépe vyhovuje tvé aplikaci. Podrobnosti najdeš v části Určení možností nastavení.

Přehled tříd možností nastavení

  • Dynamické oddělení: Možnosti pro dynamické oddělení.
  • Prostředí: Možnosti prostředí pro spouštění, například úroveň protokolování a tagy úloh.
  • Spouštění: Možnosti spouštění primitiv, včetně toho, zda inicializovat Qubity, a prodlevy opakování.
  • Odolnost: Pokročilé možnosti pro konfiguraci metod zmírnění chyb, jako je zmírnění chyb měření, ZNE a PEC.
  • Simulátor: Možnosti simulátoru, například základní Gate, seed simulátoru a mapa propojení. Platí pouze pro režim lokálního testování.
  • Twirling: Možnosti twirling, například zda použít twirling dvoQubitových Gate a počet shots pro každý náhodný vzorek.

Dostupné možnosti nastavení

Následující tabulka dokumentuje možnosti nastavení z nejnovější verze balíčku qiskit-ibm-runtime. Starší verze možností nastavení najdeš v referenci API balíčku qiskit-ibm-runtime, kde můžeš vybrat předchozí verzi.

default_shots

Celkový počet měření (shots) použitých na Circuit na konfiguraci.

Možnosti: Celé číslo >= 0

Výchozí hodnota: None

Dokumentace API pro default_shots

default_precision

Výchozí přesnost, která se použije pro jakýkoli PUB nebo volání run(), které žádnou přesnost neurčuje.

Možnosti: Desetinné číslo > 0

Výchozí hodnota: 0.015625 (1 / sqrt(4096))

Dokumentace API pro default_precision

dynamical_decoupling

Nastavení pro řízení chybové mitigace pomocí dynamického oddělování (dynamical decoupling).

Dokumentace API pro dynamical_decoupling

dynamical_decoupling.enable

Možnosti: True, False

Výchozí hodnota: False

dynamical_decoupling.extra_slack_distribution

Možnosti: middle, edges

Výchozí hodnota: middle

dynamical_decoupling.scheduling_method

Možnosti: asap, alap Výchozí hodnota: alap

dynamical_decoupling.sequence_type

Možnosti: XX, XpXm, XY4 Výchozí hodnota: XX

dynamical_decoupling.skip_reset_qubits

Možnosti: True, False Výchozí hodnota: False

environment

Dokumentace API pro environment

environment.callback

Volatelná funkce, která přijímá Job ID a výsledek úlohy (Job result).

Možnosti: None

Výchozí hodnota: None

environment.job_tags

Seznam tagů.

Možnosti: None

Výchozí hodnota: None

environment.log_level

Možnosti: DEBUG, INFO, WARNING, ERROR, CRITICAL

Výchozí hodnota: WARNING

environment.private

Možnosti: True, False

Výchozí hodnota: False

execution

Dokumentace API pro execution

execution.init_qubits

Určuje, zda se mají Qubity před každým měřením resetovat do základního stavu.

Možnosti: True, False

Výchozí hodnota: True

execution.rep_delay

Prodleva mezi měřením a následným kvantovým Circuit.

Možnosti: Hodnota v rozsahu zadaném pomocí backend.rep_delay_range

Výchozí hodnota: Určena hodnotou backend.default_rep_delay

max_execution_time

Možnosti: Celé číslo v sekundách v rozsahu [1, 10800]

Výchozí hodnota: 10800 (3 hodiny)

Dokumentace API pro max_execution_time

resilience

Pokročilé možnosti odolnosti pro jemné doladění strategie odolnosti.

Dokumentace API pro resilience

resilience.layer_noise_learning

Možnosti pro učení šumu vrstev.

resilience.layer_noise_learning – dokumentace API

resilience.layer_noise_learning.layer_pair_depths

Možnosti: list[int] o 2–10 hodnotách v rozsahu [0, 200]

Výchozí hodnota: (0, 1, 2, 4, 16, 32)

resilience.layer_noise_learning.max_layers_to_learn

Možnosti: None, celé číslo >= 1

Výchozí hodnota: 4

resilience.layer_noise_learning.num_randomizations

Možnosti: celé číslo >= 1

Výchozí hodnota: 32

resilience.layer_noise_learning.shots_per_randomization

Možnosti: celé číslo >= 1

Výchozí hodnota: 128

resilience.layer_noise_model

Možnosti: NoiseLearnerResult, Sequence[LayerError]

Výchozí hodnota: None

resilience.measure_mitigation

Možnosti: True, False

Výchozí hodnota: True

resilience.measure_noise_learning

Možnosti pro učení šumu měření.

resilience.measure_noise_learning – dokumentace API

resilience.measure_noise_learning.num_randomizations

Možnosti: celé číslo >= 1

Výchozí hodnota: 32

resilience.measure_noise_learning.shots_per_randomization

Možnosti: celé číslo, auto

Výchozí hodnota: auto

resilience.pec_mitigation

Možnosti: True, False

Výchozí hodnota: False

resilience.pec

Možnosti pro zmírňování chyb metodou pravděpodobnostního rušení chyb (PEC).

resilience.pec – dokumentace API

resilience.pec.max_overhead

Možnosti: None, celé číslo >= 1

Výchozí hodnota: 100

resilience.pec.noise_gain

Možnosti: auto, desetinné číslo v rozsahu [0, 1]

Výchozí hodnota: auto

resilience.zne_mitigation

Možnosti: True, False

Výchozí hodnota: False

resilience.zne

resilience.zne.amplifier

Možnosti: gate_folding, gate_folding_front, gate_folding_back, pea

Výchozí hodnota: gate_folding

resilience.zne.extrapolated_noise_factors

Možnosti: Seznam hodnot typu float

Výchozí hodnota: [0, *noise_factors]

resilience.zne.extrapolator

Možnosti: Jedna nebo více z: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback

Výchozí hodnota: (exponential, linear)

resilience.zne.noise_factors

Možnosti: Seznam hodnot typu float; každá hodnota >= 1

Výchozí hodnota: (1, 1.5, 2) pro PEA, jinak (1, 3, 5)

resilience_level

Jak velkou odolnost vůči chybám chceš vybudovat. Vyšší úrovně generují přesnější výsledky za cenu delší doby zpracování.

Možnosti: 0, 1, 2

Výchozí hodnota: 1

Dokumentace API pro resilience_level

seed_estimator

Možnosti: Celé číslo

Výchozí hodnota: None

seed_estimator

simulator

Možnosti předávané při simulaci Backend

Dokumentace API pro simulator

simulator.basis_gates

Možnosti: Seznam názvů základních Gate, na které se má rozvinout

Výchozí hodnota: Sada všech základních Gate podporovaných simulátorem Qiskit Aer

simulator.coupling_map

Možnosti: Seznam orientovaných dvou-Qubitových interakcí

Výchozí hodnota: None, což znamená žádná omezení konektivity (plná konektivita).

simulator.noise_model

Možnosti: Qiskit Aer NoiseModel, nebo jeho reprezentace

Výchozí hodnota: None

simulator.seed_simulator

Možnosti: Celé číslo

Výchozí hodnota: None

twirling

Možnosti twirling

twirling API dokumentace

twirling.enable_gates

Možnosti: True, False

Výchozí: False

twirling.enable_measure

Možnosti: True, False

Výchozí: True

twirling.num_randomizations

Možnosti: auto, celé číslo >= 1

Výchozí: auto

twirling.shots_per_randomization

Možnosti: auto, celé číslo >= 1

Výchozí: auto

twirling.strategy

Možnosti: active, active-circuit, active-accum, all

Výchozí: active-accum

experimental

Experimentální možnosti, pokud jsou k dispozici.

Kompatibilita funkcí

Kvůli rozdílům v procesu kompilace pro zařízení nelze určité runtime funkce použít společně v rámci jedné úlohy. Klikni na příslušnou záložku a zobraz seznam funkcí, které jsou nekompatibilní s vybranou funkcí:

Nekompatibilní s:

  • Gate-folding ZNE
  • PEA
  • PEC
  • Dynamickým oddělením (Dynamical decoupling)

Další poznámky:

  • Lze použít s gate twirlingem pro nepodmíněné Gate.
  • Kompatibilní s frakčními Gate při použití qiskit-ibm-runtime v0.42.0 nebo novější.

Další kroky

Doporučení