Við lifum á spennandi tímum, með tilkynningum um háþróaða tækni í hverri viku. OpenAI gaf nýlega út nýjasta texta-í-mynd líkanið DALLE 2.
Aðeins fáir fengu snemma aðgang að nýju gervigreindarkerfi sem getur búið til raunhæfa grafík út frá náttúrulegum tungumálalýsingum. Það er enn lokað almenningi.
Stability AI gaf síðan út Stöðugt dreifing líkan, opinn uppspretta afbrigði af DALLE2. Þessi kynning hefur breytt öllu. Fólk um allt netið birti skjótar niðurstöður og kom raunsærri list á óvart.
Hvað er stöðug dreifing?
Stöðugt dreifing er vélanámslíkan sem getur búið til myndir úr texta, breytt myndum eftir texta og fyllt út upplýsingar um myndir í lítilli upplausn eða litlum smáatriðum.
Það var þjálfað á milljörðum mynda og getur skilað árangri sem jafngildir DALL-E2 og MidJourney. Stöðugleiki AI fann það upp og það var gert opinbert 22. ágúst 2022.
En með takmörkuðum staðbundnum reiknitilföngum tekur Stable Diffusion líkanið langan tíma að búa til hágæða myndir. Að keyra líkanið á netinu með því að nota skýjaþjónustu veitir okkur næstum óendanlega reikningsúrræði og gerir okkur kleift að ná framúrskarandi árangri mun hraðar.
Að hýsa líkanið sem örþjónustu gerir einnig öðrum skapandi öppum kleift að nýta möguleika líkansins á auðveldari hátt án þess að þurfa að takast á við hversu flókið það er að keyra ML líkan á netinu.
Í þessari færslu munum við reyna að sýna fram á hvernig á að þróa stöðugt dreifingarlíkan og dreifa því á AWS.
Byggja og dreifa stöðugri dreifingu
BentoML og Amazon Web Services EC2 eru tveir möguleikar til að hýsa Stable Diffusion líkanið á netinu. BentoML er opinn rammi fyrir stærðarstærð vél nám þjónusta. Með BentoML munum við byggja upp áreiðanlega dreifingarþjónustu og dreifa henni á AWS EC2.
Undirbúa umhverfið og hlaða niður stöðugu dreifingarlíkani
Settu upp kröfur og klónaðu geymsluna.
Þú getur valið og hlaðið niður Stable Diffusion líkaninu. Ein nákvæmni er hentugur fyrir örgjörva eða GPU með meira en 10GB af VRAM. Hálf nákvæmni er tilvalin fyrir GPU með minna en 10GB VRAM.
Byggja stöðugt dreifingu
Við munum byggja upp BentoML þjónustu til að þjóna líkaninu á bak við a RESTful API. Eftirfarandi dæmi notar staka nákvæmnislíkanið fyrir spá og service.py eininguna til að tengja þjónustuna við viðskiptarökfræði. Við getum afhjúpað aðgerðirnar sem API með því að merkja þær með @svc.api.
Ennfremur getum við skilgreint inntaks- og úttakstegundir API í breytunum. txt2img endapunkturinn, til dæmis, fær JSON inntak og framleiðir myndúttak, en img2img endapunkturinn tekur við mynd og JSON inntak og skilar myndúttak.
StableDiffusionRunnable skilgreinir nauðsynlega ályktunarrökfræði. The runnable sér um að keyra txt2img pípuaðferðir líkansins og senda inn viðeigandi inntak. Til að keyra ályktunarrökfræði líkansins í API er sérsniðinn hlaupari smíðaður úr StableDiffusionRunnable.
Notaðu síðan eftirfarandi skipun til að hefja BentoML þjónustu til að prófa. Staðbundið reka Stöðugt dreifingarlíkan ályktun um örgjörva er frekar treg. Það tekur um 5 mínútur að afgreiða hverja beiðni.
Texti í mynd
Úttak texta í mynd
Bentofile.yaml skráin skilgreinir nauðsynlegar skrár og ósjálfstæði.
Notaðu skipunina hér að neðan til að búa til Bento. Bento er dreifingarsnið fyrir BentoML þjónustu. Það er sjálfstætt skjalasafn sem inniheldur öll gögn og stillingar sem þarf til að hefja þjónustuna.
Stöðugt dreifingarbentó hefur verið lokið. Ef þú varst ekki fær um að búa til bentóinn almennilega, ekki örvænta; þú getur halað niður forsmíðuðu líkani með því að nota skipanirnar sem taldar eru upp í næsta kafla.
Forsmíðaðar gerðir
Eftirfarandi eru forsmíðaðar gerðir:
Sendu stöðugt dreifingarlíkan á EC2
Til að dreifa bento til EC2 munum við nota bentoctl. bentoctl getur leyft þér að dreifa bentos þínum á hvaða sem er skýjapallur með Terraform. Til að byggja og nota Terraform skrár skaltu setja upp AWS EC2 rekstraraðila.
Í uppsetningarskránni config.yaml hefur uppsetningin þegar verið stillt. Vinsamlegast ekki hika við að breyta eftir þörfum þínum. Bento er sjálfgefið notað á g4dn.xlarge hýsil með Deep Learning AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI á us-west-1 svæðinu.
Búðu til Terraform skrárnar núna. Búðu til Docker myndina og hlaðið henni upp á AWS ECR. Það fer eftir bandbreidd þinni, upphleðsla myndar getur tekið langan tíma. Þegar bento er dreift á AWS EC2, notaðu Terraform skrárnar.
Til að fá aðgang að Swagger notendaviðmótinu skaltu tengjast EC2 stjórnborðinu og opna opinbera IP tölu í vafra. Að lokum, ef Stable Diffusion BentoML þjónustan er ekki lengur nauðsynleg, fjarlægðu dreifinguna.
Niðurstaða
Þú ættir að geta séð hversu heillandi og öflugt SD og fylgilíkön þess eru. Tíminn mun leiða í ljós hvort við munum endurtaka hugmyndina frekar eða fara yfir í flóknari nálgun.
Hins vegar eru nú átaksverkefni í gangi til að þjálfa stærri gerðir með lagfæringum til að átta sig betur á umhverfinu og leiðbeiningunum. Við reyndum að þróa Stable Diffusion þjónustuna með BentoML og sendum hana á AWS EC2.
Við gátum keyrt Stable Diffusion líkanið á öflugri vélbúnaði, búið til myndir með lítilli leynd og náð út fyrir eina tölvu með því að dreifa þjónustunni á AWS EC2.
Skildu eftir skilaboð