Nel 2022 Stability AI, società fondata a Londra dall’imprenditore Emad Mostaque con l’obiettivo di democratizzare l’accesso all’IA generativa, ha presentato il modello Stable Diffusion. Fu un passaggio epocale perché, sebbene non fosse l’unica realtà a lavorare su queste tecnologie, Stable Diffusion permette di generare immagini fotorealistiche a partire da descrizioni testuali. Il modello può anche operare su immagini esistenti, consentendo modifiche e miglioramenti attraverso tecniche come inpainting e outpainting.
Aspetto ancora più importante, che ha permesso la nascita di tanti progetti ideati da sviluppatori indipendenti e nuove startup, è la licenza utilizzata da Stability AI, che permette l’uso gratuito del modello sia per scopi commerciali che non commerciali.
Prendete ad esempio Fooocus, piattaforma che permette di dire addio ai programmi di fotoritocco: chiunque disponga di una scheda grafica dedicata, ad esempio una NVIDIA RTX 4XXX, può generare immagini in locale e applicare modifiche usando prompt testuali. E Fooocus poggia su Stable Diffusion XL, modello progettato per migliorare la qualità e il realismo dei contenuti.
Cosa cambia con Stable Diffusion 3.5
Il 22 ottobre 2024, Stability AI ha annunciato il rilascio di Stable Diffusion 3.5. La release include tre modelli distinti: Stable Diffusion 3.5 Large, Stable Diffusion 3.5 Large Turbo e Stable Diffusion 3.5 Medium, tutti distribuiti sotto la solita licenza Stability AI Community License.
Dopo aver raccolto i feedback ricevuti dalla comunità, a giugno 2024, in seguito al lancio di Stable Diffusion 3 Medium, Stability AI ha deciso di dedicare più tempo allo sviluppo della versione 3.5 per garantire un miglioramento significativo. Il risultato è un modello che si distingue per personalizzazione, efficienza, varietà di output e diversità stilistica. Uno degli aspetti centrali di questa release è la capacità di adattarsi a richieste specifiche, con un’ampia variabilità dei risultati, soprattutto in caso di prompt generici.
Caratteristiche dei modelli
- Stable Diffusion 3.5 Large: Con 8 miliardi di parametri, è il modello più potente della serie 3, ideale per usi professionali grazie alla risoluzione di 1 megapixel. È pensato per chi necessita di alta qualità visiva e velocità di adattamento, ed è disponibile su Hugging Face.
- Stable Diffusion 3.5 Large Turbo: Versione “distillata” del modello Large, è capace di generare immagini di alta qualità in soli quattro passaggi, con una velocità superiore rispetto al passato. Il processo di distillazione consiste nel prendere un modello di intelligenza artificiale più grande e complesso, riducendone complessità e dimensioni mantenendo la maggior parte delle sue capacità e prestazioni. Anche questo modello è accessibile da Hugging Face.
- Stable Diffusion 3.5 Medium: Questo modello con 2,6 miliardi di parametri utilizza l’architettura MMDiT-X, migliorata rispetto alla base Multimodal Diffusion Transformer della serie. È progettato per un uso immediato su hardware consumer e permette di creare immagini con risoluzioni da 0,25 a 2 megapixel.
Per i modelli ospitati su Hugging Face, è sufficiente accettare le condizioni di utilizzo quindi creare un prompt in inglese per mettere alla prova le abilità di Stable Diffusion 3.5. Il campo da compilare con la propria richiesta è quello subito sotto Inference API.
Come funziona Stable Diffusion
Stable Diffusion utilizza una tecnologia di diffusione che si basa su un processo di rimozione graduale del rumore da un’immagine. Inizialmente, il modello crea un’immagine casuale e successivamente applica un predittore di rumore per ricostruire l’immagine desiderata. Il modello non lavora direttamente nello spazio dei pixel, ma in uno spazio latente compresso: ciò consente di ridurre significativamente i requisiti di elaborazione e di funzionare su hardware consumer con GPU adeguate.
I tecnici di Stability AI hanno addestrato il modello su grandi quantità di dati visivi, come immagini e didascalie associate. Durante l’addestramento, il modello applica progressivamente del rumore sulle immagini reali fino a renderle irriconoscibili, e poi effettua l’opposto: ripulisce le immagini a partire dal rumore fino a riprodurre le immagini originali. Grazie a questo processo il modello impara via via a ricreare contenuti visivi dettagliati a partire da input casuali o incompleti.
Generazione delle immagini
Quando si fornisce un input testuale (prompt), Stable Diffusion dapprima genera un insieme di numeri casuali (seed), che rappresentano rumore.
Attraverso una serie di passaggi successivi, il modello cerca di eliminare progressivamente il rumore dall’immagine latente. Ad ogni passaggio, vengono recuperati dettagli sempre più definiti, con il processo che continua fino a ottenere un’immagine soddisfacente.
Il modello utilizza il testo fornito per influenzare la direzione del processo di generazione dell’immagine. Questo significa che i cosiddetti vettori latenti si regolano in base al significato semantico del testo, in modo che l’immagine generata rifletta il prompt testuale.
Dettagli interessanti che intervengono sull’output
Con Stable Diffusion gli utenti possono fornire un seed arbitrario in modo tale da assicurarsi che la generazione del lavoro sia ripetibile. Con il mascheramento, inoltre, si possono modificare solo porzioni specifiche di un’immagine già esistente, mantenendo il resto invariato.
Cambiando i dettagli del testo, si ottengono variazioni nell’immagine. Con Stable Diffusion 3.5, tuttavia, il modello amplifica la sua abilità nel creare output differenti anche a partire dallo stesso identico prompt.
L’integrazione della tecnica chiamata Query-Key Normalization nei blocchi trasformatori usati per creare Stable Diffusion 3.5 ha migliorato la stabilità del processo di addestramento, facilitando la personalizzazione. Il modello assicura complessivamente una maggiore coerenza oltre alla capacità di generare immagini a risoluzioni multiple.