Partager via


Fournisseur IonQ

Conseil

Les utilisateurs à la première fois obtiennent automatiquement des crédits Azure Quantum gratuits usd500 à utiliser avec chaque fournisseur de matériel quantique participant. Si vous avez consommé tous les crédits et que vous voulez en obtenir davantage, vous pouvez demander à adhérer 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 auprès de ce fournisseur :

Nom de la cible ID de la cible Nombre de qubits Description
Simulateur quantique 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 forte piégée d’IonQ. Disponible en préversion privée uniquement.

IonQ targets correspond à un QIR Base 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 : QIR Base

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 quelle paire.

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

Synchronisation du système

Mesure 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

Operation 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 phare des ordinateurs quantiques piégés d’IonQ, avec un système reconfigurable dynamiquement de 25 qubits. Pour plus d’informations, consultez IonQ Aria (ionq.com).

Important

Le débiasage est activé sur les systèmes Aria par défaut et les travaux soumis sont soumis à des tarifs débiasiques. Pour plus d’informations sur la débiasie 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 : QIR Base
Nom du paramètre Type Requise Description
shots int Non Nombre de captures expérimentales.

Synchronisation du système

Mesure 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

Operation Fidélité moyenne
Porte à un seul qubit 99,95 % (courrier indésirable corrigé)
Porte à deux qubits 99,6 % (non corrigé par le courrier indésirable)
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 IonQ le plus performant et le plus performant disponible sur le marché. 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

Le débiasage est activé par défaut sur le système Forte et les travaux soumis sont soumis à des tarifs débiasiques. Pour plus d’informations sur la débiasie 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 : QIR Base
Nom du paramètre Type Requise Description
shots int Non Nombre de captures expérimentales.

Format d’entrée

En 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 ne peut être envoyée qu’au matériel IonQ si le type de retour est une collection de Results, autrement dit, si la sortie de l’opération est le résultat d’une mesure quantique. La raison en est que 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 au QIR Base profile. Ce profil ne peut pas exécuter d’opérations quantiques qui nécessitent l’utilisation des résultats des mesures qubit pour contrôler le flux du programme.

Format de sortie

Lorsque vous soumettez 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 au nombre de captures. Cela est le plus évident lorsque vous soumettez un circuit de tir unique. Vous verrez plusieurs résultats de mesure dans l’histogramme pour une capture. Ce comportement est inhérent au simulateur IonQ, tandis que le QPU IonQ exécute réellement le programme et agrège les résultats.

Fonctionnalités supplémentaires

Des 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ébiasion 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 des portes natives matérielles IonQ
Simulation de modèle de bruit Simulez le profil de bruit que les circuits rencontreront lorsque vous les exécutez sur différents matériels IonQ.

Les utilisateurs peuvent tirer parti de ces fonctionnalités supplémentaires via des paramètres pass-through 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 s’exécute et exécute plusieurs variantes symétriques d’un circuit, puis agrège les résultats tout en réduisant l’impact des erreurs matérielles et de la décohérence qubit. Contrairement aux techniques de correction d’erreurs quantiques, l’atténuation des erreurs ne nécessite pas de surcharge de porte et de qubit volumineuse.

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

La netteté et la moyenne sont des options permettant d’agréger les résultats des variations. La moyenne est basée de façon égale 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 et Sharpening. Pour connaître la tarification de l’atténuation des erreurs, consultez la tarification IonQ.

Activation de l’atténuation des erreurs

Remarque

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

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


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
    }
}

Remarque

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 l’ordinateur target avant d’envoyer le travail :

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

Remarque

Si vous ne passez 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 Requise 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 de modèle de bruit

Même le meilleur du matériel quantique d’aujourd’hui a un bruit inhérent, et le fait de connaître les caractéristiques du 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 le matériel. IonQ fournit une simulation de modèle de bruit qui introduit le bruit dans le circuit à l’aide d’une « empreinte digitale 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, , harmonyaria-1 Spécifie le modèle de bruit pour le target matériel.
  • ideal - Aucun bruit n’est introduit dans le circuit. Il s’agit de la même chose que de 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 par 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 coups

La simulation de modèle de bruit prend en charge les tirs ; autrement dit, elle échantillonne les mesures de l’état de sortie en fonction du nombre de tirs fournis. Dans Azure Quantum, le shots paramètre est envoyé avec le travail et est requis pour les modèles de bruit et aria-1 de harmony bruit. 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é qubit

Bien 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é qubit réelle 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 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  
    }
}

Remarque

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 présenté 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
    }
}

Ensuite, transmettez 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 l’ordinateur target avant d’envoyer le travail :

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

Tarification

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.

Remarque

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.

État IonQ

Pour plus d’informations sur les délais de traitement des travaux QPU IonQ, consultez la page d’état 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).