IonQ-Anbieters
Wichtig
IonQ hat seinen Harmony-2-Quantencomputer ab dem 1. September 2024 eingestellt.
Tipp
Wenn Sie einen Azure Quantum-Arbeitsbereich erstellen, erhalten Sie automatisch USD500 kostenlose Azure Quantum Credits für jeden Quantenhardwareanbieter. Sie können azure Quantum Credits verwenden, um Ihre ersten Quantenprogramme an echte Quantenhardware zu übermitteln.
Die Quantencomputer von IonQ führen Berechnungen durch, indem sie die Hyperfein-Energiestatus von Ytterbium-Ionen mit Lasern bearbeiten. Die Atome sind die Qubits der Natur - jedes Qubit ist innerhalb und zwischen Programmen identisch. Logische Vorgänge können auch auf einem beliebigen Paar von Qubits ausgeführt werden, was komplexe Quantenprogramme ermöglicht, die nicht durch physikalische Konnektivität behindert werden. Sie möchten mehr erfahren? Lesen Sie den Überblick über die Ion-Quantencomputertechnik.
- Herausgeber: IonQ
- Anbieter-ID:
ionq
Die folgenden targets Optionen stehen von diesem Anbieter zur Verfügung:
Target-Name | Target ID | Anzahl von Qubits | Beschreibung |
---|---|---|---|
Quantensimulator | ionq.simulator | 29 Qubits | Der cloudbasierte idealisierte Simulator von IonQ. Dafür fallen keine Kosten an. |
IonQ Aria 1 | ionq.qpu.aria-1 | 25 Qubits | Aria-Quantencomputer mit Ionenfalle von IonQ |
IonQ Aria 2 | ionq.qpu.aria-2 | 25 Qubits | Aria-Quantencomputer mit Ionenfalle von IonQ |
IonQ Forte | ionq.qpu.forte | 32 Qubits | IonQ's Forte trapped-ion quantum computer. Nur in der privaten Vorschau verfügbar. |
IonQ entspricht targets einem QIR Base Profil. Weitere Informationen zu diesem target Profil und seinen Einschränkungen finden Sie unter Grundlegendes target zu Profiltypen in Azure Quantum.
Quantensimulator
GPU-beschleunigter idealisierter Simulator, der bis zu 29 Qubits unterstützt und die gleichen Gates verwendet, die IonQ auf seiner Quanten-Hardware zur Verfügung stellt - ein großartiger Ort, um Jobs zu testen, bevor sie auf einem echten Quantencomputer ausgeführt werden.
- Auftragstyp:
Simulation
- Datenformat:
ionq.circuit.v1
- Target ID:
ionq.simulator
- Target Ausführungsprofil: QIR Base
IonQ Aria-Quantencomputer
IonQ Aria ist das Flaggschiff der trapped-ion-Quantencomputer von IonQ mit einem dynamisch rekonfigurierbaren 25-Qubit-System. Weitere Informationen finden Sie unter IonQ Aria (ionq.com).
Wichtig
Debiasing ist standardmäßig auf Aria-Systemen aktiviert, und übermittelte Aufträge unterliegen debiasing-basierten Preisen. Weitere Informationen zu Debiasing und zum Deaktivieren/Aktivieren des Diensts finden Sie unter Fehlerminderung.
- Auftragstyp:
Quantum Program
- Datenformat:
ionq.circuit.v1
- Target ID:
ionq.qpu.aria-1
,ionq.qpu.aria-2
- Target Ausführungsprofil: QIR Base
Parametername | Typ | Erforderlich | Beschreibung |
---|---|---|---|
shots |
int | No | Anzahl experimenteller Ausführungen. |
Systemzeitsteuerung
Measure | Durchschnittliche Zeitdauer |
---|---|
T1 | 10-100 s |
T2 | 1 s |
Einzel-Qubit-Gate | 135 μs |
Zwei-Qubit-Gate | 600 μs |
Systemgenauigkeit
Vorgang | Durchschnittliche Treue |
---|---|
Einzel-Qubit-Gate | 99,95% (SPAM korrigiert) |
Zwei-Qubit-Gate | 99,6 % (nicht durch SPAM korrigiert) |
SPAM* | 99.61% |
Zustandsvorbereitung und Messung (State Preparation and Measurement, SPAM): Diese Messung gibt an, wie genau ein Quantencomputer ein Qubit in seinen ursprünglichen Zustand versetzen und am Ende das Ergebnis messen kann.
IonQ Aria ist über Azure Quantum-Gutschriftenpläne und einen separaten Abrechnungsplan verfügbar. Weitere Informationen finden Sie unter Azure Quantum-Preise.
IonQ Forte Quantencomputer
IonQ Forte ist der leistungsstärkste, kommerziell erhältliche Trapped-Ion-Quantencomputer von IonQ. Mit einem konfigurierbaren 32-Qubit-System steht IonQ Forte in der privaten Vorschau auf Azure Quantum zur Verfügung. Weitere Informationen finden Sie unter IonQ Forte (ionq.com).
Wichtig
Debiasing ist standardmäßig im Forte-System aktiviert, und übermittelte Aufträge unterliegen debiasing-basierten Preisen. Weitere Informationen zu Debiasing und zum Deaktivieren/Aktivieren des Diensts finden Sie unter Fehlerminderung.
- Auftragstyp:
Quantum Program
- Datenformat:
ionq.circuit.v1
- Target ID:
ionq.qpu.forte
- Target Ausführungsprofil: QIR Base
Parametername | Typ | Erforderlich | Beschreibung |
---|---|---|---|
shots |
int | No | Anzahl experimenteller Ausführungen. |
Eingabeformat
In Q# ist die Ausgabe einer Quantenmessung ein Wert vom Typ Result
, der nur die Werte Zero
One
und . Wenn Sie einen Q#-Vorgang definieren, kann er nur an ionQ-Hardware übermittelt werden, wenn der Rückgabetyp eine Sammlung von Result
s ist, d. h., wenn die Ausgabe des Vorgangs das Ergebnis einer Quantenmessung ist. Der Grund dafür ist, dass IonQ ein Histogramm aus den zurückgegebenen Werten erstellt, sodass der Rückgabetyp Result
auf die Vereinfachung der Erstellung dieses Histogramms beschränkt wird.
IonQ entspricht targets dem QIR Base profile. Dieses Profil kann keine Quantenvorgänge ausführen, die die Verwendung der Ergebnisse aus Qubit-Messungen erfordern, um den Programmfluss zu steuern.
Ausgabeformat
Wenn Sie ein Quantenprogramm an den IonQ-Simulator übermitteln, gibt es das histogramm zurück, das von den Messungen erstellt wurde. Der IonQ-Simulator probieren nicht die Wahrscheinlichkeitsverteilung aus, die von einem Quantenprogramm erstellt wurde, sondern gibt stattdessen die Verteilung zurück, die auf die Anzahl der Aufnahmen skaliert wurde. Dies ist am deutlichsten, wenn Sie einen einzelnen Schusskreis übermitteln. Sie sehen mehrere Messergebnisse im Histogramm für einen Schuss. Dieses Verhalten ist dem IonQ-Simulator inhärent, während IonQ QPU das Programm tatsächlich ausführt und die Ergebnisse aggregiert.
Weitere Funktionen
Weitere funktionen, die von IonQ-Hardware unterstützt werden, sind hier aufgeführt.
Funktion | Beschreibung |
---|---|
Fehlerminderung | Verwenden von Debiasing, um Rauschen zu minimieren und algorithmische Leistung auf IonQ-Hardware zu maximieren |
Unterstützung von nativen Toren | Definieren und Ausführen von Schaltkreisen direkt auf IonQ Hardware-native Gates |
Rauschmodellsimulation | Simulieren Sie das Rauschprofil, auf das Schaltungen stoßen, wenn Sie sie auf unterschiedlicher IonQ-Hardware ausführen. |
Benutzer können diese zusätzlichen Funktionen über Pass-Through-Parameter in den Azure Quantum Q#- und Qiskit-Anbietern nutzen.
Fehlerminderung
IonQ bietet die Möglichkeit, die Quantenfehlerminderung beim Übermitteln von Aufträgen an ionQ-Hardware zu ermöglichen. Bei der Fehlerminderung handelt es sich um einen Prozess auf Compilerebene, der mehrere symmetrische Variationen eines Schaltkreises ausführt und ausführt, und aggregiert dann die Ergebnisse, während die Auswirkungen von Hardwarefehlern und qubit-Decoherence reduziert werden. Im Gegensatz zu Quantenfehlerkorrekturtechniken erfordert die Fehlerminderung keinen großen Gate- und Qubit-Overhead.
Debiasing ist der Prozess der Erstellung leichter Variationen eines bestimmten Schaltkreises, die auf einer idealen geräuschlosen Maschine identisch sein sollten , unter Verwendung von Techniken wie verschiedenen Qubit-Zuordnungen, Torenzersetzungen und Impulslösungen und anschließender Ausführung dieser Variationen.
Schärfen und Averaging sind Optionen zum Aggregieren der Ergebnisse der Variationen. Averaging basiert gleichermaßen auf allen Variationsergebnissen, während das Schärfen die fehlerhaften Ergebnisse herausfiltert und für bestimmte Arten von Algorithmen zuverlässiger sein kann.
Weitere Informationen finden Sie unter Debiasing und Schärfen. Informationen zum Preis zur Fehlerminderung finden Sie unter IonQ-Preise.
Aktivieren der Fehlerminderung
Hinweis
Debiasing ist standardmäßig auf Aria- und Forte-Systemen aktiviert.
In Azure Quantum kann die Fehlerminderung für Aufträge aktiviert oder deaktiviert werden, die mit Q# oder mit Qiskit übermittelt wurden.
Um die Fehlerminderung zu aktivieren, fügen Sie einen optionalen Parameter für den target Computer hinzu:
option_params = {
"error-mitigation": {
"debias": True
}
}
Um die Fehlerminderung zu deaktivieren, legen Sie den Parameter auf :False
option_params = {
"error-mitigation": {
"debias": False
}
}
Hinweis
Wenn Sie auch die Rauschmodellsimulation von IonQ verwenden, können diese Parameter hier enthalten sein, z. B.:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 100
}
}
Weitere Informationen finden Sie unter Rauschmodellsimulation.
Ausführen eines Auftrags in Azure Quantum mit Fehlerminderung
In diesem Beispiel wird ein einfacher Zufallszahlengenerator verwendet.
Importieren Sie zunächst die erforderlichen Pakete, und initiieren Sie das Basisprofil:
import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)
Definieren Sie als Nächstes die Funktion.
%%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()")
Stellen Sie eine Verbindung mit Azure Quantum her, wählen Sie den target Computer aus, und konfigurieren Sie die Rauschparameter für den Emulator:
MyWorkspace = azure.quantum.Workspace(
resource_id = "",
location = ""
)
MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")
Angeben der error-mitigation
Konfiguration
option_params = {
"error-mitigation": {
"debias": True
}
}
Übergeben Sie die Konfiguration zur Fehlerminderung beim Übermitteln des Auftrags:
job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()
In Qiskit übergeben Sie die optionalen Parameter an die target Maschinenkonfiguration, bevor Sie den Auftrag übermitteln:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Hinweis
Wenn Sie den error-mitigation
Parameter nicht übergeben, verwendet der target Computer seine Standardeinstellung, die für Aria- und Forte-Systeme aktiviert ist.
Unterstützung und Nutzung nativer Gatter
IonQ ermöglicht standardmäßig die Angabe einer Quantenschaltung mithilfe einer abstrakten Gruppe von Quantengattern (qis
), was wiederum Flexibilität und Portierbarkeit beim Schreiben eines Algorithmus ermöglicht, ohne sich um die Optimierung für die Hardware kümmern zu müssen.
In einigen komplexeren Anwendungsfällen empfiehlt es sich jedoch gegebenenfalls, eine Schaltung direkt für native Gatter zu definieren, um näher an der Hardware zu sein und die Optimierung zu umgehen. Bei den nativen Gattern handelt es sich um die Gruppe von Quantengattern, die im Quantenprozessor physisch ausgeführt werden, und die Schaltung wird ihnen im Rahmen der Ausführung zugeordnet.
Weitere Informationen finden Sie auf „ionq.com“ unter Erste Schritte mit nativen Gattern.
Wenn Sie beim Übermitteln von Qiskit-Aufträgen an Azure Quantum die nativen Gatter verwenden möchten, müssen Sie beim Initialisieren des Back-Ends den Parameter gateset
angeben, wie im folgenden Beispiel zu sehen:
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Parametername | Typ | Erforderlich | Beschreibung |
---|---|---|---|
gateset |
Zeichenfolge | No | Gibt die Gruppe von Gattern an, die zum Definieren einer Schaltung verwendet werden. Der Wert qis entspricht den abstrakten Gattern (Standardverhalten). native entspricht den nativen Gattern der IonQ-Hardware. |
Weitere Informationen zu Qiskit-Aufträgen finden Sie unter Übermitteln eines Schaltkreises mit Qiskit.
Rauschmodellsimulation
Selbst das Beste der heutigen Quantenhardware hat inhärente Rauschen, und das Wissen über die Rauscheigenschaften Ihres target Systems kann Ihnen helfen, Ihre Algorithmen zu verfeinern und eine realistischere Vorhersage der Ergebnisse zu erzielen, wenn die Schaltung auf der Hardware ausgeführt wird. IonQ bietet eine Rauschmodellsimulation , die Rauschen mithilfe eines für die target Hardware spezifischen "Rauschabdrucks" in den Schaltkreis einführt. Weitere Informationen finden Sie unter Get Started with Hardware Noise Model Simulation.
Rauschmodellparameter
Parametername | Werte | Beschreibung |
---|---|---|
noise |
model , seed |
Aktiviert die Rauschmodellsimulation |
model |
ideal , aria-1 |
Gibt das Rauschmodell für die target Hardware an.
|
seed |
Ganze Zahl zwischen 1 und 2^{31}$ (2.147.483.648) | Ermöglicht Es Ihnen, einen Ausgangswert für pseudo-zufälliges Rauschen und Shot-Sampling anzugeben, wodurch reproduzierbare laute Ergebnisse erstellt werden. Wenn der Parameter nicht angegeben ist, wird ein zufälliger seed Wert erstellt. |
Schussbewusstsein
Die Rauschmodellsimulation ist schussfähig, d. h., sie proben Messungen aus dem Ausgabezustand basierend auf der Anzahl der bereitgestellten Aufnahmen. In Azure Quantum wird der shots
Parameter mit dem Auftrag übermittelt und ist für aria-1
Rauschmodelle erforderlich. Wenn kein shot
Wert angegeben ist, wird ein Standardwert 1000
verwendet. Wenn das ideal
Rauschmodell verwendet wird, wird der shots
Parameter ignoriert.
Qubit-Kapazität
Während das ideal
Rauschmodell es Ihnen ermöglicht, bis zu 29 Qubits mit dem IonQ-Quantensimulator zu simulieren, sind die hardwarespezifischen Rauschmodelle auf die tatsächliche Qubit-Kapazität der target Hardware beschränkt, was 25 Qubits für das aria-1
Rauschmodell ist.
Aktivieren der Rauschmodellsimulation
Auf Azure Quantum können Rauschmodellsimulationen für Aufträge aktiviert oder deaktiviert werden, die mit Q# oder mit Qiskit übermittelt werden.
Um die Rauschmodellsimulation zu aktivieren, fügen Sie einen optionalen Parameter für den target Computer hinzu, z. B.:
option_params = {
"noise": {
"model": "aria-1", # targets the Aria quantum computer
"seed" : 1000 # If seed isn't specified, a random value is used
}
}
Hinweis
Wenn Sie auch die Fehlerminderung von IonQ verwenden, können diese Parameter hier eingeschlossen werden, z. B.:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 1000
}
}
Weitere Informationen finden Sie unter Fehlerminderung.
Ausführen eines Auftrags mit Rauschmodellsimulation
Sie können das gleiche Beispielprogramm verwenden, das zuvor in der Fehlerminderung gezeigt wurde, und die Rauschmodellkonfiguration hinzufügen oder ersetzen in option_params
;
option_params = {
"error-mitigation": {
"debias": True
},
"noise": {
"model": "aria",
"seed": 1000
}
}
Übergeben Sie dann die optionalen Parameter, wenn Sie den Auftrag übermitteln:
job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()
In Qiskit übergeben Sie die optionalen Parameter an die target Maschinenkonfiguration, bevor Sie den Auftrag übermitteln:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Preise
Den Abrechnungsplan für IonQ finden Sie unter Azure Quantum-Preise.
Grenzen und Kontingente
IonQ-Kontingente werden basierend auf der QPU-Nutzungseinheit Qubit-Gate-Shot (QGS) nachverfolgt. Die Ressourcennutzung wird über Ihr Konto abgerechnet.
Jedes Quantenprogramm besteht aus $N$ logischen Quantengattern (Gates) mit mindestens einem Qubit und wird für eine bestimmte Anzahl von Aufnahmen (Shots) ausgeführt. Die Anzahl von Gate-Shots wird wie folgt berechnet:
$$ QGS = N · C $$
Dabei gilt Folgendes:
- $N$ ist die Anzahl der Ein- oder Zwei-Qubit-Gatter.
- $C$ ist die Anzahl der angeforderten Ausführungsaufnahmen
Kontingente basieren auf dem ausgewählten Plan und können per Supportticket erhöht werden. Navigieren Sie zum Anzeigen Ihrer aktuellen Grenzwerte und Kontingente zum Blatt Gutschriften und Kontingente, und wählen Sie die Registerkarte Kontingente Ihres Arbeitsbereichs im Azure-Portal aus. Weitere Informationen finden Sie unter Azure Quantum-Kontingente.
Hinweis
Wenn Sie einen Azure Quantum-Guthabenplan und keinen Abrechnungsplan verwenden, werden die Kontingentinformationen Ihrem zugeteilten Guthaben zugeordnet. In diesem Fall wird für das Kontingent das Guthaben aufgeführt, das Sie insgesamt erhalten haben.
IonQ-Status
Informationen zu IonQ QPU Auftragsverarbeitungsverzögerungen finden Sie auf der IonQ-Statusseite.
Bewährte IonQ-Methoden und Konnektivitätsgraph
Informationen zu den empfohlenen bewährten Methoden für die IonQ-QPU finden Sie auf „ionq.com“ unter Bewährte Methoden für IonQ.