Skip to main content
IBM Quantum Platform

Flusso di lavoro dello sviluppo

Il termine "modello Qiskit" descrive il flusso di lavoro di sviluppo per scomporre i problemi specifici di un dominio e contestualizzare le capacità richieste in fasi successive. Ciò consente la perfetta integrabilità delle nuove funzionalità sviluppate dai ricercatori dell' IBM Quantum® (e altri) e apre la strada a un futuro in cui le attività di calcolo quantistico saranno eseguite da potenti infrastrutture di calcolo eterogenee (CPU/GPU/QPU). I blocchi o gruppi di blocchi eseguono le fasi di un modello, con l' Qiskit SDK che fornisce un importante livello di base, supportato da altri strumenti o servizi sviluppati da IBM Quantum o dalla comunità open source quantistica. I modelli Qiskit consentono agli esperti del settore di specificare un problema e comporre gli strumenti (blocchi) che realizzano un modello Qiskit. Questo modello può quindi essere eseguito localmente, tramite servizi cloud o distribuito con Qiskit Serverless.

Le quattro fasi di un modello Qiskit sono le seguenti:

  • Mappare il problema su circuiti quantistici e operatori
  • Ottimizzare per l'hardware di destinazione
  • Eseguire sull'hardware di destinazione
  • Risultati post-elaborazione

Ogni fase è descritta in dettaglio nelle sezioni seguenti.


Mappare il problema su circuiti quantistici e operatori

Questo passaggio spiega come un utente parta da un problema classico e capisca come mapparlo su un computer quantistico. Ad esempio, in applicazioni quali la chimica e la simulazione quantistica, questa fase comporta generalmente la costruzione di un circuito quantistico che rappresenti l'hamiltoniano che si sta cercando di risolvere. In questa fase, per determinati problemi, potrebbe essere opportuno specificare fin dall’inizio la mappatura del problema sui qubit del reticolo «heavy-hex» (o «gross») dell’hardware dell’ IBM®, qualora la struttura del problema si presti a un’ottimizzazione anticipata. A questo punto vale anche la pena considerare quale sarà il risultato di quel particolare algoritmo in vista della successiva fase di esecuzione: ad esempio, se il risultato desiderato prevede la deduzione di funzioni di correlazione tramite i test di Hadamard, potresti prepararti a utilizzare Sampler, mentre la specificazione di osservabili richiederebbe l'uso di Estimator e potrebbe offrire numerose opzioni per la mitigazione degli errori.

Il risultato di questa fase è normalmente un insieme di circuiti o operatori quantistici che possono essere ottimizzati per l'hardware nella fase successiva.


Ottimizza per l'hardware di destinazione

In questa fase si prendono i circuiti astratti (o operatori) prodotti dalla fase di mappatura e si esegue una serie di ottimizzazioni su di essi. Ciò può includere la mappatura del percorso e del layout del circuito nell'hardware fisico dei qubit, la conversione in porte base dell'hardware e la riduzione del numero di operazioni, il tutto per ottimizzare le probabilità di successo nella successiva fase di esecuzione. A questo punto potreste anche voler testare i vostri circuiti con un simulatore prima di eseguirli sull'hardware reale nella fase successiva.

In questa fase, i circuiti astratti devono essere transpilati in circuiti relativi all'architettura del set di istruzioni (ISA). Un circuito ISA è un circuito costituito esclusivamente da porte comprensibili all'hardware di destinazione (porte di base) e da eventuali porte multi-qubit necessarie per soddisfare i vincoli di connettività (mappa di accoppiamento). Sull'hardware IBM è possibile eseguire solo circuiti ISA utilizzando il servizio di elaborazione IBM Quantum.


Esecuzione su hardware di destinazione

Questa fase prevede l'esecuzione dei circuiti sull'hardware e produce i risultati del calcolo quantistico. I circuiti ISA generati nella fase precedente possono essere eseguiti utilizzando una primitiva Sampler o Estimator del pacchetto qiskit-ibm-runtime , inizializzata localmente sul proprio computer oppure da un cluster o da un altro ambiente di calcolo eterogeneo. Queste operazioni possono essere eseguite in modalità "Batch", che consente la transpilazione parallela per garantire l'efficienza computazionale classica, oppure in modalità "Sessione", che permette di implementare in modo efficiente le attività iterative senza ritardi dovuti alle code. In questa fase è inoltre possibile configurare alcune tecniche di soppressione e mitigazione degli errori fornite da qiskit-ibm-runtime.

A seconda che si utilizzi la primitiva Sampler o Estimator, il risultato di questo passaggio sarà diverso. Se si utilizza Sampler, l'output consisterà in misurazioni per singolo scatto sotto forma di stringhe di bit. Se si utilizza Estimator, il risultato sarà costituito dai valori attesi delle grandezze osservabili corrispondenti alle grandezze fisiche o alle funzioni di costo.


Risultati della post-elaborazione

Questa fase finale consiste nel ricomporre i risultati ottenuti nella fase precedente per ottenere il risultato desiderato. Ciò può comportare una serie di fasi classiche di elaborazione dei dati, quali la visualizzazione dei risultati, le tecniche di mitigazione degli errori di lettura, la marginalizzazione delle distribuzioni di quasi-probabilità per verificare i risultati su insiemi più piccoli di qubit, oppure la post-selezione basata su proprietà intrinseche del problema, quali lo spin totale, la parità o la conservazione delle particelle, mediante l'eliminazione di osservabili non fisici.

Mentre il campo si sposta dalla costruzione di circuiti su misura a flussi di lavoro su scala di utilità, la flessibilità e la facilità con cui i modelli Qiskit consentono agli utenti di comporre le diverse fasi del modello aprono il calcolo quantistico a un'ampia varietà di applicazioni e tecniche per un facile utilizzo da parte degli scienziati computazionali quantistici.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.