Rendere davvero intelligente la pipeline LLM-più-evoluzione

TL;DR Il nostro lavoro a EuroGP 2024 ha mostrato che il Genetic Improvement (GI) può salvare il codice generato da LLM. Questo seguito rende più intelligente la parte GI in sé. Tre upgrade: selezione lexicase per tenere vivi gli specialisti, down-sampling al 10% per ridurre il compute, e una funzione di fitness raffinata (F_E) che dà credito parziale anziché pass/fail. Su quattro LLM (GPT-4, ChatGPT, Code Llama 7B, LLaMA 3 8B) e tre problemi PSB2, abbiamo migliorato 11 combinazioni modello-problema su 12. I modelli più piccoli guadagnano di più. Il GI è, sempre più, un amplificatore di capacità per modelli economici. Cosa avevamo lasciato sul tavolo l’ultima volta Il paper di EuroGP 2024 ha dimostrato l’idea base: prendi la prima bozza buggata di un LLM, passala alla Grammatical Evolution, ricevi codice migliore. Guadagni statisticamente significativi su ogni modello. ...

luglio 1, 2025 · 6 minuti · Giovanni Pinna

Migliorare il Codice Generato dagli LLM tramite Genetic Improvement: Un Riepilogo dei Recenti Avanzamenti

Abstract Questo articolo, presentato a Ital-IA 2025, fornisce un riepilogo completo del nostro programma di ricerca sull’applicazione del Genetic Improvement al codice generato dagli LLM, estendendo due studi pubblicati (EuroGP 2024 e SN Computer Science 2025). La scoperta centrale attraverso entrambi i lavori è che gli approcci neurali ed evolutivi sono complementari: gli LLM eccellono nella generazione rapida di codice plausibile, mentre il Genetic Improvement eccelle nel raffinamento sistematico verso specifiche precise. L’effetto “amplificatore di capacità” — dove i modelli più piccoli e open-source beneficiano in modo più drammatico dal raffinamento evolutivo — suggerisce che il GI può contribuire a ridurre il divario tra modelli piccoli e grandi. Discutiamo inoltre le limitazioni chiave, tra cui la dipendenza dall’oracolo, la scalabilità a progetti multi-file, il bias della grammatica ereditato dall’output dell’LLM e la mancanza di garanzie formali inerente alla ricerca stocastica. Pubblicato a Ital-IA 2025, Roma. Introduzione L’intersezione tra Large Language Models e calcolo evolutivo rappresenta una delle frontiere più promettenti nell’ingegneria del software automatizzata. Negli ultimi due anni, il nostro gruppo di ricerca ha sviluppato e raffinato una metodologia per migliorare sistematicamente il codice generato dagli LLM utilizzando tecniche di Genetic Improvement (GI). Questo articolo, presentato a Ital-IA 2025 (la 5ª Conferenza Nazionale sull’Intelligenza Artificiale, organizzata dal CINI), fornisce un riepilogo completo di questo programma di ricerca e delle sue scoperte chiave. ...

giugno 23, 2025 · 5 minuti · Giovanni Pinna

GPT-4 può rendere le sentenze più leggibili. Può anche raccontartele in modo sbagliato, con sicurezza.

TL;DR Le sentenze della Corte Costituzionale italiana sono scritte per gli avvocati. La maggior parte dei cittadini non riesce a seguirle. Un LLM può sistemare la cosa? Abbiamo condotto uno studio umano con 75 persone confrontando quattro versioni dello stesso contenuto giuridico: sentenze originali, massime di esperti, riassunti di GPT-4o, e un LLaMA 2 7B fine-tuned. Tassi di comprensione: massime di esperti 45%, GPT-4o 38%, sentenze grezze 33%, LLaMA fine-tuned 30%. GPT-4o rende davvero più leggibile il testo giuridico. Produce anche un pattern preoccupante: sicuro, fluente, sbagliato — i lettori se ne vanno con comprensioni errate ma fortemente possedute. Usa gli LLM per il riassunto giuridico. Non usarli senza supervisione umana. Un problema democratico travestito da problema tecnico Le sentenze della Corte Costituzionale sono tra i documenti più importanti che un paese produce. Definiscono cosa il tuo governo può e non può fare. Modellano quali sono i tuoi diritti. Sono anche scritte da giuristi, per giuristi, in una densa prosa giuridica italiana che il cittadino medio non ha alcuna possibilità di comprendere. ...

dicembre 10, 2024 · 6 minuti · Giovanni Pinna

E se smettessimo di chiedere a ChatGPT di correggere il proprio codice?

TL;DR Gli LLM scrivono codice che quasi funziona. Il rimedio classico è chiedere di nuovo — la “self-correction” — ma tende a ripetere gli stessi errori. Noi abbiamo seguito una strada diversa: trattare il codice buggato come un seme e farlo evolvere. Usando l’Evoluzione Grammaticale con una grammatica costruita al volo dall’output stesso dell’LLM, abbiamo migliorato il codice di GPT-4, ChatGPT, LLaMA-2, Alpaca-13B e Alpaca-7B su 25 problemi PSB2 — con guadagni statisticamente significativi (p < 0.001) per ogni modello. Più piccolo il modello, maggiore il guadagno. La trappola della self-correction Chiedi a un qualsiasi LLM moderno di scrivere una funzione Python e otterrai qualcosa che sembra giusta. Esegui i test e spesso scoprirai che non lo è. ...

aprile 3, 2024 · 5 minuti · Giovanni Pinna

Influence: Progetto tra Marketing e Intelligenza Artificiale

Panoramica del Progetto Influence è un progetto che rappresenta una sintesi tra il mondo del marketing e quello dell’intelligenza artificiale. L’idea centrale è analizzare i dati degli utenti per generare contenuti per i social media che corrispondano agli interessi e alle preferenze di un pubblico specifico. La piattaforma offre un’analisi dettagliata del pubblico riguardo al sentiment e ai temi popolari, fornendo informazioni utili per i creatori di contenuti e i professionisti del marketing. ...

gennaio 13, 2021 · 2 minuti · Giovanni Pinna