Stanno davvero arrivando le IA “intelligenti”?

L’International Collegiate Programming Contest è una gara (ma quante ne esistono?) dove squadre di tre studenti universitari devono scrivere in cinque ore dodici programmi. Quest’anno le finali sono state a Baku, e – come Alberto Romero riporta la “squadra” di OpenAI ha scritto correttamente il codice per tutti e dodici i problemi, superando Google DeepMind che si è fermata a dieci. La cosa più incredibile è che nessuna squadra umana ha ottenuto il punteggio pieno, fermandosi al massimo a 11/12.

Fin qui la notizia, che mi sa sia passata abbastanza inosservata almeno nel resto della mia bolla. Ma la parte davvero interessante del risultato di OpenAI è il modo con cui l’ha raggiunto. Secondo Mostafa Rohaninejad di OpenAI, infatti, a parte avere avuto a disposizione lo stesso tempo dei concorrenti umani, il modello usato è stato a detta di Rohaninejad “una composizione di GPT-5 e un modello di ragionamento sperimentale che generavano soluzioni, con il modello sperimentale che sceglieva quale soluzione dare. GPT-5 ha dato undici risposte corrette, e l’ultimo (e più difficile) problema è stato risolto dal modello di ragionamento sperimentale”.

Chiaramente un resoconto sotto forma di tweet non dice molto, senza contare che a questi livelli ci sono segreti aziendali. E c’è qualcosa che non mi torna nella storia. Però qualcosa la si può dire lo stesso. Innanzitutto, GPT-5 (che poi è quello che adesso abbiamo come interfaccia quando usiamo ChatGPT) è stato usato come “utile idiota”: gli si fa sparare una serie di soluzioni, e poi ci pensa qualcun altro – nel nostro caso, qualcos’altro – a stabilire cosa può andare bene e cosa no. Questo mi pare un ottimo modo per usare un LLM: se mi consentite un paragone un po’ azzardato, è come prendere in mano un rimario quando si vuole comporre una canzone. Lì troviamo le parole possibili, ma siamo poi noi a trovare le connessioni.

La cosa più intrigante è il “modello sperimentale”, che pare essere lo stesso usato all’IMO, le olimpiadi della matematica. Non serve l’intelligenza artificiale per verificare se un risultato è corretto: lo stato dell’arte nei dimostratori automatici di correttezza dei problemi è tale da essere regolarmente usato. Insomma, fin qui non si vedrebbe nulla di nuovo, se non probabilmente un metodo per convertire il formato interno dei risultati di GPT-5 in un formato utilizzabile da questo modello. Ma cosa è successo con il famigerato “problema difficile”, quello G nell’elenco delle prove? Chi è stato a fare i nove tentativi, e soprattutto perché il “modello sperimentale” non è sempre stato usato per risolvere gli altri problemi?

La mia ipotesi è che questo modello misterioso abbia non solo la capacità di verificare la validità di una soluzione ma anche quella di modificarla. Non sto pensando agli algoritmi genetici, che probabilmente ci metterebbero troppo tempo per stabilizzarsi su una soluzione, ma a qualche regola più o meno rigida per cambiare qualche parametro e vedere come evolve la situazione. Questo spiegherebbe la necessità di avere comunque un modello generativo sottostante: il modello misterioso non potrebbe partire da zero ma dovrebbe sempre avere una base relativamente solida su cui lavorare. Se effettivamente è questa la struttura alla base del modello di OpenAI, le implicazioni sono davvero incredibili, almeno per contesti dove le modifiche possibili sono relativamente poche e facilmente definibili. Non so se si potrebbe parlare davvero di intelligenza, ma ci si avvicinerebbe molto. Voi che ne pensate?

Un pensiero su “Stanno davvero arrivando le IA “intelligenti”?

  1. mestessoit

    L’approccio che tu proponi in realtà è già stato utilizzato prima per “educare” la rete neurale sottostante, o meglio per determinarne in maniera più efficiente alcuni suoi rami, almeno per la parte di verifica. E’ assolutamente possibile che questa procedura sia stata estesa come dici tu per “proporre” modifiche al prompt generato per indirizzare una soluzione diversa, più o meno come facciamo noi con il “vibe coding” per programmare o come faresti tu con il “vibe proving”.

    Personalmente sono più incline a credere che lo “LLM buddy” si limiti a cambiare i parametri dell’LLM in maniera più efficiente dei nostri prompt, bypassando completamente la tokenizzazione e risparmiando un sacco di lavoro, senza contare che non perderebbe mai il contesto di partenza, diminuendo parecchio la possibilità di sbroccare, ma naturalmente la mia ipotesi vale tanto quanto la tua, essendo entrambe congetture.

    Rispondi

Rispondi

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.