Žijeme ve vzrušující době a každý týden přicházíme s oznámeními o nejmodernějších technologiích. OpenAI právě vydala špičkový model pro převod textu na obrázek DALLE 2.
Pouze několik lidí získalo včasný přístup k novému systému umělé inteligence, který dokáže generovat realistickou grafiku z popisů v přirozeném jazyce. Pro veřejnost je stále uzavřen.
Stability AI pak vydala Stabilní difúze model, open-source varianta DALLE2. Toto spuštění vše změnilo. Lidé na celém internetu publikovali rychlé výsledky a byli překvapeni realistickým uměním.
Co je stabilní difúze?
Stabilní difúze je model strojového učení schopný vytvářet obrázky z textu, měnit obrázky v závislosti na textu a vyplňovat detaily na obrázcích s nízkým rozlišením nebo s nízkými detaily.
Byl trénován na miliardách fotografií a může přinést výsledky ekvivalentní DALL-E2 a MidJourney. Stabilita AI vynalezl a byl zveřejněn 22. srpna 2022.
S omezenými místními výpočetními zdroji však modelu Stable Diffusion trvá vytvoření vysoce kvalitních obrázků dlouho. Spuštění modelu online pomocí cloudového poskytovatele nám poskytuje téměř nekonečné výpočetní zdroje a umožňuje nám dosáhnout vynikajících výsledků mnohem rychleji.
Hostování modelu jako mikroslužby také umožňuje dalším kreativním aplikacím snadněji využívat potenciál modelu, aniž by se musely zabývat složitostí spouštění modelů ML online.
V tomto příspěvku se pokusíme demonstrovat, jak vyvinout stabilní model difúze a nasadit jej do AWS.
Vybudujte a nasaďte stabilní difúzi
BentoML a Amazon Web Services EC2 jsou dvě možnosti pro online hostování modelu Stable Diffusion. BentoML je open-source framework pro škálování strojové učení služby. S BentoML vybudujeme spolehlivou službu rozptylování a nasadíme ji do AWS EC2.
Příprava prostředí a stažení stabilního difúzního modelu
Nainstalujte požadavky a naklonujte úložiště.
Můžete si vybrat a stáhnout model Stable Diffusion. Jednoduchá přesnost je vhodná pro CPU nebo GPU s více než 10 GB paměti VRAM. Poloviční přesnost je ideální pro GPU s méně než 10 GB VRAM.
Budování stabilní difúze
Vybudujeme službu BentoML, která bude sloužit modelu za a RESTful API. Následující příklad používá model jediné přesnosti pro predikci a modul service.py pro připojení služby k obchodní logice. Funkce můžeme vystavit jako API tak, že je označíme @svc.api.
Dále můžeme v parametrech definovat typy vstupu a výstupu API. Koncový bod txt2img například přijímá vstup JSON a vytváří výstup obrázku, zatímco koncový bod img2img přijímá vstup obrázku a JSON a vrací výstup obrázku.
StableDiffusionRunnable definuje základní logiku odvození. Runnable má na starosti spouštění metod potrubí txt2img modelu a odesílání příslušných vstupů. Pro spouštění logiky odvození modelu v rozhraních API je vytvořen vlastní Runner ze StableDiffusionRunnable.
Poté pomocí následujícího příkazu spusťte službu BentoML pro testování. Lokálně běžící Stabilní difúzní model závěry o CPU jsou poměrně pomalé. Zpracování každé žádosti zabere přibližně 5 minut.
Text k obrázku
Výstup textu na obrázek
Soubor bentofile.yaml definuje požadované soubory a závislosti.
Pomocí příkazu níže postavte bento. Bento je distribuční formát pro službu BentoML. Jedná se o samostatný archiv, který obsahuje všechna data a konfigurace potřebné ke spuštění služby.
Stabilní difúzní bento bylo dokončeno. Pokud jste nebyli schopni správně vygenerovat bento, nepropadejte panice; předem sestavený model si můžete stáhnout pomocí příkazů uvedených v další části.
Předpřipravené modely
Následují předpřipravené modely:
Nasaďte model stabilní difúze na EC2
K nasazení bento do EC2 použijeme bentoctl. bentoctl vám umožní nasadit vaše bentos na libovolné cloudová platforma pomocí Terraformu. Chcete-li sestavit a použít soubory Terraform, nainstalujte operátor AWS EC2.
V souboru config.yaml nasazení již bylo nasazení nakonfigurováno. Neváhejte a upravte podle svých požadavků. Bento je standardně nasazeno na hostiteli g4dn.xlarge s Hluboké učení AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI v oblasti us-west-1.
Nyní vytvořte soubory Terraform. Vytvořte obrázek Docker a nahrajte jej do AWS ECR. V závislosti na vaší šířce pásma může nahrávání obrázku trvat dlouho. Při nasazení bento do AWS EC2 použijte soubory Terraform.
Pro přístup k uživatelskému rozhraní Swagger se připojte ke konzoli EC2 a otevřete veřejnou IP adresu v prohlížeči. Nakonec, pokud již není vyžadována služba Stable Diffusion BentoML, odeberte nasazení.
Proč investovat do čističky vzduchu?
Měli byste být schopni vidět, jak fascinující a výkonné SD a jeho doprovodné modely jsou. Čas ukáže, zda budeme koncept dále opakovat, nebo přejdeme k sofistikovanějším přístupům.
V současné době však probíhají iniciativy k výcviku větších modelů s úpravami pro lepší uchopení okolí a pokynů. Pokusili jsme se vyvinout službu Stable Diffusion pomocí BentoML a nasadit ji do AWS EC2.
Podařilo se nám spustit model Stable Diffusion na výkonnějším hardwaru, vytvářet obrázky s nízkou latencí a rozšířit se za hranice jednoho počítače nasazením služby na AWS EC2.
Napsat komentář