Vai al contenuto
Offerte

Gemma 4 12B accelera su llama.cpp: da 75 a 179 token al secondo

In questo articolo Indice dei contenuti 3 sezioni

Con un file da appena 242 megabyte e quattro parametri in più, Gemma 4 12B può arrivare a generare testo a una velocità più che doppia rispetto alla configurazione standard. Il merito è della multi token prediction, una funzione che Google ha distribuito a maggio per la sua famiglia di modelli a pesi aperti e che llama.cpp ha iniziato a supportare a giugno. Eppure in molti continuano a ignorarla.

Il panorama dell’intelligenza artificiale in locale corre talmente veloce che chi usa una versione di llama.cpp di un paio di mesi fa rischia già di essere rimasto indietro. Ogni nuova release porta con sé funzioni capaci di cambiare quello che l’hardware riesce a fare, e spesso la differenza sta proprio fra un modello appena utilizzabile e uno davvero efficace. In un test su una RTX 4070 Ti Super il cosiddetto drafter ha portato Gemma 4 12B da circa 75 token al secondo a una media di 179, con un guadagno del 137% su tre diversi carichi di lavoro.

Gemma 4 12B: il punto di partenza, 75 token al secondo

Per capire quanto possa accelerare un modello serve prima misurare quanto va veloce in condizioni normali. La macchina usata per la prova monta una RTX 4070 Ti Super con 16 GB di memoria GDDR6X, un Ryzen 5 7600X e 32 GB di DDR5. Il modello scelto è la build QAT di Gemma 4 12B realizzata da Unsloth, in quantizzazione Q4, servita tramite il server di llama.cpp con contesto da 32K, flash attention, tutti i layer caricati sulla GPU e le impostazioni consigliate da Google (temperatura 1.0, top p 0.95, top k 64). La modalità di ragionamento è rimasta spenta, così ogni token generato faceva parte della risposta vera e propria.

Al modello sono stati affidati tre compiti piuttosto tipici per un sistema di questa fascia. Il primo chiedeva un array JSON con 15 componenti per PC inventati, completi di nome, categoria, marca, prezzo, anno di uscita e specifiche. Il secondo uno strumento in Python da riga di comando per scovare file duplicati tramite hash. Il terzo un racconto di circa 600 parole su un guardiano del faro che si accorge che la luce sta mandando segnali a qualcosa in mare aperto, e che quel qualcosa ha cominciato a rispondere. Su tre esecuzioni le medie sono state di 74,7 token al secondo per il JSON, 75,5 per il codice e 75,8 per la prosa.

Come funziona il drafter di Google

La multi token prediction affianca al modello principale un drafter molto più piccolo, addestrato insieme a lui. Secondo la documentazione di Google è l’architettura che Gemma 4 sfrutta per la decodifica speculativa. In pratica il modellino fa da apripista e prova a indovinare i token successivi, mentre quello grande verifica in parallelo più ipotesi nel tempo che normalmente impiegherebbe a produrne una sola. Quando un’ipotesi viene scartata il modello principale genera comunque il token corretto per quella posizione, quindi il passaggio non va sprecato e il drafter riparte da lì.

Per la prova sono stati scaricati entrambi i file dallo stesso repository Unsloth su Hugging Face, cioè la build quantizzata e il drafter corrispondente, ricavato da quello ufficiale di Google. Tenerli abbinati è fondamentale perché un modello QAT va fatto girare con il suo drafter QAT. Poi è bastato riavviare il server con quattro opzioni aggiuntive, lasciando tutto il resto invariato. Una carica il drafter, una lo sposta sulla GPU accanto al modello principale, una lo fa lavorare come testa MTP che legge la cache di Gemma 4 invece che come modello autonomo, e l’ultima limita ogni giro a tre ipotesi.

Risultati: codice e JSON quasi triplicati

Con il drafter attivo e le stesse condizioni di memoria video, ogni compito è diventato più rapido. Il JSON è salito a 199,4 token al secondo, con un balzo del 167%, mentre il codice ha raggiunto 205,4 token al secondo, pari a un più 172%. Parentesi, nomi dei campi e strutture ripetitive sono facili da prevedere, e il drafter ci va a nozze. La sorpresa è arrivata dalla prosa, che lascia molto più margine di errore nelle previsioni e nonostante questo è passata a 131,3 token al secondo, il 73% in più. La media complessiva è salita da 75,3 a 178,7 token al secondo.

Per ottenere lo stesso risultato basta aggiornare llama.cpp all’ultima build, scaricare il drafter adatto al proprio modello e aggiungere le quattro opzioni. A trarne il maggior vantaggio sono i modelli densi come Gemma 4 12B, mentre Google spiega che i modelli mixture of experts beneficiano meno del drafter nelle configurazioni con un solo utente. I risultati cambiano anche in base all’hardware, ma sono stati segnalati miglioramenti su schede che vanno dalla RTX 5090 fino alla GT 1030.

Fonte: TecnoAndroid

Condividi:
100 Condivisioni