GENERALITÀ. Nella rivista Cybersecurity Trends n.2 del 2021 ripercorrevamo le tappe fondamentali che portarono alla nascita delle prime sperimentazioni di computer quantistici passando attraverso la computazione parallela degli anni novanta (https:// www.cybertrends.it/dalla-processazione-parallela-alcomputer- quantistico/ [B000]) sino ai nostri giorni. Concludevamo infine l’articolo con il seguente pensiero: “Il computer quantistico sarà molto utilizzato per alcune casistiche risolutive dove la componente Non Polinomiale (NP) dello spazio delle soluzioni e quindi la natura probabilistica risulta una predominante. Citiamo alcuni di questi scenari: reti neurali e intelligenza artificiale, chimica e biochimica, scenari di controllo dei domini della conflittualità (aria, acqua, terra, spazio e dominio cibernetico), settori finanziari e di trading, algoritmi predittivi, alte energie ed energie rinnovabili, biotecnologie e virologia, tecnologie dei materiali e nanotecnologie, simulazioni e test previsionali, cybersecurity, crittografia e analisi malware… Saremo quindi difronte a una nuova generazione di computer ibridi che supereranno i limiti attuali imposti dalla legge di More… verso un nuovo orizzonte degli eventi più consono alle esigenze di coniugare i fenomeni naturali con la tecnologia e consentire all’uomo di raggiungere traguardi evolutivi di portata epocale.” Direi che questo nuovo orizzonte degli eventi è già qui, dopo soli tre anni dalla pubblicazione dell’articolo, grazie soprattutto all’impulso che la ricerca avanzata, sia accademica sia industriale, ha saputo fornire in così poco tempo in questo settore, quello ibrido, sapientemente orchestrato, soprattutto nel cloud, con applicazioni di intelligenza artificiale, machine learning e applicazioni di analisi predittive e simulazioni di scenari. Cercheremo, per quanto ci è concesso, di fornire un aggiornamento adeguato all’attuale orizzonte degli eventi puntando agli aspetti inerenti quelle applicazioni ibride che trovano negli ambienti cloud una naturale configurazione di sviluppo più adatta al mercato dei prossimi decenni.
POTENZA QUANTISTICA. Il segreto della potenza di un computer quantistico risiede nella sua capacità di generare e manipolare bit quantistici, o qubit. I qubit possono rappresentare numerose possibili combinazioni di 1 e contemporaneamente rispetto ai computer classici basati sulla macchina di Turing. Questa capacità di trovarsi simultaneamente in più stati è chiamata Sovrapposizione (Superposition). Per mettere i qubit in sovrapposizione, i ricercatori manipolano tali qubit in una CPU quantistica utilizzando laser o raggi a microonde. Grazie a questa possibilità un computer quantistico con diversi qubit in sovrapposizione può analizzare simultaneamente un vasto numero di potenziali risultati. Il risultato finale diun calcolo emerge solo quando i qubit sono stati misurati, il che fa immediatamente “collassare” il loro stato quantistico a 1 o 0. È possibile inoltre generare coppie di qubit che sono in “Entanglement”, ciò significa che la modifica dello stato di uno dei qubit cambierà istantaneamente lo stato dell’altro in modo controllato anche se sono separati da distanze molto elevate. L’entanglement è una proprietà delle particelle elementari con i loro movimenti di spin rilevata dallo stesso Einstein nel famoso esperimento EPR (Eistein- Podolsky-Rosen) [B006].
In realtà l’aggiunta di qubit a una CPU quantistica produce un aumento esponenziale della sua capacità di elaborazione. Tuttavia le macchine quantistiche sono molto più soggette a errori dei computer classici a causa della non coerenza prodotta dall’interazione con l’ambiente esterno che genera perturbazioni dello stato coerente. Ecco perché i qubit vengono raffreddati criogenicamente oppure mantenuti in uno stato di coerenza nelle così dette camere a vuoto.
APPLICAZIONI QUANTISTICHE. Le macchine quantistiche risultano interessanti per la risoluzione di problemi legati alla bioingegneria molecolare e all’ottimizzazione di funzioni matematiche e simulazioni perché inducono soluzioni rapide in contesti di analisi parallela dei dati. Le macchine quantistiche potrebbero inoltre essere utilizzate per accelerare i processi di intelligenza artificiale e machine learning. Siamo ancora in uno stadio embrionale delle differenti declinazioni di ricerca ma la comunità scientifica e industriale si trova in un vero e proprio fermento innovativo rivoluzionario. Potrebbero tuttavia essere necessari alcuni anni prima che i computer quantistici raggiungano il loro pieno potenziale. Le università e le imprese che vi lavorano stanno svolgendo attività accademico-formative adeguate ad affrontare l’attuale carenza di ricercatori qualificati.
Fig.1 – Esempi di architetture di calcolo quantistico. (a) Architettura a 53 qubit utilizzata da Google. Vista schematica dall’alto di qubit superconduttori (grigio) con accoppiatori adattivi (blu). (b) Hardware da 11 qubit utilizzato da IonQ. Gli ioni intrappolati in una catena lineare vengono rilevati e manipolati tramite componenti ottici. (c) Architettura basata sull’ottica lineare utilizzata da PsiQuantum. I fotoni si propagano attraverso i percorsi definiti (linee nere) con porte logiche quantistiche e regioni di accoppiamento. Rif. [B001]L
L’informatica quantistica richiede connessioni con il mondo esterno. Tali connessioni potrebbero riguardare la collaborazione tra un computer quantistico e una risorsa informatica esterna tradizionale come un supercomputer in un approccio computazionale cosiddetto ibrido. Quindi è possibile produrre risultati-output dei calcoli quantistici per computer-input di ultima generazione per essere poi fruibili dagli operatori finali. In entrambi i casi, esiste un paradosso tra la necessità di isolare i qubit nei computer quantistici dalle interruzioni causato dall’ambiente esterno in particolare l’accesso ai risultati computazionali in ambienti tradizionali a temperatura ambiente. IBM, ad esempio, si è dedicata alla realizzazione di una classe speciale di amplificatori a microonde a basso rumore, noti come amplificatori a limitazione quantistica (QLA), per affrontare questa sfida. Le prestazioni dei QLA devono essere migliorate prima che possano supportare le future generazioni di computer quantistici “di grandi dimensioni” distribuiti nel cloud. In sintesi un computer quantistico è costituito da tre parti fondamentali:
A. Lo spazio di alloggiamento del Quantum Processor Unit dimensionato a n-qubits.
B. Un metodo per il trasferimento dei segnali ai qubit.
C. Un sistema di interpretazione dei dati e invio dei risultati a un elaboratore. I sistemi qubit richiedono pertanto un attento controllo dello stato di coerenza per funzionare in modo utile. Tale controllo può essere gestito anche utilizzando le classiche risorse informatiche associate al computer quantistico. La struttura di un’architettura informatica ibrida quantistico-classica operativa può essere vista come quattro “strati” distinti:
1. Strato quantistico in cui esistono i qubit e dove avviene il calcolo quantistico.
2. Strato di controllo e misurazione a temperature criogeniche che controlla il funzionamento e la misurazione dei qubit.
3. Strato del processore di controllo a temperatura ambiente; esso controlla la sequenza di operazioni e misurazioni necessarie all’algoritmo quantistico, inclusa la determinazione della necessità e il controllo delle operazioni interattive.
4. Strato del processore host, tipicamente una macchina in cloud che fornisce accesso a reti e array di archiviazione di grandi dimensioni e supporta interfacce utente, consente pertanto interazioni tramite istruzioni oltre alla mutuata lettura dei risultati quantistici.
Tipologia di calcolo quantistico
Esistono ad oggi quattro casistiche di calcolo quantistico (batch, interattivo, integrato e distribuito) ciascuna delle quali viene di seguito specificata:
A. Calcolo quantistico in batch. I client locali definiscono i circuiti e li inviano come lavori all’unità di elaborazione quantistica (QPU), che restituisce il risultato. L’unione di più circuiti in un unico lavoro, tuttavia, elimina i tempi di attesa, consentendo di eseguire più lavori parallelamente e quindi più velocemente. Esempi di problemi che possono trarre vantaggio dal calcolo quantistico batch includono tipologie analoghe all’algoritmo di Shor e alla stima delle fasi quantistica. L’algoritmo di Shor è un algoritmo che consente di risolvere il problema della fattorizzazione dei numeri interi. L’algoritmo consiste di due passi: A) una riduzione del problema di fattorizzazione a un problema di calcolo dell’ordine eseguibile su un computer classico. B) La risoluzione, tramite un algoritmo (detto appunto quantistico) del problema come al punto A).
Fig.2 – Algoritmo di Shor [B009]
B.Calcolo quantistico interattivo. In questo modello, la risorsa di calcolo del client viene spostata nel cloud, con conseguente latenza inferiore ed esecuzione ripetuta del circuito quantistico impostato dall’utente con parametrizzazione specifica. I lavori possono essere raggruppati logicamente in una sessione unica e avere la priorità rispetto ai lavori non di sessione. Sebbene le sessioni consentano tempi di coda più brevi e problemi di esecuzione più lunghi, gli stati dei qubit decadono tra ogni iterazione. Esempi di problemi che possono utilizzare questo approccio sono gli autosolutori quantistici variazionali (VQE) e gli algoritmi di ottimizzazione approssimata quantistica (QAOA).
C. Calcolo quantistico integrato. Con il calcolo quantistico integrato, l’architetture classica e quantistica sono strettamente accoppiate, consentendo di eseguire calcoli classici mentre i qubit fisici sono coerenti. Sebbene limitato dalla durata dei qubit in coerenza e dalle necessità di correzione immediata degli errori, questo calcolo consente ai programmi quantistici di separarsi dai soli circuiti. I programmi possono ora utilizzare costrutti di programmazione comuni per eseguire misurazioni sui circuiti intermedi, ottimizzare e riutilizzare i qubit e adattarsi in tempo reale alla Quantum Processor Unit (QPU). Esempi di scenari che possono trarre vantaggio da questo modello sono la stima della fase adattiva di un fenomeno naturale e l’apprendimento automatico.
D. Calcolo quantistico distribuito. Il lungo tempo di coerenza fornito dai qubit logici consente calcoli complessi e distribuiti su risorse cloud eterogenee. Abbinata a una QPU composta da un gran numero di qubit, possiamo ipotizzare che questa architettura venga utilizzata per risolvere problemi come la valutazione di reazioni bio-chimiche complete che possono avvantaggiare particolari applicazioni commerciali e i problemi più difficili che l’umanità dovrà affrontare. I componenti di calcolo quantistico hanno un modello operativo diverso da quello del software classico. In genere sono presenti uno o più componenti di calcolo classici che orchestrano l’esecuzione di componenti quantistici. Questa orchestrazione include le attività seguenti:
- Preparazione dei dati di input !Invio di processi quantistico a un ambiente quantistico di destinazione
- Monitoraggio dell’esecuzione del processo
- Post-elaborazione dei risultati del processo
Fig.3 – Stack di calcolatore ibrido quantistico-classico. Al vertice c’è la classica piattaforma informatica che include programmazione applicativa di alto livello e funzioni HMI. Al centro ci sono due piani di controllo, uno che opera a temperatura ambiente per collegarsi al computer classico e uno a temperature criogeniche per collegarsi con i qubit nel computer quantistico in fondo allo stack. (Microsoft Research Rif. [B004])
Fig. 4 – Fonte Microsoft Azure [B005]
Flussi di dati
Nella Fig. 4 forniamo un esempio di flussi fondamentali numerati da 1 a 9 riferiti a una architettura ibrida Microsoft Azure che si sviluppa in tre fasi:
Fase 1 computazione classica iniziale
1. Un utente connesso attiva l’esecuzione del processo quantistico tramite un’applicazione classica.
2. L’applicazione classica API (Application Program Interface) del processo personalizzata per inviare le richieste.
3. Il gateway API attiva la funzione di Azure per l’invio del processo il quale fornisce i dati di input.
4. La funzione inserisce i dati di input in Archiviazione.
5. La funzione invia il processo a un’area di lavoro specificando la destinazione o le destinazioni di esecuzione. La funzione identifica l’area di lavoro tramite credenziali nel modulo Key Vault ed esegue l’autenticazione nell’area di lavoro tramite strumenti di Identity Management.
Fase 2 computazione quantistica
6. Un provider quantistico esegue il processo in un ambiente di destinazione.
Fase 3 computazione classica finale
7. L’applicazione client monitorizza l’esecuzione del processo eseguendo il polling dello stato del processo tramite chiamate API.
8. Il gateway API monitorizza l’esecuzione del processo eseguendo il polling dello stato del processo dal provider quantistico.
9. Al termine del processo, i risultati di calcolo vengono archiviati nel data store. L’applicazione client ottiene i risultati usando un’API implementata sempre tramite una funzione specifica.
In realtà, numerose organizzazioni stanno lavorando su vari aspetti relativi alla necessità di connettere i computer quantistici con il mondo esterno. Di seguito sono riportati alcuni esempi di tali sforzi.
Il laboratorio Microsoft Quantum dell’Università di Sydney ha sviluppato un hardware che consente ai computer quantistici di connettersi con il mondo esterno mantenendo la stabilità dei qubit. Chiamato “Gooseberry”, questo circuito CMOS specializzato include le funzioni digitali e analogiche necessarie per utilizzare ingressi digitali e generare molti segnali di controllo qubit paralleli. Gooseberry può scalare per supportare migliaia di qubit nelle future generazioni di computer quantistici. Funziona a 100 milliKelvin (mK) dissipando una potenza sufficientemente bassa da non superare la potenza di raffreddamento di un normale frigorifero disponibile sul mercato. Il laboratorio Microsoft Quantum ha anche sviluppato un core crio-calcolatore per scopi generali non specificati che funziona a temperature leggermente più elevate ottenibili nell’elio liquido. Gooseberry traduce queste istruzioni in impulsi di tensione per controllare i qubit. La combinazione del core crio-to-compute con Gooseberry è una soluzione al problema della creazione delle migliaia di I/O necessari per controllare migliaia di qubit.
Il cosiddetto “collo di bottiglia del cablaggio di interconnessione” dell’informatica quantistica affrontato dal chip Gooseberry è al centro degli sforzi di Intel con un suo nuovo chip risolutivo chiamato Horse Ridge. Questo è invece un chip di controllo criogenico per qubit costruito utilizzando la tecnologia FinFET Low Power a 22 nm sempre di Intel. Horse Ridge porta le funzioni di controllo chiave per il funzionamento dei computer quantistici nel cosiddetto frigorifero criogenico. Un criocontroller basato su CMOS come Horse Ridge può ottenere il controllo coerente di un processore a due qubit agli stessi livelli di fedeltà (99,7%) dell’elettronica a temperatura ambiente. Questa è considerata una pietra miliare significativa in termini di elettronica di criocontrollo per l’informatica quantistica. Ciò fornirebbe un percorso commerciale a stretto giro verso la scalabilità quantistica.
QUANTUM MACHINE LEARNING. L’apprendimento automatico può essere suddiviso in due gruppi principali: apprendimento supervisionato (addestramento dei dati per prevedere il valore successivo), e non supervisionato (che agisce su dati generici non etichettati). Le macchine a vettori di supporto (SVM) rientrano nella categoria dell’apprendimento supervisionato. Gli algoritmi di apprendimento supervisionato imparano da un set di esempi. Nell’apprendimento supervisionato, esistono variabili di input (X) e una variabile di output (Y). Lo scopo dell’algoritmo è apprendere come la funzione viene mappata dall’input all’output.
Y = f(X)
L’obiettivo dell’algoritmo è l’approssimazione della funzione di mappatura tale da consentire quando si hanno nuovi dati di input (X), di prevedere le variabili di output (Y) per tali dati. Ad esempio, l’algoritmo di apprendimento supervisionato può utilizzare un set di dati addestrato per comprendere la differenza tra due tipi di animali (es. cani e gatti). L’algoritmo analizza le diverse caratteristiche (capelli, colore, occhi, orecchie, ecc.) per scoprire come appare ogni animale. Quindi viene introdotto un punto dati sconosciuto (un cane bianco). Utilizzando l’addestramento precedente, l’algoritmo prevederà in quale categoria potrà rientrare l’animale. Gli SVM sono tra gli algoritmi di apprendimento supervisionato più potenti. Per quelli non supervisionati con finalità di classificazione di oggetti in uno spazio n-dimensionale è possibile utilizzare le cosiddette Reti Neurale Multistrato di Kohonen.
Una Rete Neurale Artificiale (ANN) utilizza lo schema di funzionamento del cervello umano composto da neuroni collegati tramite sinapsi che ricevono stimoli elettrici, essa è dunque composta essenzialmente da un numero variabile di strati (layers) ben descrivibile tramite applicazioni quantistiche. Il primo e l’ultimo di questi strati, essendo predisposti allo scambio d’informazione con l’esterno, sono composti da un numero di neuroni pari alle dimensioni dell’input e dell’output, mentre gli strati interni o nascosti possono avere un numero di neuroni variabile, così come sarà potrà essere variabile il numero degli strati stessi.
L’informazione all’interno della rete è rappresentata da pesi numerici associati ai collegamenti tra i neuroni eccitati di due strati successivi. Nelle reti definite dal finlandese Teuco Kohonen, chiamate reti di Kohonen, i segnali di neuroni tra loro spazialmente vicini sono topologicamente e semanticamente simili; la relazione tra due segnali in ingresso è tanto più forte quanto più vicini sono i neuroni che si eccitano al loro ingresso. Durante l’apprendimento della rete, infatti, nello strato attivo si formeranno delle zone di neuroni che si specializzeranno nel riconoscimento delle caratteristiche topologiche dell’informazione presentata in ingresso. In genere in una rete di Kohonen sono sempre presenti due strati uno di ingresso e uno di uscita. Spesso i neuroni sono disposti in una griglia bidimensionale, altre volte in modo da formare un array monodimensionale (un vettore riga o colonna).
Fig.5 – Schema di Rete Neurale Multistrato di Kohonen per l’analisi dei reticoli sociali [B008]
Dopo queste osservazioni sulle reti neurali evidenziamo nella seguente figura uno schema di integrazione tra Machine Learning Classica (CML) e Machine Learning Quantistica (QML) con l’evidenza di metodi di processazione classica dei dati (CD) a tre bits (n) trasformabili in 3qbits corrispondenti a 2^n=8 dati quantistici (QD) che a loro volta si ritrasformano in dati classici (CD) dopo l’elaborazione.
Fig. 6 – Interazione tra una Machine Learning Classica (CML) e una Quantistica (QML)
Quando i dati vengono proiettati in dimensioni sempre più elevate di complessità di calcolo, è difficile per i computer classici gestire calcoli così elevati. In altri termini gli algoritmi classici di apprendimento automatico sono troppo faticosi per i computer tradizionali. Fortunatamente, i computer quantistici hanno la potenza computazionale per gestire questi gravosi algoritmi. Come dicevamo, utilizzano leggi come la sovrapposizione e l’entanglement per risolvere i problemi più velocemente delle loro controparti classiche. L’apprendimento automatico quantistico consente agli scienziati di trasformare un algoritmo CML in un circuito quantistico QML in modo che possa essere eseguito efficientemente su una QPU per poi riportare nuovamente i risultati in domini classici. L’apprendimento quantistico è un campo estremamente nuovo e potremmo già prevedere l’impatto rivoluzionario che avrà sul nostro futuro. Ecco alcune delle aree di applicazione delle Quantum Machine Learning:
- Comprendere le nanoparticelle
- Creazione di nuovi materiali attraverso mappe molecolari e atomiche
- Modellazione molecolare per la scoperta di nuovi farmaci e ricerca medica
- Comprensione della struttura profonda del corpo umano
- Riconoscimento e classificazione di qualunque scenario di analisi
- Esplorazione dello spazio interstellare
- Risoluzione di problemi complessi di cifratura e sicurezza dello spazio cibernetico inclusa la cifratura omomorfica.
Con sviluppi sempre più sorprendenti di tipo CML + QML integrati e ibridati avremo pertanto la risposta vincente a tutti i problemi complessi nello spazio delle soluzioni, siano esse polinomiali(P) siano esse non polinomiali (NP). Una raccomandazione è tuttavia d’uopo. Questo tipo di strumenti dovrà sempre essere utilizzato in modalità etica per il bene e il progresso dell’umanità verso sempre più sfidanti orizzonti della conoscenza umana.
Autore: Francesco Corona
Bibliografia utile
[B000] https://www.cybertrends.it/dallaprocessazione- parallela-al-computer-quantistico/
[B001] 1: Examples of quantum computing architectures. (a) 53-qubits… | Download Scientific Diagram (researchgate.net) [B002] CMOS-based cryogenic control of silicon quantum circuits | Nature
[B003] Che cos’è un computer quantistico? • HelpMeTech
[B004] Merging quantum and classical computing in a hybrid system (microcontrollertips.com) [B005]https://learn.microsoft.com/it-it/azure/ architecture/example-scenario/quantum/quantumcomputing- integration-with-classical-apps
[B006] Paradosso di Einstein-Podolsky-Rosen – Wikipedia
[B007] Quantum Machine Learning Is The Next Big Thing. (thequantuminsider.com)
[B008] F. Corona – Web Intelligence. Manuale di Sicurezza ed Intelligence, Master MAIS Link Campus University, Roma 2006. [B009] Algoritmo di Shor Wikipedia. [B010] La sinapsi: il social network più sofisticato per le nostre cellule nervose – Medicalfacts