DeepMind ha presentato un sistema di apprendimento automatico per generare codice da una descrizione testuale di un'attività

L'azienda DeepMind, nota per i suoi sviluppi nel campo dell'intelligenza artificiale e della costruzione di reti neurali in grado di riprodurre giochi per computer e da tavolo a livello umano, ha presentato il progetto AlphaCode, che sta sviluppando un sistema di apprendimento automatico per la generazione di codice in grado di partecipare nelle competizioni di programmazione sulla piattaforma Codeforces e dimostrare un risultato medio. Una caratteristica fondamentale dello sviluppo è la capacità di generare codice in Python o C++, prendendo come input un testo con una dichiarazione del problema in inglese.

Per testare il sistema sono state selezionate 10 nuove competizioni Codeforces con più di 5000 partecipanti, tenutesi dopo il completamento della formazione sul modello di machine learning. I risultati del completamento delle attività hanno permesso al sistema AlphaCode di entrare approssimativamente nella metà della valutazione di queste competizioni (54.3%). La valutazione complessiva prevista di AlphaСode era di 1238 punti, il che garantisce l'ingresso nel Top 28% tra tutti i partecipanti a Codeforces che hanno partecipato alle competizioni almeno una volta negli ultimi 6 mesi. Si noti che il progetto è ancora nella fase iniziale di sviluppo e in futuro si prevede di migliorare la qualità del codice generato, nonché di sviluppare AlphaCode verso sistemi che aiutino nella scrittura del codice o strumenti di sviluppo di applicazioni che possano essere utilizzato da persone senza competenze di programmazione.

Il progetto utilizza l'architettura della rete neurale Transformer in combinazione con tecniche di campionamento e filtraggio per generare varie varianti di codice imprevedibili che corrispondono al testo in linguaggio naturale. Dopo il filtraggio, il clustering e la classificazione, il codice di funzionamento più ottimale viene eliminato dal flusso di opzioni generato, che viene poi controllato per garantire che venga ottenuto il risultato corretto (ogni compito del concorso indica un esempio di dati di input e il risultato corrispondente a questo esempio , che dovrebbe essere ottenuto dopo aver eseguito il programma).

DeepMind ha presentato un sistema di apprendimento automatico per generare codice da una descrizione testuale di un'attività

Per addestrare approssimativamente il sistema di machine learning, abbiamo utilizzato una base di codice disponibile nei repository GitHub pubblici. Dopo aver preparato il modello iniziale, è stata effettuata una fase di ottimizzazione, basata su una raccolta di codice con esempi di problemi e soluzioni proposte dai partecipanti ai concorsi Codeforces, CodeChef, HackerEarth, AtCoder e Aizu. In totale per la formazione sono stati utilizzati 715 GB di codice di GitHub e oltre un milione di esempi di soluzioni a tipici problemi della concorrenza. Prima di passare alla generazione del codice, il testo dell'attività ha attraversato una fase di normalizzazione, durante la quale è stato eliminato tutto ciò che non era necessario e sono rimaste solo le parti significative.

DeepMind ha presentato un sistema di apprendimento automatico per generare codice da una descrizione testuale di un'attività


Fonte: opennet.ru

Aggiungi un commento