Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

È divertente come la storia dei rilasci dei modelli aperti per la conversione di suggerimenti testuali in immagini, sviluppati e addestrati dalla Stability AI, somigli a una serie di alti e bassi delle versioni rilasciate del sistema operativo Microsoft. Dopo il leggendario successo di XP, ricorderemo, è arrivata la problematica Vista; poi la magnifica «sette» — e poi la poco fruttuosa Windows 8. Con Stable Diffusion, dopo una versione inizialmente poco appariscente, ma progressivamente migliorata grazie agli appassionati, la versione 1.5 è stata seguita dalla chiaramente fallimentare SD 2.0 — fallimentare proprio perché includeva un codificatore OpenCLIP atipico per modelli di questo tipo, addestrato su immagini selezionate in modo molto discutibile da del dataset aperto LAION-5B. In questo processo di selezione sono stati esclusi non solo riferimenti visivi inappropriati (NSFW), ma anche opere e illustrazioni di artisti popolari come il noto Greg Rutkowski. È proprio quest'ultimo aspetto che ha fatto infuriare gli appassionati: se per SD 1.5 anche nella versione originale, senza l'uso di checkpoint addestrati specificamente, bastavano semplici suggerimenti con stili — «epic medieval fantasy landscape, in the style of Greg Rutkowski» — e il risultato era impressionante, SD 2.0 ha smesso di «riconoscere» i nomi dei più noti illustratori, i cui diritti d'autore sulle opere create sono ancora validi e che non hanno voluto fornire queste opere per addestrare l'IA. Era necessario utilizzare più parole per descrivere ciò che si desiderava, e con suggerimenti troppo lunghi il modello si comportava male.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

#Seduti — alzati, seduti — alzati

La combinazione con il codificatore modificato (convertitore del suggerimento testuale in token digitali, con cui il modello lavora direttamente dopo) ha privato semplicemente gli entusiasti della motivazione per perfezionare la "doppia" da soli. Insomma: bisognava contemporaneamente capire come adattare la tecnica già consolidata di creazione dei suggerimenti al nuovo codificatore e addestrare il modello a riconoscere forme e temi con cui i creatori non l’avevano presentato nella fase di addestramento iniziale; in effetti, la qualità delle immagini generate dalla "doppia" non garantiva differenze significative rispetto alla "mezzo". Sì, c'è stato un salto qualitativo dal formato standard SD 1.5 di 512×512 punti a 768×768, ma a quel punto la comunità stava già usando upscaler, outpainters e altri strumenti per aumentare le dimensioni dell'immagine finale, quindi SD 2.0 è passata, in concreto, inosservata. SDXL è tornata allo standard (sviluppato da OpenAI e utilizzato, tra l'altro, dal progetto DALL-E) codificatore CLIP — il cui codice è anch'esso aperto, ma il database su cui è stato addestrato, a differenza di OpenCLIP, è proprietario. Inoltre, la dimensione standard della tela è aumentata per "Oversize" fino a 1024×1024, più è stato introdotto un intero insieme di miglioramenti, quindi gli entusiasti si sono dedicati con piacere al suo perfezionamento. E attualmente SDXL (insieme a derivate più recenti e meno esigenti in termini di "hardware" come SDXL Turbo e SDXL Lightning) può essere considerata senza dubbio il generatore di immagini AI open source più popolare. Tuttavia, i ferventi sostenitori di SD 1.5 contestano vigorosamente questo, sottolineando che strumenti fondamentali come ControlNet non sono stati trasferiti con dignità a SDXL.

E così, dal 12 giugno 2024, dal momento del "rilascio in natura" del codice del modello che consente generazioni locali, dovrebbe essere giunto il momento della versione "open" di SD 3 — per essere più precisi, Stable Diffusion 3 Medium (SD3M o SD3 2B) con 2 miliardi di parametri operativi. A titolo indicativo, questo numero corrisponde alla quantità totale di pesi agli ingressi di tutti i percetroni del modello. Inoltre, a aprile, Stability AI ha perfezionato e offerto per uso commerciale una versione da 8 milioni (di parametri) Stable Diffusion 3 Large, essa è SD3 8B. Con SDXL 1.0, ricordiamo, — 3,5 miliardi di parametri, tuttavia SD3M, secondo quanto affermato dagli sviluppatori, è «il modello più sofisticato per la generazione di immagini tra tutti quelli che abbiamo creato fino ad ora». Si intendeva che, con un fabbisogno di memoria video inferiore a quello di «Oversize», anche in risposta a input non complessi, avrebbe dovuto generare immagini «con un nuovo livello di fotorealismo». Tra i punti di forza della «tre» sono stati citati anche «un'impareggiabile qualità della tipografia del testo generato nelle immagini» e «una comprensione approfondita degli input grazie alla collaborazione di ben tre codificatori» e «la disponibilità a un'efficace riaffinitizzazione anche su set di dati limitati».

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Si presumeva, ovviamente, che la comunità di appassionati, avendo finalmente a disposizione il nuovo giocattolo tanto atteso, si sarebbe messa al lavoro per perfezionarlo con lo stesso fervore con cui in passato si era dedicata a «Polutorca» e «Oversize». Tuttavia, sin dall'inizio le cose non sono andate così: SD3M negli appena primi giorni dopo la pubblicazione dei file modello su Hugging Face e Civitai è riuscita a deludere profondamente il proprio pubblico, e lo ha fatto due volte. La prima volta — per un'inesplicabile idiosincrasia, a prima vista, verso input che includevano la frase apparentemente innocua «sdraiato su/nell'erba»; la seconda — per le formule incredibilmente vaghe nel contratto d'uso, che nemmeno i legali professionisti sono stati in grado di comprendere immediatamente. E sebbene dal punto di vista del comune appassionato di arte AI questo possa sembrare trascurabile, lo sviluppo futuro del modello risentirà in modo diretto proprio della questione legale — fino al punto in cui potrebbe non seguire affatto alcuno sviluppo.

Le precedenti creazioni di Stable Diffusion con codice aperto (meglio, con valori delle reti neurali aperti, disponibili per il download gratuito da eseguire localmente), come SDXL, erano accompagnate da una delle tipiche per le modelle generative Licenza CreativeML Open RAIL++-M con caratteristiche come 'licenza di copyright illimitata, globale, non esclusiva, gratuita, a titolo gratuito, irrevocabile per la riproduzione, preparazione, dimostrazione pubblica, esecuzione pubblica, sublicenza e distribuzione di materiali aggiuntivi sia del modello stesso che dei derivati da esso'. 'Tre' prevede invece due tipi di licenza: per uso non commerciale — con formulazioni piuttosto disinvolte come 'Stability AI ti concede una licenza non esclusiva, globale, non trasferibile, non sublicenziabile, revocabile, gratuita e limitata sulla proprietà intellettuale' — e una commerciale molto più gravosa.

#L'erba non porta a niente di buono

Dopo un breve periodo, la comunità si è trovata d'accordo che Stable Diffusion 3 non è Open Source. E in sostanza ha dichiarato un boicottaggio alla società sviluppatrice, non volendo sprecare tempo e risorse per allenare ulteriormente un modello chiaramente grezzo e palesemente svilito — con la consapevolezza che Stability AI può in qualsiasi momento revocare la licenza precedentemente concessa a un entusiasta specifico che esegue tale riaddestramento, senza preavviso e per il più piccolo capriccio dei suoi manager mediatici. Il contratto di licenza è formulato in un modo tale che coloro che lo esaminano senza una formazione legale hanno l'impressione che, a seguito della revoca dell'autorizzazione all'uso commerciale di SD3M, l'ex ricevente sarà obbligato a eliminare tutti i derivati creati dalla proprietà intellettuale concessagli in licenza, compresi sia i modelli già addestrati (LoRA, inversioni testuali, checkpoint interi), sia i loro derivati (citazione: 'Al termine di questo Accordo, dovrai eliminare e cessare l'uso di qualsiasi prodotto software o opere derivate') — cioè i frutti del lavoro di altre persone che hanno utilizzato questi modelli derivati come punto di partenza per il proprio lavoro; e questo senza essere pagati e realizzati con puro entusiasmo.

Poco dopo che il flusso di indignazione al riguardo ha raggiunto altezze stratosferiche, sono iniziate ad apparire comunicazioni da parte di avvocati professionisti, che non è tutto così negativo E l'obbligo di un divieto di utilizzo futuro dovrebbe riguardare solo determinati prodotti accessori con codice chiuso, che Stability AI trasferirà all'utente commerciale (ad esempio, per accelerare e ottimizzare la stessa preformazione di SD3M), ma la società finora non ha fornito chiarimenti definitivi in merito. E il semplice fatto di un silenzio così asfissiante per già tre settimane (al momento della scrittura di questo articolo) dalla pubblicazione della “tre” in accesso aperto danneggia la reputazione dello sviluppatore molto più della sua creazione generata di ragazze.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Per quanto riguarda l'infamante erba, che è diventata un meme in poche ore, inizialmente su Hugging Face, e poi praticamente su tutte le piattaforme più o meno specializzate in rete, è emerso che la presenza nella frase suggerita come "a girl lying on the grass" porta all'emergere nella "tre" non solo di allucinazioni, ma di creazioni orrende frutto di una fantasia malata – in senso medico – di artisti e cineasti specializzati in body horror (ve lo supplichiamo, se la vostra ragione e vita vi stanno a cuore, tenetevi lontani da simili contenuti e non provate nemmeno a digitare questa frase nella barra di ricerca delle immagini con il filtro di sicurezza disattivato). Tuttavia, le immagini di persone in piedi – e in misura leggermente minore sedute – riescono alla "tre" con un sicuro quattro più, e i ritratti talvolta sono addirittura impeccabili; almeno non peggiori rispetto al modello base SDXL 1.0, ma qui il problema risiede in un qualche divieto interno sulla posizione orizzontale del corpo umano.

Giudicando dal commento di Emad Mostaque, fondatore e precedente (fino a marzo 2024) capo di Stability AI, che ha lasciato l'azienda per "dedicarsi a progetti decentralizzati nel campo dell'intelligenza artificiale", la violenza brutale su SD3M proprio prima dell'apertura del suo peso per uso non commerciale limitato (l'API del modello più grande SD3 8B per la generazione online, ricordiamo, è disponibile attraverso siti partner fin da aprile, ma i suoi pesi rimangono ancora nascosti) è stata una conseguenza della spinta del'attuale direzione verso la sicurezza – "a causa degli obblighi normativi", formulati già a marzo di quest'anno come Acceptable Use Policy. È proprio nell'ambito di questa politica, utilizzando il modello generativo SD3M, che agli utenti non è consentito "commettere, promuovere, facilitare, incoraggiare, pianificare, incitare o contribuire a ulteriori atti di violenza, terrorismo o a creare contenuti che incitano all'odio, discriminando o minacciando gruppi protetti di persone (sia per genere, etnia, identità o orientamento sessuale, religione o altro)"; quindi, niente immagini di panda che combattono con draghi selvaggi! Solo gattini in cappelli divertenti, cani in giacche adorabili, bottiglie con contenuti misteriosi e biscotti freschi di forno!

Tecnicamente parlando, potrebbe essere che la svuotamento del modello consista nell'escludere dal dataset di addestramento semplicemente le immagini di persone sdraiate e altre immagini che implicassero in qualche modo un'interpretazione oscena, e così la "tre" non "comprende" più il significato della parola "sdraiarsi". Oppure, l'architettura aggiornata SD3 ha permesso di identificare in modo abbastanza sicuro i pesi nei percettori che si attivano durante la generazione di immagini "non sicure", e questi pesi sono stati selettivamente azzerati proprio prima del rilascio, il che ha portato all'effetto collaterale di "hallucination forzata". Probabilmente, questo si può già paragonare a una lobotomia: il codificatore traduce correttamente il testo in token, ma in uno spazio latente "protetto", questi token non indicano più nulla di specifico, e quindi i pixel risultanti si dispongono sull'immagine sostanzialmente a caso.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Considerando la disponibilità dell'API di un modello completo ma chiuso SD3 8B da diversi mesi e le ferventi promesse dei media manager di Stability AI che il modello "compattificato" 2B risulterà quasi identico in termini di qualità nella comprensione del testo e generazione di immagini, gli entusiasti del disegno AI hanno accolto con grande entusiasmo la pubblicazione pubblica dei pesi di SD3M del 12 giugno: nelle prime 24 ore il modello è stato scaricato 2,7 milioni di volte. Al momento è ancora possibile ottenerla, anche se in un modo leggermente più contorto rispetto a quanto si è abituati per i checkpoint SDXL e SD 1.5. In effetti, il modo consueto è visitare il sito Civitai, da cui la maggior parte dei modelli viene caricata senza registrazione, ma dal 17 giugno e fino al momento della pubblicazione di questo articolo, la pagina dedicata alla 'tre' di quel sito è in un ban temporaneo. E la ragione è una sola: la licenza commerciale per SD3M è scritta in un linguaggio così poco chiaro che anche gli avvocati di Civitai hanno preso una pausa per studiarla più attentamente. Infatti, se un certo entusiasta addestra sul proprio PC una LoRA per la 'tre' e la carica su Civitai, e se la Stability AI decide improvvisamente che il risultato non è appropriato e revoca la licenza al responsabile, — come può comportarsi in tal caso il sito host? Non si limita a ospitare checkpoint, ciclaggi ausiliari e modelli, ma offre anche ai visitatori la possibilità di generare immagini in cloud e di addestrare le stesse LoRA, inversioni testuali e altro. Insomma, finché si aspetta il verdetto, i file del modello stesso e i tre convertitori di testo in token inclusi possono essere ottenuti solo dalla propria pagina della Stability AI sul portale Hugging Face.

#Cominciamo

C'è però una nota: per accedere ai link di download, è necessario registrarsi sul sito e poi confermare l'accettazione del suddetto accordo di licenza draconiano — comunque, questa procedura è gratuita e accessibile dall'Russia. Sono disponibili quattro opzioni di modelli (models) e altrettante di convertitori di suggerimenti testuali in token (encoders), oltre a tre ciclaggi 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

ciclaggi:

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

Nell'ambito di questo "Laboratorio" ci limiteremo al modello di base sd3_medium.safetensors (4,2 GB), a tre codificatori — clip_g.safetensors (1,3 GB), clip_l.safetensors (234 MB) e t5xxl_fp8_e4m3fn.safetensors (4,7 GB), così come al ciclo di lavoro sd3_medium_example_workflow_multi_prompt.json. La questione è che sulla nostra macchina di test è installata, ricordiamolo, una scheda video GeForce GTX 1070 con 8 GB di VRAM, e non è possibile ospitare modelli più grandi con tutti i convertitori integrati. Nei checkpoint basati su SD 1.5 e SDXL, i codificatori sono incorporati nel file principale, ma nel nostro caso ci sono non due, ma tre convertitori, per un totale di oltre 6 GB, — insieme al modello stesso supera già i 10 GB; se consideriamo anche la versione a 16 bit del codificatore T5XXL, allora servirà una scheda video ancora più potente. Tuttavia, nel caso in cui i convertitori di testo in token siano caricati nella memoria video prima del modello che lavora con questi token, è possibile utilizzare anche un adattatore grafico da 6 GB. Da questo punto di vista, la "triade" modulare supera decisamente un tipico checkpoint SDXL da 5-7 GB.

SD3M è un modello basato su trasformatori di diffusione multimodali (Multimodal Diffusion Transformer, MMDiT) — e in questo modo si differenzia sostanzialmente dalle versioni precedenti di Stability AI (e non solo essa), che si basano su un'architettura U-Net, proposta già nel 2015. "Laboratorio" non è un luogo per approfondire la differenza tra questi approcci all'IA nella generazione di immagini; diciamo solo che MMDiT offre prestazioni superiori al modello, la sua capacità di gestire un numero maggiore di token (il che, a sua volta, consente all'operatore di formulare suggerimenti testuali piuttosto ampi e al sistema di seguirli in modo sufficientemente preciso), e una migliore qualità delle immagini risultanti. La SD3 8B a piena grandezza è in grado di generare immagini su una tela di 4 MPixel (2048×2048 punti), e supera DALL-E 3, Midjourney v6 e Ideogram v1 in metriche come la riproduzione di testo nell'immagine, la precisione della corrispondenza tra l'immagine generata e il suggerimento testuale e l'estetica visiva generale. La trasformazione del testo in vettori di token avviene qui immediatamente tramite tre codificatori (due modelli CLIP e uno T5-XXL — "T5", tra l'altro, da Text-To-Text Transfer Transformer) — e, in generale, non sono obbligati a lavorare con lo stesso input.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Ma abbastanza con le introduzioni: occupiamoci di ciò a cui è dedicato il "Workshop", ovvero alla generazione di immagini basate sul modello SD3M. Utilizzeremo per questo, come già detto, l'ambiente di lavoro ComfyUI, che può essere scaricato tramite un link diretto da GitHub. Sottolineiamo che questa versione è solo per l'esecuzione su schede grafiche NVIDIA oppure direttamente su CPU AMD o Intel (il che sarà, ovviamente, notevolmente più lento): ai possessori di schede video AMD viene proposto un workaround sotto forma di pacchetti rocm e pytorch, che possono essere installati tramite il gestore pacchetti pip.

Al termine dell'installazione dell'ambiente di lavoro, devono essere collocati i file .safetensors precedentemente scaricati: i modelli nella cartella ComfyUImodelscheckpoints, i convertitori di testo in token nella ComfyUImodelsclip. E - si può cominciare!

#È tempo di accelerare

Vale la pena menzionare che AUTOMATIC1111, ben noto ai lettori dei precedenti "Workshop" riguardanti l'arte generativa AI, entro la fine di giugno ha anche acquisito la possibilità di eseguire SD3M, tuttavia in ComfyUI il supporto per il nuovo modello rimane finora il più completo. Non sorprende — fino a poco tempo fa, l'autore del "mostro di pasta", conosciuto nella comunità degli appassionati con lo pseudonimo di ComfyAnonimous, o semplicemente Comfy, è stato un collaboratore di Stability AI, dove lavorava, tra le altre cose, su un ambiente di lavoro interno utilizzato dagli stessi sviluppatori. Come vedremo poco più avanti, l'ultima versione di ComfyUI testimonia realmente il possesso da parte del suo autore di determinati insider riguardo a come è strutturato e funziona questo controverso modello, insider di cui i creatori di altri ambienti di lavoro per l'esecuzione locale di Stable Diffusion 3 Medium non possono vantarsi per ovvi motivi.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Installare ComfyUI in versione portatile per Windows è semplicissimo: dopo aver scaricato il file ZIP corrispondente dalla pagina ufficiale del progetto. è sufficiente estrarlo in una qualsiasi cartella comoda; preferibilmente, ovviamente, su una partizione logica basata su SSD e non su HDD, poiché ci si aspetta che il trasferimento tra il disco e la memoria, tenendo conto dei prossimi cicli di caricamento e scaricamento dei modelli, anche per generare una singola immagine (l'ambiente dovrà prima caricare nella VRAM i convertitori di testo in token, quindi liberare la memoria video e caricare il SD3M vero e proprio) sia tanto maggiore quanto minore è la memoria video a disposizione di questo computer. A proposito, l'installazione portatile è davvero interessante anche per la sua completa indipendenza: niente — ad eccezione dello spazio libero sul disco logico — impedisce di avviare localmente quante più copie di ComfyUI si desidera, potendo così sperimentare liberamente con diverse estensioni, senza temere di rovinare un sistema già collaudato e funzionante.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Assicurati che il file del modello principale SD3M senza codificatori di testo in token integrati (file stableDiffusion3SD3_sd3Medium.safetensors, 4,2 GB) sia collocato nella sottocartella checkpoints (nel nostro caso, il percorso completo è C:Fun-n-GamesComfyUI-SD3ComfyUImodelscheckpoints), e che tutti e tre i modelli degli encoder (file stableDiffusion3SD3_textEncoderClipG.safetensors, stableDiffusion3SD3_textEncoderClipL.safetensors e stableDiffusion3SD3_textEncoderT5E4m3fn.safetensors; 1,3 GB, 234 MB e 4,7 GB rispettivamente) si trovino nella sottocartella clip (C:Fun-n-GamesComfyUI-SD3ComfyUImodelsclip), quindi si può avviare l'ambiente di lavoro con un doppio clic sul file run_nvidia_gpu.bat nella cartella principale (nel nostro caso C:Fun-n-GamesComfyUI-SD3). Dopo l'avvio del server, si aprirà automaticamente nel browser predefinito una nuova scheda con l'interfaccia web all'indirizzo 127.0.0.1/8188. domato già da noi in precedenza (anche se solo in prima approssimazione) "mostro degli spaghetti".

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

In sostanza, se disponete di una scheda grafica NVIDIA più recente (della serie RTX, non GTX, anche solo con 6 GB di VRAM), potete subito caricare nell'ambiente di lavoro il diagramma di flusso di riferimento realizzato dallo stesso ComfyAnonimous, di cui si è parlato in precedenza: il file comfy_example_workflows_sd3_medium_example_workflow_multi_prompt.json, con più finestre per l'immissione delle istruzioni, una per ciascuno dei tre codificatori, e lavorarci. Tuttavia, prima sarà necessario allineare quattro nomi di file dei modelli (nelle nodule di caricamento) con quelli esistenti. L'autore del diagramma di flusso operava, ovviamente, nel suo luogo di lavoro (in Stability AI, come già menzionato) con file locali, che erano denominati in modo leggermente diverso, quindi, se si preme il pulsante "Queue Prompt" nell'interfaccia spartana di ComfyUI subito dopo aver caricato il diagramma di flusso, l'ambiente di lavoro genererà un messaggio di errore.

#Tre campi per la generazione IA

Tuttavia, questo è facile da correggere: ciò che è molto più deprimente è il fatto che la nostra scheda GTX 1070, che ha già visto tempi migliori, elabora SD3M in modo terribilmente lento: la generazione dell'immagine avviene a una velocità di 27-30 secondi per ogni iterazione e, considerando che il parametro "Steps" nel diagramma di flusso di riferimento è impostato a "28", si spende un tempo ingiustificatamente lungo. Pertanto, procederemo con una piccola ottimizzazione: utilizzeremo il modulo Python venv (ambienti virtuali), concepito, tra l'altro, per velocizzare il funzionamento dei modelli IA generativi. Nella versione portatile di ComfyUI non è incluso, ma ci sono molti modi per installarlo, che alla fine comprendono il deployment di un ambiente Python completo sul PC locale e l'attivazione del modulo necessario da questo ambiente.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Speriamo che i lettori che seguono le nostre "Officine" dispongano già di un'installazione di lavoro attiva di AUTOMATIC1111 sui loro computer. In questo caso, tutto è molto più semplice: il modulo venv è già stato implementato e tutto ciò che è necessario fare per attivarlo all'avvio dell'ambiente di lavoro ComfyUI è effettuare correttamente la chiamata. Per iniziare, è necessario terminare il lavoro del server, facendo clic sulla sua finestra e premendo «Ctrl» + «C», quindi digitando «y» per confermare; successivamente, copiare il file BAT run_nvidia_gpu.bat in un nuovo file, chiamato, per esempio, run_with_venv.bat. Il file di avvio originale è piuttosto conciso: semplicemente richiama una copia portable di Python con il parametro —windows-standalone-build:

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

pause

Questo parametro, di per sé, non è molto chiaro: implica alcune ottimizzazioni che, molto probabilmente, sono state progettate proprio per schede grafiche NVIDIA più recenti e possono quindi peggiorare la situazione per chi continua a utilizzare le proprie fidate GTX. Per questo motivo, rimuoviamo —windows-standalone-build dalla riga di comando e rinunciamo anche a un'altra ottimizzazione di moda — il «gestore di memoria intelligente» attivo per impostazione predefinita, smart memory, che cerca di mantenere il maggior numero possibile di informazioni nella memoria video, senza scaricarle. Ciò accelera effettivamente la generazione delle immagini AI, ma allo stesso tempo trasforma il nostro computer, moralmente obsoleto, in un sistema monouso: non è più possibile navigare in rete, giocare o anche lavorare con documenti e email sul PC contemporaneamente all'attività dell'ambiente di lavoro. Pertanto, 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, per inciso — è anche adatto per SDXL) sarebbe il seguente:

@echo off

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

echo %

call activate.bat

echo venv attivato

call cd C:Fun-n-GamesComfyUI-SD3

echo %

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

pause

Qui si presuppone che l'installazione portatile di ComfyUI sia stata eseguita nella directory C:Fun-n-GamesComfyUI-SD3, e che AUTOMATIC1111 sia stata precedentemente installata in C:Fun-n-GamesGitstable-diffusion-webui. Molti «echo» sono necessari semplicemente per il controllo visivo che il cambio 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: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Riavviamo di nuovo l'ambiente di lavoro, questa volta facendo doppio clic su run_with_venv.bat. Poiché in precedenza abbiamo semplicemente chiuso il server e non abbiamo toccato l'interfaccia web, la scheda corrispondente dovrebbe ancora mostrare il diagramma di flusso di riferimento di ComfyUI con i nomi dei modelli corretti. Notiamo la parte destra: lì si trova il nodo "Anteprima Immagine", che non salva l'immagine pronta su disco, ma la mostra solo. Se si avvia ogni volta il diagramma di flusso per generare esattamente un'immagine, valutandola visivamente, modificando alcuni parametri e riavviando, è un'opzione praticabile: l'immagine gradita può sempre essere salvata manualmente con un clic destro del mouse su di essa. Ma se si desidera effettuare molte generazioni in sequenza nell'ambiente di lavoro, è meglio che i loro risultati vengano accumulati automaticamente nella memoria permanente (nella cartella ComfyUIoutput per impostazione predefinita).

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Quindi è meglio cambiare subito il nodo "Anteprima Immagine" con "Salva Immagine". Per fare ciò, facciamo doppio clic con il pulsante sinistro del mouse su qualsiasi area libera del diagramma di flusso: si aprirà una finestra di selezione dei nodi con una barra di ricerca. In questa barra iniziamo a digitare "Salva…" — e praticamente subito vedremo il nome cercato. Rimane solo da fare clic su di esso e collegare l'ingresso del nodo apparso all'uscita "IMMAGINE" del nodo "Decodifica VAE", dove originalmente era collegato "Anteprima Immagine". Il nodo "Anteprima Immagine" può essere rimosso: basta selezionarlo facendo clic sul titolo e premere il tasto "Del" sulla tastiera.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

E ora — è il momento di avviare il diagramma di flusso di riferimento di ComfyAnonimous (con le nostre umili correzioni) per l'esecuzione. Ecco cosa ne risulta:

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Un'immagine davvero impressionante, persino con un certo umore — e non si direbbe che sia stata creata utilizzando lo stesso modello che fa completamente impazzire le istruzioni per disegnare persone sdraiate sull'erba. Inoltre, il sistema funziona piuttosto bene — circa 5-6 secondi per iterazione per un'immagine di 1 MPix su GTX 1070 può essere considerato un risultato soddisfacente. A titolo di confronto: lo stesso PC con la stessa ComfyUI e lo stesso file BAT genera immagini SDXL di dimensioni simili, impiegando circa 6-7 secondi per ogni iterazione, quindi il "tre" può essere considerato meno esigente in termini hardware rispetto al PC su cui avviene la generazione con IA.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Ora modifichiamo le dimensioni della tela. Non lontano dal nodo «EmptySD3LatentImage», che le definisce, si trova un nodo di riferimento «Note» "inattivo" (nel senso che non è collegato a nulla da nessuna parte), dove è contenuto un importante promemoria: la superficie totale dell'immagine nel caso di SD3M deve essere di circa 1 MPix, da cui si dovrebbero selezionare le dimensioni dei lati della tela rettangolare. Impostiamole quindi a 1344×768, che corrisponde a circa 1,03 MPix.

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

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Eseguiamo lo stesso ciclo con il seme precedente, ma già per una tela rettangolare. Diventa subito evidente che il tempo di esecuzione complessivo è minore, anche se la velocità di rendering è rimasta la stessa: meno di 6 s per iterazione. Ed è logico: poiché i suggerimenti testuali non sono cambiati, non è necessario ricaricare nuovamente i codificatori. L'immagine in uscita, è ovvio, è leggermente diversa dalla prima, quadrata, ma non in modo fondamentale: la composizione generale, come ci si aspettava, è rimasta intatta.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Ora poniamo attenzione sui nodi «CLIPTextEncodeSD3» e «CLIP Text Encode (Negative Prompt)». Il primo si distingue per il fatto che contiene tre campi di input; se si rimuove il testo, diventeranno visibili annotazioni per quali codificatori sono destinati, dall'alto verso il basso: CLIP G, CLIP L e T5XXL. In precedenza, per ovvi motivi, non c'erano nodi simili in ComfyUI. Il ciclo di riferimento contiene suggerimenti brevi duplicati per i primi due campi di testo (per i codificatori CLIP G e CLIP L) e un suggerimento molto più ampio per il terzo: T5XXL. È chiaro che è possibile giocare con il contenuto di questi campi in ampie misure, e studiare in che modo la modifica del testo in essi influisce sull'immagine finale rappresenta un compito non banale, ma estremamente affascinante. Tuttavia, per ragioni che diventeranno chiare tra poco, per il momento non ci concentreremo su di esso.

Tuttavia, nel nodo «CLIP Text Encode (Negative Prompt)», non c'è nulla di speciale; ma considerate quanto sia difficile il percorso da esso fino all'ingresso corrispondente «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 passaggi di generazione e fino al completamento, il sistema non prenderà affatto in considerazione il suggerimento negativo (il passaggio attraverso il nodo «ConditioningZeroOut» significa proprio annullare la condizione). Mentre l'altra diramazione inoltra il suggerimento negativo (anche se in modo condizionale con peso ridotto) per ulteriori elaborazioni senza modifiche — ma solo nei primi 10% del numero totale di passaggi di generazione.

#Nebuloso lontano

Ancora una volta: nei primi 10%, cioè 3 su 28 attribuiti in questo caso, il suggerimento negativo viene inviato al nodo «KSampler», impegnato nella formazione dell'immagine nello spazio latente (nello spazio dei pixel, cioè in un'immagine comprensibile dall'uomo, il risultato della sua emissione viene tradotto dal nodo successivo, «VAE Decoder»), in modo normale: la diramazione superiore (con annullamento della condizione) è inattiva, funziona solo quella inferiore. Gli altri 90% dei passaggi (25 su 28 nel nostro caso) il suggerimento negativo non funziona affatto: è attiva proprio la diramazione superiore della trasmissione delle condizioni — con il loro annullamento, — mentre il movimento lungo quella inferiore è bloccato dal parametro di attivazione corrispondente al nodo «ConditioningSetTimestepRange». Ora è chiaro perché alcuni osservatori affermano che i suggerimenti negativi per SD3M possono in linea di principio non essere utilizzati, — l'effetto di essi (se consideriamo proprio questo, il ciclo di riferimento, e supponiamo che sui siti di generazione online con il modello SD3 Medium vigano regole analoghe) è minimo.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

E tuttavia esiste: se si prende e si collega direttamente l'uscita del nodo «CLIP Text Encode (Negative Prompt)» con l'ingresso corrispondente di «KSampler» (oppure si segna tutti i nodi intermedi lungo questo percorso come «bypassabili», «Bypass», il che porterà allo stesso effetto), la qualità dell'immagine finale ne risentirà sensibilmente. Questo, tra l'altro, può essere considerato una prova indiretta della «non cottura» di SD3M, poiché regolare la forza e l'importanza dei suggerimenti negativi, a dirla tutta, avrebbe dovuto essere alla portata degli sviluppatori ancor prima della pubblicazione dei pesi del modello in accesso pubblico. Due rami di condizioni sapientemente definite per l'uso dei suggerimenti negativi sono una sorta di toppa, e in questo senso le lamentele degli entusiasti sul fatto che la «tre» non raggiunga chiaramente le aspettative scatenate dal dipartimento marketing di Stability AI riguardo a questo, appaiono del tutto giustificate.

L'assenza di una guida ufficiale anche solo breve per l'uso di SD3M ha portato al fatto che in rete già circolano voci secondo cui questo modello non sarebbe stato affatto addestrato per l'uso dei suggerimenti negativi. Cosa che, ovviamente, non è, ma in ogni caso è necessario applicare questi suggerimenti in modo decisamente diverso da come sono abituati a fare gli operatori SD 1.5 e SDXL. In particolare, gli entusiasti affermano con la massima serietà che l'aggiunta a un campo negativo di descrizioni dettagliate del maggior numero possibile di oscenità (sì, sì, il vecchio e caro «nsfw, nude» non basta — bisogna mettere alla prova seriamente la fantasia) porta a un notevole miglioramento dell'aspetto anche della temutissima ragazza sdraiata sull'erba. Che sia così o meno — non si può scoprire senza un attento esame (e non è detto che nemmeno la marcatura «18+» in testa al nostro sito protegga la pubblicazione da cause legali da parte di furiosi difensori della moralità, se ci azzardiamo a pubblicare la «meravigliosa indicazione» composta dagli entusiasti — malgrado sia in inglese). Questa divertente situazione ricorda il caso delle istruzioni medievali contro il paganesimo, grazie alle quali — proprio perché contenevano descrizioni piuttosto dettagliate su cosa e come non dovessero fare i buoni cristiani — ci sono giunte almeno delle testimonianze scritte frammentarie sulle credenze e le usanze della Russia precristiana.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Ora, si spera, è più chiaro il motivo per cui approfondire ulteriormente lo studio di SD3M in questo momento non sembra essere un uso saggio di energie e tempo. Ci sono davvero molte cose da discutere e da esplorare: i parametri di generazione raccomandati in modo abbastanza rigido nel nodo "KSampler" (CFG — 4,5-5,0; numero di passi — circa 28; coppia sampler/scheduler — esclusivamente dpmpp_2m/sgm_uniform, altrimenti la qualità del risultato diminuisce notevolmente); e un'ampia variazione nella qualità soggettiva delle generazioni con esattamente gli stessi parametri iniziali, ma con diverse input; e il superamento della famigerata "maledizione di sdraiarsi nell'erba" (per il quale sono già proposte soluzioni piuttosto inusuali); e, in effetti, scoprire quali parametri di generazione influenzano ciascuno dei tre trasformatori di testo in token — e come, utilizzandoli, ottenere veri capolavori dell'Arte Visiva AI (se questo è possibile con un "tre", naturalmente).

Inoltre, il licenziamento di Emad Mostaque a marzo e ComfyAnonymous a giugno, e non solo loro, — non sono le uniche difficoltà che hanno colpito Stability AI. Come riferisce Reuters citando The Information, questa startup britannica ha appena cambiato il CEO è diventato Prem Akkaraju, un pupillo di un famoso gruppo globale di investitori IT, che a sua volta è pronto a investire nella società una somma considerevole in contanti (si parla di 80 milioni di dollari USA). La posizione stessa di Stability AI come struttura aziendale è chiaramente instabile; molti delusi entusiasti prevedono una rapida conclusione per essa — e in questa situazione è difficile aspettarsi dall'azienda un lavoro riflessivo anche su errori così evidenti.

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Sfortunatamente, una politica di licenza poco ponderata tiene al di fuori della portata della comunità il miglioramento autonomo di SD3M, come è avvenuto con SD 1.5 e SDXL. Almeno i checkpoint derivati e strumenti come LoRA per i due modelli più recenti resteranno garantiti disponibili per l'esecuzione locale, anche quando (e se) Stability AI concluderà il suo percorso come entità commerciale. Subito dopo il clamoroso fallimento della "trio" sui forum specializzati, le voci a sostegno della creazione di un progetto non profit per lo sviluppo di un modello generativo per la trasformazione del testo in immagini su base di crowdfunding hanno iniziato a farsi più forti — e al momento questo movimento sta iniziando a prendere forma sotto il nome di Open Model Initiative. Già hanno dichiarato la loro intenzione di unirsi attivamente a questo progetto Invoke (una delle piattaforme per la generazione di intelligenza artificiale online, rivolta a studi professionali), Comfy Org (il team che si occupa del supporto e dello sviluppo di ComfyUI), Civitai (non ha bisogno di presentazioni) e il team dietro LAION (una base di immagini annotate, sulla quale la maggior parte di questi modelli viene addestrata).

Quindi, nei prossimi tempi, le nuove versioni di "Laboratorio" saranno probabilmente orientate a lavorare con quei modelli per i quali la comunità ha già creato un ampio set di miglioramenti e strumenti aggiuntivi, — sulla "mezz'ora" e "Oversize". Forse il momento di gloria di SD3M deve ancora arrivare, — ma oggi è difficile persino ipotizzare quando accadrà. Nel frattempo, chi è interessato può scaricare l'archivio con le generazioni SD3M presentate in questo articolo (le ciclo immagini sono integrate direttamente nei file PNG; basta trascinare l'immagine sul campo di lavoro di ComfyUI dal "File Explorer" di Windows per riprodurre l'intero ordine e i parametri di generazione) qui. Forse qualcuno dei nostri lettori riuscirà prima dei veterani di Reddit e Hugging Face a scoprire il modo ottimale di distribuire il testo su tre campi di suggerimento, ad esempio?

Nuovo articolo: Laboratorio di disegno IA, parte nona: SD3M - «tre» a tre

Materiale correlato:

Stability AI ha cambiato la direzione e ha attratto 80 milioni di dollari in investimenti.

Presentato il generatore di immagini AI Stable Diffusion Medium, che richiede solo una scheda grafica con 5 GB di memoria.

Stability AI è soffocata dai debiti e ora cerca un acquirente.

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

Annunciata la Stable Diffusion 3.0 — L'intelligenza artificiale per il disegno ha cambiato architettura e ha imparato a scrivere.

Fonte: 3dnews.ru

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