Wy libje yn spannende tiden, mei oankundigingen oer avansearre technology elke wike. OpenAI hat krekt it fernijende tekst-nei-ôfbylding model DALLE 2 frijlitten.
Allinich in pear minsken krigen betiid tagong ta in nij AI-systeem dat realistyske grafiken kin generearje út natuerlike taalbeskriuwingen. It is noch ticht foar publyk.
Stabiliteit AI doe útbrocht de Stabile Diffusion model, in iepen boarne fariant fan DALLE2. Dizze lansearring hat alles feroare. Minsken oer it hiele ynternet publisearren rappe resultaten en waarden ferrast troch realistyske keunst.
Wat is stabile diffusion?
Stabile Diffusion is in masine-learmodel dat by steat is om ôfbyldings te meitsjen fan tekst, ôfbyldings te feroarjen ôfhinklik fan 'e tekst, en details yn te foljen op ôfbyldings mei lege resolúsje as leech-detail.
It waard traind op miljarden foto's en kin resultaten leverje lykweardich oan DALL-E2 en MidJourney. Stabiliteit AI útfûn it, en it waard iepenbier makke op 22 augustus 2022.
Mar mei beheinde lokale berekkeningsboarnen duorret it stabile diffusion-model in lange tiid om foto's fan hege kwaliteit te meitsjen. It model online útfiere mei in wolkprovider biedt ús hast ûneinige berekkeningsboarnen en lit ús geweldige resultaten folle rapper krije.
It hostjen fan it model as in mikrotsjinst lit ek oare kreative apps it potensjeel fan it model makliker brûke sûnder de kompleksiteiten te meitsjen fan it online rinnen fan ML-modellen.
Yn dit post sille wy besykje te demonstrearjen hoe't jo in stabyl diffusionmodel kinne ûntwikkelje en it ynsette nei AWS.
Bouwe en ynsette stabile diffusion
BentoML en Amazon Web Services EC2 binne twa opsjes foar hosting fan it Stable Diffusion model online. BentoML is in iepen boarne ramt foar skaalfergrutting masine learen tsjinsten. Mei BentoML sille wy in betroubere dispersjonstsjinst bouwe en dizze ynsette nei AWS EC2.
De omjouwing tariede en stabile diffusionmodel downloade
Ynstallearje easken en klon it repository.
Jo kinne it Stable Diffusion-model selektearje en downloade. Single presyzje is geskikt foar CPU's as GPU's mei mear dan 10GB fan VRAM. Heale presyzje is ideaal foar GPU's mei minder dan 10GB VRAM.
Bouwe Stal Diffusion
Wy sille bouwe in BentoML tsjinst te tsjinjen it model efter in RESTful API. It folgjende foarbyld brûkt it ienige presyzjemodel foar foarsizzing en de service.py-module om de tsjinst te ferbinen mei bedriuwslogika. Wy kinne de funksjes bleatstelle as API's troch se te tagjen mei @svc.api.
Fierder kinne wy de ynfier- en útfiertypen fan de API's definiearje yn 'e parameters. It einpunt txt2img, bygelyks, ûntfangt in JSON-ynfier en produsearret in ôfbyldingsútfier, wylst it img2img-einpunt in ôfbylding en in JSON-ynput akseptearret en in ôfbyldingsútfier werombringt.
In StableDiffusionRunnable definiearret de essensjele konklúzjelogika. De runnable is ferantwurdlik foar it útfieren fan de txt2img-pipemetoaden fan it model en it ferstjoeren fan de relevante ynputs. Foar it útfieren fan de modelinferzjelogika yn 'e API's, wurdt in oanpaste Runner konstruearre út 'e StableDiffusionRunnable.
Brûk dan it folgjende kommando om in BentoML-tsjinst te begjinnen foar testen. Lokaal rint de Stabile Diffusion model konklúzje oer CPU's is nochal traach. Elk fersyk sil sawat 5 minuten nimme om te ferwurkjen.
Tekst nei ôfbylding
Tekst nei ôfbylding útfier
De bentofile.yaml triem definiearret de fereaske triemmen en ôfhinklikens.
Brûk it kommando hjirûnder om in bento te bouwen. In Bento is it distribúsjeformaat foar in BentoML-tsjinst. It is in selsstannich argyf dat alle gegevens en konfiguraasjes befettet dy't nedich binne om de tsjinst te begjinnen.
De Stable Diffusion bento is foltôge. As jo de bento net goed kinne generearje, panyk dan net; jo kinne foarôfboud model downloade mei de kommando's neamd yn 'e folgjende seksje.
Pre-build modellen
De folgjende binne de pre-build modellen:
Ynsette stabile diffusion model nei EC2
Om de bento nei EC2 yn te setten, sille wy bentoctl brûke. bentoctl kin jo jo bentos ynsette litte nei elk wolkeplatfoarm mei help fan Terraform. Om Terraform-bestannen te bouwen en oan te passen, ynstallearje de AWS EC2-operator.
Yn de ynset config.yaml triem is de ynset al konfigurearre. Fiel jo frij om te bewurkjen nei jo easken. De Bento wurdt standert ynset op in g4dn.xlarge host mei de Djippe learen AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI op 'e us-west-1-regio.
Meitsje de Terraform-bestannen no. Meitsje de Docker-ôfbylding en upload it nei AWS ECR. Ofhinklik fan jo bânbreedte kin it uploaden fan ôfbyldings lang duorje. By it ynsetten fan de bento nei AWS EC2, brûk de Terraform-bestannen.
Om tagong te krijen ta de Swagger UI, ferbine jo mei de EC2-konsole en iepenje it iepenbiere IP-adres yn in browser. As lêste, as de Stable Diffusion BentoML-tsjinst net langer nedich is, ferwiderje de ynset.
Konklúzje
Jo moatte kinne sjen hoe fassinearjend en machtich SD en syn begeliedersmodellen binne. De tiid sil fertelle as wy it konsept fierder sille iterearje of trochgean nei mear ferfine oanpak.
Dochs binne der op it stuit inisjativen ûnderweis om gruttere modellen mei oanpassingen op te trainen om de omjouwing en de ynstruksjes better te begripen. Wy hawwe besocht de tsjinst Stable Diffusion te ûntwikkeljen mei BentoML en hawwe it ynset op AWS EC2.
Wy koenen it Stable Diffusion-model útfiere op krêftiger hardware, meitsje ôfbyldings mei lege latency, en útwreidzje foarby in inkele kompjûter troch de tsjinst yn te setten op AWS EC2.
Leave a Reply