La programmazione informatica è morta: parola di Matt Welsh

L'informatica classica sarà presto lettera morta secondo Matt Welsh, ex docente presso l'Università di Harvard, in passato nelle fila di Google ed Apple. L'intelligenza artificiale e il machine learning hanno introdotto un modello rivoluzionario che costituirà la base per tutti i sistemi in futuro.
La programmazione informatica è morta: parola di Matt Welsh

Questo è uno di quegli articoli che certamente farà battere forte il cuore a chi si occupa di informatica da decenni e che ha iniziato a programmare almeno negli anni ’80.
L’informatica classica era ed è ancorata al concetto di programmazione, ai linguaggi di programmazione, agli algoritmi, alle strutture dati, ai sistemi. L’obiettivo finale è di solito quello di concretizzare un’idea in un programma scritto in un linguaggio ad alto livello come Java, C++ o Python. Ne parliamo spiegando cos’è il linguaggio macchina e quali sono le differenze tra codice compilato e interpretato.

Matt Welsh, CEO e co-fondatore di Fixie.ai, una startup che sviluppa funzionalità di intelligenza artificiale per supportare i team di sviluppo software, ex docente di informatica presso l’Università di Harvard, ex ingegnere responsabile presso Google ed Apple, spiega che l’informatica classica e la programmazione sono ormai sul viale del tramonto.

Oggi l’informatica è approcciata in ambito accademico sempre allo stesso modo, esattamente come 30 anni fa: al centro ci sono strutture di dati, algoritmi e programmazione.
Welsh osserva però che l’informatica classica sta per subire uno sconvolgimento piuttosto importante e pochi sono davvero preparati ad affrontarlo.

L’idea convenzionale di “scrivere un programma” è, secondo Welsh, destinata all’estinzione perché la maggior parte del software, così come lo conosciamo, sarà sostituito da sistemi di intelligenza artificiale addestrati piuttosto che programmati.
In situazioni in cui è necessario un programma “semplice”, quegli stessi programmi saranno generati da un’intelligenza artificiale piuttosto che codificati a mano. Non tutto necessita ovviamente dell’utilizzo di una GPU evoluta o di un cluster di GPU con un numero enorme di parametri da gestire.

I pionieri dell’informatica, emersi dall’ingegneria elettrica, spiega ancora Welsh, credevano fermamente che tutti i futuri scienziati informatici avrebbero avuto bisogno di possedere una profonda conoscenza dei semiconduttori, dell’aritmetica binaria (ne parliamo nell’articolo sul significato del codice binario) e della progettazione di microprocessori per comprendere il funzionamento del software.

Facendo un salto fino ai giorni nostri, sono disposto a scommettere che il 99% delle persone che scrivono software non ha quasi idea di come funzioni effettivamente una CPU, per non parlare della fisica alla base del design dei transistor“, sostiene Welsh. “Per estensione, credo che gli informatici del futuro saranno così lontani dalle definizioni classiche di software che avrebbero difficoltà a invertire una lista concatenata o implementare l’algoritmo Quicksort“. Tutte cose che abbiamo imparato ai tempi degli studi superiori e universitari ma che oggi in molti hanno dimenticato.

Gli assistenti per la codifica nei vari linguaggi di programmazione come Copilot, basati sull’intelligenza artificiale, stanno grattando solo la superficie: “mi sembra scontato che tutti i programmi in futuro saranno scritti da intelligenze artificiali“, continua Welsh. “Chiunque dubiti di questa previsione deve solo guardare ai progressi molto rapidi compiuti in altri settori legati alla generazione di contenuti, come la generazione di immagini attraverso l’intelligenza artificiale. La differenza di qualità e complessità tra DALL-E v1 e DALL-E v2, annunciata solo 15 mesi dopo, è sbalorditiva. Se ho imparato qualcosa negli ultimi anni lavorando nel settore dell’intelligenza artificiale, è che è molto facile sottovalutare la potenza di modelli di intelligenza artificiale sempre più strutturati. Cose che solo pochi mesi fa sembravano fantascienza stanno rapidamente diventando realtà“.

L’intelligenza artificiale porterà insomma, secondo Welsh, a sostituire l’intero concetto di scrittura di programmi con l’utilizzo di modelli basati sull’addestramento dell’intelligenza artificiali o meglio delle reti neurali che ne governano il funzionamento e le decisioni.

Gli ingegneri del futuro potranno attivare in modo semplice un’istanza di un modello composto da miliardi e miliardi di parametri. Welsh parla di 4 quintilioni di parametri (4 * 1018 ovvero il numero 4 seguito da 18 zeri) utili a codificare l’intera portata della conoscenza umana (“e anche di più”) che saranno disponibili agli “sviluppatori”.
La maggior parte del lavoro intellettuale per fare in modo che la macchina faccia ciò che si vuole riguarderà la ricerca degli esempi giusti, dei dati di addestramento più pertinenti e delle modalità adeguate per valutare il processo di addestramento.

Modelli sufficientemente potenti in grado di effettuare generalizzazioni tramite il machine learning richiederanno solo pochi buoni esempi del compito da eseguire. “Nella maggior parte dei casi non saranno più necessari enormi set di dati predisposti manualmente“: basterà portare degli esempi all’intelligenza artificiale e la macchina farà il resto.

La nuova unità atomica di calcolo non è più un processore, una memoria e un sistema di I/O che implementano l’architettura di Von Neumann quanto piuttosto un modello di intelligenza artificiale massiccio, pre-addestrato e altamente adattivo“, profetizza ancora Welsh. “Ci stiamo muovendo rapidamente verso un mondo in cui gli elementi costitutivi fondamentali del calcolo sono agenti capricciosi, misteriosi e adattivi. Questo cambiamento è sottolineato dal fatto che nessuno capisce effettivamente come funzionano i grandi modelli di intelligenza artificiale. Le persone stanno pubblicando articoli di ricerca che rivelano la scoperta di comportamenti nuovi per i grandi modelli esistenti, anche se questi sistemi sono stati ingegnerizzati da esseri umani. I grandi modelli di intelligenza artificiale sono in grado di fare cose per le quali non sono stati esplicitamente addestrati (…) e al momento non abbiamo modo, a parte lo studio empirico, di determinare i limiti degli attuali sistemi di intelligenza artificiale. Per quanto riguarda i futuri modelli di intelligenza artificiale che sono ordini di grandezza più grandi e più complessi, buona fortuna!

Il cambiamento radicale nella definizione di informatica al quale stiamo assistendo presenta opportunità e rischi enormi. È però giunto il momento di acquisire consapevolezza, estendere le proprie competenze e agire di conseguenza così da non rischiare di trovarsi davanti a un mondo sconosciuto pieno di incognite.

Ti consigliamo anche

Link copiato negli appunti