Freigeben über


IonQ-Anbieters

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 sind bei diesem Anbieter verfügbar:

Zielname Ziel-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 IonQs Aria 1 Gefangenionen-Quantencomputer.
IonQ Forte 1 ionq.qpu.forte-1 36 Qubits IonQ's Ionenfallen-Quantencomputer Forte 1.
IonQ Forte Enterprise 1 ionq.qpu.forte-enterprise-1 36 Qubits IonQ Forte Enterprise 1 Ionenfallen-Quantencomputer.

IonQ's targets entspricht 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
  • Ziel-ID: ionq.simulator
  • Zielausfü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
  • Ziel-ID: ionq.qpu.aria-1
  • Zielausführungsprofil: QIR Base
Parametername Typ Erforderlich Beschreibung
shots INT Nein Anzahl experimenteller Ausführungen.

Systemzeitsteuerung

Maß Durchschnittliche Zeitdauer
T1 10-100 Sekunden
T2 1 s
Einzelqubit-Gatter 135 µs
Zwei-Qubit-Gate 600 µs

Systemgenauigkeit

Vorgang Durchschnittliche Treue
Einzelqubit-Gatter 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 Pay As You Go Plan 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 softwarekonfigurierbaren 36-Qubit-System. 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
  • Ziel-ID: ionq.qpu.forte-1
  • Zielausführungsprofil: QIR Base
Parametername Typ Erforderlich Beschreibung
shots INT Nein Anzahl experimenteller Ausführungen.

IonQ Forte Enterprise-Quantencomputer

IonQ Forte Enterprise ist der leistungsstärkste, kommerziell erhältliche Trapped-Ion-Quantencomputer von IonQ. Mit einem softwarekonfigurierbaren 36-Qubit-System. Weitere Informationen finden Sie unter IonQ Forte Enterprise (ionq.com).

Das Forte Enterprise ist eine Version der Forte-Klassensysteme, die für die Bereitstellung in einer Standard-Rechenzentrumsumgebung angepasst und zerklüftet wurden, sodass sie für produktionsorientierte Aufgaben auf Unternehmensebene besser geeignet ist. Die Basis-Quantencomputing-Hardware und -Leistung sind identisch. Der Hauptunterschied zwischen IonQ Forte und IonQ Forte Enterprise liegt in der Bereitstellung und den vorgesehenen Anwendungsfällen, nicht in ihren Kernleistungsspezifikationen. Beide Systeme verfügen zwar über die gleichen Hochleistungsmetriken, doch ist forte Enterprise speziell für die Integration in eine Rechenzentrumsumgebung konzipiert.

Wichtig

Debiasing ist standardmäßig für das Forte Enterprise-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
  • Ziel-ID: ionq.qpu.forte-enterprise-1
  • Zielausführungsprofil: QIR Base
Parametername Typ Erforderlich Beschreibung
shots INT Nein Anzahl experimenteller Ausführungen.

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 Results 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.

Die targets von IonQ entsprechen 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 probiert die Wahrscheinlichkeitsverteilung, die von einem Quantenprogramm erzeugt wurde, nicht aus, sondern gibt stattdessen die Verteilung zurück, die auf die Anzahl der Durchläufe skaliert wurde. Dies wird am deutlichsten, wenn Sie einen Einzelschussschaltkreis einreichen. Sie werden mehrere Messergebnisse im Histogramm für eine einzelne Aufnahme sehen. 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.

Fähigkeit Beschreibung
Fehlerminderung Verwenden von Debiasing, um Rauschen zu minimieren und algorithmische Leistung auf IonQ-Hardware zu maximieren
Unterstützung von nativen Gattern Definieren und Ausführen von Schaltkreisen direkt auf IonQ Hardware-native Gattern
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 zu aktivieren, wenn Sie Aufträge an IonQ-Hardware übermitteln. Bei der Fehlerminderung handelt es sich um einen Prozess auf Compilerebene, der mehrere symmetrische Variationen eines Schaltkreises ausführt und dann die Ergebnisse aggregiert, während die Auswirkungen von Hardwarefehlern und der Dekohärenz von Qubits vermindert 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 Mittelwertbildung sind Optionen zum Aggregieren der Ergebnisse von 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:

from qdk import qsharp
from qdk.azure import Workspace
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 = 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 Einzelvorgangs:

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 erlaubt es üblicherweise, eine Quantenschaltung mithilfe eines abstrakten Satzes von Quantengattern (qis) anzugeben, wodurch beim Schreiben eines Algorithmus Flexibilität und Portierbarkeit ermöglicht werden, 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.

Um das native Gate-Set bei der Einreichung von Qiskit-Jobs an Azure Quantum zu nutzen, geben Sie beim Initialisieren des Backends den Parameter gateset an, wie im folgenden Beispiel:

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Parametername Typ 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 eines Schaltkreises mit Qiskit.

Rauschmodellsimulation

Selbst das Beste der heutigen Quantenhardware hat inhärentes Rauschen. Wenn Sie die Rauscheigenschaften Ihres target Systems kennen, können Sie Ihre Algorithmen verfeinern und eine realistischere Vorhersage der Ergebnisse erzielen, wenn die Schaltung auf echter 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 Geräuschmodell für die target Hardware an.
  • ideal - Es wird kein Rauschen in den Schaltkreis eingeführt. Dies ist dasselbe, als würde man die Rauschsimulation nicht aktivieren.
  • aria-1 - Verwendet das Rauschmodell für den IonQ Aria-Quantencomputer.
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.

Shot-Bewusstsein

Die Rauschmodellsimulation ist schussbewusst; das heißt, sie entnimmt Messungen aus dem Ausgangszustand basierend auf der bereitgestellten Schussanzahl. 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-Verwendungseinheit nachverfolgt, die qubit-gate-shot (QGS) ist. 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-Gates.
  • $C$ ist die Anzahl der angeforderten Ausführungsaufnahmen

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.