
Sana (NVIDIA): modello open di sintesi immagini ad alta risoluzione
Una famiglia di modelli di diffusione efficienti per generare immagini fino al 4K su GPU consumer.
Cos'è Sana
Sana è una famiglia di modelli generativi di tipo diffusione per la sintesi di immagini ad alta risoluzione, sviluppata da NVIDIA e pubblicata come progetto di ricerca open source. A differenza di molti modelli closed-source o di dimensioni molto grandi, Sana è progettata per offrire qualità competitiva con un ingombro computazionale contenuto. Il nome identifica sia l'architettura di base, basata su Linear Diffusion Transformer, sia le varianti specializzate: Sana-Sprint per la generazione in pochi passi, Sana per risoluzioni 2K/4K, e i derivati per video come Sana-Video, Sana-WM (world model) e Sana-Streaming.
I pesi principali sono distribuiti su Hugging Face dagli account ufficiali, mentre il codice sorgente è disponibile nel repository GitHub NVlabs/Sana. I modelli base hanno dimensioni che vanno da 0,6 a 1,6 miliardi di parametri; versioni successive e modelli video raggiungono fino a 2,6 miliardi. La principale variante 1,6B è in grado di generare immagini a 1024×1024, 2048×2048 e 4096×4096 pixel.
A cosa serve
Sana serve a produrre immagini realistiche, illustrazioni, mockup e asset visivi a partire da un prompt di testo. È adatto a workflow creativi, prototipazione di prodotti, generazione di immagini per e-commerce, social media, concept art e visualizzazioni tecniche. Grazie al supporto per ControlNet e alle tecniche di fine-tuning come LoRA, può essere adattato a stili specifici o integrato in pipeline di produzione esistenti.
La famiglia include anche estensioni per il video: Sana-WM è un modello di world model controllabile per generare mondi video a 720p con controllo della camera a 6 gradi di libertà, mentre Sana-Streaming si concentra sull'editing video-to-video in tempo reale. Questo rende Sana interessante non solo per la grafica statica, ma anche per progetti che richiedono contenuti in movimento. Esistono inoltre varianti multilingua, addestrate per comprendere prompt in più lingue oltre all'inglese, che possono essere utili per team italiani che vogliono usare descrizioni nella propria lingua.
Come funziona
L'efficienza di Sana si fonda su tre scelte architetturali. La prima è il Deep Compression Autoencoder (DC-AE), un autoencoder che comprime l'immagine latente di 32 volte invece delle 8 tipiche di Stable Diffusion. Una compressione più forte riduce il numero di token su cui il transformer deve lavorare, abbassando i requisiti di memoria e i tempi di calcolo.
La seconda scelta è l'uso di un Linear Diffusion Transformer: l'attenzione classica a complessità quadratica viene sostituita da un meccanismo lineare, che scala meglio con risoluzioni elevate. La terza è il text encoder: Sana utilizza Gemma 2 2B IT, un modello linguistico decoder-only di Google, che migliora l'allineamento tra prompt testuale e contenuto visivo e supporta comprensione in contesto.
Sana-Sprint aggiunge la distillation a tempo continuo (sCM, consistency model) per produrre immagini in un singolo passo o in pochi passi, riducendo ulteriormente la latenza rispetto alla diffusione tradizionale a 20-50 passi. Le versioni ad alta risoluzione sfruttano tecniche di tiling e quantizzazione 8-bit/4-bit per girare anche su schede video consumer con 8-16 GB di VRAM. A livello pratico, Sana 1.6B può generare un'immagine 1024×1024 in circa un secondo su GPU consumer, mentre le varianti 4K restituiscono immagini 4096×4096 in tempi compatibili con workflow iterativi. Su benchmark come GenEval e FID, Sana-Sprint 1.6B ottiene punteggi competitivi già in un singolo passo di generazione, dimostrando che velocità e qualità possono convivere.