Con l’aumento dell’uso dei modelli di linguaggio per la generazione automatica di codice, emergono sfide significative legate alla qualità e all’affidabilità del codice prodotto. Sebbene strumenti come GitHub Copilot e OpenAI Codex abbiano accelerato lo sviluppo software, spesso producono codice che non rispetta le regole semantiche dei linguaggi di programmazione, risultando in errori difficili da rilevare. Per affrontare questi problemi, un gruppo di ricercatori provenienti da istituzioni prestigiose come MIT, Yale, McGill University, ETH Zurigo, Johns Hopkins University e l’Istituto di Intelligenza Artificiale Mila-Quebec ha sviluppato un metodo innovativo che migliora l’accuratezza del codice generato dall’IA.​

Il metodo proposto si basa sull’adattamento dell’algoritmo di Monte Carlo sequenziale (SMC) alla generazione di codice. Tradizionalmente utilizzato per risolvere problemi di filtraggio in tempo reale, l’SMC è stato modificato per affrontare le sfide semantiche e sintattiche della generazione automatica di codice. Questa adattabilità consente di integrare vincoli che non possono essere valutati incrementamente su tutto il vocabolario dei token, ma solo a intervalli irregolari durante la generazione del codice.​

Rispetto ai metodi tradizionali di decodifica vincolata, l’approccio SMC offre diversi vantaggi. In primo luogo, consente una valutazione più efficiente dei vincoli, riducendo la necessità di rielaborazioni costose. Inoltre, l’uso di una distribuzione di proposta e il campionamento token per token guidato da vincoli economici permettono di scartare in anticipo le uscite di codice non valide, concentrando gli sforzi computazionali su quelle più promettenti. Questa strategia non solo migliora l’accuratezza del codice generato, ma riduce anche i costi computazionali associati alla generazione di codice.​

I ricercatori hanno testato il loro metodo in vari scenari, tra cui la generazione di codice Python per compiti di data science, la generazione di query SQL a partire da testo, l’inferenza degli obiettivi in compiti di pianificazione e la sintesi molecolare per la scoperta di farmaci. In tutti questi casi, l’approccio SMC ha migliorato l’accuratezza e la robustezza dei modelli di linguaggio, superando le prestazioni di modelli di linguaggio di dimensioni maggiori.​

Questo avanzamento ha implicazioni significative per lo sviluppo di assistenti di programmazione basati su IA, strumenti di analisi dei dati e strumenti per la scoperta scientifica. L’adattamento dell’SMC alla generazione di codice potrebbe portare a una maggiore affidabilità e efficienza, rendendo l’uso dell’IA nella programmazione più pratico e sicuro. Inoltre, la riduzione dei costi computazionali associati a questa metodologia potrebbe favorire l’adozione di tali tecnologie anche in ambienti con risorse limitate.

Di Fantasy