Fournisseur IonQ

Conseil

Les utilisateurs pour la première fois obtiennent automatiquement des crédits Azure Quantumgratuits de 500 $ (USD) à utiliser avec chaque fournisseur de matériel quantique participant. Si vous avez consommé tous les crédits et voulez en obtenir davantage, vous pouvez vous inscrire au programme de crédits Azure Quantum.

Les ordinateurs quantiques de IonQ effectuent des calculs en manipulant les états d’énergie très précis des ions Ytterbium avec des lasers. Les atomes sont des qubits de la nature : chaque qubit est identique dans et entre les programmes. Les opérations logiques peuvent également être effectuées sur n’importe quelle paire arbitraire de qubits, ce qui permet aux programmes quantiques complexes de rester inaltérés par la connectivité physique. Vous souhaitez en savoir plus ? Consultez Présentation de la technologie des ordinateurs quantiques à ions piégés de IonQ.

  • Éditeur : IonQ
  • ID du fournisseur : ionq

Les éléments suivants targets sont disponibles à partir de ce fournisseur :

Nom de la cible ID de la cible Nombre de qubits Description
Simulateur de quantum ionq.simulator 29 qubits Simulateur idéalisé basé sur le cloud d’IonQ. Gratuit.
IonQ Harmony ionq.qpu 11 qubits Ordinateur quantique à ions piégés de IonQ.
IonQ Aria 1 ionq.qpu.aria-1 25 qubits Ordinateur quantique à ions piégés Aria de IonQ.
IonQ Aria 2 ionq.qpu.aria-2 25 qubits Ordinateur quantique à ions piégés Aria de IonQ.
IonQ Forte ionq.qpu.forte 32 qubits L’ordinateur quantique à ion piégé forte d’IonQ. Disponible en préversion privée uniquement.

IonQ targets correspond à un No Control Flow profil. Pour plus d’informations sur ce target profil et ses limitations, consultez Présentation des target types de profils dans Azure Quantum.

Simulateur de quantum

Simulateur idéalisé accéléré par GPU prenant en charge jusqu’à 29 qubits, utilisant le même ensemble de portes qu’IonQ fournit sur son matériel quantique, ce qui constitue un excellent point de départ pour les tâches préliminaires avant leur exécution sur un ordinateur quantique réel.

  • Type de tâche : Simulation
  • Format de données : ionq.circuit.v1
  • ID cible : ionq.simulator
  • Profil d’exécution cible : No Control Flow

Ordinateur quantum IonQ Harmony

Le Harmony IonQ est un ordinateur quantum à ions piégés reconfigurable dynamiquement dans les logiciels pour utiliser jusqu’à 11 qubits. Tous les qubits sont entièrement connectés, ce qui signifie que vous pouvez exécuter une porte à deux qubits entre n’importe quelles paires.

  • Type de tâche : Quantum Program
  • Format de données : ionq.circuit.v1
  • ID cible : ionq.qpu
  • Profil d’exécution cible : No Control Flow
Nom du paramètre Type Obligatoire Description
shots int Non Nombre de captures expérimentales. La valeur par défaut est 500.

Synchronisation du système

Measure Durée moyenne (μs)
T1 >10^7
T2 200 000
Porte à un seul qubit 10
Porte à deux qubits 210
Description 100
Réinitialisation de l’inscription 25
Durée de cohérence/durée de la porte 1667

Fidélité du système

Opération Fidélité moyenne
Porte à un seul qubit 99,35% (SPAM corrigé)
Porte à deux qubits 96,02% (SPAM non corrigé)
SPAM* 99,3 - 99,8 %
Opérateur de moyenne géométrique 98,34 %

* Préparation de l’état et mesure (SPAM) : cette mesure détermine la précision avec laquelle un ordinateur quantique peut définir un qubit dans son état initial, puis mesurer le résultat à la fin.

Ordinateur quantum IonQ Aria

IonQ Aria est le fleuron des ordinateurs quantiques à ion piégés d’IonQ, avec un système reconfigurable dynamiquement de 25 qubits. Pour plus d’informations, consultez IonQ Aria (ionq.com).

Important

La débiasing est activée sur les systèmes Aria par défaut, et les travaux soumis sont soumis à une tarification basée sur la débiasation. Pour plus d’informations sur la débiasation et la façon de désactiver/activer le service, consultez Atténuation des erreurs.

  • Type de tâche : Quantum Program
  • Format de données : ionq.circuit.v1
  • ID cible : ionq.qpu.aria-1, ionq.qpu.aria-2
  • Profil d’exécution cible : No Control Flow
Nom du paramètre Type Obligatoire Description
shots int Non Nombre de captures expérimentales.

Synchronisation du système

Measure Durée moyenne
T1 10-100 s
T2 1 s
Porte à un seul qubit 135 μs
Porte à deux qubits 600 μs

Fidélité du système

Opération Fidélité moyenne
Porte à un seul qubit 99,95 % (spam corrigé)
Porte à deux qubits 99,6 % (non corrigé de SPAM)
SPAM* 99.61%

* Préparation de l’état et mesure (SPAM) : cette mesure détermine la précision avec laquelle un ordinateur quantique peut définir un qubit dans son état initial, puis mesurer le résultat à la fin.

IonQ Aria est disponible via le plan Azure Quantum Credits et un plan de facturation distinct. Pour plus d’informations, consultez la tarification Azure Quantum.

Ordinateur quantique IonQ Forte

IonQ Forte est l’ordinateur quantique à ion piégé le plus performant et disponible dans le commerce. Avec un système configurable par logiciel de 32 qubits, IonQ Forte est disponible en préversion privée sur Azure Quantum. Pour plus d’informations, consultez IonQ Forte (ionq.com).

Important

La débiasing est activée sur le système Forte par défaut, et les travaux soumis sont soumis à une tarification basée sur la débiasation. Pour plus d’informations sur la débiasation et la façon de désactiver/activer le service, consultez Atténuation des erreurs.

  • Type de tâche : Quantum Program
  • Format de données : ionq.circuit.v1
  • ID cible : ionq.qpu.forte
  • Profil d’exécution cible : No Control Flow
Nom du paramètre Type Obligatoire Description
shots int Non Nombre de captures expérimentales.

Format d’entrée

Dans Q#, la sortie d’une mesure quantique est une valeur de type Result, qui ne peut prendre que les valeurs Zero et One. Lorsque vous définissez une opération Q#, elle peut uniquement être envoyée au matériel IonQ si le type de retour est une collection de Results, c’est-à-dire si la sortie de l’opération est le résultat d’une mesure quantique. La raison en est qu’IonQ génère un histogramme à partir des valeurs retournées, de sorte qu’il limite le type de retour à pour Result simplifier la création de cet histogramme.

IonQ targets correspond à .No Control Flow profile Ce profil ne peut pas exécuter d’opérations quantiques qui nécessitent l’utilisation des résultats des mesures qubits pour contrôler le flux du programme.

Notes

Actuellement, vous ne pouvez pas envoyer de programmes quantiques qui appliquent des opérations sur des qubits qui ont été mesurés dans No Control Flowtargets, même si vous n’utilisez pas les résultats pour contrôler le flux de programme. Autrement dit, No Control Flowtargets n’autorisez pas les mesures de milieu de circuit.

Par exemple, le code suivant ne peut pas être exécuté sur un No Control Flowtarget:

operation MeasureQubit(q : Qubit) : Result { 
   return M(q); 
}

operation SampleMeasuredQubit(q : Qubit) : Result {
    H(MeasureQubit(q));
    return M(MeasureQubit(q));
}

Format de sortie

Lorsque vous envoyez un programme quantique au simulateur IonQ, il retourne l’histogramme créé par les mesures. Le simulateur IonQ n’échantillonne pas la distribution de probabilité créée par un programme quantique, mais retourne plutôt la distribution mise à l’échelle en fonction du nombre de tirs. Cela est le plus évident lorsque vous envoyez un circuit de tir unique. Vous verrez plusieurs résultats de mesure dans l’histogramme pour une seule prise. Ce comportement est inhérent au simulateur IonQ, tandis que IonQ QPU exécute le programme et agrège les résultats.

Fonctionnalités supplémentaires

Les fonctionnalités supplémentaires prises en charge par le matériel IonQ sont répertoriées ici.

Fonctionnalité Description
Atténuation des erreurs Utiliser la débiasing pour réduire le bruit et optimiser les performances algorithmiques sur le matériel IonQ
Prise en charge des portes natives Définir et exécuter des circuits directement sur les portes natives matérielles IonQ
Simulation de modèle de bruit Simulez le profil de bruit rencontré par les circuits lorsque vous les exécutez sur un matériel IonQ différent.

Les utilisateurs peuvent tirer parti de ces fonctionnalités supplémentaires via des paramètres de passage dans les fournisseurs Q# et Qiskit Azure Quantum.

Atténuation des erreurs

IonQ offre la possibilité d’activer l’atténuation des erreurs quantiques lors de l’envoi de travaux au matériel IonQ. L’atténuation des erreurs est un processus au niveau du compilateur qui exécute et exécute plusieurs variantes symétriques d’un circuit, puis agrège les résultats tout en atténuant l’impact des erreurs matérielles et de la décohérence qubit. Contrairement aux techniques de correction des erreurs quantiques , l’atténuation des erreurs ne nécessite pas de surcharge de porte et de qubits volumineux.

Le débiasage est le processus qui consiste à créer de légères variations d’un circuit donné qui doivent être identiques sur une machine idéale sans bruit, à l’aide de techniques telles que différentes affectations de qubits, décompositions de portes et solutions d’impulsions, puis l’exécution de ces variations.

Le netteté et la moyenne sont des options permettant d’agréger les résultats des variations. La moyenne est également basée sur tous les résultats de variation, tandis que Sharpening filtre les résultats erronés et peut être plus fiable pour certains types d’algorithmes.

Pour plus d’informations, consultez Débiasing and Sharpening. Pour connaître la tarification de l’atténuation des erreurs, consultez Tarification IonQ.

Activation de l’atténuation des erreurs

Notes

La débiasing est activée par défaut sur les systèmes Aria et Forte, et désactivée par défaut sur les systèmes Harmony.

Sur Azure Quantum, l’atténuation des erreurs peut être activée ou désactivée pour les travaux envoyés avec Q# ou avec Qiskit.

Pour activer l’atténuation des erreurs, ajoutez un paramètre facultatif pour la target machine :


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

Pour désactiver l’atténuation des erreurs, définissez le paramètre sur False:


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

Notes

Si vous utilisez également la simulation de modèle de bruit d’IonQ, ces paramètres peuvent être inclus ici, par exemple :

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

Pour plus d’informations, consultez Simulation de modèle de bruit.

Exécution d’un travail sur Azure Quantum avec atténuation des erreurs

Cet exemple utilise un générateur de nombres aléatoires simple.

Tout d’abord, importez les packages requis et lancez le profil de base :

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

Ensuite, définissez la fonction .

%%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()")

Connectez-vous à Azure Quantum, sélectionnez la target machine et configurez les paramètres de bruit pour l’émulateur :

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

MyTarget = MyWorkspace.get_targets("ionq.qpu")

Spécifier la error-mitigation configuration


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

Transmettez la configuration d’atténuation des erreurs lors de l’envoi du travail :

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

Dans Qiskit, vous transmettez les paramètres facultatifs à la configuration de la target machine avant d’envoyer le travail :

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

Notes

Si vous ne transmettez pas le error-mitigation paramètre, la target machine utilise son paramètre par défaut : activé pour les systèmes Aria et Forte, et désactivé pour les systèmes Harmony.

Prise en charge et utilisation de portes native

Par défaut, IonQ vous permet de spécifier un circuit quantique utilisant un ensemble abstrait de portes quantiques appelées qis, ce qui apporte flexibilité et portabilité pendant l’écriture d’un algorithme sans devoir se soucier de l’optimisation du matériel.

Cependant, dans certains cas d’usage avancés, vous pouvez souhaiter définir un circuit directement sur des portes natives de façon à vous rapprocher du matériel et contourner l’optimisation. L’ensemble de portes natives est l’ensemble de portes quantiques qui sont exécutées physiquement dans le processeur quantique, et elles mappent le circuit à celles-ci pendant l’exécution.

Pour plus d'informations, consultez Bien démarrer avec les portes natives (ionq.com).

Pour utiliser l’ensemble de portes natives lors de l’envoi de travaux Qiskit à Azure Quantum, spécifiez le paramètre gateset au moment d’initialiser le back-end, comme dans l’exemple ci-dessous :

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu", gateset="native")
Nom du paramètre Type Obligatoire Description
gateset string Non Spécifie l’ensemble de portes qui servira à définir un circuit. La valeur qis correspond aux portes abstraites (comportement par défaut) et native aux portes natives du matériel IonQ.

Pour plus d’informations sur les travaux Qiskit, consultez Envoyer un circuit avec Qiskit.

Simulation du modèle de bruit

Même le meilleur du matériel quantique d’aujourd’hui a du bruit inhérent, et connaître les caractéristiques de bruit de votre target système peut vous aider à affiner vos algorithmes et à obtenir une prédiction plus réaliste des résultats lors de l’exécution du circuit sur du matériel. IonQ fournit une simulation de modèle de bruit qui introduit du bruit dans le circuit à l’aide d’une « empreinte sonore » spécifique au target matériel. Pour plus d’informations, consultez Prise en main de la simulation de modèle de bruit matériel.

Paramètres du modèle de bruit

Nom du paramètre Valeurs Description
noise model, seed Active la simulation du modèle de bruit
model ideal, harmony, aria-1 Spécifie le modèle de bruit pour le target matériel.
  • ideal - Aucun bruit n’est introduit dans le circuit. Cela équivaut à ne pas activer la simulation de bruit.
  • harmony - Utilise le modèle de bruit pour l’ordinateur quantique IonQ Harmony.
  • aria-1 - Utilise le modèle de bruit pour l’ordinateur quantique IonQ Aria.
seed Entier compris entre 1 et $2^{31}$ (2 147 483 648) Vous permet de spécifier une valeur de départ pour le bruit pseudo-aléatoire et l’échantillonnage de tir, ce qui crée des résultats bruyants reproductibles. Si le paramètre n’est pas spécifié, une valeur aléatoire seed est créée.

Prise de conscience des tirs

La simulation de modèle de bruit prend en compte les tirs ; autrement dit, il échantillonne les mesures de l’état de sortie en fonction du nombre de captures fournies. Dans Azure Quantum, le shots paramètre est soumis avec le travail et est requis pour harmony les modèles de bruit et aria-1 . Si aucune valeur n’est shot spécifiée, une valeur par défaut est 1000 utilisée. Si le ideal modèle de bruit est utilisé, le shots paramètre est ignoré.

Capacité des qubits

Alors que le ideal modèle de bruit vous permet de simuler jusqu’à 29 qubits avec le simulateur quantique IonQ, les modèles de bruit spécifiques au matériel sont limités à la capacité réelle de qubit du target matériel : 11 qubits pour le harmony modèle de bruit et 25 qubits pour le aria-1 modèle de bruit.

Activation de la simulation de modèle de bruit

Sur Azure Quantum, la simulation de modèle de bruit peut être activée ou désactivée pour les travaux soumis avec Q# ou avec Qiskit.

Pour activer la simulation de modèle de bruit, ajoutez un paramètre facultatif pour la target machine, par exemple :


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

Notes

Si vous utilisez également l’atténuation des erreurs d’IonQ, ces paramètres peuvent être inclus ici, par exemple :

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

Pour plus d’informations, consultez Atténuation des erreurs.

Exécution d’un travail avec simulation de modèle de bruit

Vous pouvez utiliser le même exemple de programme que celui indiqué précédemment dans l’atténuation des erreurs et ajouter ou remplacer la configuration du modèle de bruit dans option_params;

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

Transmettez ensuite les paramètres facultatifs lorsque vous envoyez le travail :

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

Dans Qiskit, vous transmettez les paramètres facultatifs à la configuration de la target machine avant d’envoyer le travail :

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

Tarifs

Pour voir le plan de facturation d’IonQ, visitez la page des prix d’Azure Quantum.

Limites et quotas

Les quotas IonQ sont suivis sur la base de l’unité d’utilisation du QPU, qui se nomme QGS (qubit-gate-shot). L’utilisation de ressources est créditée sur votre compte.

Chaque programme quantique, composé de $N$ portes logiques quantiques d’un ou plusieurs qubits, est exécuté un certain nombre de fois. Le nombre d’exécutions de porte est calculé selon la formule suivante :

$$ QGS = N · C $$

où :

  • $N$ est le nombre de portes d’un ou deux qubits soumis
  • $C$ est le nombre d’exécution demandées

Les quotas dépendent du plan sélectionné et peuvent être augmentés avec un ticket de support. Pour consulter vos limites et quotas actuels, accédez au panneau Crédits et quotas, puis sélectionnez l’onglet Quotas de votre espace de travail sur le portail Azure. Pour plus d’informations, consultez Quotas Azure Quantum.

Notes

Si vous utilisez un plan de crédits Azure Quantum et non un plan de facturation, les informations de quotas sont mappées à vos crédits alloués. Dans ce cas, le quota liste le nombre total de crédits que vous avez reçus.

IonQ status

Pour plus d’informations sur les retards de traitement des travaux IonQ QPU, consultez la page status IonQ.

Meilleurs pratiques et graphique de connectivité IonQ

Pour voir les bonnes pratiques recommandées pour le QPU IonQ, consultez les bonnes pratiques IonQ (ionq.com).