IonQ-Anbieters
Tipp
Erstbenutzer erhalten automatisch kostenlose Azure Quantum-Guthabenin Höhe von 500 USD für die Verwendung mit jedem teilnehmenden Quantenhardwareanbieter. Wenn Sie das gesamte Guthaben verbraucht haben und mehr benötigen, können Sie sich für das Azure Quantum Credits-Programm bewerben.
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
Bei diesem Anbieter sind folgende targets Optionen verfügbar:
Zielname | Ziel-ID | Anzahl von Qubits | Beschreibung |
---|---|---|---|
Quantensimulator | ionq.simulator | 29 Qubits | Der cloudbasierte idealisierte Simulator von IonQ. Kostenlos. |
IonQ Harmony | ionq.qpu | 11 Qubits | Quantencomputer mit Ionenfalle von IonQ |
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 Quantencomputer. Nur in der privaten Vorschau verfügbar. |
IonQ's targets entsprechen einem No Control Flow Profil. Weitere Informationen zu diesem target Profil und seinen Einschränkungen finden Sie unter Grundlegendes zu target 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.
- Job-Typ:
Simulation
- Datenformat:
ionq.circuit.v1
- Ziel-ID:
ionq.simulator
- Zielausführungsprofil: No Control Flow
IonQ Harmony-Quantencomputer
IonQ Harmony ist ein Quantencomputer mit Ionenfalle und kann in der Software dynamisch neu konfiguriert werden, um bis zu 11 Qubits zu nutzen. Alle Qubits sind vollständig verbunden, d. h., Sie können ein Zwei-Qubit-Gate zwischen jedem Paar ausführen.
- Job-Typ:
Quantum Program
- Datenformat:
ionq.circuit.v1
- Ziel-ID:
ionq.qpu
- Zielausführungsprofil: No Control Flow
Parametername | type | Erforderlich | Beschreibung |
---|---|---|---|
shots |
INT | Nein | Anzahl experimenteller Aufnahmen. Standardwerte auf 500. |
Systemzeitsteuerung
"Measure" | Durchschnittliche Zeitdauer (μs) |
---|---|
T1 | >10^7 |
T2 | 200.000 |
Einzel-Qubit-Gate | 10 |
Zwei-Qubit-Gate | 210 |
Auslesen | 100 |
Zurücksetzen registrieren | 25 |
Kohärenz-Zeit/Gate-Dauer | 1667 |
Systemgenauigkeit
Vorgang | Durchschnittliche Treue |
---|---|
Einzel-Qubit-Gate | 99.35% (SPAM korrigiert) |
Zwei-Qubit-Gate | 96,02% (SPAM nicht korrigiert) |
SPAM* | 99,3 - 99,8% |
Geometrischer Op-Mittelwert | 98,34% |
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-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 auf Aria-Systemen standardmäßig aktiviert, und übermittelte Aufträge unterliegen debiasingbasierten Preisen. Weitere Informationen zum Debiasing und zum Deaktivieren/Aktivieren des Diensts finden Sie unter Fehlerminderung.
- Auftragstyp:
Quantum Program
- Datenformat:
ionq.circuit.v1
- Ziel-ID:
ionq.qpu.aria-1
,ionq.qpu.aria-2
- Zielausführungsprofil: No Control Flow
Parametername | type | Erforderlich | Beschreibung |
---|---|---|---|
shots |
INT | Nein | Anzahl experimenteller Aufnahmen. |
Systemzeitsteuerung
"Measure" | Durchschnittliche Dauer |
---|---|
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 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 verfügbare Trapped-Ion-Quantencomputer von IonQ. Mit einem softwarekonfigurierbaren 32-Qubit-System ist IonQ Forte in der privaten Vorschau in Azure Quantum verfügbar. Weitere Informationen finden Sie unter IonQ Forte (ionq.com).
Wichtig
Debiasing ist im Forte-System standardmäßig aktiviert, und übermittelte Aufträge unterliegen debiasingbasierten Preisen. Weitere Informationen zum Debiasing und zum Deaktivieren/Aktivieren des Diensts finden Sie unter Fehlerminderung.
- Auftragstyp:
Quantum Program
- Datenformat:
ionq.circuit.v1
- Ziel-ID:
ionq.qpu.forte
- Zielausführungsprofil: No Control Flow
Parametername | type | Erforderlich | Beschreibung |
---|---|---|---|
shots |
INT | Nein | Anzahl experimenteller Aufnahmen. |
Eingabeformat
In Q# ist die Ausgabe einer Quantenmessung ein Wert vom Typ Result
, der nur die Werte Zero
und One
annehmen kann. 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 auf Result
beschränkt wird, um die Erstellung dieses Histogramms zu vereinfachen.
IonQ entspricht targets dem No Control Flow profile. Dieses Profil kann keine Quantenvorgänge ausführen, die die Verwendung der Ergebnisse aus Qubitmessungen erfordern, um den Programmfluss zu steuern.
Hinweis
Derzeit können Sie keine Quantenprogramme übermitteln, die Vorgänge auf Qubits anwenden, die in No Control Flowtargetsgemessen wurden, auch wenn Sie die Ergebnisse nicht zur Steuerung des Programmablaufs verwenden. Das heißt, No Control Flowtargets keine Mid-Circuit-Messungen zulassen.
Beispielsweise kann der folgende Code nicht auf einem No Control Flowtargetausgeführt werden:
operation MeasureQubit(q : Qubit) : Result {
return M(q);
}
operation SampleMeasuredQubit(q : Qubit) : Result {
H(MeasureQubit(q));
return M(MeasureQubit(q));
}
Ausgabeformat
Wenn Sie ein Quantenprogramm an den IonQ-Simulator übermitteln, wird das histogramm zurückgegeben, das von den Messungen erstellt wurde. Der IonQ-Simulator erfasst nicht die Wahrscheinlichkeitsverteilung, die von einem Quantenprogramm erstellt wurde, sondern gibt stattdessen die Verteilung zurück, die auf die Anzahl der Aufnahmen skaliert ist. Dies wird am deutlichsten, wenn Sie eine einzelne Aufnahmeschaltung ü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 |
---|---|
Fehlerbehebung | Verwenden von Debiasing, um Rauschen zu minimieren und die algorithmische Leistung auf IonQ-Hardware zu maximieren |
Native Gates-Unterstützung | Definieren und Ausführen von Leitungen direkt auf ionQ-hardwarenativen 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 Passthroughparameter in den Azure Quantum Q#- und Qiskit-Anbietern nutzen.
Fehlerbehebung
IonQ bietet die Option zum Aktivieren der Quantenfehlerminderung beim Übermitteln von Aufträgen an IonQ-Hardware. Bei der Fehlerminderung handelt es sich um einen Prozess auf Compilerebene, der mehrere symmetrische Variationen einer Verbindung ausführt und dann die Ergebnisse aggregiert, während die Auswirkungen von Hardwarefehlern und Qubitdekohärenz abgemildert werden. Im Gegensatz zur Quantenfehlerkorrektur erfordert die Fehlerminderung keinen großen Gate- und Qubit-Overhead.
Debiasing ist der Prozess, bei dem geringfügige Variationen einer bestimmten Schaltung erstellt werden, die auf einer idealen geräuschlosen Maschine identisch sein sollten , indem Techniken wie verschiedene Qubitzuweisungen, Gatezerlegungen und Impulslösungen verwendet werden, und dann diese Variationen ausgeführt werden.
Schärfen und Mittelwert sind Optionen zum Aggregieren der Ergebnisse der Variationen. Der Mittelwert 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 and Sharpening. Informationen zu Den Preisen zur Fehlerminderung finden Sie unter IonQ – Preise.
Aktivieren der Fehlerminderung
Hinweis
Debiasing ist auf Aria- und Forte-Systemen standardmäßig aktiviert und auf Harmony-Systemen standardmäßig deaktiviert.
In Azure Quantum kann die Fehlerminderung für Aufträge aktiviert oder deaktiviert werden, die mit Q# oder mit Qiskit übermittelt werden.
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 fest False
:
option_params = {
"error-mitigation": {
"debias": False
}
}
Hinweis
Wenn Sie auch die Rauschmodellsimulation von IonQ verwenden, können diese Parameter hier eingeschlossen werden, z. B.:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "harmony",
"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
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.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")
Angeben der error-mitigation
Konfiguration
option_params = {
"error-mitigation": {
"debias": True
}
}
Übergeben Sie die Konfiguration zur Fehlerminderung, wenn Sie den Auftrag übermitteln:
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 Computerkonfiguration, 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 Computer seine target Standardeinstellung: für Aria- und Forte-Systeme aktiviert und für Harmony-Systeme deaktiviert .
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", gateset="native")
Parametername | type | Erforderlich | BESCHREIBUNG |
---|---|---|---|
gateset |
Zeichenfolge | Nein | 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 einer Verbindung mit Qiskit.
Rauschmodellsimulation
Selbst das Beste der heutigen Quantenhardware hat inhärentes Rauschen, und die Kenntnis der Rauscheigenschaften Ihres target Systems kann Ihnen helfen, Ihre Algorithmen zu verfeinern und eine realistischere Vorhersage der Ergebnisse zu erhalten, wenn die Schaltung auf Hardware ausgeführt wird. IonQ bietet eine Rauschmodellsimulation , die Rauschen mithilfe eines hardwarespezifischen "Rauschfingerabdrucks" in die target Leitung einführt. Weitere Informationen finden Sie unter Erste Schritte mit der Simulation des Hardwarerauschmodells.
Parameter des Rauschmodells
Parametername | Werte | BESCHREIBUNG |
---|---|---|
noise |
model , seed |
Ermöglicht die Rauschmodellsimulation |
model |
ideal , harmony , aria-1 |
Gibt das Rauschmodell für die Hardware an target .
|
seed |
Ganze Zahl zwischen 1 und $2^{31}$ (2.147.483.648) | Ermöglicht ihnen das Angeben eines Ausgangswerts für pseudo-zufälliges Rauschen und Stichprobenentnahmen, wodurch reproduzierbare verrauschte Ergebnisse erzeugt werden. Wenn der Parameter nicht angegeben ist, wird ein zufälliger seed Wert erstellt. |
Schusserkennung
Die Rauschmodellsimulation ist schussfähig; Das heißt, es nimmt Messungen aus dem Ausgabezustand basierend auf der Anzahl der bereitgestellten Aufnahmen ab. In Azure Quantum wird der shots
Parameter mit dem Auftrag übermittelt und ist für harmony
Rauschmodelle und aria-1
erforderlich. Wenn kein shot
Wert angegeben wird, wird der Standardwert verwendet 1000
. 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 Qubitkapazität der target Hardware beschränkt: 11 Qubits für das harmony
Rauschmodell und 25 Qubits für das aria-1
Rauschmodell.
Aktivieren der Rauschmodellsimulation
In Azure Quantum kann die Rauschmodellsimulation 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": "harmony", # targets the Harmony 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": "harmony",
"seed": 1000
}
}
Weitere Informationen finden Sie unter Fehlerminderung.
Ausführen eines Auftrags mit Rauschmodellsimulation
Sie können dasselbe Beispielprogramm verwenden, das zuvor in der Fehlerminderung gezeigt wurde, und die Konfiguration des Rauschmodells in option_params
hinzufügen oder ersetzen.
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 Computerkonfiguration, 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:
- $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 Verzögerungen bei der Verarbeitung von IonQ-QPU-Aufträgen finden Sie auf der Seite ionQ status.
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für