Panoramica di Qiskit Runtime
Scopri il futuro del quantum computing con Qiskit Runtime, una nuova architettura che offre miglioramenti significativi delle prestazioni per l'esecuzione del programma. Utilizzando i nostri simulatori e QPU fisici (emulatori classici di QPU), puoi sperimentare il calcolo quantistico senza attriti. Cioè, la capacità di eseguire programmi quantistici in un ambiente in cui il computer classico è fisicamente più vicino al computer quantistico. Testare programmi e algoritmi e sviluppare nuovi modelli con il nostro runtime quantistico basato sul cloud per migliorare drasticamente la capacità e aumentare le prestazioni.
La nuova interfaccia della piattaforma IBM Quantum è stata rilasciata in modalità di accesso anticipato. Si consiglia di iniziare a utilizzare tale interfaccia per lavorare con i servizi Quantum di IBM. Poiché è basato su IBM Cloud, la migrazione è semplice. Vedi la guida alla migrazione per i dettagli.
Questa documentazione si basa sulla versione corrente di Qiskit Runtime.
Poiché questo servizio è in fase Beta, molte funzioni non sono ancora disponibili e sono ancora in fase di sviluppo, incluse alcune funzioni descritte nel seguente diagramma.
Perché utilizzare Qiskit Runtime?
Esegui i tuoi esperimenti con un'architettura migliorata: per algoritmi variazionali come VQE, i loop tra calcolo classico e quantistico avvengono con una connessione a bassa latenza al dispositivo quantistico.
Utilizzare le primitive per iniziare rapidamente: i programmi primitivi forniscono un'interfaccia semplificata per la creazione e la personalizzazione delle applicazioni. È possibile inoltrare i circuiti e restituire i conteggi delle istantanee, le letture pre - istantanee o i valori di aspettativa osservabili. (Alcune primitive sono funzioni future.)
Panoramica dei programmi primitivi
Qiskit Runtime introduce una serie di interfacce, sotto forma di programmi primitivi, per espandere il modo in cui gli utenti eseguono lavori su computer quantistici.
L'interfaccia Qiskit esistente per i backend (backend.run()
) è stata progettata per accettare un elenco di circuiti e conteggi di ritorno per ogni lavoro. Nel corso del tempo, è diventato chiaro che gli utenti hanno scopi diversi
per l'informatica quantistica, e quindi i modi in cui definiscono i requisiti per i loro lavori di informatica si stanno espandendo. Pertanto, anche i loro risultati sembrano diversi.
Ad esempio, un ricercatore di algoritmi e uno sviluppatore si preoccupano delle informazioni oltre i conteggi; sono più focalizzati sul calcolo efficiente delle quasiprobabilità e dei valori di aspettativa degli osservabili.
I nostri primitivi forniscono metodi che rendono più facile costruire algoritmi modulari e altri programmi di ordine superiore. Invece di restituire semplicemente i conteggi, restituiscono informazioni più immediatamente significative. Inoltre, forniscono un modo semplice per accedere alle ultime ottimizzazioni di hardware e software IBM Quantum.
Le operazioni di base che si possono fare con una distribuzione di probabilità è di campionare da esso o di stimare le quantità su di esso. Pertanto, queste operazioni costituiscono gli elementi fondamentali dello sviluppo degli algoritmi quantistici. ILQiskit Runtime le primitive (campionatore e stimatore) utilizzano queste operazioni di campionamento e stima come interfacce principali per le nostre QPU. Ulteriori informazioni sulle operazioni che è possibile eseguire con i programmi primitivi Qiskit Runtime sono disponibili nella documentazione IBM Quantum.
Per garantire risultati più rapidi ed efficienti, a partire dal 1° marzo 2024, i circuiti e gli osservabili devono essere trasformati per utilizzare solo le istruzioni supportate dalla QPU (denominati circuiti e osservabili dell 'architettura del set di istruzioni (ISA) ) prima di essere sottoposti alle primitive di Qiskit Runtime. Consultare la documentazione sulla traspirazione per istruzioni sulla trasformazione dei circuiti.
Questa modifica ha i seguenti impatti importanti:
- Poiché la traspilazione viene eseguita per corrispondere ai circuiti disponibili su un backend specifico, è necessario specificare un backend. L'opzione di utilizzare la QPU meno occupata a cui hai accesso non funzionerà. Se non si specifica un backend, si riceverà un errore.
- Le primitive non eseguiranno più operazioni di layout o instradamento. Di conseguenza, le opzioni di trasporto che si riferiscono a tali attività non avranno più alcun effetto. Per impostazione predefinita, tutte le primitive tranne Sampler
V2 ottimizzano ancora i circuiti di input. Per ignorare l'ottimizzazione, impostare
optimization_level=0
.
Primitive disponibili
Sono disponibili i seguenti programmi primitivi:
Primitiva | Descrizione | Output di esempio |
---|---|---|
Campionatore | Consente a un utente di immettere un circuito e quindi restituire gli output (bitstring) da ogni istantanea (V2) o quasi probabilità (V1). Questa generazione consente agli utenti di valutare in modo più efficace la possibilità di più punti dati rilevanti nel contesto di interferenze distruttive. | ![]() |
Stimatore | Consente a un utente di specificare un elenco di circuiti e osservabili e di raggruppare selettivamente tra gli elenchi per valutare in modo efficiente i valori di previsione e le varianze per un input di parametro. È stato progettato per consentire agli utenti di calcolare e interpretare in modo efficiente i valori di aspettativa degli operatori quantistici richiesti per molti algoritmi. | ![]() |
Come utilizzare le primitive
Le interfacce del programma primitivo variano in base al tipo di attività che si desidera eseguire sul computer quantistico e ai dati corrispondenti che si desidera restituire come risultato. Dopo aver identificato la primitiva appropriata per il programma, è possibile utilizzare Qiskit per preparare gli input, come i circuiti, gli elementi osservabili (per Estimator) e le opzioni personalizzabili per ottimizzare il job.
Primitive V2
Questo documento utilizza le primitive Versione 2 (disponibili con qiskit - ibm - runtime 0.21.0). La versione 2 è la prima modifica dell'interfaccia principale dall'introduzione delle primitive Qiskit Runtime. In base al feedback degli utenti, questa versione introduce le seguenti nuove funzioni principali:
La versione 2 delle primitive viene introdotta con una nuova classe di base per Sampler e Estimator (BaseSamplerV2 e BaseEstimatorV2), insieme a nuovi tipi per i relativi input e output.
La nuova interfaccia consente di specificare un singolo circuito e più osservabili (se si utilizza Estimator) e le serie di valori di parametro per quel circuito, in modo che sia possibile specificare in modo efficiente le serie di valori di
parametro e osservabili. In precedenza, era necessario specificare lo stesso circuito più volte per corrispondere alla dimensione dei dati da combinare. Inoltre, mentre è ancora possibile utilizzare optimization_level
e resilience_level
(se si utilizza Estimator) come semplici pomelli, le primitive V2 offrono la flessibilità di attivare o disattivare i singoli metodi di attenuazione / soppressione degli errori per personalizzarli in base alle proprie esigenze.
Per ridurre il tempo totale di esecuzione del lavoro,V2 le primitive accettano solo circuiti e osservabili che utilizzano istruzioni supportate dalla QPU di destinazione (denominati circuiti e osservabili dell'architettura del set di istruzioni
(ISA)). Le primitive V2 non eseguono operazioni di layout, instradamento e conversione, ma continuano ad ottimizzare i circuiti se si specifica optimization_level>0
. Consultare la documentazione sulla traspirazione per istruzioni sulla trasformazione dei circuiti.
V2 Il campionatore è semplificato per concentrarsi sul suo compito principale di campionare il registro di uscita dall'esecuzione dei circuiti quantistici. Restituisce gli esempi, il cui tipo è definito dal programma, senza pesi. I dati di output sono separati anche dai nomi dei registri di output definiti dal programma. Questa modifica consente il supporto futuro per i circuiti con flusso di controllo classico.
Per ulteriori informazioni, fare riferimento alla guida alla migrazione delle primitive V2.
Passi successivi
- Utilizza la Guida introduttiva per creare un'istanza ed esegui il primo job.
- Introduzione alle primitive
- Impara utilizzando esercitazioni, corsi e strumenti
- Guarda il video dell'esercitazioneQiskit Runtime per ulteriori informazioni.
- Visualizza la Guida di riferimento APIQiskit Runtime per comprendere come utilizzare i comandi cURL per gestire la propria istanza del servizio cloud.
- Ulteriori informazioni su IBM Quantum Computing.