Gyvename įdomiais laikais, kiekvieną savaitę skelbiame apie pažangiausias technologijas. OpenAI ką tik išleido pažangiausią teksto į vaizdą modelį DALLE 2.
Tik keli žmonės iš anksto gavo prieigą prie naujos AI sistemos, kuri gali sukurti tikrovišką grafiką iš natūralios kalbos aprašymų. Jis vis dar uždarytas visuomenei.
Stabilumo AI tada išleido Stabili difuzija modelis, atvirojo kodo DALLE2 variantas. Šis paleidimas pakeitė viską. Žmonės visame internete skelbė greitus rezultatus ir buvo nustebinti tikroviško meno.
Kas yra stabili difuzija?
Stabili difuzija yra mašininio mokymosi modelis, galintis kurti vaizdus iš teksto, keisti vaizdus priklausomai nuo teksto ir užpildyti mažos skiriamosios gebos arba mažai detalių vaizdų detales.
Jis buvo apmokytas naudojant milijardus nuotraukų ir gali duoti lygiaverčius rezultatus DALL-E2 ir Kelionės vidurys. Stabilumo AI išrado jį, o 22 m. rugpjūčio 2022 d.
Tačiau esant ribotiems vietiniams skaičiavimo ištekliams, stabilios difuzijos modelis užtrunka ilgai, kol sukuriamos aukštos kokybės nuotraukos. Modelio vykdymas internete naudojant debesų paslaugų teikėją suteikia beveik begalinius skaičiavimo išteklius ir leidžia daug greičiau pasiekti puikių rezultatų.
Modelio priegloba kaip mikropaslauga taip pat leidžia kitoms kūrybinėms programoms lengviau išnaudoti modelio potencialą, nesusiduriant su ML modelių paleidimo internete sudėtingumo problemomis.
Šiame įraše bandysime parodyti, kaip sukurti stabilų difuzijos modelį ir pritaikyti jį AWS.
Sukurkite ir įdiekite stabilią difuziją
BentoML ir „Amazon Web Services EC2“ yra dvi stabilios difuzijos modelio prieglobos internete parinktys. „BentoML“ yra atvirojo kodo mastelio keitimo sistema mašininis mokymasis paslaugos. Su BentoML sukursime patikimą sklaidos paslaugą ir įdiegsime ją AWS EC2.
Aplinkos paruošimas ir stabilios difuzijos modelio atsisiuntimas
Įdiekite reikalavimus ir klonuokite saugyklą.
Galite pasirinkti ir atsisiųsti „Stable Diffusion“ modelį. Single precision tinka CPU arba GPU, turintiems daugiau nei 10 GB VRAM. Pusinis tikslumas idealiai tinka GPU, turintiems mažiau nei 10 GB VRAM.
Stabilios difuzijos kūrimas
Sukursime „BentoML“ paslaugą, kuri aptarnautų modelį, esantį už a RESTful API. Šiame pavyzdyje naudojamas vienas tikslumo modelis numatymui ir service.py modulis paslaugai prijungti prie verslo logikos. Funkcijas galime atskleisti kaip API, pažymėdami jas @svc.api.
Be to, parametruose galime apibrėžti API įvesties ir išvesties tipus. Pavyzdžiui, txt2img galutinis taškas gauna JSON įvestį ir sukuria vaizdo išvestį, o img2img galutinis taškas priima vaizdo ir JSON įvestį ir grąžina vaizdo išvestį.
StableDiffusionRunnable apibrėžia esminę išvadų logiką. Vykdomasis yra atsakingas už modelio txt2img vamzdžio metodų paleidimą ir atitinkamų įvesties duomenų siuntimą. Norint paleisti modelio išvadų logiką API, tinkintas Runner yra sukurtas iš StableDiffusionRunnable.
Tada naudokite šią komandą, kad paleistumėte „BentoML“ paslaugą testavimui. Vietoje veikia Stabilios difuzijos modelis Išvados apie procesorius yra gana vangios. Kiekvienos užklausos apdorojimas užtruks apie 5 minutes.
Tekstas į paveikslėlį
Teksto į vaizdą išvestis
Failas bentofile.yaml apibrėžia reikiamus failus ir priklausomybes.
Norėdami sukurti bento, naudokite toliau pateiktą komandą. „Bento“ yra „BentoML“ paslaugos platinimo formatas. Tai yra savarankiškas archyvas, kuriame yra visi duomenys ir konfigūracijos, reikalingos paslaugai pradėti.
Stabilios difuzijos bento buvo baigtas. Jei nepavyko tinkamai sugeneruoti bento, nepanikuokite; galite atsisiųsti iš anksto sukurtą modelį naudodami komandas, nurodytas kitame skyriuje.
Iš anksto sukurti modeliai
Toliau pateikiami iš anksto sukurti modeliai:
Įdiekite stabilios difuzijos modelį į EC2
Norėdami įdiegti bento į EC2, naudosime bentoctl. bentoctl gali leisti panaudoti savo bentos bet kuriam debesies platforma naudojant Terraform. Norėdami sukurti ir pritaikyti Terraform failus, įdiekite AWS EC2 operatorių.
Diegimo config.yaml faile diegimas jau sukonfigūruotas. Nedvejodami redaguokite pagal savo poreikius. „Bento“ pagal numatytuosius nustatymus yra įdiegtas g4dn.xlarge pagrindiniame kompiuteryje su Gilus mokymasis AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI us-west-1 regione.
Dabar sukurkite Terraform failus. Sukurkite „Docker“ vaizdą ir įkelkite jį į AWS ECR. Atsižvelgiant į pralaidumą, vaizdo įkėlimas gali užtrukti ilgai. Diegdami bento į AWS EC2, naudokite Terraform failus.
Norėdami pasiekti „Swagger“ vartotojo sąsają, prisijunkite prie EC2 konsolės ir naršyklėje atidarykite viešąjį IP adresą. Galiausiai, jei „Stable Diffusion BentoML“ paslauga nebereikalinga, pašalinkite diegimą.
Išvada
Turėtumėte matyti, kokie žavūs ir galingi yra SD ir jo papildomi modeliai. Laikas parodys, ar toliau kartosime koncepciją, ar pereisime prie sudėtingesnių metodų.
Tačiau šiuo metu vykdomos iniciatyvos apmokyti didesnius modelius su pritaikymais, kad būtų galima geriau suvokti aplinką ir instrukcijas. Bandėme sukurti „Stable Diffusion“ paslaugą naudodami „BentoML“ ir įdiegėme ją AWS EC2.
„Stable Diffusion“ modelį galėjome paleisti naudojant galingesnę aparatinę įrangą, sukurti mažos delsos nuotraukas ir išplėsti ne tik vieną kompiuterį, įdiegę paslaugą AWS EC2.
Palikti atsakymą