Przejdź do głównej treści
Ten projekt jest w wersji beta. Znalazłeś błąd? Otwórz zgłoszenie na GitHub. Masz pytanie lub pomysł? Zapytaj w Discussions — chętnie poznamy Twoją opinię!
Jak oceniasz jakość tłumaczenia tej strony?

Mitygacja błędów za pomocą sieci tensorowych (TEM) - Funkcja Qiskit firmy Algorithmiq

Zobacz dokumentację API

Uwaga

Qiskit Functions to eksperymentalna funkcjonalność dostępna wyłącznie dla użytkowników planów IBM Quantum® Premium Plan, Flex Plan i On-Prem (przez IBM Quantum Platform API). Są w fazie podglądu przedpremierowego i mogą ulec zmianie.

Package versions

Kod na tej stronie został opracowany przy użyciu poniższych wymagań. Zalecamy korzystanie z tych lub nowszych wersji.

qiskit[all]~=2.5.1

Przegląd​

Metoda Mitygacji Błędów za pomocą Sieci Tensorowych (TEM) firmy Algorithmiq to hybrydowy algorytm kwantowo-klasyczny zaprojektowany do przeprowadzania mitygacji szumów całkowicie na etapie klasycznego post-processingu. Dzięki TEM możesz obliczać wartości oczekiwane obserwowalnych, mitygując nieuniknione błędy wywoływane przez szumy, które pojawiają się na sprzęcie kwantowym — z większą dokładnością i efektywnością kosztową, co czyni tę metodę bardzo atrakcyjną zarówno dla badaczy kwantowych, jak i praktyków z przemysłu.

Metoda polega na skonstruowaniu sieci tensorowej reprezentującej odwrotność globalnego kanału szumowego wpływającego na stan procesora kwantowego, a następnie zastosowaniu tego odwzorowania do informacyjnie pełnych wyników pomiarów uzyskanych z zaszumionego stanu w celu uzyskania nieobciążonych estymatorów obserwowalnych.

Zaletą TEM jest to, że wykorzystuje informacyjnie pełne pomiary, dając dostęp do szerokiego zestawu mitygowanych wartości oczekiwanych obserwowalnych i osiągając optymalny narzut próbkowania na sprzęcie kwantowym, zgodnie z opisem w Filippov et al. (2023), arXiv:2307.11740, oraz Filippov et al. (2024), arXiv:2403.13542. Narzut pomiarowy odnosi się do liczby dodatkowych pomiarów wymaganych do przeprowadzenia efektywnej mitygacji błędów — jest to kluczowy czynnik dla wykonalności obliczeń kwantowych. Dlatego TEM ma potencjał, by umożliwić przewagę kwantową w złożonych scenariuszach, takich jak zastosowania w dziedzinie chaosu kwantowego, fizyki wielu ciał, dynamiki Hubbarda oraz symulacji chemii małych cząsteczek.

Główne cechy i korzyści TEM można podsumować następująco:

  1. Optymalny narzut pomiarowy: TEM jest optymalna względem granic teoretycznych, co oznacza, że żadna metoda nie może osiągnąć mniejszego narzutu pomiarowego. Innymi słowy, TEM wymaga minimalnej liczby dodatkowych pomiarów do przeprowadzenia mitygacji błędów. Przekłada się to bezpośrednio na minimalne zużycie czasu kwantowego.
  2. Efektywność kosztowa: Ponieważ TEM obsługuje mitygację szumów całkowicie w etapie post-processingu, nie ma potrzeby dodawania dodatkowych obwodów do komputera kwantowego, co nie tylko obniża koszty obliczeń, ale także zmniejsza ryzyko wprowadzenia dodatkowych błędów wynikających z niedoskonałości urządzeń kwantowych.
  3. Estymacja wielu obserwowalnych: Dzięki informacyjnie pełnym pomiarom TEM efektywnie estymuje wiele obserwowalnych na podstawie tych samych danych pomiarowych z komputera kwantowego.
  4. Mitygacja błędów odczytu: Funkcja Qiskit TEM zawiera również zastrzeżoną metodę mitygacji błędów odczytu, zdolną do znacznego zmniejszenia błędów readout po krótkim przebiegu kalibracyjnym.
  5. Dokładność: TEM znacząco poprawia dokładność i niezawodność cyfrowych symulacji kwantowych, czyniąc algorytmy kwantowe bardziej precyzyjnymi i wiarygodnymi.

Opis​

Funkcja TEM pozwala uzyskać wartości oczekiwane z mitygacją błędów dla wielu obserwowalnych w obwodzie kwantowym przy minimalnym narzucie próbkowania. Obwód jest mierzony za pomocą informacyjnie pełnej miary z operatorem o wartości dodatniej (IC-POVM), a zebrane wyniki pomiarów są przetwarzane na komputerze klasycznym. Ten pomiar służy do wykonywania metod sieci tensorowych i zbudowania mapy odwrotności szumu. Funkcja stosuje odwzorowanie, które w pełni odwraca cały zaszumiony obwód za pomocą sieci tensorowych reprezentujących zaszumione warstwy.

Schemat TEM

Po przesłaniu obwodów do funkcji są one transpilowane i optymalizowane w celu zminimalizowania liczby warstw z bramkami dwuqubitowymi (bardziej zaszumionymi bramkami na urządzeniach kwantowych). Szum wpływający na warstwy jest wyuczany (estymowany) przy użyciu Qiskit Runtime z zastosowaniem rzadkiego modelu szumu Pauliego-Lindblada, zgodnie z opisem w E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys. (2023). arXiv:2201.09866.

Model szumu jest dokładnym opisem szumu na urządzeniu, zdolnym do uchwycenia subtelnych cech, w tym przesłuchów między qubitami. Jednak szum na urządzeniach może fluktuować i dryfować, a nauczony szum może nie być dokładny w momencie przeprowadzania estymacji. Może to prowadzić do niedokładnych wyników.

Pierwsze kroki​

Uwierzytelnij się za pomocą klucza API IBM Quantum Platform i wybierz funkcję TEM w następujący sposób. (Ten fragment kodu zakłada, że masz już zapisane konto w środowisku lokalnym.)

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit": "qiskit", "qiskit_ibm_catalog": "qiskit-ibm-catalog"}
_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_catalog import QiskitFunctionsCatalog

tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# verify that you have access to the function
catalog.list()
[QiskitFunction(qunova/hivqe-chemistry),
QiskitFunction(global-data-quantum/quantum-portfolio-optimizer),
QiskitFunction(algorithmiq/tem),
QiskitFunction(qedma/qesem),
QiskitFunction(multiverse/singularity),
QiskitFunction(ibm/circuit-function),
QiskitFunction(q-ctrl/optimization-solver),
QiskitFunction(colibritd/quick-pde),
QiskitFunction(q-ctrl/performance-management),
QiskitFunction(kipu-quantum/iskay-quantum-optimizer)]
# Load your function
tem = catalog.load(tem_function_name)

Przykład​

Poniższy fragment kodu pokazuje przykład, w którym TEM jest używana do obliczenia wartości oczekiwanych obserwowalnej dla prostego obwodu kwantowego.

from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp

# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)

# Define the observables
observable = SparsePauliOp("IYX", 1.0)

# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}

# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"

# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)

Użyj interfejsów API Qiskit Serverless, aby sprawdzić status zadania funkcji Qiskit:

# Print the ID so you can use it later, if necessary
print(job.job_id)
print(job.status())
ea1d7802-b067-4cc9-af39-3c2402d22413
QUEUED

Możesz pobrać wyniki w następujący sposób:

result = job.result()
evs = result[0].data.evs
print(evs[0])
-0.10628832892063486
informacja

Oczekiwana wartość dla obwodu bez szumu dla podanego operatora powinna wynosić około 0.18409094298943401.

Uzyskaj wsparcie​

Skontaktuj się pod adresem qiskit_ibm@algorithmiq.fi

Pamiętaj, aby dołączyć następujące informacje:

  • ID zadania funkcji Qiskit (qiskit-ibm-catalog), job.job_id
  • Szczegółowy opis problemu
  • Wszelkie odpowiednie komunikaty o błędach lub kody
  • Kroki pozwalające odtworzyć problem

Następne kroki​