Žijeme vo vzrušujúcich časoch, každý týždeň oznamujeme najnovšie technológie. OpenAI práve vydalo špičkový model prevodu textu na obrázok DALLE 2.
Len niekoľko ľudí získalo skorý prístup k novému systému AI, ktorý dokáže generovať realistickú grafiku z opisov v prirodzenom jazyku. Pre verejnosť je stále uzavretý.
Stability AI potom vydala Stabilná difúzia model, open-source variant DALLE2. Toto spustenie všetko zmenilo. Ľudia na celom internete publikovali rýchle výsledky a boli prekvapení realistickým umením.
Čo je stabilná difúzia?
Stabilná difúzia je model strojového učenia schopný vytvárať obrázky z textu, meniť obrázky v závislosti od textu a vypĺňať detaily na obrázkoch s nízkym rozlíšením alebo málo detailov.
Bol trénovaný na miliardách fotografií a môže priniesť výsledky ekvivalentné DALL-E2 a MidJourney. Stabilita AI vynašiel a bol zverejnený 22. augusta 2022.
Ale s obmedzenými lokálnymi výpočtovými zdrojmi trvá modelu Stable Diffusion dlho, kým vytvorí obrázky vysokej kvality. Spustenie modelu online pomocou cloudového poskytovateľa nám poskytuje takmer nekonečné výpočtové zdroje a umožňuje nám oveľa rýchlejšie získať vynikajúce výsledky.
Hostenie modelu ako mikroslužby tiež umožňuje iným kreatívnym aplikáciám ľahšie využívať potenciál modelu bez toho, aby sa museli zaoberať zložitosťou spustenia modelov ML online.
V tomto príspevku sa pokúsime ukázať, ako vyvinúť stabilný model šírenia a nasadiť ho do AWS.
Vybudujte a nasaďte stabilnú difúziu
BentoML a Amazon Web Services EC2 sú dve možnosti online hosťovania modelu Stable Diffusion. BentoML je open-source framework na škálovanie strojové učenie služby. S BentoML vybudujeme spoľahlivú službu rozptylu a nasadíme ju do AWS EC2.
Príprava prostredia a stiahnutie stabilného modelu difúzie
Nainštalujte požiadavky a naklonujte úložisko.
Môžete si vybrať a stiahnuť model Stable Diffusion. Jednoduchá presnosť je vhodná pre CPU alebo GPU s viac ako 10 GB VRAM. Polovičná presnosť je ideálna pre GPU s menej ako 10 GB VRAM.
Budovanie stabilnej difúzie
Vybudujeme službu BentoML, ktorá bude slúžiť modelu za a RESTful API. Nasledujúci príklad používa model s jednou presnosťou na predikciu a modul service.py na pripojenie služby k obchodnej logike. Funkcie môžeme vystaviť ako API tak, že ich označíme @svc.api.
Ďalej môžeme v parametroch definovať typy vstupov a výstupov API. Napríklad koncový bod txt2img prijíma vstup JSON a vytvára obrazový výstup, zatiaľ čo koncový bod img2img prijíma obraz a vstup JSON a vracia obrazový výstup.
StableDiffusionRunnable definuje základnú logiku odvodenia. Runnable má na starosti spustenie metód potrubia txt2img modelu a odosielanie príslušných vstupov. Na spustenie logiky odvodenia modelu v rozhraniach API je vytvorený vlastný Runner zo StableDiffusionRunnable.
Potom použite nasledujúci príkaz na spustenie služby BentoML na testovanie. Miestne prevádzkované Model stabilnej difúzie záver o CPU je dosť pomalý. Spracovanie každej žiadosti bude trvať približne 5 minút.
Text na obrázok
Výstup textu na obrázok
Súbor bentofile.yaml definuje požadované súbory a závislosti.
Pomocou príkazu nižšie postavte bento. Bento je distribučný formát pre službu BentoML. Je to samostatný archív, ktorý obsahuje všetky údaje a konfigurácie potrebné na spustenie služby.
Stabilné difúzne bento bolo dokončené. Ak ste neboli schopní správne vygenerovať bento, neprepadajte panike; vopred zostavený model si môžete stiahnuť pomocou príkazov uvedených v nasledujúcej časti.
Vopred zostavené modely
Nasledujú vopred zostavené modely:
Nasaďte model stabilnej difúzie na EC2
Na nasadenie bento do EC2 použijeme bentoctl. bentoctl vám umožní nasadiť vaše bentos na ľubovoľné cloudová platforma pomocou Terraformu. Ak chcete vytvoriť a použiť súbory Terraform, nainštalujte operátor AWS EC2.
V súbore nasadenia config.yaml je nasadenie už nakonfigurované. Neváhajte a upravte podľa svojich požiadaviek. Bento je štandardne nasadené na hostiteľovi g4dn.xlarge s Deep Learning AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI v regióne us-west-1.
Teraz vytvorte súbory Terraform. Vytvorte obrázok Docker a nahrajte ho do AWS ECR. V závislosti od vašej šírky pásma môže nahrávanie obrázkov trvať dlho. Pri nasadení bento do AWS EC2 použite súbory Terraform.
Ak chcete získať prístup k používateľskému rozhraniu Swagger, pripojte sa ku konzole EC2 a otvorte verejnú IP adresu v prehliadači. Nakoniec, ak služba Stable Diffusion BentoML už nie je potrebná, odstráňte nasadenie.
záver
Mali by ste byť schopní vidieť, aké fascinujúce a výkonné sú SD a jej sprievodné modely. Čas ukáže, či budeme koncept ďalej opakovať alebo prejdeme k sofistikovanejším prístupom.
V súčasnosti však prebiehajú iniciatívy na trénovanie väčších modelov s úpravami pre lepšie uchopenie okolia a pokynov. Pokúsili sme sa vyvinúť službu Stable Diffusion pomocou BentoML a nasadiť ju do AWS EC2.
Podarilo sa nám spustiť model Stable Diffusion na výkonnejšom hardvéri, vytvárať obrázky s nízkou latenciou a presahovať rámec jedného počítača nasadením služby na AWS EC2.
Nechaj odpoveď