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 il codice una volta ed eseguirlo senza alcuna modifica rispetto a più targets delle stesse famiglie che consentono 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

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:

  1. Account Azure: se non si dispone di un account Azure, registrarsi gratuitamente e iscriversi per una sottoscrizione con pagamento in base al consumo.
  2. 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 stima target delle risorse di prima parte che calcola e restituisce l'ora di esecuzione del wall clock e le stime delle risorse fisiche per un programma, presupponendo che venga eseguita 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 Quantum Intermediate Representation programma (QIR) come input e, pertanto, 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 .

Che cosa sono Q# e ?Quantum Development Kit

Microsoft Quantum Development Kit (QDK) è l'SDK necessario per interfacciarsi con il servizio Azure Quantum. È possibile installare QDK localmente nel computer oppure usarlo come componente preinstallato nei notebook jupyter ospitati gratuiti del servizio Azure Quantum.

QDK include il linguaggio di programmazione quantistico Q#, un linguaggio di programmazioneopen source di alto livello che consente di concentrarsi sul lavoro a livello di algoritmo e applicazione per creare programmi quantistici.

Il tipo Quantum Development Kit

QDK offre un set di strumenti che consentono di eseguire il processo di sviluppo software quantistico e che possono essere usati autonomamente, indipendentemente dal servizio Azure Quantum:

  • Librerie open source che consentono di mantenere il codice ad alto livello, incluse entrambe le librerie "standard" che implementano modelli comuni per molti algoritmi quantistici e librerie specifiche del dominio, ad esempio chimica e Machine Learning.
  • 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 essere completamente agnostico su ciò che uno stato quantistico è anche su ogni target macchina, che potrebbe avere interpretazioni diverse a seconda della macchina. È possibile scrivere il codice una sola volta e, senza alcuna modifica, eseguirlo su più targets 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.

Flusso di lavoro qdk

  1. 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.

  2. 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.

  3. Eseguire l'integrazione con il software classico. Consente Quantum Development Kit di integrare programmi Q# con Python e .NET, consentendo a uno sviluppatore di software quantistico di sfruttare molti dei progressi apportati nel calcolo classico negli ultimi 70 anni. È anche possibile riutilizzare e inviare il codice sorgente Qiskit e Cirq esistente senza alcuna modifica.

  4. 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.

  5. Stimare le risorse. Prima dell'esecuzione su hardware quantistico, sarà necessario stabilire se il programma può essere eseguito sull'hardware esistente. È possibile usare Lo strumento di stima delle risorse di Azure Quantum per indicare le stime delle risorse fisiche necessarie e il tempo necessario per il programma.

  6. 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 a ioni intrappolato con qubit ad alta fedeltà, completamente connesso, bassa frequenza di errore, riutilizzo di qubit e possibilità di eseguire misurazioni a metà circuito.
  • 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 la bassa latenza e l'esecuzione parallela.
  • Pasqal: processori quantistici indipendenti basati su atom che operano a temperatura ambiente, con tempi di coerenza lunghi e connettività qubit impressionante. È possibile preregistrarsi oggi per l'anteprima privata di Pasqal di Azure Quantum.
  • Quantum Circuits, Inc: circuiti superconduttori a stack completo, con feedback in tempo reale che consente la correzione degli errori, i controlli di codifica indipendenti dall'entangling.

Per altre informazioni sulle specifiche di ogni provider, vedere l'elenco completo di calcolo quantisticotarget.

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: un set di più targets che riformula il problema di ottimizzazione ispirato a decenni di ricerca quantistica.
  • SqBM+: La macchina a biforcazione quantistica Simulated Simulated è una macchina ISING basata su GPU che risolve problemi di ottimizzazione combinatoriali su larga scala ad alta velocità.

Per altre informazioni sulle specifiche di ogni provider, vedere l'elenco completo Ottimizzazionetarget.

Passaggi successivi

Iniziare a usare Azure Quantum: