Angolo di Anderson

Tre sfide per Stable Diffusion

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

La release del modello di sintesi di immagini latenti di Stable Diffusion di stability.ai, avvenuta un paio di settimane fa, potrebbe essere una delle più significative scoperte tecnologiche dal DeCSS del 1999; è sicuramente il più grande evento nell’ambito delle immagini generate da AI dal 2017, quando il codice deepfakes è stato copiato su GitHub e forkato in quello che sarebbe diventato DeepFaceLab e FaceSwap, nonché il software di streaming deepfake in tempo reale DeepFaceLive.

Con un solo colpo, la frustrazione degli utenti per le limitazioni di contenuto nell’API di sintesi di immagini di DALL-E 2 sono state spazzate via, poiché si è scoperto che il filtro NSFW di Stable Diffusion poteva essere disabilitato modificando una sola riga di codice. Sono sorte immediatamente comunità di Reddit dedicate a Stable Diffusion con contenuti NSFW, che sono state prontamente eliminate, mentre gli sviluppatori e gli utenti si sono divisi in comunità ufficiali e NSFW su Discord e Twitter ha iniziato a riempirsi di creazioni fantastiche di Stable Diffusion.

Al momento, ogni giorno sembra portare qualche innovazione incredibile da parte degli sviluppatori che hanno adottato il sistema, con plugin e aggiunte di terze parti scritte in fretta per Krita, Photoshop, Cinema4D, Blender e molte altre piattaforme di applicazioni.

Nel frattempo, la promptcraft – l’arte professionale di “sussurrare all’AI”, che potrebbe diventare la carriera più breve dalla nascita del “Filofax binder” – sta già diventando commerciale, mentre la prima monetizzazione di Stable Diffusion sta avvenendo a livello Patreon, con la certezza di offerte più sofisticate a venire, per coloro che non sono disposti a navigare installazioni basate su Conda del codice sorgente o i filtri NSFW prescritti dalle implementazioni web.

Il ritmo di sviluppo e la libertà di esplorazione degli utenti stanno procedendo a un ritmo così vertiginoso che è difficile vedere molto avanti. In sostanza, non sappiamo ancora esattamente con cosa abbiamo a che fare, o quali siano le limitazioni o le possibilità.

Nonostante ciò, analizziamo tre delle sfide più interessanti e impegnative per la comunità di Stable Diffusion, che si è formata e sta crescendo rapidamente, per superare.

1: Ottimizzazione delle pipeline basate su tile

Presentati con risorse hardware limitate e limiti rigidi sulla risoluzione delle immagini di training, è probabile che gli sviluppatori trovino soluzioni per migliorare sia la qualità che la risoluzione dell’output di Stable Diffusion. Molti di questi progetti coinvolgeranno lo sfruttamento dei limiti del sistema, come la sua risoluzione nativa di soli 512×512 pixel.

Come sempre nel caso di iniziative di visione computerizzata e sintesi di immagini, Stable Diffusion è stato addestrato su immagini con rapporto di aspetto quadrato, in questo caso campionato a 512×512, in modo che le immagini sorgente potessero essere regolarizzate e adattate alle limitazioni delle GPU che hanno addestrato il modello.

Pertanto, Stable Diffusion “pensa” (se pensa affatto) in termini di 512×512, e certamente in termini di aspetto quadrato. Molti utenti che attualmente sondano i limiti del sistema segnalano che Stable Diffusion produce i risultati più affidabili e meno glitchy a questo aspetto rapporto piuttosto limitato (vedi “addressing extremities” di seguito).

Sebbene varie implementazioni presentino upscaling tramite RealESRGAN (e possano correggere facce mal rese tramite GFPGAN), diversi utenti stanno attualmente sviluppando metodi per suddividere le immagini in sezioni di 512x512px e cucirle insieme per formare opere composite più grandi.

Questo render a 1024x576, una risoluzione normalmente impossibile in un singolo render di Stable Diffusion, è stato creato copiando e incollando il file attention.py da Python dal fork di DoggettX di Stable Diffusion (una versione che implementa l'upscaling basato su tile) in un altro fork. Fonte: https://old.reddit.com/r/StableDiffusion/comments/x6yeam/1024x576_with_6gb_nice/

Questo render a 1024×576, una risoluzione normalmente impossibile in un singolo render di Stable Diffusion, è stato creato copiando e incollando il file attention.py da Python dal fork di DoggettX di Stable Diffusion (una versione che implementa l’upscaling basato su tile) in un altro fork. Fonte: https://old.reddit.com/r/StableDiffusion/comments/x6yeam/1024x576_with_6gb_nice/

Sebbene alcune iniziative di questo tipo utilizzino codice originale o altre librerie, il port di txt2imghd di GOBIG (una modalità in ProgRockDiffusion affamata di VRAM) è destinato a fornire questa funzionalità al ramo principale presto. Mentre txt2imghd è un port dedicato di GOBIG, altri sforzi di sviluppatori della comunità coinvolgono implementazioni diverse di GOBIG.

Un'immagine astratta conveniente nel render originale a 512x512px (a sinistra e seconda da sinistra); upscaled da ESGRAN, che ora è più o meno nativo in tutte le distribuzioni di Stable Diffusion; e dato 'attenzione speciale' tramite un'implementazione di GOBIG, producendo dettagli che, almeno all'interno dei confini della sezione dell'immagine, sembrano meglio upscaled. Fonte: https://old.reddit.com/r/StableDiffusion/comments/x72460/stable_diffusion_gobig_txt2imghd_easy_mode_colab/

Un’immagine astratta conveniente nel render originale a 512x512px (a sinistra e seconda da sinistra); upscaled da ESGRAN, che ora è più o meno nativo in tutte le distribuzioni di Stable Diffusion; e dato ‘attenzione speciale’ tramite un’implementazione di GOBIG, producendo dettagli che, almeno all’interno dei confini della sezione dell’immagine, sembrano meglio upscaled. Fonte: https://old.reddit.com/r/StableDiffusion/comments/x72460/stable_diffusion_gobig_txt2imghd_easy_mode_colab/

Il tipo di esempio astratto presentato sopra ha molti “piccoli regni” di dettagli che si adattano a questo approccio solipsistico all’upscaling, ma che potrebbero richiedere soluzioni di codice più impegnative per produrre upscaling non ripetitivo e coerente che non sembri essere stato assemblato da molte parti. Non meno importante, nel caso di volti umani, dove siamo insolitamente attenti alle aberrazioni o agli artefatti “sconvolgenti”. Pertanto, i volti potrebbero eventualmente richiedere una soluzione dedicata.

Stable Diffusion attualmente non ha un meccanismo per concentrare l’attenzione sul volto durante un rendering nello stesso modo in cui gli esseri umani priorizzano le informazioni facciali. Sebbene alcuni sviluppatori nelle comunità di Discord stiano considerando metodi per implementare questo tipo di “attenzione migliorata”, attualmente è molto più facile migliorare manualmente (e, in seguito, automaticamente) il volto dopo che il rendering iniziale ha avuto luogo.

Un volto umano ha una logica semantica interna e completa che non si trova in un “tile” dell’angolo inferiore di (ad esempio) un edificio, e pertanto è attualmente possibile “zoomare” e rendere nuovamente un volto “schizzato” nell’output di Stable Diffusion.

A sinistra, il primo tentativo di Stable Diffusion con il prompt 'Foto a colori a figura intera di Christina Hendricks che entra in un luogo affollato, indossa un impermeabile; Canon50, contatto visivo, dettagli alti, dettagli facciali alti'. A destra, un volto migliorato ottenuto alimentando il volto sfocato e schizzato del primo rendering nuovamente nella piena attenzione di Stable Diffusion utilizzando Img2Img (vedi immagini animate di seguito).

A sinistra, il primo tentativo di Stable Diffusion con il prompt ‘Foto a colori a figura intera di Christina Hendricks che entra in un luogo affollato, indossa un impermeabile; Canon50, contatto visivo, dettagli alti, dettagli facciali alti’. A destra, un volto migliorato ottenuto alimentando il volto sfocato e schizzato del primo rendering nuovamente nella piena attenzione di Stable Diffusion utilizzando Img2Img (vedi immagini animate di seguito).

Nell’assenza di una soluzione di inversione testuale dedicata (vedi sotto), questo funzionerà solo per immagini di celebrità dove la persona in questione è già ben rappresentata nei subset di dati LAION che hanno addestrato Stable Diffusion. Pertanto funzionerà per personaggi come Tom Cruise, Brad Pitt, Jennifer Lawrence e un numero limitato di vere e proprie celebrità dei media presenti in grande numero di immagini nel set di dati sorgente.

Generazione di una foto di stampa plausibile con il prompt 'Foto a colori a figura intera di Christina Hendricks che entra in un luogo affollato, indossa un impermeabile; Canon50, contatto visivo, dettagli alti, dettagli facciali alti'.

Generazione di una foto di stampa plausibile con il prompt ‘Foto a colori a figura intera di Christina Hendricks che entra in un luogo affollato, indossa un impermeabile; Canon50, contatto visivo, dettagli alti, dettagli facciali alti’.

Per le celebrità con carriere lunghe e durature, Stable Diffusion di solito genera un’immagine della persona alla sua età più recente (cioè più anziana), e sarà necessario aggiungere prompt aggiuntivi come ‘giovane’ o ‘nell’anno [ANNO]’ per produrre immagini con un aspetto più giovane.

Con una carriera prominente e costantemente fotografata che dura quasi 40 anni, l'attrice Jennifer Connelly è una delle poche celebrità in LAION che permettono a Stable Diffusion di rappresentare una gamma di età. Fonte: prepack di Stable Diffusion, locale, punto di controllo v1.4; prompt relativi all'età.

Con una carriera prominente e costantemente fotografata che dura quasi 40 anni, l’attrice Jennifer Connelly è una delle poche celebrità in LAION che permettono a Stable Diffusion di rappresentare una gamma di età. Fonte: prepack di Stable Diffusion, locale, punto di controllo v1.4; prompt relativi all’età.

Questo è in gran parte a causa della proliferazione della fotografia stampa digitale (piuttosto che a base di emulsione) dalla metà del 2000 in poi, e della crescita successiva del volume di output di immagini a causa dell’aumento delle velocità di banda broadband.

L'immagine renderizzata viene passata a Img2Img in Stable Diffusion, dove viene selezionata un'area di attenzione e viene creata una nuova immagine di dimensioni massime solo per quell'area, consentendo a Stable Diffusion di concentrare tutte le risorse disponibili sulla ricreazione del volto.

L’immagine renderizzata viene passata a Img2Img in Stable Diffusion, dove viene selezionata un’area di attenzione e viene creata una nuova immagine di dimensioni massime solo per quell’area, consentendo a Stable Diffusion di concentrare tutte le risorse disponibili sulla ricreazione del volto.

Composizione del volto ad 'alta attenzione' nel rendering originale. Oltre ai volti, questo processo funzionerà solo con entità che hanno un aspetto coeso e integrale noto, come una parte dell'immagine originale che ha un oggetto distinto, come un orologio o un'auto. L'upscaling di una sezione di, ad esempio, un muro porterà a un muro riasssemblato con un aspetto molto strano, perché i rendering dei tile non avevano un contesto più ampio per questo 'pezzo di puzzle' mentre li stavano rendendo.

Composizione del volto ad ‘alta attenzione’ nel rendering originale. Oltre ai volti, questo processo funzionerà solo con entità che hanno un aspetto coeso e integrale noto, come una parte dell’immagine originale che ha un oggetto distinto, come un orologio o un’auto.

Alcune celebrità nel database arrivano ‘pre-congelate’ nel tempo, o perché sono morte precocemente (come Marilyn Monroe), o perché sono salite alla ribalta solo per un breve periodo di tempo, producendo un alto volume di immagini in un periodo di tempo limitato. L’interrogazione di Stable Diffusion fornisce in un certo senso un indice di popolarità ‘attuale’ per star moderne e più anziane. Per alcune celebrità più anziane e attuali, non ci sono abbastanza immagini nel set di dati per ottenere una somiglianza molto buona, mentre la popolarità duratura di particolari star scomparse o sbiadite assicura che la loro somiglianza ragionevole possa essere ottenuta dal sistema.

I rendering di Stable Diffusion rivelano rapidamente quali volti famosi sono ben rappresentati nel set di dati di training. Nonostante la sua enorme popolarità come teenager più grande al momento della stesura, Millie Bobby Brown era più giovane e meno conosciuta quando i set di dati sorgente LAION sono stati raschiati dal web, rendendo problematica l'ottenimento di una somiglianza di alta qualità con Stable Diffusion al momento.

I rendering di Stable Diffusion rivelano rapidamente quali volti famosi sono ben rappresentati nel set di dati di training. Nonostante la sua enorme popolarità come teenager più grande al momento della stesura, Millie Bobby Brown era più giovane e meno conosciuta quando i set di dati sorgente LAION sono stati raschiati dal web, rendendo problematica l’ottenimento di una somiglianza di alta qualità con Stable Diffusion al momento.

Dove i dati sono disponibili, le soluzioni di up-res basate su tile in Stable Diffusion potrebbero andare oltre il concentrarsi sul volto: potrebbero potenzialmente abilitare volti ancora più precisi e dettagliati, rompendo le caratteristiche facciali e rivolgendo l’intera forza delle risorse GPU locali ai tratti salienti individualmente, prima del riassamblaggio – un processo che attualmente è ancora manuale.

Questo non è limitato ai volti, ma è limitato a parti di oggetti che sono almeno altrettanto prevedibilmente posizionati nel contesto più ampio dell’oggetto host, e che si conformano a incorporamenti di alto livello che ci si potrebbe ragionevolmente aspettare di trovare in un set di dati iperscalari.

Il vero limite è la quantità di dati di riferimento disponibili nel set di dati, poiché, alla fine, dettagli profondamente iterati diventeranno completamente ‘allucinati’ (cioè fictizi) e meno autentici.

Questi ingrandimenti granulari ad alto livello funzionano nel caso di Jennifer Connelly, poiché è ben rappresentata in un’ampia gamma di età in LAION-aesthetics (il subset principale di LAION 5B che Stable Diffusion utilizza); in molti altri casi, la precisione soffrirebbe della mancanza di dati, necessitando di una sintonizzazione fine (addestramento aggiuntivo, vedi ‘Customizzazione’ di seguito) o di inversione testuale (vedi sotto).

I tile sono un modo potente e relativamente economico per consentire a Stable Diffusion di produrre output ad alta risoluzione, ma l’upscaling algoritmico di questo tipo, se manca di un meccanismo di attenzione più ampio e di alto livello, potrebbe non raggiungere gli standard sperati in una gamma di tipi di contenuto.

2: Risoluzione dei problemi con gli arti umani

Stable Diffusion non rispetta il suo nome quando rappresenta la complessità degli arti umani. Le mani possono moltiplicarsi casualmente, le dita si fondono, appaiono gambe inaspettate e gli arti esistenti scompaiono senza traccia. In sua difesa, Stable Diffusion condivide il problema con i suoi compagni di squadra, e sicuramente con DALL-E 2.

Risultati non modificati da DALL-E 2 e Stable Diffusion (1.4) alla fine di agosto 2022, entrambi mostrano problemi con gli arti. Prompt è 'Una donna che abbraccia un uomo'

Risultati non modificati da DALL-E 2 e Stable Diffusion (1.4) alla fine di agosto 2022, entrambi mostrano problemi con gli arti. Prompt è ‘Una donna che abbraccia un uomo’

Gli appassionati di Stable Diffusion che sperano che il prossimo punto di controllo 1.5 (una versione più intensamente addestrata del modello, con parametri migliorati) risolverà la confusione degli arti probabilmente saranno delusi. Il nuovo modello, che sarà rilasciato in circa due settimane, è attualmente presentato al portale commerciale di stability.ai DreamStudio, che utilizza 1.5 per impostazione predefinita, e dove gli utenti possono confrontare il nuovo output con rendering da sistemi locali o altri sistemi 1.4:

Fonte: prepack locale 1.4 e https://beta.dreamstudio.ai/

Fonte: prepack locale 1.4 e https://beta.dreamstudio.ai/

Fonte: prepack locale 1.4 e https://beta.dreamstudio.ai/

Fonte: prepack locale 1.4 e https://beta.dreamstudio.ai/

Fonte: prepack locale 1.4 e https://beta.dreamstudio.ai/

Fonte: prepack locale 1.4 e https://beta.dreamstudio.ai/

Come spesso accade, la qualità dei dati potrebbe essere la causa principale contributiva.

I database open source che alimentano sistemi di sintesi di immagini come Stable Diffusion e DALL-E 2 possono fornire molti etichette per singoli esseri umani e azioni interumane. Queste etichette vengono addestrate insieme alle immagini associate, o segmenti di immagini.

Gli utenti di Stable Diffusion possono esplorare i concetti addestrati nel modello interrogando il set di dati LAION-aesthetics, un subset del più grande set di dati LAION 5B, che alimenta il sistema. Le immagini sono ordinate non per etichette alfabetiche, ma per 'punteggio estetico'. Fonte: https://rom1504.github.io/clip-retrieval/

Gli utenti di Stable Diffusion possono esplorare i concetti addestrati nel modello interrogando il set di dati LAION-aesthetics, un subset del più grande set di dati LAION 5B, che alimenta il sistema. Le immagini sono ordinate non per etichette alfabetiche, ma per ‘punteggio estetico’. Fonte: https://rom1504.github.io/clip-retrieval/

Una buona gerarchia di etichette individuali e classi che contribuiscono alla rappresentazione di un braccio umano sarebbe qualcosa come corpo>braccio>mano>dita>[sotto-dita + pollice]> [segmenti di dita]>Unghie.

Segmentazione semantica granulare delle parti di una mano. Anche questa decostruzione insolitamente dettagliata lascia ogni 'dito' come un'entità unica, senza tenere conto delle tre sezioni di un dito e delle due sezioni di un pollice. Fonte: https://athitsos.utasites.cloud/publications/rezaei_petra2021.pdf

Segmentazione semantica granulare delle parti di una mano. Anche questa decostruzione insolitamente dettagliata lascia ogni ‘dito’ come un’entità unica, senza tenere conto delle tre sezioni di un dito e delle due sezioni di un pollice. Fonte: https://athitsos.utasites.cloud/publications/rezaei_petra2021.pdf

Nella realtà, le immagini sorgente sono improbabili essere etichettate in modo così coerente in tutto il set di dati, e gli algoritmi di etichettatura non supervisionata probabilmente si fermeranno al livello più alto di – ad esempio – ‘mano’, e lasceranno i pixel interni (che tecnicamente contengono informazioni sulle dita) come una massa non etichettata di pixel da cui saranno derivati arbitrariamente caratteristiche, e che potrebbero manifestarsi in rendering successivi come un elemento sconvolgente.

Come dovrebbe essere (in alto a destra, se non in alto), e come tende a essere (in basso a destra), a causa della limitata disponibilità di risorse per l'etichettatura, o dell'exploit architettonico di tali etichette se esistono nel set di dati.

Come dovrebbe essere (in alto a destra, se non in alto), e come tende a essere (in basso a destra), a causa della limitata disponibilità di risorse per l’etichettatura, o dell’exploit architettonico di tali etichette se esistono nel set di dati.

Pertanto, se un modello di diffusione latente arriva a renderizzare un braccio, è quasi certamente destinato a provare a renderizzare una mano alla fine di quel braccio, poiché braccio>mano è la gerarchia minima richiesta, abbastanza in alto in ciò che l’architettura sa dell’anatomia umana.

Dopo di che, ‘dita’ potrebbero essere il raggruppamento più piccolo, anche se ci sono 14 ulteriori sottoparti di dita/pollice da considerare quando si rappresentano mani umane.

Se questa teoria regge, non c’è vera soluzione, a causa della carenza di budget per l’annotazione manuale, e della mancanza di algoritmi sufficientemente efficaci che potrebbero automatizzare l’etichettatura producendo bassi tassi di errore. In effetti, il modello potrebbe attualmente fare affidamento sulla coerenza anatomica umana per coprire le carenze del set di dati su cui è stato addestrato.

Una possibile ragione per cui non può fare affidamento su questo, recentemente proposta nel Discord di Stable Diffusion, è che il modello potrebbe confondersi sul numero corretto di dita che una mano umana realistica dovrebbe avere perché il database LAION che alimenta presenta personaggi dei cartoni animati che potrebbero avere meno dita (il che è di per sé un espediente per risparmiare lavoro).

Due dei potenziali colpevoli nella 'sindrome della dita mancanti' in Stable Diffusion e modelli simili. Sotto, esempi di mani di cartoni animati dal set di dati LAION-aesthetics che alimenta Stable Diffusion. Fonte: https://www.youtube.com/watch?v=0QZFQ3gbd6I

Due dei potenziali colpevoli nella ‘sindrome della dita mancanti’ in Stable Diffusion e modelli simili. Sotto, esempi di mani di cartoni animati dal set di dati LAION-aesthetics che alimenta Stable Diffusion. Fonte: https://www.youtube.com/watch?v=0QZFQ3gbd6I

Se questo è vero, allora l’unica soluzione ovvia è riaddestrare il modello, escludendo contenuti umani non realistici, assicurando che casi genuini di omissione (ad esempio amputati) siano etichettati come eccezioni. Dal solo punto di vista della cura dei dati, questo sarebbe un challenge piuttosto impegnativo, particolarmente per sforzi di comunità a bassa dotazione di risorse.

L’approccio alternativo sarebbe applicare filtri che escludano tali contenuti (ad esempio ‘mano con tre/cinque dita’) dal manifestarsi al momento del rendering, allo stesso modo in cui OpenAI ha, in una certa misura, filtrato GPT-3 e DALL-E 2, in modo che la loro output potesse essere regolata senza dover riaddestrare i modelli sorgente.

Per Stable Diffusion, la distinzione semantica tra dita e persino arti può diventare orribilmente confusa, richiamando alla mente la corrente di 'horror corporeo' degli anni '80 dei film horror di registi come David Cronenberg. Fonte: https://old.reddit.com/r/StableDiffusion/comments/x6htf6/a_study_of_stable_diffusions_strange_relationship/

Per Stable Diffusion, la distinzione semantica tra dita e persino arti può diventare orribilmente confusa, richiamando alla mente la corrente di ‘horror corporeo’ degli anni ’80 dei film horror di registi come David Cronenberg. Fonte: https://old.reddit.com/r/StableDiffusion/comments/x6htf6/a_study_of_stable_diffusions_strange_relationship/

Tuttavia, di nuovo, ciò richiederebbe etichette che potrebbero non esistere in tutte le immagini interessate, lasciandoci con la stessa sfida logistica e di budget.

Si potrebbe sostenere che ci sono due strade rimanenti: lanciare più dati sul problema, e applicare sistemi interpretativi di terze parti che possono intervenire quando vengono presentati all’utente finale errori fisici del tipo descritto (almeno, quest’ultimo darebbe a OpenAI un metodo per fornire rimborsi per rendering di ‘horror corporeo’, se la società fosse motivata a farlo).

3: Personalizzazione

Una delle possibilità più emozionanti per il futuro di Stable Diffusion è la prospettiva di utenti o organizzazioni che sviluppano sistemi rivisti; modifiche che consentono di integrare nel sistema contenuti al di fuori della sfera pre-addestrata di LAION – idealmente senza l’enorme spesa di addestrare nuovamente l’intero modello, o il rischio insito nell’addestramento di un grande volume di immagini nuove a un modello esistente, maturo e capace.

Per analogia: se due studenti meno dotati si uniscono a una classe avanzata di trenta studenti, si assimileranno e raggiungeranno il livello della classe, o falliranno come outsider; in entrambi i casi, la prestazione media della classe probabilmente non sarà influenzata. Se 15 studenti meno dotati si uniscono, tuttavia, la curva dei voti per l’intera classe probabilmente soffrirà.

Allo stesso modo, la rete sinergica e piuttosto delicata di relazioni costruite durante un addestramento del modello prolungato e costoso può essere compromessa, in alcuni casi effettivamente distrutta, da nuovi dati eccessivi, abbassando la qualità dell’output del modello nel complesso.

Il caso per fare questo è principalmente dove il tuo interesse risiede nel dirottare completamente la comprensione concettuale del modello di relazioni e cose, e appropriarsene per la produzione esclusiva di contenuti simili al materiale aggiuntivo che hai aggiunto.

Pertanto, addestrare 500.000 frame di I Simpson in un punto di controllo di Stable Diffusion esistente probabilmente otterrà, alla fine, un miglior simulatore di I Simpson di quanto il build originale avrebbe potuto offrire, presumendo che abbastanza ampie relazioni semantiche sopravvivano al processo (ad esempio Homer Simpson che mangia un hot dog, che potrebbe richiedere materiale su hot dog che non era nel materiale aggiuntivo, ma esisteva già nel punto di controllo), e presumendo che non si voglia improvvisamente passare da contenuti di I Simpson alla creazione di paesaggi fantastici di Greg Rutkowski – perché il tuo modello post-addestrato ha avuto la sua attenzione massicciamente dirottata, e non sarà più bravo a fare quel tipo di cose come lo era in precedenza.

Un esempio notevole di questo è waifu-diffusion, che ha addestrato con successo 56.000 immagini di anime in un punto di controllo di Stable Diffusion completato e addestrato. È una prospettiva impegnativa per un hobbyista, tuttavia, poiché il modello richiede un minimo di 30 GB di VRAM, ben al di là di quanto sia probabile essere disponibile al livello dei consumatori nelle prossime uscite della serie 40XX di NVIDIA.

L'addestramento di contenuti personalizzati in Stable Diffusion: il modello ha richiesto due settimane di post-addestramento per produrre questo livello di illustrazione. Le sei immagini a sinistra mostrano il progresso del modello nel produrre output coerenti con il soggetto in base ai nuovi dati di addestramento. Fonte: https://gigazine.net/gsc_news/en/20220121-how-waifu-labs-create/

L’addestramento di contenuti personalizzati in Stable Diffusion tramite waifu-diffusion: il modello ha richiesto due settimane di post-addestramento per produrre questo livello di illustrazione. Le sei immagini a sinistra mostrano il progresso del modello, man mano che l’addestramento procedeva, nel produrre output coerenti con il soggetto in base ai nuovi dati di addestramento. Fonte: https://gigazine.net/gsc_news/en/20220121-how-waifu-labs-create/

Molto sforzo potrebbe essere speso su questi ‘fork’ di punti di controllo di Stable Diffusion, solo per essere ostacolato dal debito tecnico. Gli sviluppatori nel Discord ufficiale hanno già indicato che le future uscite dei punti di controllo potrebbero non essere necessariamente compatibili con le versioni precedenti, anche con la logica dei prompt che potrebbe aver funzionato con una versione precedente, poiché il loro interesse principale è ottenere il miglior modello possibile, piuttosto che supportare applicazioni e processi legacy.

Pertanto, un’azienda o un individuo che decide di ramificare un punto di controllo in un prodotto commerciale di fatto non ha più possibilità di tornare indietro; la loro versione del modello è, a quel punto, un ‘hard fork’, e non potrà più trarre vantaggio dalle uscite successive di stability.ai – il che è un impegno piuttosto significativo.

L’attuale, e più grande speranza per la personalizzazione di Stable Diffusion è Textual Inversion, dove l’utente addestra una manciata di immagini allineate con CLIP.

Una collaborazione tra l'Università di Tel Aviv e NVIDIA, la inversione testuale consente l'addestramento di entità discrete e nuove, senza distruggere le capacità del modello sorgente. Fonte: https://textual-inversion.github.io/

Una collaborazione tra l’Università di Tel Aviv e NVIDIA, la inversione testuale consente l’addestramento di entità discrete e nuove, senza distruggere le capacità del modello sorgente. Fonte: https://textual-inversion.github.io/

La principale limitazione apparente dell’inversione testuale è che si consiglia di utilizzare un numero molto basso di immagini – solo cinque. Ciò produce essenzialmente un’entità limitata che potrebbe essere più utile per compiti di trasferimento di stile piuttosto che per l’inserimento di oggetti fotorealistici.

Nonostante ciò, esperimenti sono attualmente in corso all’interno dei vari Discord di Stable Diffusion che utilizzano un numero molto più alto di immagini di addestramento, e rimane da vedere quanto possa risultare produttivo questo metodo. Ancora una volta, la tecnica richiede una grande quantità di VRAM, tempo e pazienza.

A causa di questi fattori limitanti, potremmo dover aspettare un po’ per vedere alcuni degli esperimenti di inversione testuale più sofisticati da parte degli appassionati di Stable Diffusion – e se questo approccio possa ‘metterti nell’immagine’ in un modo che sembri migliore di un taglio e incolla di Photoshop, mantenendo l’incredibile funzionalità dei punti di controllo ufficiali.

 

Pubblicato per la prima volta il 6 settembre 2022.

Scrittore di apprendimento automatico, specialista nel dominio della sintesi di immagini umane. Ex capo del contenuto di ricerca presso Metaphysic.ai, fino alla sua dissoluzione in DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: [email protected]