Che cos'è Azure Quantum?
Azure Quantum è il servizio per il calcolo quantistico di Azure e offre un set eterogeneo di soluzioni e tecnologie quantistiche. Azure Quantum garantisce un percorso aperto, flessibile e futuro per il calcolo quantistico che si adatta al proprio modo di lavorare, accelera il progresso e protegge gli investimenti tecnologici.
Azure Quantum offre l'ambiente di sviluppo migliore per creare algoritmi quantistici per più piattaforme contemporaneamente mantenendo la flessibilità per ottimizzare gli stessi algoritmi per sistemi specifici. È possibile scrivere una volta il codice ed eseguirlo con modifiche ridotte o nulle in più destinazioni della stessa famiglia. Ciò consente di concentrarsi sulla programmazione a livello di algoritmo.
- Un ecosistema aperto, che consente di accedere a software, soluzioni e hardware quantistici di vario tipo da Microsoft e dai rispettivi partner. È possibile scegliere tra linguaggi di programmazione quantistici, ad esempio Qiskit, Cirq e Q# ed eseguire gli algoritmi in più sistemi quantistici.
- L'impatto quantistico oggi consente di esplorare simultaneamente i sistemi quantistici di oggi e di essere pronti per i sistemi quantistici scalabili del futuro e con soluzioni predefinite eseguite su risorse di calcolo classiche e accelerate (denominate anche soluzioni di ottimizzazione).
Suggerimento
Se non si dispone di un account Azure, registrarsi gratuitamente e iscriversi per una sottoscrizione con pagamento in base al consumo. Se si è studenti, è possibile sfruttare un account Azure gratuito per gli studenti.
- Parti di Azure Quantum
- Come iniziare a usare Azure Quantum?
- Stima delle risorse nel calcolo quantistico
- Cosa sono Q# e il kit di sviluppo Quantum?
- Flusso di lavoro dello sviluppo di software quantistico
- Provider disponibili in Azure Quantum
Parti di Azure Quantum
Con Azure Quantum è possibile usare i vantaggi dell'elaborazione quantistica oggi in un ecosistema cloud open stack completo con accesso a software, hardware e soluzioni predefinite. Azure Quantum offre due tipi di soluzioni quantistiche: calcolo quantistico e ottimizzazione.
Calcolo quantistico
Se si vogliono simulare problemi meccanici quantistici, ad esempio reazioni chimiche, reazioni biologiche o formazioni di materiali, i computer quantistici risultano eccellenti perché usano fenomeni quantistici nel calcolo. I computer quantistici possono anche contribuire all'accelerazione del progresso in aree diverse, tra cui servizi finanziari, apprendimento automatico e ricerche di dati non strutturati, in cui sono necessari numerosi calcoli.
Grazie ad Azure Quantum, i ricercatori e le aziende possono usare il calcolo quantistico per modellare scenari complessi in ambito di gestione dei rischi, cybersecurity, analisi di rete, ricerca di dati, sviluppo di vaccini o scienza dei materiali. Per altre informazioni su come usare il calcolo quantistico e gli algoritmi quantistici, vedere Informazioni sul calcolo quantistico.
Optimization
Decenni di simulazione degli effetti quantistici nei computer classici hanno portato allo sviluppo di nuovi tipi di soluzioni quantistica denominate ottimizzazione basata su quantistica. L'ottimizzazione è il processo di individuazione della migliore soluzione a un problema, in base al risultato desiderato e ai vincoli. Problemi di ottimizzazione complessi sono presenti in ogni settore: pianificazione dei percorsi dei veicoli, gestione della supply chain, pianificazione, ottimizzazione del portafoglio, gestione delle reti elettriche e altri ancora. La risoluzione di questi problemi reali comporta vantaggi di alto valore, ad esempio riduzione dei costi, accelerazione dei processi o attenuazione dei rischi.
Gli algoritmi di ottimizzazione basati su quantistici sfruttano alcuni dei vantaggi del calcolo quantistico sull'hardware classico, fornendo una velocità rispetto agli approcci tradizionali.
Azure Quantum consente l'accesso a un'ampia gamma di algoritmi di ottimizzazione quantum-inspired all'avanguardia, sviluppati da Microsoft e dai suoi partner. Per altre informazioni sulle soluzioni di ottimizzazione in Azure Quantum, vedere Che cos'è l'ottimizzazione?.
Come iniziare a usare Azure Quantum?
Suggerimento
Gli utenti per la prima volta ottengono automaticamente $ 500 (USD)Crediti Quantistici di Azure per l'uso con ogni provider hardware quantistico partecipante. Se sono stati utilizzati tutti i crediti e sono necessari crediti aggiuntivi, è possibile candidarsi al programma Azure Quantum Credits.
Iniziare a usare Azure Quantum è molto semplice e gratuito per i nuovi utenti. Per inviare programmi quantistici e soluzioni di ottimizzazione ad Azure Quantum sono necessari solo due elementi:
- Account Azure: se non si dispone di un account Azure, registrarsi gratuitamente e iscriversi per una sottoscrizione con pagamento in base al consumo.
- Area di lavoro di Azure Quantum: un'area di lavoro Di Azure Quantum è una raccolta di asset associati all'esecuzione di applicazioni quantistica o di ottimizzazione. Per creare un'area di lavoro di Azure Quantum, passare alla portale di Azure, selezionare Creazione rapida e crea automaticamente l'area di lavoro e aggiunge i provider predefiniti. In alternativa, selezionare Crea in anticipo e immettere i dettagli dell'area di lavoro e scegliere i provider.
Per altre informazioni, vedere Creare un'area di lavoro di Azure Quantum.
Stima delle risorse nel calcolo quantistico
Nel calcolo quantistico, la stima delle risorse è la possibilità di comprendere le risorse, ovvero il numero di qubit, il numero di cancelli quantistici, il tempo di elaborazione e così via, che sarà necessario per un determinato algoritmo, presupponendo (o prendendo come parametri) determinate caratteristiche hardware. Comprendere il numero di qubit necessari per una soluzione quantistica e le differenze tra le tecnologie qubit consente agli innovatori di preparare e perfezionare le soluzioni quantistiche da eseguire su macchine quantistiche su scalabilità futura e accelerare infine l'impatto quantistico.
Azure Quantum offre una destinazione di stima delle risorse di prima parte che calcola e restituisce il tempo di esecuzione dell'orologio a parete e le stime delle risorse fisiche per un programma, presupponendo che venga eseguito in un computer quantistico con tolleranza di errore a tolleranza di errore. Progettato in modo specifico per i sistemi quantistici con scalabilità orizzontale (post-NISQ, sistemi a tolleranza di errore), azure Quantum Resource Estimator consente di valutare le decisioni dell'architettura, confrontare le tecnologie qubit e determinare le risorse necessarie per eseguire un determinato algoritmo quantistico. È possibile scegliere tra protocolli a tolleranza di errore predefiniti e specificare presupposti del modello qubit fisico sottostante.
Azure Quantum Resource Estimator calcola la stima delle risorse fisiche post-layout prendendo in considerazione i presupposti relativi ai parametri qubit, ai codici QEC (Quantum Error Correzione) e a un budget di errore. Accetta un programma Quantum Intermediate Representation (QIR) come input e, di conseguenza, supporta qualsiasi linguaggio che converte in QIR, ad esempio, è possibile usare Azure Quantum Resource Estimator con sdk quantistici e linguaggi comuni, ad esempio Q# e Qiskit.
Azure Quantum Resource Estimator accetta un set di input, con valori predefiniti per iniziare facilmente:
- Parametri qubit fisici
- Schema di correzione degli errori quantistici (QEC)
- Budget di errore
Per altre informazioni, vedere La pagina di riferimento di Azure Quantum Resource Estimator .
Cosa sono Q# e il kit di sviluppo Quantum?
Microsoft Quantum Development Kit (QDK) è un kit di sviluppo open source per Azure Quantum. È integrato nel portale di Azure Quantum, in cui è possibile sviluppare programmi usando Jupyter Notebook ospitati. È anche possibile installare QDK nel proprio ambiente locale e lavorare sia online con il servizio Azure Quantum che offline. Il kit di sviluppo Quantum include il linguaggio di programmazione quantistica Q#, un linguaggio di programmazione di livello alto che consente di concentrarsi sul livello dell'algoritmo e dell'applicazione per creare programmi quantistici.
Quantum Development Kit
Il kit di sviluppo Quantum offre un set di strumenti utili per il processo di sviluppo di software quantistico:
- Librerie pronte per l'uso per mantenere un codice di livello alto, incluse librerie "standard" che implementano criteri comuni per molti algoritmi quantistici e librerie specifiche dei domini, ad esempio chimica e apprendimento automatico.
- Simulatori quantistici basati su cloud e locali che simulano macchine quantistiche correnti e future, in modo che sia possibile eseguire ed eseguire il debug degli algoritmi quantistici scritti in Q#.
- Simulatori di rumore che consentono di simulare il comportamento dei programmi Q# sotto l'influenza del rumore e della rappresentazione dello stabilizzatore.
- Estensioni per Visual Studio 2022 e Visual Studio Code e integrazione con Jupyter Notebooks.
- Interoperabilità con Python e altri linguaggi .NET, oltre all'integrazione con Qiskit e Cirq, quindi gli sviluppatori quantistici che lavorano già in altri linguaggi di sviluppo possono eseguire i circuiti in Azure Quantum.
Nota
Azure Quantum è un ecosistema flessibile. È possibile eseguire codice Python in Azure Quantum senza chiamare in modo esplicito qualsiasi codice Q#, ad esempio l'invio di circuiti Qiskit o Cirq o l'invio di problemi di ottimizzazione. Per usare queste funzionalità, è necessario installare il pacchetto Python azure-quantum.
Il linguaggio di programmazione Q#
Perché usare un linguaggio di programmazione quantistico? In breve, perché si vogliono scrivere algoritmi, non circuiti.
Un programma quantistico può essere visto come un determinato set di subroutine classiche che, quando chiamate, eseguono un calcolo interagendo con un sistema quantistico; un programma scritto in Q# non modella direttamente lo stato quantistico, ma descrive invece come un computer di controllo classico interagisce con qubit. Ciò consente di poter ignorare del tutto qual è lo stato quantistico in ogni computer di destinazione, che potrebbe avere interpretazioni diverse a seconda del computer. È possibile scrivere il codice una sola volta e, senza alcuna modifica, eseguirlo su più destinazioni della stessa famiglia, consentendo di concentrarsi sulla programmazione a livello di algoritmo.
È possibile sviluppare programmi quantistici con Q# o Python nel portale di Azure Quantum usando Jupyter Notebooks o sviluppare nell'ambiente locale usando l'IDE preferito. L'ambiente consente di inviare processi all'hardware quantistico tramite il servizio Azure Quantum oppure usare simulatori quantistici basati sul cloud o locali. Per altre informazioni, vedere diversi modi in cui è possibile eseguire un programma Q#.
Flusso di lavoro dello sviluppo di software quantistico
Azure Quantum offre l'ambiente di sviluppo migliore per creare algoritmi quantistici per più piattaforme contemporaneamente mantenendo la flessibilità per ottimizzare gli stessi algoritmi per sistemi specifici. È possibile scegliere tra linguaggi di programmazione quantistici, ad esempio Qiskit, Cirq e Q# ed eseguire gli algoritmi in più sistemi quantistici. Con Azure Quantum, è facile esplorare simultaneamente i sistemi quantistici di oggi e essere pronti per i sistemi quantistici scalabili del futuro.
Il diagramma seguente mostra le fasi che un programma quantistico deve attraversare, dall'idea all'implementazione completa in Azure Quantum, e gli strumenti offerti dal kit di sviluppo Quantum per ogni fase.
Scrivere il codice quantistico. È possibile scrivere il programma Q# con i notebook Jupyter ospitati disponibili nell'area di lavoro di Azure Quantum. Se si preferisce un ambiente di sviluppo locale, è possibile creare il programma Q# usando le estensioni QDK per Visual Studio, Visual Studio Code o Jupyter Notebook.
Usare le librerie per mantenere il codice a un livello alto. Le librerie quantistiche consentiranno di mantenere il codice a un livello alto, eseguendo molte operazioni complesse nell'implementazione, in modo da permettere di concentrarsi sulla logica degli algoritmi.
Eseguire l'integrazione con il software classico. Il kit di sviluppo Quantum consente di integrare i programmi Q# con Python e .NET, permettendo a uno sviluppatore di software quantistico di sfruttare molti dei progressi in ambito di calcolo classico degli ultimi 70 anni. È anche possibile riutilizzare e inviare il codice sorgente Qiskit e Cirq esistente senza alcuna modifica.
Eseguire il codice quantistico in una simulazione. Dopo avere scritto il programma, è consigliabile usare i simulatori quantistici, ovvero programmi classici che simulano il comportamento di un sistema quantistico, in modo da eseguire un'istanza ridotta del programma e verificarne il funzionamento senza accesso effettivo all'hardware.
Stimare le risorse. Prima dell'esecuzione su hardware quantistico, sarà necessario stabilire se il programma può essere eseguito sull'hardware esistente. È possibile usare Azure Quantum Resource Estimator per indicare le stime delle risorse fisiche necessarie e il tempo necessario per il programma.
Eseguire il codice su hardware quantistico. L'ultimo passaggio per l'utilizzo di Azure Quantum consiste infine nell'esecuzione del programma su hardware quantistico.
Nota
Si usa lo stesso codice Q# per tutti i passaggi del flusso di lavoro. A breve termine potrebbe essere necessario modificare alcune parti del codice per adeguarlo alle limitazioni dell'hardware corrente. A lungo termine sarà tuttavia possibile spostarsi tra diversi simulatori e provider di hardware senza modifiche al codice.
Provider disponibili in Azure Quantum
Azure Quantum offre alcune delle risorse quantistiche più interessanti e diversificate attualmente disponibili per i leader di diversi settori. Azure Quantum collabora attualmente con i provider seguenti per consentire l'esecuzione di programmi quantistici Q# su hardware effettivo e di testare il codice in computer quantistici simulati.
Provider di calcolo quantistico
Scegliere il provider più adatto alle caratteristiche del problema specifico e alle proprie esigenze.
- Quantinuum: sistema di ion intrappolato con alta fedeltà, qubit completamente connessi, tassi di errore bassi, riutilizzo di qubit e la possibilità di eseguire misurazioni di circuiti intermedi.
- IONQ: computer quantistico a trappola ionica riconfigurabile dinamicamente per un massimo di 11 qubit completamente connessi che consente di eseguire un gate a due qubit tra qualsiasi coppia.
- Rigetti: processori superconduttori basati su gate che usano Quantum Intermediate Representation (QIR) per abilitare l'esecuzione bassa latenza e parallela.
- Pasqal: processori quantistici basati su atom neutrali che operano a temperatura ambiente, con tempi lunghi di coerenza e connettività qubit impressionante. È possibile eseguire la pre-registrazione oggi per l'anteprima privata di Pasqal di Azure Quantum.
- Circuiti quantistici, Inc: circuiti superconduttori full stack, con feedback in tempo reale che consente la correzione degli errori, l'intangimento agnostico delle porte. È possibile eseguire la pre-registrazione oggi per l'anteprima privata di Azure Quantum di QCI.
Per altre informazioni sulle specifiche di ogni provider, vedere l'elenco completo di destinazione di calcolo quantistico.
Provider di ottimizzazione
Per le soluzioni di ottimizzazione è possibile scegliere tra i provider seguenti:
- 1QBit: algoritmi euristici iterativi che usano tecniche di ricerca per risolvere problemi QUBO.
- Microsoft QIO: set di destinazioni multiple che ridefiniscono il problema dell'ottimizzazione in base all'ispirazione ottenuta da decenni di ricerca quantistica.
- Toshiba SQBM+: La macchina di bifurcazione quantistica simulata da Toshiba è una macchina ISING basata su GPU che risolve problemi di ottimizzazione combinatoria su larga scala ad alta velocità.
Per altre informazioni sulle specifiche di ogni provider, vedere l'elenco completo di destinazione Ottimizzazione.
Passaggi successivi
Iniziare a usare Azure Quantum: