Megosztás a következőn keresztül:


IonQ-szolgáltató

Fontos

Az IonQ 2024. szeptember 1-ről kivonta a Harmony-2 kvantumszámítógépét.

Fontos

2025. június 1-je után már nem használhatja Azure Quantum Credits. Ha az Azure Quantum-kreditek fennmaradó egyenlege van, mindenképpen beváltsa ezeket a dátum előtt.

Az IonQ kvantumszámítógépei számításokat végeznek az Ytterbium ionok hiperfinom energiaállapotainak lézerekkel történő módosításával. Az atomok a természet qubitjei – minden qubit azonos a programokon belül és között. A logikai műveletek tetszőleges qubitpáron is elvégezhetők, így a fizikai kapcsolat akadálytalanul lehetővé teszi az összetett kvantumprogramokat. Szeretne többet megtudni? Olvassa el az IonQ csapdába esett ionos kvantumszámítógép-technológiájának áttekintését.

  • Kiadó: IonQ
  • Szolgáltató azonosítója: ionq

A következő targets lehetőségek érhetők el a szolgáltatótól:

A cél neve Célazonosító Qubitek száma Leírás
Kvantumszimulátor ionq.simulator 29 qubit Az IonQ felhőalapú idealizált szimulátora. Ingyenes.
IonQ Aria 1 ionq.qpu.aria-1 25 qubit Az IonQ Aria csapdába esett ion kvantumszámítógépe.
IonQ Aria 2 ionq.qpu.aria-2 25 qubit Az IonQ Aria csapdába esett ion kvantumszámítógépe.
IonQ Forte ionq.qpu.forte 32 qubit Az IonQ Forte csapdába esett ion kvantumszámítógépe. Csak privát előzetes verzióban érhető el.

Az IonQ-k targets egy QIR Base profilnak felelnek meg. A profilról és annak korlátairól target további információt az Azure Quantum profiltípusainak ismertetése target című témakörben talál.

Kvantumszimulátor

GPU-gyorsított idealizált szimulátor, amely akár 29 qubitet is támogat, és ugyanazt a kapukészletet használja, amit az IonQ biztosít a kvantumhardverén – nagyszerű hely a feladatok elővizsgálatára, mielőtt egy tényleges kvantumszámítógépen futtataná őket.

  • Feladat típusa: Simulation
  • Adatformátum: ionq.circuit.v1
  • Célazonosító: ionq.simulator
  • Célvégrehajtási profil: QIR Base

IonQ Aria kvantumszámítógép

Az IonQ Aria az IonQ csapdába esett ion kvantumszámítógépeinek zászlóshajója, 25 qubites dinamikusan újrakonfigurálható rendszerrel. További információ: IonQ Aria (ionq.com).

Fontos

Az Aria-rendszereken alapértelmezés szerint engedélyezve van a debiasing , és a beküldött feladatokra a torzításon alapuló díjszabás vonatkozik. A szolgáltatás letiltásáról és engedélyezéséről további információt a Hibamegoldás című témakörben talál.

  • Feladat típusa: Quantum Program
  • Adatformátum: ionq.circuit.v1
  • Célazonosító: ionq.qpu.aria-1, ionq.qpu.aria-2
  • Célvégrehajtási profil: QIR Base
Paraméter neve Típus Kötelező Leírás
shots egész Nem Kísérleti felvételek száma.

Rendszeridőzítés

Mérőszám Átlagos időtartam
T1 10-100 s
T2 1 s
Egy qubites kapu 135 μs
Két qubites kapu 600 μs

Rendszerhűség

Művelet Átlagos hűség
Egy qubites kapu 99,95% (LEVÉLSZEMÉT kijavítva)
Két qubites kapu 99,6% (nem a LEVÉLSZEMÉT javítva)
SPAM* 99.61%

* Állapot előkészítése és mérése (SPAM): Ez a mérés határozza meg, hogy a kvantumszámítógép milyen pontosan állíthat be egy qubitet a kezdeti állapotába, majd mérje meg az eredményt a végén.

Az IonQ Aria az Azure Quantum Credits-csomagon és egy külön számlázási csomagon keresztül érhető el. További információkért lásd az Azure Quantum díjszabását.

IonQ Forte kvantumszámítógép

Az IonQ Forte az IonQ legnagyobb teljesítményű, kereskedelmi forgalomban elérhető, csapdába esett ion kvantumszámítógépe. A 32 qubites szoftveresen konfigurálható rendszerrel az IonQ Forte privát előzetes verzióban érhető el az Azure Quantumon. További információ: IonQ Forte (ionq.com).

Fontos

A Torzítás alapértelmezés szerint engedélyezve van a Forte-rendszerben, és a beküldött feladatokra az elfogultságon alapuló díjszabás vonatkozik. A szolgáltatás letiltásáról és engedélyezéséről további információt a Hibamegoldás című témakörben talál.

  • Feladat típusa: Quantum Program
  • Adatformátum: ionq.circuit.v1
  • Célazonosító: ionq.qpu.forte
  • Célvégrehajtási profil: QIR Base
Paraméter neve Típus Kötelező Leírás
shots egész Nem Kísérleti felvételek száma.

Bemeneti formátum

A Q#-ban a kvantummérés kimenete egy olyan típusú Resultérték, amely csak az értékeket ZeroOneés a . Q#-művelet definiálásakor csak akkor küldhető el az IonQ-hardvernek, ha a visszatérési Resulttípus s gyűjtemény, vagyis ha a művelet kimenete kvantummérés eredménye. Ennek az az oka, hogy az IonQ hisztogramot hoz létre a visszaadott értékekből, ezért a visszatérési típust úgy korlátozza, hogy Result egyszerűbbé tegye a hisztogram létrehozását.

Az IonQ-k targets a QIR Base profile. Ez a profil nem tud olyan kvantumműveleteket futtatni, amelyek megkövetelik a qubitmérések eredményeinek használatát a programfolyamat szabályozásához.

Kimeneti formátum

Amikor kvantumprogramot küld az IonQ-szimulátornak, az visszaadja a mérések által létrehozott hisztogramot. Az IonQ-szimulátor nem mintául veszi a kvantumprogram által létrehozott valószínűségeloszlást, hanem a felvételszámra skálázott eloszlást adja vissza. Ez a legszembetűnőbb, ha egyetlen lövéses áramkört küld be. Egy lövés hisztogramjában több mérési eredmény jelenik meg. Ez a viselkedés az IonQ-szimulátor velejárója, míg az IonQ QPU ténylegesen futtatja a programot, és összesíti az eredményeket.

További képességek

Az IonQ-hardver által támogatott további képességeket itt találja.

Funkció Leírás
Hibamegoldás A zaj csökkentése és az algoritmikus teljesítmény maximalizálása az IonQ-hardvereken
Natív kapuk támogatása Áramkörök definiálása és végrehajtása közvetlenül az IonQ-natív IonQ-kapukon
Zajmodell-szimuláció Szimulálja azt a zajprofilt, amellyel a kapcsolatcsoportok különböző IonQ-hardvereken való futtatásukkor találkoznak.

A felhasználók az Azure Quantum Q# és a Qiskit-szolgáltatók átmenő paramétereivel kihasználhatják ezeket a további képességeket.

Hibamegoldás

Az IonQ lehetővé teszi a kvantumhibák elhárítását a feladatok IonQ-hardverbe való beküldésekor. A hibacsökkentés egy fordítószintű folyamat, amely egy kapcsolatcsoport több szimmetrikus változatát futtatja és hajtja végre, majd összesíti az eredményeket, miközben mérsékeli a hardverhibák és a qubit-dekontegráció hatását. A kvantumhibák korrekciós technikáitól eltérően a hibacsökkentés nem igényel nagy kapu- és qubitterhelést.

A debiasing egy adott áramkör enyhe változatainak létrehozása, amelyeknek azonosnak kell lenniük egy ideális zajmentes gépen, különböző qubit-hozzárendelések, kapubontások és impulzusmegoldások használatával, majd ezeknek a változatoknak a végrehajtásával.

Az élezés és az átlagolás a variációk eredményeinek összesítésére szolgáló lehetőségek. Az átlagolás az összes variációs eredményen alapul, míg az élezés kiszűri a hibás eredményeket, és megbízhatóbb lehet bizonyos algoritmustípusok esetében.

További információ: Debiasing and Sharpening. A hibaelhárítás díjszabását az IonQ díjszabásában talál.

Hibacsökkentés engedélyezése

Feljegyzés

A torzítás alapértelmezés szerint engedélyezve van az Aria és a Forte rendszereken.

Az Azure Quantumban a hibacsökkentés engedélyezhető vagy letiltható a Q# vagy a Qiskit használatával elküldött feladatok esetében.

A hibacsökkentés engedélyezéséhez adjon hozzá egy opcionális paramétert a target géphez:


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

A hibacsökkentés letiltásához állítsa a paramétert a következőre False:


option_params = {
    "error-mitigation": {
        "debias": False
    }
}

Feljegyzés

Ha az IonQ zajmodell-szimulációját is használja, ezeket a paramétereket itt találja, például:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "aria-1",
    "seed": 100
    }
}

További információ: Zajmodell-szimuláció.

Feladat futtatása az Azure Quantumon hibacsökkentéssel

Ez a példa egy egyszerű véletlenszerű számgenerátort használ.

Először importálja a szükséges csomagokat, és indítsa el az alapprofilt:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Ezután adja meg a függvényt.

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

and compile the operation:

```python
MyProgram = qsharp.compile("GenerateRandomBit()")

Csatlakozzon az Azure Quantumhoz, válassza ki a target gépet, és konfigurálja az emulátor zajparamétereit:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")

Adja meg a konfigurációt error-mitigation


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

Adja meg a hibacsökkentő konfigurációt a feladat elküldésekor:

job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()

A Qiskitben a feladat elküldése előtt átadja az opcionális paramétereket a target gép konfigurációjának:

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Feljegyzés

Ha nem adja meg a error-mitigation paramétert, a gép az target alapértelmezett beállítását fogja használni, amely engedélyezve van az Aria és a Forte rendszerekhez.

Natív kapuk támogatása és használata

Az IonQ alapértelmezés szerint lehetővé teszi egy kvantum-kapcsolatcsoport megadását egy absztrakt kvantumkapukészlettel, amely qisrugalmasságot és hordozhatóságot tesz lehetővé az algoritmusok írásakor anélkül, hogy a hardver optimalizálása miatt kellene aggódnia.

Bizonyos fejlett használati esetekben azonban érdemes lehet közvetlenül a natív kapukon definiálni egy áramkört, hogy közelebb legyen a hardverhez, és megkerülje az optimalizálást. A natív kapukészlet a kvantumprocesszorban fizikailag végrehajtott kvantumkapuk készlete, amelyek a végrehajtás részeként leképezik az áramkört azokhoz.

További információ: Ismerkedés a natív kapukkal (ionq.com).

A Qiskit-feladatok Azure Quantumba való elküldésekor használt natív kapukészlet használatához a háttérrendszer inicializálásakor adja meg a gateset paramétert az alábbi példában látható módon:

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Paraméter neve Típus Kötelező Leírás
gateset húr Nem Meghatározza a kapcsolatcsoport meghatározásához használt kapukészletet. Az érték qis az absztrakt kapuknak (alapértelmezett viselkedésnek) és native az IonQ-hardver natív kapuinak felel meg.

További információ a Qiskit-feladatokról: Kapcsolatcsoport elküldése a Qiskittel.

Zajmodell-szimuláció

Még a mai kvantumhardverek legjobbja is rendelkezik vele járó zajjal, és a rendszer zajjellemzőinek target ismerete segíthet az algoritmusok finomításában és az eredmények reálisabb előrejelzésében a kapcsolatcsoport hardveren való futtatásakor. Az IonQ egy zajmodell-szimulációt biztosít, amely a hardverre jellemző "zaj ujjlenyomat" használatával zajt vezet be a target kapcsolatcsoportba. További információ: Ismerkedés a hardverzajmodell-szimulációval.

Zajmodell paraméterei

Paraméter neve Értékek Leírás
noise model, seed Engedélyezi a zajmodell-szimulációt
model ideal, aria-1 Megadja a hardver zajmodellét target .
  • ideal - Nincs zaj a áramkörben. Ez ugyanaz, mint a zajszimuláció engedélyezése.
  • aria-1 - A zajmodellt használja az IonQ Aria kvantumszámítógéphez.
seed 1 és $2^{31}$ közötti egész szám (2 147 483 648) Lehetővé teszi a pszeudo-véletlenszerű zaj és a lövéses mintavételezés magértékének megadását, így reprodukálható zajos eredményeket hozhat létre. Ha a paraméter nincs megadva, véletlenszerű seed érték jön létre.

Lövések tudatossága

A zajmodell-szimuláció lövésérzékeny, azaz a megadott felvételek száma alapján mintavételezi a kimeneti állapotból származó méréseket. Az Azure Quantumban a shots paraméter a feladattal együtt lesz elküldve, és a zajmodellekhez aria-1 szükséges. Ha nincs shot megadva érték, a rendszer az alapértelmezett értéket 1000 használja. ideal A zajmodell használata esetén a shots paraméter figyelmen kívül lesz hagyva.

Qubit-kapacitás

Bár a ideal zajmodell lehetővé teszi akár 29 qubit szimulálását az IonQ kvantumszimulátor használatával, a hardverspecifikus zajmodellek a hardver tényleges qubit-kapacitására target korlátozódnak, ami a zajmodell 25 qubitje aria-1 .

Zajmodell-szimuláció engedélyezése

Az Azure Quantumon a zajmodell-szimuláció engedélyezhető vagy letiltható a Q# vagy a Qiskit használatával elküldött feladatok esetében.

A zajmodell-szimuláció engedélyezéséhez adjon hozzá egy opcionális paramétert a target géphez, például:


option_params = {
    "noise": {
        "model": "aria-1",   # targets the Aria quantum computer
        "seed" : 1000         # If seed isn't specified, a random value is used  
    }
}

Feljegyzés

Ha az IonQ hibaelhárítását is használja, ezek a paraméterek itt is megtalálhatók, például:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "aria-1",
    "seed": 1000
    }
}

További információ: Hibamegoldás.

Feladat futtatása zajmodell-szimulációval

Használhatja ugyanazt a példaprogramot, amely korábban a hibacsökkentésben szerepelt, és hozzáadhatja vagy lecserélheti a zajmodell konfigurációját a következőbenoption_params: ;

option_params = {
    "error-mitigation": {
        "debias": True
    },
    "noise": {
    "model": "aria",
    "seed": 1000
    }
}

Ezután adja meg az opcionális paramétereket a feladat elküldésekor:

job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()

A Qiskitben a feladat elküldése előtt átadja az opcionális paramétereket a target gép konfigurációjának:

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Díjszabás

Az IonQ számlázási csomag megtekintéséhez látogasson el az Azure Quantum díjszabására.

Korlátozások és kvóták

Az IonQ-kvóták nyomon követése a QPU használati egység alapján történik, amely qubit-gate-shot (QGS). Az erőforrás-használat jóváírásra kerül a fiókjában.

Minden kvantumprogram egy vagy több qubit $N$ kvantum logikai kapuiból áll, és bizonyos számú lövés végrehajtására kerül sor. A kapulövések számát a következő képlettel számítjuk ki:

$$ QGS = N · C $$

ahol:

  • $N$ a beküldött egy- vagy két qubites kapuk száma
  • $C$ a kért végrehajtási lövések száma

A kvóták a tervválasztáson alapulnak, és támogatási jegyekkel növelhetők. Az aktuális korlátok és kvóták megtekintéséhez lépjen a Kreditek és kvóták panelre, és válassza a munkaterület Kvóták lapját az Azure Portalon. További információ: Azure Quantum-kvóták.

Feljegyzés

Ha Azure Quantum Credits-csomagot használ, és nem számlázási csomagot, a kvótákkal kapcsolatos információk leképezik a lefoglalt krediteket. Ebben az esetben a kvóta felsorolja a kapott kreditek teljes számát.

IonQ-állapot

Az IonQ QPU-feladatok feldolgozási késéseiről az IonQ állapotlapján tájékozódhat.

Az IonQ ajánlott eljárásai és kapcsolati grafikonja

Az IonQ QPU ajánlott eljárásainak megtekintéséhez tekintse meg az IonQ ajánlott eljárásait (ionq.com).