Mēs dzīvojam aizraujošā laikā, un katru nedēļu tiek rādīti paziņojumi par jaunākajām tehnoloģijām. OpenAI tikko izlaida visprogresīvāko teksta pārveides attēlu modeli DALLE 2.
Tikai daži cilvēki ieguva agrīnu piekļuvi jaunai AI sistēmai, kas var ģenerēt reālistisku grafiku no aprakstiem dabiskā valodā. Tas joprojām ir slēgts sabiedrībai.
Stabilitātes AI pēc tam izlaida Stabila difūzija modelis, DALLE2 atvērtā koda variants. Šī palaišana ir mainījusi visu. Cilvēki visā internetā publicēja ātrus rezultātus un bija pārsteigti par reālistisku mākslu.
Kas ir stabila difūzija?
Stabila difūzija ir mašīnmācīšanās modelis, kas spēj izveidot attēlus no teksta, mainīt attēlus atkarībā no teksta un aizpildīt informāciju par zemas izšķirtspējas vai zemas detalizācijas attēliem.
Tas tika apmācīts miljardiem fotoattēlu, un tas var nodrošināt līdzvērtīgus rezultātus DALL-E2 un MidJourney. Stabilitātes AI izgudroja to, un tas tika publiskots 22. gada 2022. augustā.
Taču ar ierobežotiem vietējiem skaitļošanas resursiem stabilās difūzijas modelim nepieciešams ilgs laiks, lai izveidotu augstas kvalitātes attēlus. Modeļa palaišana tiešsaistē, izmantojot mākoņpakalpojumu sniedzēju, nodrošina mums gandrīz bezgalīgus skaitļošanas resursus un ļauj iegūt izcilus rezultātus daudz ātrāk.
Modeļa mitināšana kā mikropakalpojums ļauj arī citām radošajām lietotnēm vieglāk izmantot modeļa potenciālu, neriskējot ar ML modeļu palaišanas sarežģītību tiešsaistē.
Šajā amatā mēs mēģināsim parādīt, kā izveidot stabilu difūzijas modeli un izvietot to AWS.
Izveidojiet un izvietojiet stabilu difūziju
BentoML un Amazon Web Services EC2 ir divas iespējas stabilas difūzijas modeļa mitināšanai tiešsaistē. BentoML ir atvērtā pirmkoda mērogošanas ietvars mašīna mācīšanās pakalpojumus. Izmantojot BentoML, mēs izveidosim uzticamu izkliedes pakalpojumu un izvietosim to AWS EC2.
Vides sagatavošana un stabila difūzijas modeļa lejupielāde
Instalējiet prasības un klonējiet repozitoriju.
Jūs varat izvēlēties un lejupielādēt Stable Diffusion modeli. Viena precizitāte ir piemērota CPU vai GPU ar lielāku par 10 GB VRAM. Puse precizitāte ir ideāli piemērota GPU ar mazāk nekā 10 GB VRAM.
Stabilas difūzijas veidošana
Mēs izveidosim BentoML pakalpojumu, lai apkalpotu modeli aiz a RESTful API. Tālāk sniegtajā piemērā prognozēšanai tiek izmantots viens precizitātes modelis un modulis service.py, lai savienotu pakalpojumu ar biznesa loģiku. Mēs varam parādīt funkcijas kā API, atzīmējot tās ar @svc.api.
Turklāt mēs varam definēt API ievades un izvades veidus parametros. Piemēram, galapunkts txt2img saņem JSON ievadi un rada attēla izvadi, savukārt img2img galapunkts pieņem attēla un JSON ievadi un atgriež attēla izvadi.
StableDiffusionRunnable nosaka būtisko secinājumu loģiku. Izpildāmais ir atbildīgs par modeļa txt2img cauruļu metožu palaišanu un attiecīgo ievades datu nosūtīšanu. Modeļa secinājumu loģikas palaišanai API, pielāgots Runner tiek izveidots no StableDiffusionRunnable.
Pēc tam izmantojiet šo komandu, lai palaistu BentoML pakalpojumu testēšanai. Lokāli darbojas Stabilas difūzijas modelis secinājumi par CPU ir diezgan gausi. Katra pieprasījuma apstrāde aizņems apmēram 5 minūtes.
Teksts uz attēlu
Teksts uz attēla izvadi
Fails bentofile.yaml nosaka nepieciešamos failus un atkarības.
Izmantojiet tālāk norādīto komandu, lai izveidotu bento. Bento ir BentoML pakalpojuma izplatīšanas formāts. Tas ir autonoms arhīvs, kurā ir visi dati un konfigurācijas, kas nepieciešami pakalpojuma palaišanai.
Stabilas difūzijas bento ir pabeigts. Ja jūs nevarējāt pareizi ģenerēt bento, nekrītiet panikā; Jūs varat lejupielādēt iepriekš izveidotu modeli, izmantojot komandas, kas norādītas nākamajā sadaļā.
Iepriekš izveidotie modeļi
Tālāk ir norādīti iepriekš izveidotie modeļi:
Izvietojiet stabilās difūzijas modeli EC2
Lai izvietotu bento uz EC2, mēs izmantosim bentoctl. bentoctl var ļaut jums izvietot savu bentos jebkurā mākoņu platforma izmantojot Terraform. Lai izveidotu un lietotu Terraform failus, instalējiet AWS EC2 operatoru.
Izvietošanas failā config.yaml izvietošana jau ir konfigurēta. Lūdzu, rediģējiet atbilstoši savām prasībām. Bento pēc noklusējuma tiek izvietots g4dn.xlarge resursdatorā ar Dziļa mācīšanās AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI us-west-1 reģionā.
Izveidojiet Terraform failus tūlīt. Izveidojiet Docker attēlu un augšupielādējiet to AWS ECR. Atkarībā no joslas platuma attēlu augšupielāde var aizņemt ilgu laiku. Izvietojot bento AWS EC2, izmantojiet Terraform failus.
Lai piekļūtu Swagger lietotāja saskarnei, izveidojiet savienojumu ar EC2 konsoli un pārlūkprogrammā atveriet publisko IP adresi. Visbeidzot, ja Stabilas difūzijas BentoML pakalpojums vairs nav nepieciešams, noņemiet izvietošanu.
Secinājumi
Jums vajadzētu būt iespējai redzēt, cik aizraujoši un spēcīgi ir SD un tā pavadošie modeļi. Laiks rādīs, vai mēs atkārtosim šo koncepciju vai pāriesim uz sarežģītākām pieejām.
Tomēr pašlaik notiek iniciatīvas, lai apmācītu lielākus modeļus ar pielāgojumiem, lai labāk uztvertu apkārtni un norādījumus. Mēs mēģinājām izstrādāt Stabilas difūzijas pakalpojumu, izmantojot BentoML, un izvietojām to AWS EC2.
Mēs varējām palaist Stable Diffusion modeli ar jaudīgāku aparatūru, izveidot attēlus ar zemu latentumu un paplašināt darbību ārpus viena datora, izvietojot pakalpojumu AWS EC2.
Atstāj atbildi