Bbabo NET

Scienza & Tecnologia Notizia

DeepMind afferma che la sua rete neurale scrive programmi non peggiori del programmatore medio

DeepMind ha creato un sistema di intelligenza artificiale chiamato AlphaCode che dice "scrive programmi per computer a livello competitivo". Il sistema è stato testato contro le sfide di codifica utilizzate nella competizione umana ed è risultato essere tra i primi 54% del programma.

Questo è un significativo passo avanti per la codifica offline secondo DeepMind, sebbene le competenze di AlphaCode non siano necessariamente rappresentative delle attività di programmazione che il programmatore medio deve affrontare.

Oriol Vinyals, scienziato capo di DeepMind, osserva che la ricerca è ancora nelle sue fasi iniziali, ma i suoi risultati hanno avvicinato l'azienda alla creazione di un'IA flessibile per risolvere problemi di codifica complessi. "Siamo entusiasti del potenziale di AlphaCode per aiutare programmatori e non programmatori a scrivere codice, migliorare la produttività o creare nuovi modi per creare software", ha affermato Vinyals.

In un problema di esempio in cui è stato testato AlphaCode, ai partecipanti è stato chiesto di trovare un modo per convertire una singola stringa di lettere s e t ripetute casuali utilizzando un insieme limitato di input:

“Ti vengono date due stringhe s e t, ciascuna delle quali è composta da lettere latine minuscole. Stamperai la stringa carattere, iniziando con il primo carattere e finendo con l'ultimo.

Quando stai per digitare un carattere, invece di premere il pulsante che stampa quel carattere, puoi premere il pulsante "Backspace". Premendo questo pulsante si cancella l'ultimo carattere digitato che non è stato ancora cancellato (o non fa nulla se tutti i caratteri già stampati sono stati cancellati o non è stato ancora digitato alcun carattere). Ad esempio, se la stringa s è "abcbd" e si preme il pulsante Backspace invece di stampare il primo e il quarto carattere, il risultato sarà la stringa "bd" (la prima pressione di Backspace non cancellerà alcun carattere e la seconda la pressione di questo pulsante cancellerà il carattere "c" ). Un altro esempio: se s è "abcaa" e premi Backspace invece delle ultime due lettere, è "a".

Devi determinare se puoi ottenere la stringa t se provi a digitare la stringa s premendo Backspace invece di premere i pulsanti corrispondenti ad alcune (possibilmente nessuna) delle lettere nella stringa s."

AlphaCode ha generato più risposte possibili e le ha eliminate eseguendo il codice e controllando l'output, proprio come farebbe un concorrente umano.

Il sistema è stato testato su 10 problemi, che sono stati risolti da 5000 utenti sul sito web di Codeforces. In media, si colloca tra i primi 54,3% delle risposte.

DeepMind osserva che l'attuale set di competenze di AlphaCode è attualmente applicabile solo al campo della programmazione competitiva, ma le sue capacità aprono le porte alla creazione di strumenti futuri che renderanno la programmazione più accessibile.

Molte altre aziende stanno lavorando su applicazioni simili. Ad esempio, nell'agosto 2021, OpenAI ha rilasciato Codex, un nuovo sistema che converte automaticamente semplici frasi inglesi in codice. Il codice è basato su GPT-3.

Finora, tuttavia, i sistemi sono ben lontani dall'assumere semplicemente il lavoro dei programmatori umani. Il codice che producono è spesso difettoso e poiché gli algoritmi sono generalmente addestrati su librerie di codice pubbliche, a volte riproducono materiale protetto da copyright.

Quindi, nel giugno 2021, Microsoft e GitHub hanno introdotto l'assistente programmatore Copilot basato sulla rete neurale Codex di Open AI. Il sistema è addestrato per funzionare con vari framework e linguaggi di programmazione. Ad agosto è stata rilasciata una versione migliorata del Codex, che traduce le frasi inglesi nel codice del programma.

Gli sviluppatori hanno notato che l'assistente di rete neurale genera linee da progetti open source, non obbedendo alla licenza originale. Si sono anche lamentati del fatto che Copilot ha generato dozzine di righe di citazioni e commenti da progetti open source invece di poche righe di codice. GitHub ha chiarito che Copilot in genere non riproduce frammenti di codice esatti, ma crea opere derivate da input ricevuti in precedenza. La società afferma che ciò accade solo lo 0,1% delle volte.

GitHub ha quindi ammesso che durante l'addestramento di Copilot, gli sviluppatori hanno utilizzato tutto il codice pubblico disponibile nei repository del servizio, indipendentemente dal tipo di licenza.

Si è inoltre scoperto che circa il 40% del codice prodotto da Copilot contiene errori e vulnerabilità.

DeepMind afferma che la sua rete neurale scrive programmi non peggiori del programmatore medio