Oggi puoi installare una IA che genera immagini artificiali sul tuo PC. E può essere un problema
È probabile che in queste settimane abbiate visto passare sui vostri social network immagini fantastiche e impossibili, generate da intelligenze artificiali in seguito all’inserimento di un soggetto, un tema e uno stile artistico da parte degli utenti.
Basta infatti inserire una richiesta e l’algoritmo genererà un’immagine secondo le vostre specifiche. In genere, tutto questo avviene sul Web, con algoritmi come DALL-E, Craiyon, Latitude Voyage, Midjourney e altri. Ma tutto questo cloud computing ha un prezzo. Alcuni servizi richiedono una registrazione e un’attesa che può andare da qualche giorno a diverse settimane, altre accettano solo un numero limitato di richieste, e altre ancora richiedono un pagamento. Midjourney costa ad esempio 10 dollari al mese per 200 immagini.
Quasi tutte inoltre utilizzano dei filtri e limitazioni per evitare che la piattaforma venga usata per generare immagini violente, offensive o che possano essere usate per diffamare e fare disinformazione. Questo, oltre alla preservazione della proprietà intellettuale sugli algoritmi, ha fatto sì che finora i modelli algoritmici e i software non sono stati resi pubblici.
Da qualche giorno però questa condizione è cambiata: Stability.Ai e il suo modello Stable Diffusion hanno rotto gli schemi proprio in questa settimana, con un modello che è stato reso disponibile al pubblico e che può essere eseguito su GPU consumer.
Stable Diffusion è disponibile anche tramite un servizio basato su crediti da acquistare, DreamStudio, e una demo pubblica separata su HuggingFace, la casa di molti progetti di intelligenza artificiale. Tuttavia, è anche possibile scaricare il modello stesso, per una generazione artistica illimitata direttamente sul proprio PC. È però necessario registrarsi (gratuitamente) per ottenere un nome utente e una password su HuggingFace, che consentiranno di accedere al codice di Stable Diffusion.
Stability.Ai ha rilasciato il modello sotto la licenza CreativeML OpenRAIL-M, elencata nel file Readme che accompagna il codice. In sostanza, si dichiara di accettare che le immagini non siano fotorealistiche e di condividere il proprio login HuggingFace con i creatori del modello. Dovrete accettare anche di non creare ambienti ostili o alienanti per le persone, creando immagini che rappresentino violenza o scene splatter. Il modello include un filtro per i contenuti, che è però già stato aggirato da diversi fork del codice.
Per installare Stable Diffusion si consiglia di seguire il tutorial di AssemblyAI, oppure le istruzioni separate per installare un fork del codice ottimizzato per utilizzare meno VRAM a scapito di tempi di inferenza più lunghi. (Si noti che quest’ultimo è un fork code di terze parti, quindi è possibile che includa codice non sicuro: agite con cautela).
In ogni caso, è necessario scaricare il modello stesso (circa 4 GB) e alcuni file di supporto. È inoltre necessario installare un’applicazione Python di terze parti o utilizzare il Subsystem per Linux di Windows, che dal 2020 ha acquisito anche le istruzioni per sfruttare le capacità di calcolo delle GPU. Essenzialmente, l’installazione richiede la copia di alcune istruzioni di Linux e la modifica di alcuni nomi di file.
Per ora, Stability.Ai raccomanda di avere una GPU con almeno 6,9 GB di RAM video. Sfortunatamente, al momento sono supportate solo le GPU Nvidia, anche se in futuro verrà aggiunto il supporto per AMD, secondo quanto dichiarato dall’azienda.
Non è bello, ma funziona
Sembra abbastanza chiaro che, alla fine, tutto questo sarà integrato in un’applicazione guidata da un’interfaccia grafica, sia per Linux che in un’applicazione Windows o almeno in un front-end Windows. Per ora, però, le richieste vengono inserite tramite l’interfaccia a riga di comando di Linux. Non è così traumatico come può sembrare, perché si può semplicemente inserire tutto il codice una volta, poi toccare la freccia Su per passare alla voce precedente.
I prompt avranno quindi un aspetto simile a questo:
"python scripts/txt2img.py --prompt "a wizard's tower rises from the desert, evening, artistic, detailed, fantasy aesthetic"
È inoltre possibile aggiungere modificatori come la dimensione dell’immagine risultante, il numero di iterazioni che l’algoritmo utilizzerà per generarla e così via, utilizzando le istruzioni del tutorial.
Preparatevi a infliggere un duro colpo al vostro pc portatile
Attenzione, però: è a questo punto che Stable Diffusion può iniziare a richiedere un vero e proprio tributo di sangue al vostro PC. La creazione di più immagini, la creazione di immagini a risoluzione più elevata e un numero maggiore di iterazioni richiedono una grande potenza di elaborazione. L’algoritmo mette a dura prova la memoria di sistema, l’SSD e soprattutto la GPU e la sua RAM video.
Abbiamo provato a caricare Stable Diffusion su un Surface Laptop Studio (H35 Core i7-11370H, 16 GB di RAM, GeForce RTX 3050 Ti con 4 GB di VRAM GDDR6), riscontrando errori di esaurimento della VRAM. Eseguendolo su un laptop da gioco con un Core i7-11800H, 16GB di RAM e una GPU RTX 3060 laptop con 6GB di VRAM GDDR6, Stable Diffusione ha funzionato, ma solo usando il fork del codice ottimizzato per una VRAM inferiore.
Anche in questo caso, la generazione di una serie di cinque immagini (l’impostazione predefinita) ha richiesto circa dieci minuti per ciascuna, alla risoluzione di 512×512 pixel, con 50 iterazioni. Al contrario, DreamStudio, lo stesso algoritmo ospitato nel cloud, è stato completato in circa due secondi.
Tra gli algoritmi di IA che abbiamo provato, consideriamo Midjourney e Latitude Vantage i migliori generatori di arte artificiale. Non siamo rimasti molto colpiti dai risultati di Stable Diffusion. Tuttavia, gran parte dell’arte dell’IA dipende dall’abilità nel formulare la richiesta, che a volte necessita di essere affinata più volte.
Il bello di Stable Diffusion, tuttavia, è che se possedete un PC potente, potete prendervi tutto il tempo che volete per mettere a punto la vostra arte algoritmica e ottenere qualcosa di veramente impressionante.