Živimo v razburljivih časih, z objavami o najsodobnejši tehnologiji vsak teden. OpenAI je pravkar izdal vrhunski model besedila v sliko DALLE 2.
Le nekaj ljudi je pridobilo zgodnji dostop do novega sistema umetne inteligence, ki lahko ustvari realistično grafiko iz opisov v naravnem jeziku. Še vedno je zaprta za javnost.
Stabilnost AI je nato izdal Stabilna difuzija model, odprtokodna različica DALLE2. Ta izstrelitev je spremenila vse. Ljudje po vsem internetu so objavljali hitre rezultate in bili presenečeni nad realistično umetnostjo.
Kaj je stabilna difuzija?
Stabilna difuzija je model strojnega učenja, ki lahko ustvari slike iz besedila, spreminja slike glede na besedilo in izpolni podrobnosti na slikah z nizko ločljivostjo ali malo podrobnosti.
Učen je bil na milijardah fotografij in lahko zagotovi rezultate, enakovredne DALL-E2 in MidJourney. Stabilnost AI izumil, javno pa je bilo objavljeno 22. avgusta 2022.
Toda z omejenimi lokalnimi računalniškimi viri model stabilne difuzije potrebuje veliko časa za ustvarjanje visokokakovostnih slik. Izvajanje modela na spletu z uporabo ponudnika v oblaku nam zagotavlja skoraj neskončne računalniške vire in nam omogoča veliko hitrejše pridobivanje odličnih rezultatov.
Gostovanje modela kot mikrostoritve omogoča tudi drugim ustvarjalnim aplikacijam, da lažje izkoristijo potencial modela, ne da bi se morali ukvarjati s kompleksnostjo izvajanja modelov ML na spletu.
V tej objavi bomo poskušali pokazati, kako razviti stabilen difuzijski model in ga namestiti v AWS.
Zgradite in uvedite stabilno razširjanje
BentoML in Amazon Web Services EC2 sta dve možnosti za spletno gostovanje modela Stable Diffusion. BentoML je odprtokodno ogrodje za skaliranje strojno učenje storitve. Z BentoML bomo zgradili zanesljivo disperzijsko storitev in jo uvedli v AWS EC2.
Priprava okolja in prenos stabilnega difuzijskega modela
Namestite zahteve in klonirajte repozitorij.
Lahko izberete in prenesete model Stable Diffusion. Enojna natančnost je primerna za CPE ali GPE z več kot 10 GB VRAM-a. Polovična natančnost je idealna za grafične procesorje z manj kot 10 GB VRAM-a.
Izgradnja stabilne difuzije
Zgradili bomo storitev BentoML, ki bo služila modelu za a RESTful API. Naslednji primer uporablja model z enojno natančnostjo za napovedovanje in modul service.py za povezavo storitve s poslovno logiko. Funkcije lahko izpostavimo kot API-je, tako da jih označimo z @svc.api.
Poleg tega lahko v parametrih definiramo vhodne in izhodne vrste API-jev. Končna točka txt2img na primer prejme vhod JSON in ustvari izhod slike, medtem ko končna točka img2img sprejme vnos slike in JSON ter vrne izhod slike.
StableDiffusionRunnable definira bistveno logiko sklepanja. Runnable je zadolžen za izvajanje cevnih metod txt2img modela in pošiljanje ustreznih vhodnih podatkov. Za izvajanje logike sklepanja modela v API-jih je iz StableDiffusionRunnable izdelan tekalnik po meri.
Nato uporabite naslednji ukaz za zagon storitve BentoML za testiranje. Lokalno vodenje Model stabilne difuzije sklepanje o procesorjih je precej počasno. Obdelava vsake zahteve bo trajala približno 5 minut.
Besedilo v sliko
Izpis besedila v sliko
Datoteka bentofile.yaml definira zahtevane datoteke in odvisnosti.
Za izdelavo bento uporabite spodnji ukaz. Bento je distribucijski format za storitev BentoML. Je samostojen arhiv, ki vsebuje vse podatke in konfiguracije, potrebne za zagon storitve.
Stabilni difuzijski bento je bil dokončan. Če niste mogli pravilno ustvariti bento, brez panike; vnaprej zgrajeni model lahko prenesete z uporabo ukazov, navedenih v naslednjem razdelku.
Modeli pred izdelavo
Sledijo modeli pred izdelavo:
Namestite model stabilne difuzije v EC2
Za namestitev bento v EC2 bomo uporabili bentoctl. bentoctl vam lahko omogoči namestitev vaših bento na katero koli oblačna platforma z uporabo Terraforma. Če želite zgraditi in uporabiti datoteke Terraform, namestite operater AWS EC2.
V datoteki config.yaml za razmestitev je bila razmestitev že konfigurirana. Prosimo, da uredite po svojih zahtevah. Bento je privzeto nameščen na gostitelju g4dn.xlarge z Globoko učenje AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI v regiji us-west-1.
Zdaj ustvarite datoteke Terraform. Ustvarite sliko Docker in jo naložite v AWS ECR. Nalaganje slik lahko traja dolgo, odvisno od vaše pasovne širine. Pri uvajanju bento v AWS EC2 uporabite datoteke Terraform.
Za dostop do uporabniškega vmesnika Swagger se povežite s konzolo EC2 in odprite javni naslov IP v brskalniku. Nazadnje, če storitev Stable Diffusion BentoML ni več potrebna, odstranite uvedbo.
zaključek
Morali bi videti, kako fascinantni in zmogljivi so SD in njegovi spremljevalni modeli. Čas bo pokazal, ali bomo koncept nadaljevali ali prešli na bolj sofisticirane pristope.
Vendar pa trenutno potekajo pobude za usposabljanje večjih modelov s prilagoditvami za boljše razumevanje okolice in navodil. Poskušali smo razviti storitev Stable Diffusion z uporabo BentoML in jo uvesti v AWS EC2.
Model Stable Diffusion smo lahko zagnali na zmogljivejši strojni opremi, ustvarili slike z nizko zakasnitvijo in se razširili preko enega samega računalnika z uvedbo storitve na AWS EC2.
Pustite Odgovori