1 of 112

Možná přijde i Skynet

jak se AI naučila psát a kreslit

Matěj Račinský

2 of 112

Kdo jsem

3 of 112

Odkazy a zdroje

Prezentace

Zdroje

4 of 112

Není to poprvé

  • Přednáška o AI Artu 2019
  • Kvůli rychlosti vývoje nepoužitelná a vše odznova

5 of 112

Čeho se dočkáte

  • Co je (a co není) umělá inteligence (AI)
  • Historie a vývoj AI artu
  • Co je Stable Diffusion, MidJourney a DALL-E
  • Co je ChatGPT, character.ai , LLaMa a další
  • Jak to (velmi zrychleně) funguje a jak se učí
  • Co všechno to umí
  • Jak (ne)poznat strojově generovaný text
  • Etické a legislativní problémy

6 of 112

Čeho se nedočkáte

  • Live coding a procházení zdrojáků
  • Anime plně vytvořeného umělou inteligencí
  • AI, co umí dobře kreslit ruce

7 of 112

Co je AI?

8 of 112

Co je to umělá inteligence (AI)?

9 of 112

Není AI jako AI

10 of 112

Není AI jako AI

Silná/strong/general AI

  • „ta ze sci-fi“, svatý grál AI, umí si poradit se vším, jako člověk
  • (zatím) neexistuje

Slabá/weak/narrow AI

  • Specializovaná na danou úlohu
  • Reálné aplikace AI
  • Chatboti, neuronové sítě, plánování atd.

11 of 112

Co je to umělá inteligence (AI)?

  • Obor informatiky zabývající se tvorbou programů vykazujících známky inteligence
  • Schopnost počítače imitovat lidské inteligentní chování
  • Umí se učit
  • Je to počítačový program, ne robot.
  • Definic je více, každá víc či méně problematická a existuje na ni protipříklad

12 of 112

Problémy s definicí AI

  • S rostoucími výpočetními možnostmi strojů klesá počet úloh, které potřebují „inteligenci“ k vyřešení.
  • AI efekt
    • Jakmile přijdeme na to, jak může počítač něco udělat, přestane to být AI – přestane to být „přemýšlení“
    • Pokaždé, když přijdeme na to, jak něco funguje, přestane to být magické, řekneme si „je to jenom výpočet“ - Rodney Brooks
    • AI je cokoli, na co jsme ještě nepřišli – Tesler‘s theorem
    • Mnoho aplikací: OCR, hraní šachů, atd.
  • Lidé se podvědomě snaží přesvědčit o vlastní výjimečnosti

13 of 112

osnova

  • Zmínit corridor crew, kouknout na jejich video o ai anime
  • Definice pojmů, co je ai,
  • Ai art
    • Historie
    • Jak fungují gany
    • Jak fungují difuzní modely
    • Datasety
    • problémy
  • jazykový model
    • Co to je
    • Vývoj
    • Co umí
    • problémy
  • Učení se na datech, soud se stability ai, openai sweatshop na labely atd.

14 of 112

Turingův test – jak (ne)poznat, zda je AI inteligentní

  • Vědecká metoda -> testovatelné hypotézky
  • Filosofie AI řeší, jak exaktně určit, zda je AI/program inteligentní
  • Turing došel k tomu, že to nejde rozhodnout
  • Namísto toho testuje, zda umí AI imitovat člověka
    • Lépe rozhodnutelné
  • Cíl Turingovat testu není ověřit inteligenci/uvažování AI
  • Myšlenkový experiment, nikoli rigorózní benchmark

15 of 112

Turingův test – jak (ne)poznat, zda je AI inteligentní

  • (1950) myšlenkový pokus, který ověřuje, zda umí AI napodobit člověka/vykazovat lidské chování.
  • Máme 2 místnosti, v jedné sedí buď stroj a člověk, a ve druhé porotce.�Porotce si povídá/píše s tím, kdo je v druhé místnosti a pokud nedokáže rozlišit stroj od člověka, stroj prošel Turingovým testem.
  • Testování, zda rozlišíte člověka od chatbota.
  • Netestuje inteligenci, jen imitaci.
  • Myšlenkový pokus, ne rigorozní benchmark.

16 of 112

Turingův test s obrázky

17 of 112

18 of 112

AI

člověk

19 of 112

A teď nightmare fuel

20 of 112

Hluboké snění/DeepDream, 2015

  • Úplně jiný přístup, Google
  • Tehdy letělo hlavně rozpoznávání obrázků

21 of 112

Hluboké snění/DeepDream, 2015

  • Pustíme to „pozpátku“
  • Upravovat obrázek, aby tam NN více „viděla“ nějaký objekt

22 of 112

Hluboké snění/DeepDream, 2015

23 of 112

Hluboké snění/DeepDream, 2015

24 of 112

AI ≠ strojové učení

25 of 112

Druhy AI

  • Strojové učení
    • neuronové sítě
    • Stromové modely, adaboost, SVM...
  • Zpracování přirozeného jazyka (NLP)
  • Expertní systémy
  • Plánování, rozvrhování
  • Robotika
  • Těžení dat (Data Mining)
  • Strojové vnímání (machine perception)

26 of 112

27 of 112

(Umělé) neuronové sítě

  • Hodně vzdálené reálným neuronům
  • Není to modelování mozku
  • Má vrstvy
  • Hodně vrstev (8? a více) = deep learning, hluboké učení
    • Někdo uvádí >=3
    • AlexNet má 8

28 of 112

Slovníček

  • V praxi spousta nadbytečných pojmů, více slov pro to samé
  • Vynasnažím se být jednoznačný, ale možná mi to občas ujede

  • Umělá neuronová síť = neuronová síť = síť = model = NN
  • Typ/tvar sítě = architektura
  • Natrénovaný = naučený (model)
  • Zdrojový kód = zdroják = implementace
  • Paper = vědecký článek = článek
  • Trénovací dataset = dataset = trénovací data

29 of 112

Je to věda

30 of 112

Obecně k aplikacím strojového učení (ML)

Klíčové pro ML papery:

  • Dataset – na čem se to učí
  • Algoritmus
    • Způsob učení
    • Architektura NN
  • Dostupnost naučeného modelu

Další důležité:

  • Implementace algoritmu = zdrojový kód
  • Benchmarky, způsob vyhodnocení

Málokdy vědecký článek přímo na anime, spíše reprodukce na anime datech

Od 2019 posun v průmyslu, masivní produktizace

31 of 112

Obecně k aplikacím strojového učení (ML)

  • Málokdy vědecký článek přímo na anime
  • Často replikace vědeckého článku (paperu), natrénované sítě, na anime datasetu

32 of 112

Obecně k aplikacím strojového učení (ML)

  • Na přednášce 2019 hlavně studie
  • Od té doby posun v průmyslu, masivní produktizace
  • Ke state-of-the-art málokdy paper

33 of 112

AI Art

34 of 112

Kategorizace

  • Nic->obrázek
  • Omezený text->obrázek
  • Libovolný text -> obrázek
  • Obrázek->jiný obrázek

35 of 112

Nic->obrázek�

36 of 112

Omezený text->obrázek�

37 of 112

Libovolný text -> obrázek

38 of 112

Obrázek->jiný obrázek

Neboli také

AI Anime filtr

Přenos stylu

Atd.

39 of 112

Jak šel čas

40 of 112

Historie a vývoj – 1972-1980s

Dávná historie:

  • AARON
  • Program na generování tvarů podle pravidel
  • Kresleno robotem

41 of 112

Historie a vývoj - 2014

  • Tvůrčí soupeřící sítě/Generative Adversarial Networks/GANs
  • Bez GANů nevíme, jak definovat kvalitu vygenerovaných obrázků (chybovou funkci)
  • Na velikosti záleží – neuronová síť generuje obrázky fixní velikosti
  • Větší obrázky je těžší neučit, trvá to déle
    • Často je třeba další výzkum
    • I vědecké články jsou na konkrétní velikosti

42 of 112

GANy, 2014

  • Dříve neschopnost rozumného generování obrázků
  • 2 sítě, jedna generuje obrázky, druhá je rozlišuje
  • Analogie s padělatelem bankovek a detektivem

43 of 112

GANy, 2014

  • Podmíněný GAN/Conditional GAN/CGAN
  • Dalším vstupem jsou námi nastavitelné parametry
    • Nabízí větší kontrolu nad generovanými obrázky

44 of 112

GANy, 2015

  • Hluboký konvoluční GAN/Deep Convolutional GAN/DCGAN
  • Lepší učení, méně parametrů
  • První anime generátor

45 of 112

StyleGAN 1-3, 2018-2021

  • Inkrementální posun, až 2018 velký skok
  • Nvidia, StyleGAN, poté verze 2 a 3
  • Generování skutečných obličejů
  • Velký boom, starost o deepfakes

46 of 112

StyleGAN 1-3, 2018-2021

  • plynulé interpolace
  • thisanimedoesnotexist.ai

47 of 112

Difuzní modely a CLIP

48 of 112

Difuzní modely a CLIP

  • Velké jazykové modely
  • Konečně text -> image
  • DALL-E, leden 2021, GPT-3-based, CLIP
  • DALL-E 2, červenec 2022, difuze
  • MidJourney, červenec 2022, ??? Nyní asi difuze?
  • Stable Diffusion, srpen 2022, difuze a CLIP

49 of 112

DALL-E, DALL-E 2

  • Od OpenAI, autorů ChatGPT
    • Spoluzaložil Musk, ale 2019 ho to přestalo bavit a teď remcá
  • Dostupné na https://labs.openai.com/
  • Prvních několik obrázků zdarma, pak placené
  • První z trojice

50 of 112

DALL-E, DALL-E 2

51 of 112

MidJourney

  • Pouze jako discord bot
    • Na podzim 2022 největší discord server na světě
    • Pravidelné vyhazovy neaktivních
  • Dřív možné zdarma
  • Kvůli vytížení použitelné hlavně placené

52 of 112

MidJourney

53 of 112

Stable Diffusion

  • Srpen 2022
  • Spolupráce výzkumného týmu z Ludwig-Maxmilian Mnichovské univerzity a Runway ML, financování ze Stability.AI
    • Předtím z Heidelberg univerzity
    • Část autorů pracuje v Stability.AI
  • Konečně open-source a akademické!
  • Veřejný paper, veřejné datasety, veřejná natrénovaná síť
  • Tvůrci: CompVis(heidelberg Uni, nyní LMU), Runway ML, Stability.AI

54 of 112

Jak to funguje

55 of 112

Co si popíšeme

  • Autoencoder
  • Stable Diffusion
  • CLIP
  • Difuzní modely

56 of 112

Autoencoder

  • Komprese/embedding obrázků do menšího prostoru

57 of 112

Stable Diffusion

58 of 112

Stable Diffusion

59 of 112

CLIP

  • Propojuje text a obrázky
  • Natrénováno na obrázcích s popisky, embedding do stejných vektorů

GPT-2

ViT

60 of 112

CLIP

61 of 112

CLIP

  • K čemu to je?
  • Propojení obrázků a textu-vzdálenosti, zaměnitelná reprezentace
  • Generování popisků
  • Sémantická kategorizace
  • Vyhledávání obrázků podle textu
  • Lze vylepšovat výměnou encoderů (větší GPT, lepší obrázkový encoder atd.)

62 of 112

Difuze/Diffusion

63 of 112

Difuze/Diffusion

  • Difuze=přidávání šumu k obrázkům
  • Referzní difuze=odebírání šumu z obrázků
  • Difuzní model=Model předpovídá, co je šum a co se má odebrat
  • Z šumu postupně vymlátíte obrázek

64 of 112

Difuze/Diffusion

65 of 112

Difuze/Diffusion

66 of 112

Difuze/Diffusion

67 of 112

Difuze/Diffusion

68 of 112

Difuze/Diffusion

69 of 112

Difuze/Diffusion

70 of 112

Difuze/Diffusion

71 of 112

Difuze/Diffusion

72 of 112

Difuze/Diffusion

73 of 112

Stable Diffusion

74 of 112

Stable Diffusion

75 of 112

Stable Diffusion

76 of 112

Stable Diffusion

77 of 112

Stable Diffusion

  • K vyzkoušení na AF – hala E0, u vchodu u arkád
  • Na místě instrukce

78 of 112

Stable Diffusion

79 of 112

Komunita

  • Spousta discord serverů, návodů na generování obrázků
  • Přepoužívání modelů – transfer learning
    • Dotrénování modelu na menším, konkrétnějším datasetu
  • Repozitáře modelů
    • Huggingface.co, civitai.com

80 of 112

HuggingFace

  • Mainstream ML modelů, hlavní úložištěm vývoj knihoven, integrace paperů

81 of 112

CivitAI.com

82 of 112

Automatic1111

83 of 112

Trénink a datasety

  • Na velké modely třeba hodně dat
  • Na něco třeba data s popiskem, na něco ne
  • Na autoencoder stačí jen data
  • Akademické datasety
    • Často nekomerční licence
  • Nečekaně rychlé prolnutí akademického světa a průmyslu
  • Původně pečlivě nasbírané a ručně oanotované datasety
    • CIFAR (60k), MNIST (70k), CelebA (200k), ImageNet (14M), LSUN (69M)
  • Nyní crawlování internetu, stačí obrázek a popisek
    • LAION: 400M, 5B

84 of 112

LAION

  • Německá neziskovka
  • Demokratizace ML tréninku oproti megakorporátům
  • Největší obrázkové datasety
  • Staví na CommonCrawl, neziskovce na crawlování webu
  • Ukládají odkazy, ne samotné obrázky, z již nacrawlovaných dat
  • Srpen 2021: 400M
  • Březen 2022: 5B
  • Snaha konkurovat OpenAI (co už není moc open)
  • Neřeší copyright, ten řeší jednotliví uživatelé, co obrázky použijí

85 of 112

Problémy

  • Snadná dostupnost obřího datasetu, který nikdo ručně neprošel
  • Uživatel stahne metadata a stahuje obrázky
  • Nelze snadno filtrovat podle licence
    • U dané velikosti prakticky nemožné dohledat ručně licence
  • Obrázky o kterých nikdo neví, jak se tam vzaly
    • Umělkyně tam našla fotky ze svých lékařských záznamů
  • Z natrénovaných neuronek nejde odstraňovat obrázky

86 of 112

Haveibeentrained.com

  • Haveibeentrained.com
  • Vyhledávání v LAION-5B
  • Označování, jaké obrázky by neměly být používány
    • Označeno přes miliardu obrázků
  • Spolupráce s ArtStation, Huggingface, Shutterstock, Stability.ai

87 of 112

Žaloby

  • Getty images vs. Stable diffusion – Anglie, leden 2023
  • 3 Umělci vs. Stability.AI, MidJourney, DeviantArt – USA, leden 2023
    • DeviantArt má vlastní generátor: DreamUp
    • Žaloba GitHub Copilota (Microsoft) 2022 a OpenAI

88 of 112

Co s tím?

  • Natrénované modely neobsahují komprimované podoby obrázků, netvoří koláže
  • Momentálně opt-out
  • AI je legislativně divoký západ
  • Nové regulace?
  • Komplikované vymáhání – nejednotnost autorského zákona v různých zemích
  • Zákaz tréninku AI?
  • Jak to stíhat?
  • Co všechno je ještě použití AI? Nástroje v photoshopu?
  • Povolovat AI na soutěžích? Jak s ním pracovat?

89 of 112

další

  • Zmínit huggingface, civitai, mixování modelů, a naše demo
  • Zmínit inpainting, outpainting atd.

90 of 112

Jazykové modely

91 of 112

Jazykové modely

  • Matematické modelování přirozeného jazyka
  • Matematický popis souvislostí, gramatiky, sémantiky...
  • V obecnosti, hypoteticky umožňuje:
    • Překládat
    • Zodpovídat dotazy
    • Kategorizovat text (pozitivní/negativní hodnocení apod.)
    • Detekovat chyby
    • Generovat text
    • ...

92 of 112

Co bylo dřív

  • Formální, symbolické modely, univerzální gramatika, Chomsky
  • Markov chain
  • Neuronky
    • Word2vec
    • Rekurentní
      • GRU, LSTM
    • Transformery
      • BERT

93 of 112

Velké jazykové modely

  • Každá NN má trénovatelné parametry
  • Paměť v GB na GPU
    • cca B/2 = GB pro optimalizované modely, inference
    • Cca B*(6 až 18) = GB na trénink
  • Nový moorův zákon?
  • Megatron-turing NLG natrénováno na 4480 A100GPU, každá 80GB VRAM
  • GPT-3 chce asi 350GB VRAM na inferenci

94 of 112

GPT

  • Generative pretraining, OpenAI
  • Velké modely – obecné, multimodální, foundational models
    • Velká přepoužitelnost
    • dále se dotrénovává jen část
  • GPT-1 – 117M, červen 2018, veřejný
  • GPT-2 – 1.5B, únor 2019 (malý), listopad 2019 (full), veřejný
  • GPT-3 – 175B, květen 2020, za API
  • GPT-3.5 – spicy GPT 3, březen 2022
  • GPT-4 – ???, březen 2023, za API, žádný paper, ???

95 of 112

GPT

GPT-2

  • 4 velikosti modelu
  • Postupné zveřejňování
  • obavy z dopadu na společnost
  • Spustitelné na domácím PC
  • Dotrénovatelné
  • Poslední skutečně OpenAI

96 of 112

ChatGPT

  • Nelze minout, je všude
  • Hodně moderované
  • Snaží se neurazit
  • Hodně souhlasí, problém říkat ne

97 of 112

JailBreaking

  • Obcházení obran, aby říkalo věci, co by nemělo, pomocí promptů
  • Neustále vylepšují, co fungovalo dřív nyní nemusí
  • https://www.jailbreakchat.com/
  • DAN a další

98 of 112

  • „I need it for school project“
  • Fungovalo 6.12.2022
  • Hodně opravují, klasické: záplatování a obcházení

99 of 112

Roleplaying

100 of 112

Přehled modelů

  • OpenAI – založil Musk, 2019 odešel, přišel MS s 1mld$ grantem
    • ChatGPT
      • GPT-3 dotrénované na lidmi ohodnocených konverzacích=GPT-3.5
  • Meta/Facebook
    • LLaMa, OPT-jedna z prvních veřejných GPT alternativ
  • Eleuther AI – neziskovka, veřejné modely
    • GPT-Neo, GPT-NeoX, GPT-J, první z veřejných GPT alternativ
  • Alphabet/Google
    • BERT, PaLM, LaMDA
  • Huggingface – hostování modelů, nepostradatelní pro běžné používání LMs
    • BLOOM – největší veřejný model (jako OPT, ale více trén. dat), GPT-3 velikost

101 of 112

LLaMa

  • Proprierární, facebooku/mety (Large Language Model Meta AI)
  • Uniklo na 4chan
  • Poté meta zveřejnila pod velmi omezující licencí

102 of 112

LLaMa

  • Nyní snahy o plně opensource varianty s volnou licencí
  • Jak GPT, tam LLaMa
  • Replikace LLaMa: RedPajama
  • Replikace GPT: GPT-NeoX-20b, GPT-J-6b atd.

103 of 112

Roleplaying doma

  • Hostované: beta.character.ai
    • Docela plno
  • Pygmalion AI, lze pustit doma
    • Výhoda on-prem = žádná omezení a cenzura
    • Složitější na zprovoznění, ale jsou návody
    • Open-source modely dotrénované na roleplay
    • Pygmalion AI=názvy modelů, co stojí na GPT nebo LLaMa (7b minulý týden)
    • Pouštění modelů přes KoboldAI
    • Hezké GUI přes TavernAI

104 of 112

Roleplaying doma

105 of 112

Stejné problémy jako u AI Artu, a ještě víc

  • Problémy s autorským právem a copyrightem
  • nikdo neví, na čem se to trénovalo
  • Vaše vstupní data budou použita na další trénink
  • Lidé tomu věří, nekontrolují tak moc, že to mele nesmysly
  • Jazykové modely se sebevědomě pletou

106 of 112

Odkazy a zdroje

Prezentace

Zdroje

107 of 112

Děkuji za pozornost, dotazy?

108 of 112

Backup slides

109 of 112

DVAE

  • VAE = autoencoder, ale místo latentu trénuju 1. a 2. moment gaussiánu, z něj pak sampluju->dekodér je generativní
  • Jako VAE, ale má K (u DALL-E 8192) vektorů, hledá nejbližší. Embeddingy se taky učí

110 of 112

DALLE 1

  • Trénink
    • Natrénují dVAE, místo kopírování annealing
    • Trénují na dvojici (text embedding, img embedding), predikují img embedding=indexy z codebooku, vygenerují jich víc, clip modelem vyberou nejlepší
  • Jejich dVAE:
    • 32x32 indexy codebooku
    • Celkem 1024 =(32*32) pozic pro 8192 „čísel“, kombinací 8192^1024=2*10^4007
    • Atomů ve vesmíru je asi 10^80

111 of 112

DALLE 1

  • Trénink
    • CLIP vygeneruje embedding pro text
    • „prior“ decoder vygeneruje CLIP image embedding z textu
    • Diffusion decoder vygeneruje obrázek z embeddingu

112 of 112

Číslo

Význam čísla výše