Transformers introduce i « contratti di integrazione dei modelli »

Transformers introduce i « contratti di integrazione dei modelli »
3 min di lettura

Il 30 luglio 2026, Transformers ha attivato per T5 l’attenzione scaled dot-product (SDPA) di PyTorch. Questo effetto collaterale ha permesso al decodificatore di UMT5 di consultare i token futuri, cioè la risposta che doveva predire, durante l’addestramento. Non è andato in crash nulla e il bug è rimasto nel ramo principale per quasi due mesi. Hugging Face presenta Model Integration Contracts (MIC), un formato di test basato su piccoli modelli, che ha permesso di individuarlo durante una riesecuzione dei commit.

Transformers supporta più di 750 tipi di modelli e la sua suite di test è considerevole: più di 88.000 test CPU sul ramo principale e più di 200.000 test GPU in un’esecuzione giornaliera. I test di integrazione caricano checkpoint reali e utilizzano l’API dei modelli su hardware reale. Eseguirli ad ogni richiesta di modifica monopolizzerebbe un gran numero di GPU per tutta la giornata, il che non è realistico. Una regressione può quindi raggiungere il ramo principale prima di essere rilevata da un’esecuzione programmata.

Ridurre il modello invece di testare quello grande

L’approccio consiste nel creare un fixture, cioè un piccolo modello costruito a partire dalla configurazione del checkpoint reale, con meno layer, più stretti, ma di tutti i tipi presenti nel modello originale. I suoi file di tokenizer e processore rimangono invariati. Questo fixture viene pubblicato una volta e poi riutilizzato, e i test rapidi vengono eseguiti su di esso su una semplice CPU. Nello studio CPU del team, il fixture sperimentale di UMT5 pesava 66 MB, contro 1.227 MB per il checkpoint sorgente. Questo metodo si applica anche ai modelli molto grandi, alcuni dei quali non entrano nelle GPU standard ma il cui fixture gira su CPU.

I test vanno oltre il semplice caricamento e una passata di inferenza. Il bug di UMT5 avrebbe superato questa fase senza difficoltà. I fixture non sostituiscono i test di integrazione completi, ma danno la possibilità di rilevare gli errori prima del loro arrivo nel ramo principale.

Un MIC comprende tre elementi: il fixture, un percorso d’uso (un esempio eseguibile, come la generazione di testo o una fase di addestramento) e delle baseline, le uscite registrate durante l’esecuzione di tale esempio e validate da un umano. Il contratto è rispettato se l’esecuzione sul fixture produce sempre quelle uscite di riferimento.

Il feedback sul bug di UMT5

Il team ha rieseguito dei MIC congelati su cinque mesi di commit di Transformers. Il fixture di UMT5 ha segnalato la regressione dalla sua introduzione, il 30 luglio 2026, fino alla sua correzione, il 28 settembre. Le probabilità logaritmiche delle etichette differivano dalla baseline validata di 1,22 e la perdita di addestramento di circa 0,20. Un dettaglio ha contato: il contratto utilizzava SDPA, il percorso di attenzione predefinito. L’esecuzione della sola variante di attenzione « eager » non rivelava il bug. Durante una dimostrazione su un ramo di test della CI di Transformers, la correzione essendo stata annullata, la verifica è fallita con le stesse deviazioni e la fase del runner T5 ha impiegato 13,4 secondi su CPU, esclusa l’installazione.

Generare i contratti con agenti

Uno strumento da riga di comando, tmic, crea il contratto e costruisce il fixture. Per un nuovo modello, un LLM redige il codice d’uso e il manifesto, poi delle esecuzioni CPU e GPU misurano le baseline candidate. Secondo il team, l’LLM redige ma non approva: qualsiasi modifica delle aspettative richiede una validazione umana. Il rapporto di riduzione del modello Llama 4 Scout illustra questo metodo: 108,6 miliardi di parametri diventano 44,7 milioni, la parte vision passa da 34 a 2 layer e la parte linguaggio da 48 a 4.

Per i modelli di test, il team ha confrontato pesi casuali con pesi addestrati su pochi esempi. Nello studio sull’inizializzazione dei pesi, i fixture Whisper casuali hanno rilevato 18 errori iniettati su 24, contro 24 su 24 per i fixture addestrati. Questi errori erano sintetici e entrambe le versioni hanno mancato un bug di decodifica assistita rivelato dal vero checkpoint Whisper.

Al 1° novembre 2026, il job MIC della CI di Transformers segnala i fallimenti senza bloccare le richieste di modifica. La questione di renderlo bloccante rimane aperta, per mancanza di misure sul numero di bug reali rilevati e di falsi allarmi.

S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x