Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I computer quantistici di IonQ eseguono calcoli manipolando gli stati di energia iperfine degli ioni Ytterbium con i laser. Gli atomi sono qubit della natura: ogni qubit è identico sia all'interno di un programma che tra un programma e l'altro. Le operazioni logiche possono essere eseguite anche su qualsiasi coppia arbitraria di qubit, consentendo programmi quantistici complessi non vincolati alla connettività fisica. Vuoi saperne di più? Vedere la panoramica sulla tecnologia dei computer quantistici a ioni intrappolati di IonQ.
- Editore: IonQ
- ID provider:
ionq
Di seguito sono disponibili i seguenti targets da questo provider:
Nome obiettivo | ID di destinazione | Numero di qubit | Descrizione |
---|---|---|---|
Simulatore quantistico | ionq.simulator | 29 qubit | Simulatore idealizzato basato sul cloud di IonQ. Gratuito. |
IonQ Aria 1 | ionq.qpu.aria-1 | 25 qubit | Computer quantistico a ioni intrappolati di IonQ. |
IonQ Aria 2 | ionq.qpu.aria-2 | 25 qubit | Computer quantistico a ioni intrappolati di IonQ. |
IonQ Forte | ionq.qpu.forte | 32 qubit | Il computer quantistico a ioni intrappolati Forte di IonQ. Disponibile solo in anteprima privata. |
IonQ targets corrisponde a un QIR Base profilo. Per altre informazioni su questo target profilo e sulle relative limitazioni, vedere Informazioni sui target tipi di profilo in Azure Quantum.
Simulatore quantistico
Simulatore idealizzato con accelerazione GPU che supporta fino a 29 qubit, usando lo stesso set di gate forniti dall'IonQ nel proprio hardware quantistico. Rappresenta un ottimo punto di partenza per i processi prima dell'esecuzione in un computer quantistico effettivo.
- Tipo di lavoro:
Simulation
- Formato dei dati:
ionq.circuit.v1
- ID di destinazione:
ionq.simulator
- Profilo di esecuzione di destinazione: QIR Base
Computer quantistico IonQ Aria
IonQ Aria è il punto di punta dei computer quantistici a ioni intrappolati di IonQ, con un sistema riconfigurabile dinamicamente da 25 qubit. Per altre informazioni, vedere IonQ Aria (ionq.com).For more information, see IonQ Aria (ionq.com).
Importante
Il debiasing è abilitato nei sistemi Aria per impostazione predefinita e i lavori inviati sono soggetti a prezzi basati sulla debiasing. Per ulteriori informazioni sulla rimozione dei bias e su come disabilitare o abilitare il servizio, vedere Mitigazione degli errori.
- Tipo di lavoro:
Quantum Program
- Formato dei dati:
ionq.circuit.v1
- ID di destinazione:
ionq.qpu.aria-1
,ionq.qpu.aria-2
- Profilo di esecuzione di destinazione: QIR Base
Nome del parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
shots |
Int | NO | Numero di tentativi sperimentali. |
Temporizzazione del sistema
Misura | Durata media del tempo |
---|---|
T1 | 10-100 secondi |
T2 | 1 secondo |
Gate a qubit singolo | 135 μs |
Porta a due qubit | 600 μs |
Fedeltà del sistema
Operazione | Fedeltà media |
---|---|
Gate a qubit singolo | 99,95% (spam corretto) |
Porta a due qubit | 99,6% (non corretto per SPAM) |
SPAM* | 99.61% |
* Preparazione dello stato e misurazione (SPAM): questa misura determina in che modo un computer quantistico può impostare un qubit nello stato iniziale e quindi misurare il risultato alla fine.
IonQ Aria è disponibile tramite un piano di fatturazione separato. Per altre informazioni, vedere Prezzi di Azure Quantum.
Computer quantistico IonQ Forte
IonQ Forte è il computer quantistico a ioni intrappolati di IonQ con le prestazioni più elevate, disponibile sul mercato. Con un sistema configurabile da software a 32 qubit, IonQ Forte è disponibile in anteprima privata in Azure Quantum. Per altre informazioni, vedere IonQ Forte (ionq.com).
Importante
Il debiasing è abilitato nel sistema Forte per impostazione predefinita e i processi inviati sono soggetti a prezzi basati sul debiasing. Per ulteriori informazioni sulla rimozione dei bias e su come disabilitare o abilitare il servizio, vedere Mitigazione degli errori.
- Tipo di lavoro:
Quantum Program
- Formato dei dati:
ionq.circuit.v1
- ID di destinazione:
ionq.qpu.forte
- Profilo di esecuzione di destinazione: QIR Base
Nome del parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
shots |
Int | NO | Numero di tentativi sperimentali. |
Formato di input
In Q#, l'output di una misurazione quantistica è un valore di tipo Result
, che può accettare solo i valori Zero
e One
. Quando si definisce un'operazione Q#, può essere inviata all'hardware IonQ solo se il tipo restituito è una raccolta di Result
s, ovvero se l'output dell'operazione è il risultato di una misurazione quantistica. Il motivo è che IonQ compila un istogramma dai valori restituiti, pertanto limita il tipo restituito a Result
semplificare la creazione di questo istogramma.
IonQ targets corrisponde al QIR Base profile. Questo profilo non può eseguire operazioni quantistiche che richiedono l'uso dei risultati delle misurazioni qubit per controllare il flusso del programma.
Formato di output
Quando si invia un programma quantistico al simulatore IonQ, restituisce l'istogramma creato dalle misurazioni. Il simulatore IonQ non campiona la distribuzione di probabilità creata da un programma quantistico, ma restituisce invece la distribuzione ridimensionata al numero di scatti. Ciò è particolarmente evidente quando si presenta un circuito a colpo singolo. Verranno visualizzati più risultati di misurazione nell'istogramma per uno scatto. Questo comportamento è intrinseco al simulatore IonQ, mentre IonQ QPU esegue effettivamente il programma e aggrega i risultati.
Altre funzionalità
Le funzionalità aggiuntive supportate dall'hardware IonQ sono elencate qui.
Capacità | Descrizione |
---|---|
Mitigazione degli errori | Usare la debiasing per ridurre al minimo il rumore e ottimizzare le prestazioni algoritmiche nell'hardware IonQ |
Supporto di gate nativi | Definire ed eseguire circuiti direttamente sulle porte native dell'hardware IonQ |
Simulazione del modello di rumore | Simulare il profilo di rumore rilevato dai circuiti quando vengono eseguiti su hardware IonQ diverso. |
Gli utenti possono sfruttare queste funzionalità aggiuntive tramite parametri pass-through nei provider Q# e Qiskit di Azure Quantum.
Mitigazione degli errori
IonQ offre la possibilità di abilitare la mitigazione degli errori quantistici durante l'invio di processi all'hardware IonQ. La mitigazione degli errori è un processo a livello di compilatore che esegue ed esegue più varianti simmetriche di un circuito e quindi aggrega i risultati riducendo l'impatto degli errori hardware e della decodifica del qubit. A differenza delle tecniche di correzione degli errori quantistici, la mitigazione degli errori non richiede un grande numero di gate e qubit.
La debiasing è il processo di creazione di lievi variazioni di un determinato circuito che dovrebbe essere identico in una macchina senza rumore ideale, usando tecniche come diverse assegnazioni di qubit, scomposizione di gate e soluzioni di impulso e quindi eseguendo tali variazioni.
Affinatura e Calcolare la media sono opzioni per aggregare i risultati delle variazioni. La media è basata in modo uniforme su tutti i risultati della variazione, mentre sharpening filtra i risultati errati e può essere più affidabile per determinati tipi di algoritmi.
Per ulteriori informazioni, vedere Rimozione dei Bias e Affinamento. Per i prezzi di mitigazione degli errori, vedere Prezzi di IonQ.
Abilitazione della mitigazione degli errori
Nota
Debiasing è abilitata per impostazione predefinita nei sistemi Aria e Forte.
In Azure Quantum la mitigazione degli errori può essere abilitata o disabilitata per i processi inviati con Q# o con Qiskit.
Per abilitare la mitigazione degli errori, aggiungere un parametro facoltativo per il target computer:
option_params = {
"error-mitigation": {
"debias": True
}
}
Per disabilitare la mitigazione degli errori, impostare il parametro su False
:
option_params = {
"error-mitigation": {
"debias": False
}
}
Nota
Se si usa anche la simulazione del modello di disturbo di IonQ, questi parametri possono essere inclusi qui, ad esempio:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 100
}
}
Per altre informazioni, vedere Simulazione di modelli di rumore.
Esecuzione di un processo in Azure Quantum con mitigazione degli errori
In questo esempio viene usato un semplice generatore di numeri casuali.
Prima di tutto, importare i pacchetti necessari e avviare il profilo di base:
import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)
Definire quindi la funzione.
%%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()")
Connettersi ad Azure Quantum, selezionare il target computer e configurare i parametri di disturbo per l'emulatore:
MyWorkspace = azure.quantum.Workspace(
resource_id = "",
location = ""
)
MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")
Specificare la error-mitigation
configurazione
option_params = {
"error-mitigation": {
"debias": True
}
}
Inserire la configurazione di mitigazione degli errori durante l'invio dell'attività.
job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()
In Qiskit si passano i parametri facoltativi alla configurazione della macchina target prima di inviare il lavoro.
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Nota
Se non si passa il error-mitigation
parametro , la macchina userà l'impostazione target predefinita, che è abilitata per i sistemi Aria e Forte.
Supporto e utilizzo di gate nativi
Per impostazione predefinita, IonQ consente di specificare un circuito quantistico usando un set astratto di gate quantistici, denominato qis
, che consente flessibilità e portabilità durante la scrittura di un algoritmo senza doversi preoccupare dell'ottimizzazione per l'hardware.
Tuttavia, in alcuni casi di utilizzo avanzati, è possibile definire un circuito direttamente sui cancelli nativi per essere più vicino all'hardware e all'ottimizzazione del bypass. Il set di gate nativo è il set di gate quantistici che vengono eseguiti fisicamente nel processore quantistico, e mappano il circuito su di essi come parte dell'esecuzione.
Per altre informazioni, vedere Introduzione a Native Gates (ionq.com).For more information, see Getting Started With Native Gates (ionq.com).
Per usare il set di gate nativo quando si inviano processi Qiskit ad Azure Quantum, è necessario specificare il gateset
parametro quando si inizializza il back-end come nell'esempio seguente:
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Nome del parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
gateset |
stringa | NO | Specifica il set di cancelli che verranno utilizzati per definire un circuito. Un valore di qis corrisponde ai cancelli astratti (comportamento predefinito) e native ai cancelli nativi dell'hardware IonQ. |
Per ulteriori informazioni sui job Qiskit, consultare Inviare un circuito con Qiskit.
Simulazione del modello di rumore
Anche il meglio dell'hardware quantistico di oggi ha rumore intrinseco e conoscere le caratteristiche di rumore del target sistema può aiutare a perfezionare gli algoritmi e ottenere una stima più realistica dei risultati quando si esegue il circuito su hardware. IonQ fornisce un modello di simulazione del rumore che introduce rumore nel circuito usando un'impronta del rumore specifica per l'hardware target. Per altre informazioni, vedere Introduzione alla simulazione del modello di disturbo hardware.
Parametri del modello di rumore
Nome del parametro | Valori | Descrizione |
---|---|---|
noise |
model , seed |
Abilita la simulazione del modello di disturbo |
model |
ideal , aria-1 |
Specifica il modello di rumore per l'hardware target .
|
seed |
Intero compreso tra 1 e $2^{31}$ (2.147.483.648) | Consente di specificare un valore di inizializzazione per il rumore pseudo-casuale e il campionamento degli scatti, creando risultati rumorosi riproducibili. Se il parametro non viene specificato, viene creato un valore casuale seed . |
Consapevolezza del tiro
La simulazione del modello di rumore è sensibile al numero di colpi; ovvero, esegue il campionamento delle misurazioni dello stato di output in base al numero di colpi forniti. Il parametro shots
in Azure Quantum viene inviato con il processo ed è necessario per i modelli di disturbo aria-1
. Se non viene specificato alcun shot
valore, viene utilizzato un valore predefinito di 1000
. Se viene usato il ideal
modello di disturbo, il shots
parametro viene ignorato.
Capacità qubit
Mentre il ideal
modello di disturbo consente di simulare fino a 29 qubit con il simulatore quantistico IonQ, i modelli di disturbo specifici dell'hardware sono limitati alla capacità effettiva del qubit dell'hardware target , ovvero 25 qubit per il aria-1
modello di rumore.
Abilitazione della simulazione del modello di disturbo
In Azure Quantum la simulazione del modello di disturbo può essere abilitata o disabilitata per i processi inviati con Q# o con Qiskit.
Per abilitare la simulazione del modello di rumore, aggiungere un parametro facoltativo per il target computer, ad esempio:
option_params = {
"noise": {
"model": "aria-1", # targets the Aria quantum computer
"seed" : 1000 # If seed isn't specified, a random value is used
}
}
Nota
Se si usa anche la mitigazione degli errori di IonQ, questi parametri possono essere inclusi qui, ad esempio:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 1000
}
}
Per altre informazioni, vedere Mitigazione degli errori.
Esecuzione di un lavoro con simulazione del modello di rumore
È possibile usare lo stesso programma di esempio illustrato in precedenza nella mitigazione degli errori e aggiungere o sostituire la configurazione del modello di disturbo in option_params
;
option_params = {
"error-mitigation": {
"debias": True
},
"noise": {
"model": "aria",
"seed": 1000
}
}
Quindi inserire i parametri facoltativi quando si invia l'attività:
job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()
In Qiskit si passano i parametri facoltativi alla configurazione della macchina target prima di inviare il lavoro.
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Prezzi
Per visualizzare il piano di fatturazione IonQ, vedere Prezzi di Azure Quantum.
Limiti e quote
Le quote di IonQ vengono rilevate in base all'unità di utilizzo di QPU, ovvero qubit-gate-shot (QGS). L'utilizzo delle risorse viene accreditato sull'account.
Ogni programma quantistico è costituito da porte logiche quantistiche $N$ di uno o più qubit e viene eseguito per un determinato numero di scatti. Il numero di passaggi attraverso il cancello viene calcolato usando la formula seguente:
$$ QGS = N · C $$
dove:
- $N$ è il numero di porte a uno o due qubit inviate
- $C$ è il numero di colpi di esecuzione richiesti
Le quote sono basate sulla selezione del piano e possono essere aumentate con un ticket di supporto. Per visualizzare i limiti e le quote correnti, passare alla sezione Operazioni e selezionare il pannello Quote dell'area di lavoro nel portale di Azure. Per altre informazioni, vedere Quote di Azure Quantum.
Stato IonQ
Per informazioni sui ritardi di elaborazione dei processi QPU di IonQ, vedere la pagina relativa allo stato di IonQ.
Procedure consigliate e grafico della connettività di IonQ
Per visualizzare le procedure consigliate per la QPU di IonQ, vedere Procedure consigliate di IonQ (ionq.com).