intelligenza artificiale

Intelligenza artificiale evolve: sarà in grado di programmare

Intelligenza artificiale sempre più evoluta: il progetto di Microsoft e OpenAI per portarla a scrivere codice con il linguaggio naturale
Intelligenza artificiale evolve: sarà in grado di programmare FASTWEB S.p.A.


Anno dopo anno l’intelligenza artificiale diventa sempre più evoluta e si prepara a compiere un nuovo passo avanti nella sua “indipendenza” dall’uomo. Uno degli obiettivi raggiunto dai ricercatori è stato quello di migliorare la traduzione tra i linguaggi di programmazione e la risoluzione automatica dei problemi. Ne è un esempio DrRepair, che è in grado di risolvere in autonomia la maggior parte degli errori e delle disattenzioni in cui si incorre nella scrittura di codice di programmazione.

Il prossimo passo per i ricercatori è fare in modo che le intelligenze artificiali siano in grado di programmare e risolvere i problemi da sole, basandosi sulla descrizione della funzionalità richiesta fatta eventualmente anche da un non esperto usando un linguaggio naturale, ovvero una comune “lingua parlata”.

Poter comprendere il linguaggio naturale ed elaborarlo, significa che l’intelligenza artificiale deve essere prima di tutto in grado di capire le parole di una qualsiasi persona che gli presenti un problema. Le IA non si limiterebbero ad offrire istruzioni per una soluzione, ma risolverebbero il problema scrivendo un codice ad hoc per ottenere il risultato richiesto. Questo è proprio l’obiettivo annunciato da Microsoft e OpenAI per GPT-3, una delle IA più avanzate per la generazione di testo, che lavorano affinché sia in grado di programmare basandosi su descrizioni in linguaggio naturale.

Intelligenza artificiale GPT-3: cos’è e come funziona

intelligenza artificialeGPT-3 è un modello di intelligenza artificiale sviluppato da OpenAI e di cui Microsoft ha acquistato i diritti di licenza esclusivi dopo un investimento di 1 miliardo di dollari nel progetto. Si tratta di una IA specializzata nella generazione di testo, cioè in grado di scrivere canzoni, comunicati stampa, rispondere a domande e anche a dubbi di grammatica. Una intelligenza artificiale che può effettivamente comunicare con l’uomo grazie alla sua comprensione, o meglio elaborazione, del linguaggio naturale, cioè il modo in cui le persone parlano e comunicano le informazioni.

L’algoritmo di GPT-3 è in grado di fare analisi di tipo lessicale, grammaticale, sintattica e semantica delle informazioni che riceve dal suo interlocutore, così da comprendere il problema e rispondere in modo adeguato.

Appare evidente come GPT-3 sia un’IA che sembra quasi “umana” e che si presta a nuove sfide. La prima sfida di Microsoft, e anche la sua prima applicazione commerciale, sarà quella di utilizzare GPT-3 per elaborare il linguaggio naturale e rispondere generando un elenco di formule tra cui scegliere, cioè programmare, come ha spiegato alla conferenza degli sviluppatori di Microsoft il CEO Satya Nadella: “Il codice si scrive da solo”.

L’IA di GPT-3 si basa su modelli statistici che utilizzano 175 miliardi di parametri e che devono essere addestrati attraverso il machine learning con grandi quantità di dati, per produrre risultati sempre più precisi. E’ così che l’algoritmo intelligente riesce a generare sequenze di parole, dati e ora anche codice. Anche Charles Lamanna, vicepresidente di Microsoft, ha sottolineato in un’intervista a Wired le potenzialità di GPT-3, che tradurrà il linguaggio naturale in PowerFx, un linguaggio di programmazione abbastanza semplice che è simile ai comandi già in uso per i fogli di calcolo di Microsoft Excel.

Intelligenza artificiale e programmazione: a che punto siamo

intelligenza artificialeDa tempo i ricercatori lavorano per utilizzare l’intelligenza artificiale nella programmazione e il progetto di Microsoft e OpenAI non è l’unico in via di sviluppo. Durante la Build di Microsoft del 2020, cioè la conferenza degli sviluppatori, il CEO di OpenAI Sam Altman aveva presentato un modello di programmazione automatica testato sulla piattaforma per sviluppatori GitHub: in quel caso l’IA era riuscita a generare automaticamente delle righe di codice Python. C’è poi la startup SourceAI, che sta utilizzando sempre il sistema GPT-3 per generare codice. Nella sfida si inserisce anche IBM con il Project CodeNet, un dataset open source su larga scala che comprende 14 milioni di campioni di codice, 500 milioni di linee di codice e 55 linguaggi di programmazione che servirà per allenare i modelli di machine learning fino a renderli in grado di programmare in autonomia.

Come per altri grandi aziende tecnologiche, anche il progetto di Microsoft si basa su un’architettura di rete neurale chiamata Transformer, che permette di creare modelli linguistici di grandi dimensioni utilizzando i dataset di addestramento presenti nel web. Si tratta di modelli linguistici che crescono rapidamente: il modello BERT di Google aveva 340 milioni di parametri, mentre GPT-3 nel 2020 ha già raggiunto i 175 miliardi. La sfida però non è ancora vinta: ad oggi il modello migliore ha avuto solo il 14% di successi nelle sfide introduttive alla programmazione proposte dai ricercatori. Insomma, le intelligenze artificiali muovono i primi passi nella programmazione ma la strada da percorrere è ancora lunga.

Intelligenza artificiale e programmazione: prospettive future

intelligenza artificialeLa domanda non è più se le intelligenze artificiali saranno in grado di programmare partendo dal linguaggio naturale, ma solo quando. Una prospettiva che inevitabilmente si presta a una nuova evoluzione e rivoluzione informatica. I modelli linguistici basati sull’architettura Transformer, proprio come GPT-3, sono destinati a cambiare il lavoro del programmatore.

In un futuro non troppo lontano, sviluppatori e IA lavoreranno in simbiosi per scrivere codici più velocemente.

Secondo gli esperti del settore, in un primo momento l’utilizzo dell’IA per scrivere codice si concentrerà su compiti specifici, estendendo poi la competenza a forme di codifica più generalizzata. Ad esempio, si potrebbero porre numerosi casi di test di un problema all’IA, questa scriverebbe il codice proponendo diverse soluzioni, e poi sarà il programmatore umano a selezionare quella migliore. Utilizzata in questo modo, l’IA sarà in grado di migliorare la produttività degli sviluppatori, per raggiungere risultati efficaci in tempi minori.

Copyright CULTUR-E
Condividi
Ebook
Sicurezza in Rete: ne sai abbastanza?
Strumenti utili, suggerimenti pratici e tutto quello che devi assolutamente sapere per proteggere davvero i tuoi dispositivi e i tuoi dati personali quando sei connesso
scarica l'ebook

Iscriviti alla
newsletter del
Digital Magazine di
Fastweb

Riceverai ogni settimana le notizie più interessanti sul mondo della tecnologia!
Iscriviti

Grazie per esserti iscritto!

Abbiamo inviato una mail all'indirizzo che hai indicato: per completare l'iscrizione alla newsletter del Digital Magazine di FASTWEB clicca sul link all'interno della mail