Andersons vinkel
Tre udfordringer foran Stable Diffusion

Udgivelsen af stability.ai’s Stable Diffusion latent diffusion billedsynthesemodell for et par uger siden kan være en af de mest betydningsfulde teknologiske afsløringer siden DeCSS i 1999; det er bestemt det største begivenhed i AI-genereret billedmateriale siden deepfakes-koden blev kopieret over til GitHub og forket til, hvad der skulle blive DeepFaceLab og FaceSwap, samt realtids-streaming deepfake-software DeepFaceLive.
På ét tidspunkt blev brugerirritation over indholdsbegrænsninger i DALL-E 2’s billedsynthesi-API sat til side, da det viste sig, at Stable Diffusions NSFW-filter kunne deaktiveres ved at ændre en enkelt linje kode. Pornocentriske Stable Diffusion-Reddit-grupper dukkede op næsten med det samme og blev hurtigt lukket ned, mens udvikler- og brugerlejren delte sig på Discord i officielle og NSFW-samfund, og Twitter begyndte at blive fyldt op med fantastiske Stable Diffusion-kreationer.
I øjeblikket synes hver dag at bringe nogle fantastiske innovationer fra udviklerne, der har adopteret systemet, med plugins og tredjeparts-tilføjelser, der hastigt bliver skrevet til Krita, Photoshop, Cinema4D, Blender og mange andre applikationsplatforme.
I mellemtiden er promptcraft – den nu professionelle kunst af ‘AI-whispering’, som måske ender med at være den kortest tænkelige karrierevalg siden ‘Filofax-binder’ – allerede blevet kommercialiseret, mens tidlig monetering af Stable Diffusion finder sted på Patreon-niveauet, med sikkerhed for mere avancerede tilbud, der kommer, for dem, der ikke vil navigere Conda-baserede installationer af kildekoden eller de proskriptive NSFW-filtre i webbaserede implementationer.
Udviklingstakten og den frie følelse af udforskning fra brugerne sker i sådan en hvirvelvindende fart, at det er svært at se langt frem. I virkeligheden ved vi ikke helt, hvad vi har at gøre med endnu, eller hvilke begrænsninger eller muligheder der kan være.
Alligevel lad os kaste et blik på tre af, hvad der måske er de mest interessante og udfordrende hindringer for den hurtigt dannede og hurtigt voksende Stable Diffusion-samfund at overvinde.
1: Optimering af flisebaserede rørledninger
Præsenteret med begrænsede hardwareressourcer og hårde begrænsninger på opløsningen af træningsbilleder, synes det sandsynligt, at udviklerne vil finde løsninger til at forbedre både kvaliteten og opløsningen af Stable Diffusions output. Mange af disse projekter er sat til at udnytte begrænsningerne i systemet, såsom dets native opløsning på kun 512×512 pixels.
Som altid er tilfældet med computer vision og billedsyntheseprojekter, blev Stable Diffusion trænet på kvadratiske billedforhold, i dette tilfælde resampleret til 512×512, således at kildebillederne kunne regulariseres og være i stand til at passe ind i begrænsningerne for de GPU’er, der trænede modellen.
Derfor “tænker” Stable Diffusion (hvis det overhovedet tænker) i 512×512-termer og bestemt i kvadratiske termer. Mange brugere, der i øjeblikket udforsker begrænsningerne for systemet, rapporterer, at Stable Diffusion producerer de mest pålidelige og mindst fejlbehæftede resultater ved denne ret begrænsede aspektforhold (se “adressering af ekstremiteter” nedenfor).
Flere implementationer har upscaling via RealESRGAN (og kan fikse dårligt renderede ansigter via GFPGAN), men flere brugere udvikler metoder til at splitte billeder op i 512x512px-sektioner og sy sammen billederne for at danne større kompositbilleder.

Dette 1024×576-render, en opløsning, der normalt er umulig i et enkelt Stable Diffusion-render, blev skabt ved at kopiere og indsætte attention.py Python-filen fra DoggettX-forken af Stable Diffusion (en version, der implementerer flisebaseret upscaling) i en anden fork. Kilde: https://old.reddit.com/r/StableDiffusion/comments/x6yeam/1024x576_with_6gb_nice/
Flise er en kraftfuld og relativt billig måde for Stable Diffusion at kunne producere hi-res-output, men algoritme-baseret flise-upscaling af denne type kan, hvis den mangler en slags bredere, højere niveau-attention-mekanisme, måske ikke leve op til de ønskede standarder på tværs af en række indholdstyper.
2: Løsning af problemer med menneskelige lemmer
Stable Diffusion lever ikke op til sit navn, når det kommer til at afbilde kompleksiteten af menneskelige ekstremiteter. Hænder kan multiplicere tilfældigt, fingre kan samles, en tredje ben kan dukke op uden varsel, og eksisterende lemmer kan forsvinde uden spor. I sin forsvar kan Stable Diffusion dele problemet med sine stabile medspillere og sandsynligvis med DALL-E 2.

Uredigerede resultater fra DALL-E 2 og Stable Diffusion (1.4) ved udgangen af august 2022, begge viser problemer med lemmer. Prompt er ‘En kvinde omfavner en mand’
Stable Diffusion-entusiaster, der håber, at den kommende 1.5-checkpoint (en mere intensivt trænet version af modellen med forbedrede parametre) ville løse lem-konflikten, er sandsynligvis til at blive skuffede. Den nye model, der vil blive udgivet om cirka to uger, er i øjeblikket blevet præsenteret på det kommercielle stability.ai-portalen DreamStudio, hvor brugere kan sammenligne det nye output med render fra deres lokale eller andre 1.4-systemer:
3: Tilpasning
En af de mest spændende muligheder for fremtiden for Stable Diffusion er udsigten til, at brugere eller organisationer udvikler reviderede systemer; modifikationer, der tillader indhold uden for den forudtrænede LAION-kreds at blive integreret i systemet – idealisk uden den ustyrlige omkostning ved at træne hele modellen igen eller risikoen ved at træne i en stor mængde nyt indhold til en eksisterende, moden og kapabel model.
Ved analogi: Hvis to mindre begavede elever tilslutter sig en avanceret klasse på tredive elever, vil de enten assimilere og holde trit, eller fejle som outliers; i begge tilfælde vil klassegennemsnittet sandsynligvis ikke blive påvirket. Hvis femten mindre begavede elever tilslutter sig, er klassegennemsnittet sandsynligvis til at lide under det.
Ligeså kan den synergistiske og ret sårbare netværk af relationer, der opbygges over længere og dyre modeltræning, blive kompromitteret, i visse tilfælde efektivt ødelagt, af for meget nyt indhold, hvilket sænker kvaliteten af modellens output generelt.
Tilfældet for at gøre dette er primært, hvor dit interesseområde ligger i at fuldstændigt kapre modellens konceptuelle forståelse af relationer og ting og overtage det til eksklusiv produktion af indhold, der ligner det tilføjede materiale.
Således er træning af 500.000 Simpsons-rammer i en eksisterende Stable Diffusion-checkpoint sandsynligvis til at give dig en bedre Simpsons-simulator end den originale bygning kunne have tilbudt, under forudsætning af, at nok bredt semantiske relationer overlever processen (dvs. Homer Simpson spiser en hotdog, som kan kræve materiale om hotdogs, der ikke var i dit tilføjede materiale, men allerede fandtes i checkpointet), og under forudsætning af, at du ikke pludselig skal skifte fra Simpsons-indhold til at skabe fabulous landscape by Greg Rutkowski – fordi din post-trænet model har fået sin opmærksomhed kraftigt omdirigeret og ikke vil være så god til at gøre den slags ting som den var før.
Et bemærkelsesværdigt eksempel på dette er waifu-diffusion, der har succesfuldt post-trænet 56.000 anime-billeder i en fuldt trænet Stable Diffusion-checkpoint. Det er et hårdt prospekt for en hobbyist, da modellen kræver en øjenåbnende minimum på 30GB VRAM, langt ud over, hvad der sandsynligvis er tilgængeligt på forbruger-niveauet i NVIDIA’s kommende 40XX-serie.
På grund af disse begrænsninger kan vi måske være nødt til at vente lidt, før vi ser nogle af de mere avancerede tekstuelle inversionseksperimenter fra Stable Diffusion-entusiaster – og om denne tilgang kan ‘sætte dig i billedet’ på en måde, der ser bedre ud end en Photoshop-klip-og-lim, samtidig med at den fastholder den forbløffende funktionalitet af de officielle checkpoints.
First published 6th september 2022.












