Përmbajtje[Fshih][Shfaqje]
Ne jetojmë në kohë emocionuese, me njoftime për teknologjinë më të fundit çdo javë. OpenAI sapo publikoi modelin më të avancuar të tekstit në imazh DALLE 2.
Vetëm disa njerëz fituan qasje të hershme në një sistem të ri të AI që mund të gjenerojë grafikë realiste nga përshkrimet e gjuhëve natyrore. Ajo është ende e mbyllur për publikun.
Stabiliteti AI më pas lëshoi Difuzion i qëndrueshëm model, një variant me burim të hapur të DALLE2. Kjo nisje ka ndryshuar gjithçka. Njerëzit në të gjithë internetin po publikonin rezultate të shpejta dhe po befasoheshin nga arti realist.
Çfarë është Difuzioni i Qëndrueshëm?
Difuzion i qëndrueshëm është një model i mësimit të makinës i aftë për të krijuar imazhe nga teksti, për të ndryshuar imazhet në varësi të tekstit dhe për të plotësuar detajet në imazhe me rezolucion të ulët ose me detaje të ulëta.
Është trajnuar në miliarda foto dhe mund të japë rezultate të barabarta me DALL-E2 MidJourney. Stabiliteti AI e shpiku dhe u bë publike më 22 gusht 2022.
Por me burime të kufizuara llogaritëse lokale, modelit të Difuzionit të Qëndrueshëm i duhet shumë kohë për të krijuar fotografi me cilësi të lartë. Ekzekutimi i modelit në internet duke përdorur një ofrues cloud na siguron burime llogaritëse pothuajse të pafundme dhe na lejon të marrim rezultate të shkëlqyera shumë më shpejt.
Pritja e modelit si një mikroshërbim gjithashtu lejon aplikacionet e tjera krijuese të shfrytëzojnë më lehtë potencialin e modelit pa pasur nevojë të merren me kompleksitetin e ekzekutimit të modeleve ML në internet.
Në këtë postim, ne do të përpiqemi të demonstrojmë se si të zhvillojmë një model të qëndrueshëm të difuzionit dhe ta vendosim atë në AWS.
Ndërtimi dhe vendosja e difuzionit të qëndrueshëm
BentoML dhe Amazon Web Services EC2 janë dy opsione për të pritur modelin Stable Diffusion në internet. BentoML është një kornizë me burim të hapur për shkallëzimin Mësimi makinë shërbimet. Me BentoML, ne do të ndërtojmë një shërbim të besueshëm dispersioni dhe do ta vendosim atë në AWS EC2.
Përgatitja e mjedisit dhe shkarkimi i modelit të difuzionit të qëndrueshëm
Instaloni kërkesat dhe klononi depon.
Mund të zgjidhni dhe shkarkoni modelin e Difuzionit të Qëndrueshëm. Precisioni i vetëm është i përshtatshëm për CPU ose GPU me më shumë se 10 GB VRAM. Gjysma e saktësisë është ideale për GPU me më pak se 10 GB VRAM.
Ndërtimi i Difuzionit të Qëndrueshëm
Ne do të ndërtojmë një shërbim BentoML për t'i shërbyer modelit pas një API e RESTful. Shembulli i mëposhtëm përdor modelin e vetëm të saktësisë për parashikimin dhe modulin service.py për të lidhur shërbimin me logjikën e biznesit. Ne mund t'i ekspozojmë funksionet si API duke i etiketuar me @svc.api.
Për më tepër, ne mund të përcaktojmë llojet e hyrjes dhe daljes së API-ve në parametra. Pika fundore txt2img, për shembull, merr një hyrje JSON dhe prodhon një dalje Image, ndërsa pika fundore img2img pranon një hyrje Image dhe JSON dhe kthen një dalje Image.
Një StableDiffusionRunnable përcakton logjikën thelbësore të përfundimit. Runnable është përgjegjës për ekzekutimin e metodave të tubit txt2img të modelit dhe dërgimin e hyrjeve përkatëse. Për ekzekutimin e logjikës së konkluzionit të modelit në API, ndërtohet një Runner i personalizuar nga StableDiffusionRunnable.
Më pas, përdorni komandën e mëposhtme për të nisur një shërbim BentoML për testim. Drejtimin në nivel lokal të Modeli i Difuzionit të Qëndrueshëm përfundimi mbi CPU-të është mjaft i ngadaltë. Çdo kërkesë do të marrë rreth 5 minuta për t'u përpunuar.
Teksti në imazh
Prodhimi tekst në imazh
Skedari bentofile.yaml përcakton skedarët dhe varësitë e kërkuara.
Përdorni komandën e mëposhtme për të ndërtuar një bento. Një Bento është formati i shpërndarjes për një shërbim BentoML. Është një arkiv i pavarur që përmban të gjitha të dhënat dhe konfigurimet e nevojshme për të nisur shërbimin.
Bento e Difuzionit të Qëndrueshëm ka përfunduar. Nëse nuk keni qenë në gjendje të gjeneroni siç duhet bento, mos u frikësoni; ju mund të shkarkoni modelin e para-ndërtuar duke përdorur komandat e renditura në seksionin tjetër.
Modelet e para-ndërtimit
Më poshtë janë modelet e para-ndërtimit:
Vendosni modelin e difuzionit të qëndrueshëm në EC2
Për të vendosur bento në EC2, ne do të përdorim bentoctl. bentoctl mund t'ju lejojë të vendosni bentos tuaj në ndonjë platformë re duke përdorur Terraform. Për të ndërtuar dhe aplikuar skedarë Terraform, instaloni operatorin AWS EC2.
Në skedarin e vendosjes config.yaml, vendosja tashmë është konfiguruar. Ju lutem mos ngurroni të modifikoni sipas kërkesave tuaja. Bento është vendosur si parazgjedhje në një host g4dn.xlarge me Mësim i thellë AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI në rajonin us-west-1.
Krijo skedarët Terraform tani. Krijoni imazhin Docker dhe ngarkoni atë në AWS ECR. Në varësi të gjerësisë së brezit tuaj, ngarkimi i imazhit mund të zgjasë shumë. Kur vendosni bento në AWS EC2, përdorni skedarët Terraform.
Për të hyrë në Swagger UI, lidheni me tastierën EC2 dhe hapni adresën IP publike në një shfletues. Së fundi, nëse shërbimi BentoML i Difuzionit të Qëndrueshëm nuk kërkohet më, hiqni vendosjen.
Përfundim
Ju duhet të jeni në gjendje të shihni se sa magjepsëse dhe të fuqishme janë SD dhe modelet e saj shoqëruese. Koha do të tregojë nëse do ta përsërisim më tej konceptin apo do të kalojmë në qasje më të sofistikuara.
Megjithatë, aktualisht janë duke u zhvilluar nisma për të trajnuar modele më të mëdha me rregullime për të kuptuar më mirë mjedisin dhe udhëzimet. Ne u përpoqëm të zhvillonim shërbimin e difuzionit të qëndrueshëm duke përdorur BentoML dhe e vendosëm atë në AWS EC2.
Ne ishim në gjendje të ekzekutonim modelin Stable Diffusion në një pajisje më të fuqishme, të krijonim fotografi me vonesë të ulët dhe të shtriheshim përtej një kompjuteri të vetëm duke vendosur shërbimin në AWS EC2.
Lini një Përgjigju