Skrivet av Curik:
Väldigt få som vet hur man får till det du beskriver, så visa gärna lite bilder. För att ha "pysslar en del med AI genererad text och bild" så låter det lite väl otroligt.
Väldigt djupt ämne men jag skummar ytan, summerar lite och kommer med ett eget exempel här.
Allt kan köras via commandline men lite enkla web-uis gör det bra mycket enklare att komma igång.
CLI och python erfarenhet är att rekomendera. Man behöver inte koda men hanterar man pip och venv så klarar man sig.
Först och främst lite resurser:
Huggingface samlar allt möjligt som man kan behöva. Allt från modeller till saker som modifierar dom. Spaces att utforska osv. Ett konto kommer att behövas.
För text är KoboldAI ett smidigt sett att komma igång. Följ bara instruktionerna, finns en Windows-installer som gör det lite enklare. Man bootar upp och sedan väljer man vilken AI modell man vill köra. Gränssnittet kommer dra ned den åt en. Finns modellen inte så kan man specificera ett repo att dra ner. Det enda som tog mig en stund att fatta det var att när man laddar en modell så har man några sliders för vart man skall ladda in modellens alla lager. Man får experimentera lite men helst vill man ha allt i vram. Därefter systemminne vilket blir allt som inte ligger i vram. Tar systemminnet slut så får man dra upp disk layer men det är sjukt långsamt. När modellen är laddad är det bara att börja skriva och sedan researcha olika topics efter ens intresse.
https://github.com/KoboldAI/KoboldAI-Client
Ex text modell:
https://huggingface.co/KoboldAI/fairseq-dense-13B-Janeway
För bilder har jag bara använt stable diffusion och då detta webui. Väldigt enkelt och smidigt att komma igång med. Man installerar webui:t. Sedan letar man upp en modell (stable-diffusion-v1-5) är att rekommendera som utgångspunkt.
I Ui't väljer man modell och så börjar man skriva prompts och experimentera och sedan läser man på om en miljard olika topics.Stark rekommendation: använd modeller med filändelsen .safetensor för .ckpt kan innehålla skadlig kod.
https://github.com/AUTOMATIC1111/stable-diffusion-webui
https://huggingface.co/runwayml/stable-diffusion-v1-5
r/stablediffusion har många bra tutorials och länkar samlade här. Både om man vill utforska vad andra gjort, lära sig mer, hitta inspiration med mera. Varningens ord bara att väldigt mycket är NSFW exempelvis openart. Mycket bra resurs och så skrollar man och plötsligt är det naket.
https://www.reddit.com/r/stablediffusion/wiki/tutorials/
Hur det funkar (grovt):
Magi!
Nej men det är neutral-networks och som jobbar i ett par lager. Dom tar en massa bilder och taggar upp dom, beskriver osv och sedan får modellerna tränas på detta. till sist så har du en chunk med data på några gig som generar en massa härliga bilder beroende på vilka parametrar som matas in. Det är här en stor del av problemen kommer då du många gånger tar andra verk och tränar på och i slutändan kan du återskapa, replikera och extrahera koncept från dom och återanvända.
Vad jag förstått så när man tränat tills man är nöjd så har men en modell eller vad som också kallas checkpoint. Denna kan nu distribueras och användas. Man kan t.ex ha ett sett med data och träna utifrån denna checkpoint för att få en ny modell som är specialiserad på ex fotorealism, vissa visuella element. t.ex om jag samlar in en massa bilder på diverse bilnärken, modeller, årtal osv så kan jag skapa en egen checkpoint tränad just för att leverera mycket bra bilder på bilar.
T.ex skriver man typ Volvo XC69 concept car, very detailed, realistic, multiple views i modellen Anything_v3 så fick jag något som var en mix mellan v90, xc40 och v60.
Man kan även ta 2 eller fler modeller och merga samman. En stor del av detta är dock inte det att vi tar en databas av bilder och mosar utan det är bearbetad data och tränade nätverk som mergas.
Utöver att träna en helt ny checkpoint av en modell vilket man kanske behöver om man vill ens nya modell skall kunna göra mycket finns det andra tekniker så som textural inversion vilket är det som jag experimenterar med än så länge.
Embeddings som triggas av ord i prompten. Dom är mycket små, bara några kb stora och är om jag uppfattat det rätt en uppsättning modifierade weights till AIn som bidrar till det resultat du vill ha. Räcker med 4-5 bilder för att kunna lägga in ditt ansikte istället för andra eller som jag, skapa bättre bilder av mina hundar. Tränar detta på t.ex stable-diffusion-v1.5 så kommer generellt sett denna embedding producera bra resultat för andra checkpoints beserade på samma modell.
Hypernetworks är snarlikt embeddings men tar generellt sett längre tid och arbetar i de senare lagren av AI modellen. Min bild är att du kan göra mer komplexa saker med dessa än med embeddings men tar längre tid att träna.
Exempel på problemet
Jag har en vän som jag spelar DnD med som regelbundet köper konst av folk via ex Reddit. När han postade sin senaste karaktär och länk till konstnären så behövde jag bara ta ett par bilder som denna person lagt upp på twitter och sedan spendera ca 2 timmar och jag hade ett grundläggande filter för denna konstnär. I en modell, tror det var Anything_v3 som är väldigt bra på anime kunde jag återskapa min väns karaktär något så nära och sedan applicera min embedding och det ser ut i stort sett som att det var han på twitter som skapat den nya bilden. Lite dedikering, plocka de bilder som bäst illustrerar stilen, bra taggning osv och man kan få väldigt bra resultat.
Varför jag känner som jag gör och varför det är så svårt att hitta färdiga embeddings och hypernetworks, folk är väldigt rädda för copyright situationen. Därav tycker jag det är bra att det blir lite utredning. AI är här för att stanna men vi måste lösa frågan så att vi kan börja köpa, sälja eller publicerar de olika delarna.
Ge det något år och någon kommer ha en tjänst där konstnärer själva kan publicera sina modeller, embeddings eller hypernetworks och man kan få sin prompt med artistens stil med olika rättigheter beroende på vad man betalar för.
Men derivat då? Om jag har en generering och sedan köper av konstnär X så att jag har mitt verk i X stil vad händer om man tar mitt verk och tränar på? spännande tider, glad om jag slipper reda ut allt!
Exempel vad jag har producerat
Bilder samt prompts till bilder i flytande text, man kan även köra med olika tags.
Efter att ha tränat på detta i ca 1h så kunde jag producera dessa som exempel:
Samma prompt i två olika modeller.
Sista sak att tillägga
Amd 3600, 32gb ram och 3070 8gb Vram. Med detta kan jag köra halv stora text modeller även om dom tar tid. Träna textural inversions på några timmar och ha väldigt kul. Så man måste inte ha ett monster system men det hjälper. Särskilt inte för bilder.
Här kan man testa på text2text: https://lite.koboldai.net/
Crowdsoursade resurser så ifall det är någons hemma burk som står det så kan dom läsa i loggarna vad som frågats och genererats så tänk på det.
Varierar också vilka modeller som är tillgängliga beroende på vad de som hostar har laddat in men oftast så finns det någon av de större modellerna.
Ex så kan jag få in vissa 1.3B modeller i mitt vram, 6B kan generar svar på 10-30s beroende på komplexitet. 30B vill jag inte ens tänka på...
Skall tilläggas att B är antal parametrar i miljarder och jag har hört att chat-gpt är någonstans norr om 150B parametrar.