Fournisseur IonQ
Important
IonQ a mis hors service son ordinateur quantique Harmony-2 à compter du 1er septembre 2024.
Conseil
Lorsque vous créez un espace de travail Azure Quantum, vous obtenez automatiquement des crédits Azure Quantum gratuits USD500 pour chaque fournisseur de matériel quantique. Vous pouvez utiliser les crédits Azure Quantum pour soumettre vos premiers programmes quantiques à du matériel quantique réel.
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 Target | Target ID | Nombre de qubits | Description |
---|---|---|---|
Simulateur quantique | ionq.simulator | 29 qubits | Simulateur idéalisé basé sur le cloud d’IonQ. Gratuit. |
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
- Target ID:
ionq.simulator
- Target Profil d’exécution : QIR Base
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
- Target ID :
ionq.qpu.aria-1
,ionq.qpu.aria-2
- Target Profil d’exécution : 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
Opération | 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
- Target ID:
ionq.qpu.forte
- Target Profil d’exécution : 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 Result
s, 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.
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": "aria-1",
"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
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()")
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.aria-1")
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, qui est activé pour les systèmes Aria et Forte.
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.aria-1", 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 , aria-1 |
Spécifie le modèle de bruit pour le target matériel.
|
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 aria-1
les modèles de 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, qui est de 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": "aria-1", # targets the Aria 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": "aria-1",
"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).