Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

È interessante notare come la storia dei rilasci dei modelli open source per la trasformazione di suggerimenti testuali in immagini, sviluppata e addestrata da Stability AI, ricordi una serie di alti e bassi delle versioni del sistema operativo Microsoft. Dopo il leggendario successo di XP, ci fu la problematica Vista; poi arrivò la magnifica "sette" — seguita dalla poco convincente Windows 8. Con Stable Diffusion, seguendo la versione inizialmente poco riuscita 1.5, sviluppata gradualmente da appassionati, è seguita la deludente SD 2.0 — deludente, in verità, perché includeva un codificatore OpenCLIP atipico per modelli di questo tipo, addestrato su immagini selezionate in modo piuttosto ambiguo di del dataset open LAION-5B. Durante questo processo di selezione sono state escluse non solo referenze visive inappropriate (NSFW), ma anche opere e illustrazioni di artisti noti, come il famoso Greg Rutkowski. Proprio quest'ultima cosa ha scatenato le reazioni degli appassionati: se per SD 1.5 già nel suo stato iniziale, senza l'uso di checkpoint particolarmente addestrati, le semplici richieste con stili — "epic medieval fantasy landscape, in the style of Greg Rutkowski" — producevano risultati impressionanti, SD 2.0 ha smesso di "riconoscere" i nomi degli illustratori più noti, la cui proprietà intellettuale è ancora attuale e che non hanno concesso queste opere per l'addestramento dell'IA. Pertanto, era necessario utilizzare più parole per descrivere ciò che si desiderava e la macchina faticava con suggerimenti troppo lunghi.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

#Seduti — alzati, seduti — alzati

Combinato con un codificatore modificato (trasformatore di suggerimenti testuali in token digitali, con cui la macchina lavora successivamente), l'impossibilità di utilizzare stili nominati ha semplicemente privato gli appassionati della motivazione per continuare a migliorare "la versione due" da soli. Davvero: bisognava contemporaneamente capire come adattare la già collaudata tecnica di creazione di suggerimenti al nuovo codificatore e continuare ad addestrare il modello a riconoscere quelle immagini e temi che i creatori non gli avevano presentato nella fase iniziale di addestramento — e la differenza qualitativa rispetto a "la versione uno" non era garantita. Sì, dal standard per SD 1.5 di 512×512 pixel vi è stato un salto di qualità a 768×768, ma a quel punto la community stava già utilizzando upscalers, outpainters e altri strumenti per aumentare le dimensioni delle immagini finali, quindi SD 2.0 è passata, in buona sostanza, inosservata. SDXL è tornata al standard (sviluppato da OpenAI e utilizzato, tra l'altro, nel progetto DALL-E) codificatore CLIP — il cui codice è aperto, ma il database su cui è stato addestrato, a differenza di OpenCLIP, è proprietario. Inoltre, la dimensione standard della tela è aumentata a "Oversize" fino a 1024×1024, e sono stati introdotti diversi miglioramenti aggiuntivi, così gli appassionati hanno preso con entusiasmo ad aggiornarlo. Fino ad ora, SDXL (per non parlare di derivati meno esigenti in termini di "hardware" come SDXL Turbo e SDXL Lightning) può essere considerato con certezza il generatore di immagini IA open source più popolare. Tuttavia, i ferventi sostenitori di SD 1.5 contestano, sottolineando che strumenti fondamentali come ControlNet in SDXL non sono ancora trasferiti adeguatamente.

E dall'12 giugno 2024, con il rilascio del codice del modello che consente generazioni locali, dovrebbe arrivare il momento della versione "open" SD 3 — se vogliamo essere precisi, Stable Diffusion 3 Medium (SD3M o SD3 2B) con 2 miliardi di parametri operativi. In termini generali, ricordiamo, questo numero corrisponde al numero totale di pesi agli ingressi di tutti i percettroni del modello. Ancora prima, ad aprile, Stability AI ha perfezionato e offerto per uso commerciale la versione a 8 milioni (per numero di parametri) Stable Diffusion 3 Large, ovvero SD3 8B. SDXL 1.0, ricordo, ha 3,5 miliardi di parametri, tuttavia SD3M, secondo i sviluppatori, è "il modello più sofisticato per la generazione di immagini di tutti quelli che abbiamo creato fino ad ora". Si intendeva che, con esigenze di memoria video inferiori rispetto a quelle di «Oversize», in risposta anche a suggerimenti non complessi, dovesse produrre immagini «con un nuovo livello di fotorealismo». Tra i vantaggi della «tre» sono stati citati anche «qualità tipografica senza precedenti nei testi generati nelle immagini», «comprensione più profonda dei suggerimenti grazie alla collaborazione di tre codificatori» e «disponibilità a un efficace riaddestramento anche su set di dati limitati».

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Era evidente che la comunità di appassionati, avendo a disposizione il nuovo giocattolo tanto atteso, si sarebbe messa a perfezionarlo con lo stesso fervore di «semi-ovest» e «Oversize» in passato. Tuttavia, fin da subito, tutto è andato storto: SD3M ha profondamente deluso il suo pubblico, e addirittura due volte. La prima volta — per una strana idiosincrasia nei confronti di suggerimenti che includevano frasi apparentemente innocue come «sdraiato su/nella erba» (lying on/in the grass); la seconda — per le formulazioni incredibilmente vaghe nel contratto utente, su cui nemmeno avvocati professionisti sono riusciti a orientarsi subito. E sebbene per il comune appassionato di arte AI l'ultimo punto possa sembrare secondario, l'aspetto legale si rifletterà in modo diretto sullo sviluppo futuro del modello — fino al punto che potrebbe non esserci affatto sviluppo. il proprio pubblico, e lo fa due volte. La prima volta — con un'irragionevole idiosincrasia verso suggerimenti che contengono la frase apparentemente innocente «sdraiato su/nell'erba»; la seconda — con formulazioni incredibilmente vaghe nel contratto utente, che nemmeno avvocati professionisti sono riusciti a decifrare al volo. E sebbene, dalla prospettiva di un appassionato medio, questo possa sembrare irrilevante, lo sviluppo futuro del modello sarà profondamente influenzato dalla questione legale — al punto che potrebbe non esserci affatto sviluppo.

Le precedenti creazioni di Stable Diffusion con codice aperto (piuttosto, con valori di pesi di rete neurale disponibili per il download gratuito e l'esecuzione locale), come SDXL, erano accompagnate da una delle tipiche per le modelli generativi CreativeML Open RAIL++-M License con caratteristiche come «licenza perpetua, mondiale, non esclusiva, gratuita, irrevocabile e non trasferibile ai sensi del diritto d'autore per scopi di riproduzione, preparazione, dimostrazione pubblica, esecuzione pubblica, sub-licenziamento e distribuzione di materiali ulteriori sia del modello stesso che delle sue derivazioni». La «tre» prevede invece due varianti di licenza: per uso non commerciale — con formulazioni piuttosto permissive come «Stability AI ti concede una licenza non esclusiva, mondiale, non trasferibile, non sub-licenziabile, revocabile, gratuita e limitata sui diritti di proprietà intellettuale» — e una commerciale molto più gravosa.

#L'erba non porta a nulla di buono

Dopo poco tempo, la comunità è giunta alla conclusione che Stable Diffusion 3 non è open source. E ha essenzialmente proclamato il boicottaggio del team di sviluppo, non volendo perdere tempo e risorse nel riaddestramento di un modello palesemente grezzo e mal sviluppato — consapevoli che Stability AI potrebbe revocare in qualsiasi momento la licenza concessa in precedenza a un appassionato per il suo riaddestramento, a causa del minimo capriccio dei loro media manager. Inoltre, il contratto di licenza è formulato in modo tale che a coloro che lo esaminano, l'impressione di non avvocati è che, dopo la revoca della licenza per uso commerciale, il precedente beneficiario sarà obbligato a eliminare tutte le opere derivate create da lui a partire dalla proprietà intellettuale concessa in licenza, inclusi i modelli riaddestrati (LoRA, inversioni testuali, checkpoint completi) e le loro derivazioni (citazione: «Upon termination of this Agreement, you shall delete and cease use of any Software Products or Derivative Works») — cioè i frutti del lavoro di altre persone che hanno utilizzato questi modelli derivati come punto di partenza per il proprio lavoro; realizzati nel puro entusiasmo e senza alcuna remunerazione.

Poco dopo che il flusso di indignazione a riguardo ha raggiunto altezze stratosferiche, hanno cominciato a comparire messaggi da avvocati professionisti, che non è tutto così grave e che la revoca con divieto di uso futuro dovrebbe riguardare solo alcuni prodotti ausiliari con codice chiuso, che Stability AI trasmetterà all'utente commerciale (per accelerare e ottimizzare il riaddestramento di SD3M), — ma la società stessa finora non ha fornito chiarimenti conclusivi in merito. E il fatto che ci sia stato un tale opprimente silenzio per ormai tre settimane (al momento della stesura di questo articolo) dalla disponibilità di «tre» in accesso aperto danneggia la reputazione dello sviluppatore molto più dell'erba — generata dalle sue creazioni per le donne.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Per quanto riguarda l'ormai celebre erba, diventata un meme in poche ore prima su Hugging Face, e poi praticamente su tutte le piattaforme più o meno specializzate online, è emerso che la presenza di frasi come «a girl lying on the grass» nelle suggerimenti porta a risultati non solo di allucinazioni, ma di spaventosi frutti di una fantasia malata — in senso medico — di artisti e cineasti specializzati nella body horror (vi esortiamo, se avete a cuore la vostra sanità mentale e la vostra vita, a stare lontani da cose simili e a non provare nemmeno a digitare questa frase nella ricerca di immagini con i filtri di sicurezza disattivati). Nel frattempo, le immagini di persone in piedi — e in misura leggermente inferiore sedute — ricevono un notevole punteggio, mentre i ritratti risultano talvolta del tutto perfetti; almeno, non peggiori di quelli del modello base SDXL 1.0, con il problema che qui c'è qualche sorta di tabù interno sulla posizione orizzontale del corpo umano.

Stando al commento di Emad Mostaque, fondatore e ex (fino a marzo 2024) capo di Stability AI, che ha lasciato l'azienda per «occuparsi di progetti decentralizzati nel campo dell'intelligenza artificiale», la brutale violenza su SD3M è avvenuta poco prima che venissero resi pubblici i suoi pesi per un utilizzo commerciale limitato (ricordiamo che l'API della versione più potente SD3 8B per la generazione online è disponibile tramite siti partner fin da aprile , ma i suoi pesi rimangono segreti) è stata una conseguenza del desiderio dell'attuale gestione di garantire la sicurezza —«in relazione agli obblighi normativi» , formulati già a marzo di quest'anno comeAcceptable Use Policy . Proprio nell'ambito di questa politica, l'utilizzo del modello generativo SD3M non consente agli utenti di «compiere, promuovere, facilitare, incoraggiare, pianificare, incitare o contribuire a ulteriore violenza, terrorismo o creazione di contenuti che incitano all'odio, discriminando o minacciando gruppi di persone protetti (indipendentemente dal genere, etnia, identità o orientamento sessuale, religione o altro)», quindi niente immagini di panda, in quello che madre natura li ha creati, mentre combattono draghi feroci! Solo gattini con cappelli divertenti, cagnolini in giacche carine, bottiglie con contenuti misteriosi e biscotti freschi, appena sfornati!Tecnicamente parlando, è possibile che la modifica del modello comportasse semplicemente l'esclusione dal set di dati di addestramento delle immagini di persone sdraiate e di altre immagini che in qualche modo implicavano interpretazioni oscene — e per questo ora «la tre» semplicemente «non comprende» il significato della parola «sdraiarsi». Oppure, forse, l'architettura aggiornata di SD3 ha permesso di identificare con sufficiente sicurezza i pesi sui percettroni che si attivano durante la generazione di immagini «non sicure», e questi pesi sono stati azzerati selettivamente poco prima del rilascio, con l'effetto collaterale di provocare «allucinazioni forzate». Probabilmente,

questo può essere paragonato a una lobotomia : il codificatore traduce correttamente il testo in token, ma in uno spazio latente «messo in sicurezza» questi token non indicano più nulla di specifico, e quindi i pixel risultanti sono disposti sull'immagine in modo piuttosto casuale.Considerando la disponibilità dell'API della versione completa ma chiusa di SD3 8B già da diversi mesi e le calde affermazioni dei media di Stability AI che la «compattata» 2B

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

risulterà praticamente equivalente in termini di qualità della comprensione del testo e di generazione di immagini , gli appassionati di disegno AI hanno accolto la pubblicazione pubblica dei pesi di SD3M il 12 giugno con grande entusiasmo:nelle prime 24 ore il modello è stato scaricato 2,7 milioni di volte . Attualmente è ancora possibile ottenerlo, sebbene in modo leggermente più complesso rispetto ai checkpoint di SDXL e SD 1.5. Di fatto, il percorso abituale è quello di visitare il sito Civitai, da cui la maggior parte dei modelli viene scaricata senza registrazione, ma dal 17 giugno e fino al momento della redazione di questo articolo, la pagina dedicata a «tre» su questo sitoè in un divieto temporaneo è in un ban temporaneo. E la ragione è semplice: la licenza commerciale per SD3M è redatta in un linguaggio così ambiguo che persino gli avvocati di Civitai hanno preso una pausa per studiarla più da vicino. Se un appassionato addestra LoRA per la “tre” sul suo PC e la pubblica su Civitai, ma Stability AI decide che il risultato non è adeguato e ritira la licenza da chi è responsabile, come si comporta il sito host? Non si limita a ospitare checkpoint, cicli ausiliari e modelli, ma offre anche agli utenti la possibilità di generare immagini nel cloud e di addestrare le stesse LoRA, inversioni testuali e altro. Insomma, finché il giudice non emette la sentenza, è possibile ottenere i file del modello e dei tre trasformatori di testo in token solo dalla propria pagina Stability AI sul portale Hugging Face.

#Iniziamo

C'è un dettaglio, però: per ottenere l'accesso ai link di download, è necessario registrarsi sul sito e poi confermare l'accettazione del suddetto controverso accordo di licenza — comunque, questa procedura è gratuita e accessibile dalla Russia. Sono disponibili quattro modelli (models) e quattro trasformatori di testo in token (encoders) tra cui scegliere, oltre a tre cicli di riferimento per l'esecuzione nell'ambiente di lavoro ComfyUI, di cui abbiamo già parlato:

modelli:

  • sd3_medium.safetensors
  • sd3_medium_incl_clips.safetensors
  • sd3_medium_incl_clips_t5xxlfp8.safetensors
  • sd3_medium_incl_clips_t5xxlfp16.safetensors

codificatori:

  • clip_g.safetensors
  • clip_l.safetensors
  • t5xxl_fp8_e4m3fn.safetensors
  • t5xxl_fp16.safetensors

cicli:

  • sd3_medium_example_workflow_basic.json
  • sd3_medium_example_workflow_multi_prompt.json
  • sd3_medium_example_workflow_upscaling.json

In questo laboratorio, ci limiteremo al modello di base sd3_medium.safetensors (4,2 GB), con tre codificatori — clip_g.safetensors (1,3 GB), clip_l.safetensors (234 MB) e t5xxl_fp8_e4m3fn.safetensors (4,7 GB), insieme al ciclo sd3_medium_example_workflow_multi_prompt.json. La questione è che sulla nostra macchina di test è installata, ricordiamo, una scheda grafica GeForce GTX 1070 con 8 GB di memoria video, e questo spazio non basta per modelli più grandi con tutti i trasformatori integrati. Nei checkpoint basati su SD 1.5 e SDXL, i codificatori sono integrati nel file principale per default, ma in questo caso ci sono non due ma tre trasformatori, per un totale di oltre 6 GB. Insieme al modello stesso, si supera già i 10 GB; e se si utilizza la versione a 16 bit del codificatore T5XXL, sarà necessaria una scheda grafica ancora più potente. Nel caso in cui i trasformatori di testo in token vengano caricati prima nella memoria video, è possibile utilizzare anche un adattatore grafico da 6 GB. Da questo punto di vista, la “tre” modulare è senza dubbio superiore a un tipico checkpoint SDXL da 5-7 GB.

SD3M è un modello basato su trasformatori di diffuzione multimodali (Multimodal Diffusion Transformer, MMDiT) — e pertanto si differenzia radicalmente dalle precedenti opere di Stability AI (e non solo) che si basano su un'architettura U-Net, proposta nel 2015. Il laboratorio non è il luogo adatto per approfondire la differenza tra questi due approcci alla generazione di immagini tramite IA; diciamo solo che MMDiT offre una maggiore prestazione del modello, con la capacità di gestire un numero maggiore di token (il che consente all'operatore di formulare suggerimenti testuali piuttosto ampi, mentre il sistema riesce a seguirli con abbastanza precisione), oltre a una qualità migliore delle immagini generate. La SD3 8B a grandezza naturale può generare immagini su una tela da 4 megapixel (2048×2048 punti), oltre a superare DALL-E 3, Midjourney v6 e Ideogram v1 in vari aspetti come la riproduzione del testo nell'immagine, la precisione della corrispondenza tra l'immagine ottenuta e il suggerimento testuale, e l'estetica visiva generale. La trasformazione del testo in vettoriali di token avviene qui grazie a tre codificatori (due modelli CLIP e uno T5-XXL — il “T5”, si badi, da Text-To-Text Transfer Transformer) — e, in linea generale, non devono necessariamente lavorare con lo stesso suggerimento.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Ma basta con le introduzioni: occupiamoci di ciò a cui è dedicato il laboratorio, ovvero la generazione di immagini basate sul modello SD3M. Utilizzeremo per questo, come già detto, l'ambiente di lavoro ComfyUI, che può essere scaricato dal link diretto su GitHub. Sottolineiamo che questa opzione è valida solo per le schede grafiche NVIDIA o direttamente su CPU AMD o Intel (questo sarà, ovviamente, molto più lento): ai possessori di schede grafiche AMD viene proposto un workaround con i pacchetti rocm e pytorch, che possono essere installati tramite il gestore di pacchetti pip.

Al termine dell'installazione dell'ambiente di lavoro, è necessario posizionare i file .safetensors precedentemente scaricati: i modelli nella cartella ComfyUImodelscheckpoints, i convertitori di testo in token in ComfyUImodelsclip. E ora si può iniziare!

#È tempo di accelerare

Vale la pena notare che AUTOMATIC1111, ben nota ai lettori delle precedenti 'Officine' sull'argomento degli ambienti di disegno AI, entro la fine di giugno ha anche acquisito la capacità di eseguire SD3M, tuttavia, in ComfyUI il supporto per il nuovo modello rimane il più completo. Non sorprende, dato che fino a poco tempo fa l'autore del 'mostro di pasta', noto alla comunità di appassionati con il soprannome di ComfyAnonimous, o semplicemente Comfy, era un dipendente di Stability AI, dove ha lavorato, tra le altre cose, su un ambiente di lavoro interno utilizzato dagli stessi sviluppatori. Come vedremo tra poco, l'ultima versione di ComfyUI testimonia effettivamente che il suo autore ha determinate intuizioni riguardo a come sia strutturato e funzioni questo modello controverso, intuizioni di cui i creatori di altri ambienti di esecuzione locale di Stable Diffusion 3 Medium non possono vantarsi per ovvi motivi.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Installare ComfyUI in versione portatile su Windows è semplicissimo: dopo aver scaricato il corrispondente file ZIP dalla pagina ufficiale del progetto , basta estrarlo in qualsiasi cartella comoda; è consigliabile, ovviamente, farlo su una partizione logica basata su SSD e non su HDD, poiché lo scambio tra il dispositivo di memoria e la RAM, considerando i futuri cicli di caricamento-scaricamento dei modelli anche per generare una sola immagine (l'ambiente deve prima caricare nella memoria GPU i convertitori di testo in token, poi liberare la memoria video e caricare effettivamente SD3M), è previsto essere piuttosto intenso, soprattutto se la scheda grafica ha poca memoria video a disposizione. Tra l'altro, l'installazione portatile è utile anche per la sua completa indipendenza: nulla, tranne la quantità di spazio libero sul disco logico, impedisce di distribuire localmente quante più copie di ComfyUI si desidera, per sperimentare liberamente con diverse estensioni, senza temere di rovinare un sistema già affinato e funzionante.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Assicurati che il file del modello principale SD3M senza codificatori di testo in token (file stableDiffusion3SD3_sd3Medium.safetensors, 4,2 GB) sia posizionato nella sottocartella checkpoints (nel caso della nostra installazione di test, il percorso completo è C:Fun-n-GamesComfyUI-SD3ComfyUImodelscheckpoints), e che tutti e tre i file dei codificatori (file stableDiffusion3SD3_textEncoderClipG.safetensors, stableDiffusion3SD3_textEncoderClipL.safetensors e stableDiffusion3SD3_textEncoderT5E4m3fn.safetensors; 1,3 GB, 234 MB e 4,7 GB rispettivamente) siano nella sottocartella clip (C:Fun-n-GamesComfyUI-SD3ComfyUImodelsclip), quindi puoi avviare l'ambiente facendo doppio clic sul file run_nvidia_gpu.bat nella cartella principale (nel nostro caso C:Fun-n-GamesComfyUI-SD3). Dopo l'avvio del server, nella finestra del prompt dei comandi di Windows si aprirà automaticamente (come prevedono le impostazioni del file BAT) una nuova scheda nel browser predefinito, dove sarà accessibile l'interfaccia web già conosciuta da noi in precedenza (anche se solo in una prima approssimazione) del 'mostro di pasta'.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

In linea di principio, se hai a disposizione una scheda grafica NVIDIA più moderna (di generazione RTX e non GTX, anche solo con 6 GB di memoria video), puoi subito caricare nell'ambiente il workflow di esempio realizzato dallo stesso ComfyAnonimous, di cui si è già parlato, ovvero il file comfy_example_workflows_sd3_medium_example_workflow_multi_prompt.json con più finestre per l'inserimento dei suggerimenti, una per ciascuno dei tre codificatori, e lavorarci. Tuttavia, prima dovrai allineare i nomi dei quattro file dei modelli (nei nodi di caricamento) a quelli disponibili. L'autore del workflow di esempio, evidentemente, ha lavorato nel suo ambiente (in Stability AI, come già menzionato) con file localmente disponibili che avevano nomi leggermente diversi, quindi, se premi il pulsante 'Queue Prompt' nell'interfaccia spartana di ComfyUI subito dopo il caricamento del workflow, l'ambiente darà un messaggio di errore.

#Tre colonne per la generazione AI

Tuttavia, risolvere questo non è poi così difficile: ciò che preoccupa di più è il fatto che la nostra scheda GTX 1070, ormai datata, elabora SD3M in modo terribilmente lento: la generazione dell'immagine richiede circa 27-30 secondi per ogni iterazione e, considerando che il parametro 'Steps' nel workflow di esempio è impostato su '28', il tempo impiegato è ingiustificatamente lungo. Pertanto, procederemo con una piccola ottimizzazione: utilizzeremo il modulo Python venv (ambienti virtuali), progettato, tra l'altro, per accelerare il lavoro dei modelli AI generativi. Non è incluso nel pacchetto della versione portatile di ComfyUI, Tuttavia, ci sono molti modi per installarlo, che alla fine si riducono a distribuire un ambiente Python completo sul PC locale - e attivare il modulo necessario direttamente da quest'ambiente.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Ci aspettiamo che i lettori che seguono i nostri «Workshop» abbiano già un'installazione operativa di AUTOMATIC1111 sui loro computer. In questo caso, è molto più semplice: il modulo venv è già distribuito, e tutto ciò che è necessario fare per attivarlo all'avvio dell'ambiente di lavoro ComfyUI è eseguire correttamente la chiamata. Prima di tutto, è necessario arrestare il server, tornando alla sua finestra e premendo «Ctrl» + «C», quindi digitare «y» per confermare; dopo - copiare il file BAT run_nvidia_gpu.bat in uno nuovo, chiamato, ad esempio, run_with_venv.bat. Il file di avvio originale è piuttosto conciso - chiama semplicemente una copia portatile di Python con il parametro —windows-standalone-build:

.python_embededpython.exe -s ComfyUImain.py —windows-standalone-build

pause

Questo parametro non è molto chiaro di per sé - implica alcune ottimizzazioni che sono probabilmente pensate per schede grafiche NVIDIA più recenti e quindi potrebbero complicare la vita di chi mantiene ancora i rispettabili GTX. Per questo motivo, rimuoviamo —windows-standalone-build dalla riga di comando, e rinunciamo anche a un'altra moda - il «gestore della memoria intelligente», smart memory, che cerca di mantenere il maggior numero possibile di informazioni nella memoria video, senza scaricarle. Questo accelera effettivamente la generazione delle immagini AI, ma trasforma il nostro computer obsoleto in un sistema monofunzionale - non è più possibile navigare in internet, giocare, o anche lavorare con documenti e email sul PC mentre l'ambiente di lavoro è attivo. Quindi, per chi non dispone di un computer dedicato per le arti AI, un file BAT ottimale per avviare ComfyUI (non solo per generare immagini con SD3M, a proposito, - va bene anche per SDXL) sarebbe:

@echo off

call cd C:Fun-n-GamesGitstable-diffusion-webuivenvScripts

echo %cd%

call activate.bat

echo venv attivato

call cd C:Fun-n-GamesComfyUI-SD3

echo %cd%

call .python_embededpython.exe -s ComfyUImain.py —disable-smart-memory

pause

Qui si presume che l'installazione portatile di ComfyUI sia stata effettuata nella cartella C:Fun-n-GamesComfyUI-SD3, e AUTOMATIC1111 sia stata precedentemente installata in C:Fun-n-GamesGitstable-diffusion-webui. I numerosi «echo» sono necessari semplicemente per il controllo visivo che il cambiamento di directory avvenga correttamente e che i comandi necessari vengano eseguiti - dopo che tutto sarà stato testato, possono essere rimossi dal file BAT.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Riavviamo l'ambiente di lavoro, questa volta facendo doppio clic su run_with_venv.bat. Poiché abbiamo solo chiuso il server in precedenza e non abbiamo toccato l'interfaccia web, nella relativa scheda dovrebbe ancora esserci il ciclo diagramma di ComfyUI con i nomi dei modelli corretti. Notiamo la parte destra: lì si trova il nodo «Preview Image», che non salva l'immagine pronta su disco, ma la mostra solo. Se si avvia ogni volta il ciclo diagramma per generare rigorosamente un'immagine, giudicarne visivamente, modificare i parametri, avviare nuovamente - questo è un'opzione perfettamente praticabile: un'immagine gradita può sempre essere salvata manualmente facendo clic con il tasto destro del mouse su di essa. Ma se si producono molte generazioni nell'ambiente di lavoro in successione, è meglio che i loro risultati si accumulino automaticamente in memoria permanente (nella cartella ComfyUIoutput per impostazione predefinita).

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Quindi è meglio cambiare subito il nodo «Preview Image» in «Save Image». Per farlo, facciamo doppio clic su un'area vuota del ciclo diagramma - si aprirà una finestra per la selezione dei nodi con una barra di ricerca. In questa barra iniziamo a digitare «Save...» - e quasi subito vedremo il nome cercato. Successivamente, rimane solo da fare clic su di esso e collegare l'ingresso del nodo apparso all'uscita «IMAGE» del nodo «VAE Decode», dove inizialmente era collegato «Preview Image». Quest'ultima può essere poi rimossa - basta selezionarla, facendo clic sul titolo, e premere il tasto «Del» sulla tastiera.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

E adesso - è il momento di avviare il ciclo diagramma firmato ComfyAnonimous (con le nostre umili modifiche) per l'esecuzione. Risultato:

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Un'immagine davvero impressionante, con persino un'atmosfera, e non diresti che è stata creata utilizzando lo stesso modello che letteralmente distrugge le istruzioni per disegnare persone sdraiate sull'erba. Inoltre, il sistema funziona abbastanza bene: circa 5-6 secondi per iterazione per un'immagine di 1 Megapixel su GTX 1070 può essere considerato un risultato soddisfacente. A titolo di confronto: lo stesso PC, nella stessa ComfyUI con lo stesso file BAT, genera immagini SDXL di dimensioni simili, impiegando circa 6-7 secondi per ogni iterazione, quindi il “tre” può essere tranquillamente riconosciuto come meno esigente in termini di hardware per il PC utilizzato nell'intelligenza artificiale generativa.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Ora modifichiamo le dimensioni della tela. Non lontano dal nodo «EmptySD3LatentImage», che le definisce, si trova un nodo «note» (nel senso che non è collegato a nulla), dove c'è un'importante nota: la superficie totale dell'immagine nel caso di SD3M dovrebbe essere di circa 1 Megapixel, da cui si dovrebbero scegliere le dimensioni dei lati della tela rettangolare. Quindi impostiamole come 1344×768 — che corrisponde a circa 1,03 Megapixel.

Notiamo che sopra si trova il nodo «Seed», dove è impostato il seed stesso, in questo caso «945512652412924», e si specifica che non dovrebbe cambiare dopo la generazione (parametro «fixed»).

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Eseguiamo la stessa ciclo programma con lo stesso seed, ma per una tela rettangolare. Si nota subito che il tempo totale di esecuzione è inferiore, anche se la velocità di rendering è rimasta la stessa — meno di 6 secondi per iterazione. E questo è logico: poiché le indicazioni testuali non sono cambiate, non è necessario ricaricare il codificatore. L'immagine in output, è ovvio, è leggermente diversa dalla prima, quadrata, ma non in modo sostanziale: la composizione generale, come ci si aspettava, è rimasta invariata.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Ora diamo un'occhiata ai nodi «CLIPTextEncodeSD3» e «CLIP Text Encode (Negative Prompt)». Il primo si distingue perché contiene tre campi di input; se si rimuove il testo da essi, compaiono le annotazioni per quali codificatori sono destinati — dall'alto verso il basso, si tratta di CLIP G, CLIP L e T5XXL. Prima non c'erano nodi simili in ComfyUI per motivi evidenti. Il ciclo di riferimento contiene suggerimenti brevi per i primi due campi di testo (per i codificatori CLIP G e CLIP L) e un suggerimento molto più elaborato per il terzo — T5XXL. È chiaro che il contenuto di questi campi può essere modificato ampiamente, e lo studio di come le variazioni del testo in essi influenzano l'immagine finale è un compito non banale ma estremamente affascinante. Tuttavia, per motivi che diventeranno chiari poco dopo, al momento non ci concentreremo su di esso.

D'altra parte, nel nodo «CLIP Text Encode (Negative Prompt)», non c'è nulla di speciale, ma valutiamo quanto sia complesso il percorso da essa all'ingresso corrispondente di «conditioning» del nodo principale «KSampler»! Questo percorso si biforca, e una delle sue diramazioni (quella superiore in questo caso) indica che a partire dal 10% dei passi di generazione e fino alla sua conclusione il sistema non prenderà in considerazione il suggerimento negativo (il passaggio attraverso il nodo «ConditioningZeroOut» indica proprio questa azione). Mentre l'altra diramazione invia il suggerimento negativo (anch'esso condizionato con un peso di metà) alla successiva elaborazione senza modifiche — ma solo nei primi 10% del totale dei passi di generazione.

#Un lontano nebbioso

Ancora una volta: nei primi 10%, cioè 3 su 28 assegnati in questo caso, i passi di generazione il suggerimento negativo viene inviato al nodo «KSampler», occupato a creare l'immagine nello spazio latente (nello spazio dei pixel, ovvero in un'immagine comprensibile all'essere umano, il risultato della sua uscita viene tradotto dal nodo successivo, «VAE Decoder»), normalmente: la diramazione superiore (con azzeramento delle condizioni) non è attiva, funziona solo quella inferiore. I restanti 90% dei passi (25 su 28 nel nostro caso) il suggerimento negativo non è affatto attivo: è attiva proprio la diramazione superiore di invio delle condizioni — con il loro azzeramento, mentre il movimento lungo la inferiore è bloccato dal parametro limitato di attivazione del nodo corrispondente «ConditioningSetTimestepRange». Ora è chiaro perché alcuni recensori affermano che le indicazioni negative per SD3M non possono essere utilizzate in linea di principio, — l'effetto derivante da esse (se consideriamo proprio questo ciclo di riferimento e supponiamo che nei siti di generazione online secondo il modello SD3 Medium si applicano regole analoghe) è minimo.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Eppure esiste: se si collega direttamente l'uscita del nodo «CLIP Text Encode (Negative Prompt)» all'ingresso corrispondente di «KSampler» (oppure si contrassegna tutti i nodi intermedi con condizioni su quel percorso come «saltabili», «Bypass», il che porta allo stesso effetto), la qualità dell'immagine finale ne risentirà notevolmente. Questo, per inciso, può essere considerato una prova indiretta della «non finalizzazione» di SD3M, poiché gli sviluppatori avrebbero dovuto essere in grado di regolare la forza e l'importanza del prompt negativo ancor prima di rendere i pesi del modello pubblici. Due rami di condizioni sapientemente impostate per l'applicazione del prompt negativo sono una sorta di toppa, e in questo senso le lamentele degli appassionati sul fatto che la «tre» non riesca a soddisfare le aspettative create dal dipartimento marketing di Stability AI su di essa, appaiono tutto sommato fondate.

La mancanza di una breve guida ufficiale su come lavorare con SD3M ha portato al fatto che in rete circolano già voci secondo cui questo modello non è stato affatto addestrato per utilizzare i prompt negativi. Cosa che, ovviamente, non è vera, ma in ogni caso è necessario applicare questi prompt in modo chiaramente diverso rispetto a quanto fatto dagli operatori di SD 1.5 e SDXL. In particolare, gli appassionati affermano seriamente che l'aggiunta di descrizioni dettagliate di quante più oscenità possibili nel campo negativo (sì, sì, il vecchio buon «nsfw, nude» non basta — bisogna davvero sforzarsi di usare la fantasia) porta a un miglioramento notevole dell'aspetto anche della nota ragazza sdraiata sull'erba. Che sia così o meno, non possiamo scoprirlo senza una verifica attenta (e non è detto che nemmeno l'etichetta «18+» in cima al nostro sito ci protegga da cause legali da parte di indignati difensori della morale, se rischiamo di pubblicare il «miracolo-prompt» composto dagli appassionati — sebbene sia in inglese). Questa situazione curiosa ricorda il caso degli insegnamenti antichi contro il paganesimo, che, proprio perché contenevano descrizioni piuttosto dettagliate su cosa e come non dovessero comportarsi i cristiani rispettabili, ci hanno permesso di avere almeno frammentari documenti scritti sulle credenze e sulle pratiche della Rus' pre-cristiana.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Ora, si spera, è più chiaro perché approfondire ulteriormente lo studio di SD3M in questa fase sembri non essere una spesa di sforzi e tempo molto ragionevole. C'è davvero molto da discutere e da esplorare: dai parametri di generazione fortemente raccomandati nel nodo «KSampler» (CFG — 4,5-5,0; numero di passi — circa 28; coppia sampler/scheduler — esclusivamente dpmpp_2m/sgm_uniform, altrimenti la qualità dell'output diminuisce notevolmente); all'ampio divario nella qualità soggettiva delle generazioni con gli stessi parametri iniziali, ma con stimoli diversi; e all'eliminazione della nota «maledizione del sdraiato in/su erba» (per la quale sono già proposte soluzioni piuttosto straordinarie); e, in fin dei conti, scoprire a quali parametri di generazione influiscono ciascuno dei tre trasformatori di testo in token — e come, operando su di essi, ottenere vere opere d'arte visiva AI (se tale risultato con la «tre» è possibile in linea di massima, ovviamente).

Soprattutto considerando che il licenziamento di Emad Mostaque a marzo e di ComfyAnonimous a giugno, e non solo loro, non sono le uniche difficoltà che ha affrontato Stability AI. Come riporta Reuters citando The Information, questa startup britannica ha appena cambiato nuovamente amministratore delegato , che è diventato Prem Akkaraju, nominato da un noto gruppo globale di investitori IT — e questo, a sua volta, è pronto a versare nella società una somma considerevole in contanti (si parla di 80 milioni di dollari USA). La posizione di Stability AI come struttura aziendale è oggi apertamente instabile; molti appassionati delusi prevedono una sua imminente fine — e in questa situazione è difficile aspettarsi da parte dell'azienda un lavoro attento anche su errori così evidenti. — e in una situazione del genere è difficile aspettarsi che l'azienda si prenda cura anche degli errori più evidenti.

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Sfortunatamente, una politica di licensing poco lungimirante frena la comunità dal perfezionare autonomamente SD3M, come è successo con SD 1.5 e SDXL. Almeno i checkpoint derivati e strumenti come LoRA per gli ultimi due modelli rimarranno comunque accessibili per l'esecuzione locale, anche quando (e se) Stability AI concluderà il proprio percorso come entità commerciale. Subito dopo il clamoroso fallimento della "tre" sui forum specializzati, si sono sempre più alzate voci a favore della creazione di un progetto no-profit per sviluppare un modello generativo per la conversione del testo in immagini basato sul crowdfunding, - e ora questo movimento inizia a prendere forma sotto il nome di Open Model Initiative. Hanno già dichiarato la loro disponibilità a unirsi a questo progetto Invoke (una delle piattaforme per la generazione online di IA, focalizzata su studi professionali), Comfy Org (il team dedicato al supporto e allo sviluppo di ComfyUI), Civitai (autorevole e ben nota) e il team dietro LAION (una base di immagini annotate, sulla quale sono addestrati per lo più questi modelli).

Quindi, nei prossimi tempi, le nuove uscite della “Fabbrica” probabilmente si concentreranno sui modelli per i quali la comunità ha già creato un ampio set di miglioramenti e strumenti aggiuntivi, - come il “1.5” e l'“Oversize”. Forse il momento di gloria di SD3M arriverà ancora, - ma oggi è difficile persino immaginare quando. Nel frattempo, gli interessati possono scaricare l'archivio con le generazioni SD3M illustrate in questo articolo (i cicloagrammi sono integrati direttamente nei file PNG; basta trascinare l'immagine sulla schermata di lavoro di ComfyUI dal “File Explorer” di Windows per riprodurre tutto l'ordine e i parametri di generazione) qui. Magari qualcuno dei nostri lettori riuscirà prima degli habitué di Reddit e Hugging Face a scoprire il modo ottimale di distribuire il testo su tre campi di suggerimento, per esempio?

Nuovo articolo: Pratica di disegno AI, parte nove: SD3M — il 'tre' per un 'tre'.

Materiali relativi all'argomento:

Stability AI ha cambiato la dirigenza e ha raccolto 80 milioni di dollari in investimenti.

Introdotto il generatore di immagini IA Stable Diffusion Medium, che richiede solo una scheda video con 5 GB di memoria.

Stability AI è in difficoltà finanziarie e ora cerca un acquirente.

La startup di IA Stability AI ridurrà il personale del 10% a causa dell'aumento della concorrenza.

Annunciata Stable Diffusion 3.0 — L'IA per il disegno ha cambiato architettura ed ha imparato a scrivere..

Fonte: 3dnews.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster