Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 targets egy QIR Base profilnak felel 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 |
integer | Nem | Kísérleti felvételek száma. |
Rendszeridőzítés
Mérő | Átlagos időtartam |
---|---|
T1 | 10-100 másodperc |
T2 | 1 másodperc |
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% (SPAM kijavítva) |
Két qubites kapu | 99,6% (nincs spam korrigálva) |
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 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
Debiasing alapértelmezés szerint engedélyezve van a Forte-rendszerben, és a beküldött feladatokra a debiasing alapú 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 |
integer | Nem | Kísérleti felvételek száma. |
Bemeneti formátum
A Q#-ban a kvantummérés kimenete egy Result
típusú érték, amely csak az Zero
és One
értékeket veheti fel. Q#-művelet definiálásakor csak akkor küldhető el az IonQ-hardvernek, ha a visszatérési típus egy Result
típusokból álló 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 megfelelnek 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.
Képesség | Leírás |
---|---|
Hibacsökkentés | A "torzításmentesítés" alkalmazása a zaj csökkentése és az algoritmikus teljesítmény maximalizálása érdekében az IonQ-hardvereken. |
Natív kaputámogatás | Áramkörök definiálása és végrehajtása közvetlenül az IonQ hardverhez natív 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.
Hibacsökkentés
Az IonQ lehetővé teszi a kvantumhibák elhárítását a feladatok IonQ-hardverbe való beküldésekor. A hibamitigáció egy fordítószintű folyamat, amely egy áramkör 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 dekoherencia 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.
Debiasing egy adott áramkör enyhe módosításainak elkészítése, amelyeknek azonosnak kell lenniük egy ideális zajmentes gépen, különböző qubit-hozzárendelések, kapulebontások és impulzusmegoldások használatával, majd ezek végrehajtása.
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.
A hibák mérséklésének 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áramkör meghatározását egy absztrakt kvantumkapukészlet használatával, amelyet qis
-nek nevezünk, és amely rugalmassá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 azoknak a kvantumkapuknak a halmaza, amelyeket fizikailag a kvantumprocesszor hajt végre, és amelyek a végrehajtás során az áramkört ezekre a kapukra képezik le.
További információért lásd: Bevezeté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 az áramkör 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ót a Qiskit-feladatokról a Kör elküldése a Qiskittel című részben talál.
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 zajmodellezési szimulációt biztosít, amely a hardverre jellemző "zajújjlenyomat" használatával zajt vezet be az áramkörbe. 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 |
A hardver target zajmodelljét határozza meg.
|
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ések mintavételezése 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. |
Oltás 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 követése a QPU-használati egység, a qubit-gate-shot (QGS), alapján történik. Az erőforrás-használat jóváírásra kerül a fiókjában.
Minden kvantumprogram $N$ kvantum logikai kapuból áll, amelyek egy vagy több qubit-ből tevődnek össze, és meghatározott számú futás elvégzésére 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 nyissa meg az Operatív szakaszt, és válassza a munkaterület Kvóták paneljét az Azure Portalon. További információ: Azure Quantum-kvóták.
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).