The Pulse
Lo script di inferenza di Supra2-IMG definisce un DiT latente compatto per immagini da 256 px
Uno script di inferenza su Hugging Face documenta l’architettura di Supra2-IMG e la procedura di generazione in locale, ma non fornisce elementi sulla storia dell’addestramento, sulla licenza o sulle prestazioni nei benchmark.

AI.info Team ·
Lo script di inferenza di Supra2-IMG su Hugging Face documenta un sistema compatto per generare immagini da testo, basato su un diffusion transformer, o DiT, che opera in uno spazio latente compresso. Il file descrive il modello come un «DiT da ~100 milioni di parametri per la generazione di immagini da testo con rectified flow» e calcola il numero esatto di parametri durante l’esecuzione, anziché indicare un totale fisso nel codice sorgente.
Lo script imposta la dimensione delle immagini a 256 pixel e definisce una griglia latente di 32×32, corrispondente alla compressione spaziale di un fattore otto usata dall’autoencoder variazionale scelto. Le rappresentazioni latenti hanno quattro canali e vengono elaborate in patch di due pixel. Il transformer ha una dimensione interna di 576, 14 blocchi e nove teste di attenzione. Queste costanti definiscono l’architettura che lo script ricostruisce prima di caricare il checkpoint.
Condizionamento testuale e decodifica delle immagini
Supra2-IMG usa Flan-T5-Base di Google come codificatore del testo. Lo script carica il tokenizer e il codificatore tramite Transformers, colloca il modello testuale sul dispositivo selezionato e ne blocca i parametri per l’inferenza. La dimensione del testo configurata è 768 e il limite predefinito del contesto è 128 token. I prompt più lunghi della lunghezza di contesto attiva vengono troncati dopo che lo script ha mostrato un avviso.
Per decodificare le immagini viene usato il modello sd-vae-ft-mse di Stability AI tramite Diffusers. Lo script applica un fattore di scala alla rappresentazione latente generata prima di decodificarla, limita i valori dell’immagine risultante e salva l’output come PNG con Torchvision. Il prompt predefinito richiede una medusa marina che galleggia nelle profondità oceaniche buie come la pece, e il nome predefinito del file di output è jellyfish.png.
Caricamento del checkpoint e campionamento
All’avvio, il programma verifica la presenza di un file locale chiamato model_final_ema.pt. Se il file manca, usa il client di Hugging Face Hub per scaricare il checkpoint dal repository SupraLabs/Supra2-IMG. Il modello viene istanziato in modalità di valutazione, il numero dei suoi parametri viene calcolato e mostrato, e i pesi della media mobile esponenziale del checkpoint hanno la precedenza quando lo stato salvato contiene una voce ema.
La generazione parte da rumore latente casuale. Il campionamento usa l’integrazione di Eulero di un’equazione differenziale ordinaria del flusso, con il numero di passaggi controllato da un argomento della riga di comando. La guidance senza classificatore viene attivata quando la sua scala è maggiore di 1,0. Le impostazioni predefinite sono un seed di 0, una scala di guidance di 3,0, 50 passaggi di campionamento e un’immagine di output.
Selezione dell’hardware
Lo script sceglie un dispositivo senza richiedere un file di configurazione separato. Usa il primo dispositivo CUDA disponibile quando rileva una GPU Nvidia, Apple MPS quando è disponibile hardware compatibile e, negli altri casi, la CPU. Su CUDA, abilita la conversione automatica a bfloat16 durante la codifica del testo, il campionamento con il transformer e la decodifica con il VAE. L’esecuzione su CPU è supportata, ma lo script la descrive esplicitamente come lenta.
Il file di inferenza fornisce una descrizione tecnica dell’architettura del modello e del suo percorso di esecuzione. Non consente di stabilire la data dell’addestramento, il dataset usato per addestrare il modello, l’hardware impiegato, il tempo richiesto, i requisiti di spazio su disco, la licenza, i risultati nei benchmark o l’esistenza di discussioni esterne. Non indica nemmeno un totale preciso di 104,1 milioni di parametri: descrive invece l’architettura come composta da circa 100 milioni di parametri e riporta il calcolo eseguito durante l’esecuzione quando il modello viene costruito.