Insieme all’annuncio di Gemini di ieri, il nuovo potente modello IA di Google, è stato presentato anche AlphaCode 2. AlphaCode è un potente modello IA usato nelle competizione di programmazione come Codeforces, Topcoder, AtCoder e molte altre. La versione 2 di Alpha è stata presentata ieri, proprio perché le potenzialità e i risultati di AlphaCode 2 sono in gran parte possibili grazie al contributo di Gemini, nella versione Pro.
La programmazione competitiva rappresenta uno dei test più impegnativi delle abilità di coding. I partecipanti, umani o IA, devono scrivere codice in un tempo limitato per risolvere problemi complessi che richiedono pensiero critico, logica e comprensione degli algoritmi, della codifica e del linguaggio naturale. AlphaCode è stato il primo sistema di intelligenza artificiale a raggiungere un livello altamente competitivo in questa attività.
Valutato sulla stessa piattaforma del primo AlphaCode, Google Deepmind ha scoperto che AlphaCode 2 risolve 1,7 volte più problemi e avrebbe superato l’85% dei partecipanti nelle competizioni precedenti.
Come Funziona AlphaCode 2
AlphaCode 2 si basa su una combinazione di modelli linguistici di grandi dimensioni, combinati con un avanzato meccanismo di ricerca e riassegnazione progettato per la programmazione competitiva.
Il punto di partenza è appunto il modello Gemini Pro, su cui sono applicati due round consecutivi di ottimizzazione utilizzando l’approccio GOLD per effettuare il pre-training e il fine-tuning dei modelli di policy e scoring sui set di dati di programmazione.
L’approccio chiamato GOLD (Generalized Offline Then Online Learning for Text Generation) viene usato per generare testo condizionato, dove il modello prima impara offline da grandi set di dati, e poi viene riaddestrato o raffinato online con commenti dell’utente.
Su ogni nuovo problema, AlphaCode 2 campiona fino a un milione di candidati di codice diversi attingendo da diverse politiche e randomizzando i parametri. Dopo aver filtrato le soluzioni non valide, raggruppa i codici simili e seleziona i migliori candidati utilizzando un modello di valutazione. Questa procedura di ricerca, combinata con i punti di forza di Gemini, guida il notevole miglioramento delle prestazioni del sistema.
Prestazioni AlphaCode 2
Prestazioni su Codeforces
Valutato su recenti gare di programmazione su Codeforces, AlphaCode 2 riesce a risolvere accuratamente il 43% dei problemi, quasi il doppio rispetto al tasso di risoluzione del 25% di AlphaCode. Questo lo posiziona sopra l’85% tra i coder umani, mentre AlphaCode si posizionava al 46% tra i coder umani. Nella analisi delle precedenti gare, nei casi migliori, AlphaCode 2 è riuscito a superare il 99,5% dei partecipanti alle competizioni.
AlphaCode 2 ha dimostrato anche drastici guadagni di efficienza. AlphaCode 2 raggiunge le prestazioni di AlphaCode con 100 volte meno campioni di codice per problema, rendendolo oltre 10.000 volte più efficiente dal punto di vista dei campioni.
Conclusione
Nonostante il netto miglioramento, il modello di DeepMind ancora non raggiunge i programmatori umani di élite in termini di affidabilità, efficienza e integrazione dell’esperienza. In generale, AlphaCode 2 rappresenta comunque un progresso importante nella capacità di ragionamento dell’IA e nella programmazione competitiva che è stato possibile grazie alle capacità del modello Gemini.