Apple ha pubblicato su Hugging Face un modello di AI per la generazione di codice che introduce una novità che cambia completamente le regole del gioco.
Questa volta, infatti, non si tratta solo di “fare meglio” rispetto ai soliti modelli generativi, ma di cambiare il modo in cui l’AI scrive il codice.
DiffuCoder-7B-cpGRPO, questo il nome completo, non scrive le istruzioni una dopo l’altra da sinistra a destra, come fanno quasi tutti i modelli autoregressivi, ma lavora su più parti del testo in parallelo, migliorando diversi “chunk” contemporaneamente e rendendo la scrittura del codice più veloce e con una coerenza globale superiore.
Ma cosa significa “autoregressivo” e in cosa è diverso dalla diffusione?
Per comprendere il salto in avanti di DiffuCoder, è necessario partire dalle basi.
I modelli di linguaggio come GPT-4, Gemini e la maggior parte degli LLM finora sono autoregressivi. Questo significa che generano testo (o codice) un token dopo l’altro, partendo da sinistra e procedendo riga per riga. Ogni nuova parola viene scelta considerando tutto ciò che è stato scritto in precedenza.
Questo modo di procedere è simile a quello con cui leggiamo un libro: da sinistra a destra, riga dopo riga, senza mai tornare indietro a riscrivere parti già completate.
Con i modelli di diffusione, il processo cambia totalmente.
Questi modelli, nati nel campo dell’intelligenza artificiale generativa per le immagini (si veda Stable Diffusion), non creano una cosa dopo l’altra. Partono da una sorta di “bozza rumorosa”, ovvero un testo pieno di “disturbi”, e lo migliorano progressivamente in più fasi, lavorando su tutto il testo contemporaneamente e in modo iterativo.
Questo metodo, adattato al testo e in particolare al codice, permette di correggere e migliorare la struttura globale senza essere vincolati all’ordine sequenziale.
Apple sta sperimentando la “diffusione” per la generazione di codice
Apple si è ispirata a un recente paper intitolato “DiffuCoder: Understanding and Improving Masked Diffusion Models for Code Generation“, pubblicato appena un mese fa.
Il team di Cupertino ha costruito il proprio modello open source a partire da Qwen2.5-7B di Alibaba, una base open e performante. Alibaba l’aveva già ottimizzata per il coding (come Qwen2.5-Coder-7B), poi Apple ci ha messo il suo tocco.
Il risultato è DiffuCoder-7B-cpGRPO, che si distingue per due aspetti chiave:
- Decoder basato sulla diffusione: a differenza dei modelli tradizionali che generano il codice sequenzialmente, il modello di Apple può raffinare più parti contemporaneamente, riducendo i tempi e migliorando la coerenza generale.
- Un ulteriore passo avanti è stato fatto con il training “coupled-GRPO“: Apple ha addestrato la sua versione utilizzando oltre 20.000 esempi di codice selezionati con cura, ottenendo un incremento del 4,4% su benchmark specifici.
DiffuCoder offre anche una flessibilità che gli LLM classici non hanno
È presente un parametro chiamato “temperatura” che regola il grado di creatività e casualità del modello nella generazione del codice.
Come spiegato dagli autori del paper:
“Quando la temperatura di campionamento viene aumentata dal valore predefinito 0,2 a 1,2, DiffuCoder diventa più flessibile nell’ordine di generazione dei token, liberandosi dalle rigide restrizioni da sinistra a destra”.
Ciò significa che con una temperatura più bassa, il modello si comporta in modo simile agli LLM classici, mentre aumentando la temperatura, può lavorare in modo ancora più “fuori ordine”, generando e correggendo pezzi di codice in modo non lineare e adattandosi meglio a problemi complessi e strutturati.
Perché la diffusione può essere migliore degli LLM classici (almeno per il coding)?
Quando si scrive codice, la struttura generale è più importante della semplice sequenza delle istruzioni. Per esempio, una funzione può richiedere modifiche sia all’inizio che alla fine, oppure una correzione può coinvolgere vari punti distanti nel testo. Il modello diffusion-based consente di rielaborare l’intera struttura intervenendo contemporaneamente dove necessario, senza vincoli di sequenza.
Questo approccio è più adatto ai linguaggi di programmazione, in cui l’ordine delle operazioni non segue necessariamente una logica “una dopo l’altra”, ma dipende dal contesto globale del programma.
Apple ha davvero fatto la differenza?
Secondo i test, DiffuCoder-7B-cpGRPO ha ottenuto risultati migliori di molti altri modelli di generazione di codice basati sulla diffusione, avvicinandosi alle prestazioni dei migliori modelli open source.
Non raggiunge ancora il livello di GPT-4 o Gemini Diffusion, ma la strada intrapresa è promettente. Alcuni critici sottolineano che, con 7 miliardi di parametri, il modello potrebbe essere “limitato”, ma la novità è che Apple sta davvero provando a cambiare le regole del gioco, invece di seguire la moda del momento.
Apple ha scelto di pubblicare DiffuCoder-7B-cpGRPO su Hugging Face, la piattaforma più popolare per la condivisione di modelli AI open source, il che dimostra la sua volontà di giocare un ruolo sempre più attivo anche nella community degli sviluppatori.
In un settore in cui Apple è spesso accusata di essere “chiusa”, questa mossa sorprende e lancia segnali interessanti sulle strategie future.
Se (e quando) questa tecnologia arriverà nei prodotti Apple, come Xcode o Swift Playgrounds, rivoluzionerà il modo di programmare su Mac e iPad.
Per ora, però, l’esperimento serve a mostrare che Apple non sta solo “recuperando terreno” nell’intelligenza artificiale, ma sta anche sperimentando idee nuove e meno scontate di quanto sembri.
Rivoluzione o solo di un test di laboratorio?
Non è la prima volta che Apple acquisisce modelli AI innovativi, ma la pubblicazione di DiffuCoder-7B-cpGRPO rappresenta un’apertura significativa verso il mondo degli sviluppatori.
Le sue prestazioni dimostrano che la diffusione non è solo una moda passeggera, ma può davvero cambiare il modo in cui le AI generano codice, testo o qualsiasi altra struttura complessa.
Sarà interessante vedere se questa tecnologia arriverà mai nei prodotti Apple o se servirà soprattutto a migliorare l’ecosistema per chi programma sulle piattaforme Apple.
Leggi o Aggiungi Commenti