Izgalmas időket élünk, minden héten bejelentéseket teszünk a csúcstechnológiáról. Az OpenAI most kiadta a legmodernebb szöveg-képké alakító DALLE 2 modellt.
Csak kevesen jutottak korán hozzá egy új mesterséges intelligencia-rendszerhez, amely valósághű grafikát tud generálni természetes nyelvű leírásokból. Továbbra is zárva van a nyilvánosság előtt.
A Stabilitási AI ezután kiadta a Stabil diffúzió modell, a DALLE2 nyílt forráskódú változata. Ez az indítás mindent megváltoztatott. Az emberek szerte az interneten gyors eredményeket tettek közzé, és meglepték őket a valósághű művészet.
Mi az a stabil diffúzió?
Stabil diffúzió egy gépi tanulási modell, amely képes szövegből képeket létrehozni, a szövegtől függően módosítani a képeket, és kis felbontású vagy alacsony részletgazdagságú képeket kitölteni.
Több milliárd fotóra képezték ki, és ezzel egyenértékű eredményeket tud nyújtani DALL-E2 és a Mid Journey. Stabilitás AI kitalálta, és 22. augusztus 2022-én hozták nyilvánosságra.
De korlátozott helyi számítási erőforrások mellett a Stable Diffusion modell hosszú időt vesz igénybe a kiváló minőségű képek létrehozásához. A modell felhőszolgáltató segítségével történő online futtatása szinte végtelen számítási erőforrást biztosít számunkra, és sokkal gyorsabban érhetünk el kiváló eredményeket.
A modell mikroszolgáltatásként való tárolása lehetővé teszi más kreatív alkalmazások számára is, hogy könnyebben kiaknázzák a modellben rejlő lehetőségeket anélkül, hogy az ML-modellek online futtatásának bonyolultságával kellene megküzdeniük.
Ebben a bejegyzésben megpróbáljuk bemutatni, hogyan lehet stabil diffúziós modellt kifejleszteni és telepíteni az AWS-be.
Stabil diffúzió létrehozása és telepítése
BentoML és az Amazon Web Services EC2 két lehetőség a Stable Diffusion modell online tárolására. A BentoML egy nyílt forráskódú keretrendszer a méretezéshez gépi tanulás szolgáltatások. A BentoML segítségével megbízható diszperziós szolgáltatást építünk ki és telepítünk az AWS EC2-re.
A környezet előkészítése és a stabil diffúziós modell letöltése
Telepítse a követelményeket és klónozza a tárolót.
Kiválaszthatja és letöltheti a Stable Diffusion modellt. Az egyszeres precizitás 10 GB-nál nagyobb VRAM-mal rendelkező CPU-khoz vagy GPU-khoz alkalmas. A fél pontosság ideális a 10 GB-nál kevesebb VRAM-mal rendelkező GPU-khoz.
Stabil diffúzió építése
Építünk egy BentoML szolgáltatást a mögöttes modell kiszolgálására RESTful API. A következő példa az egyetlen precíziós modellt használja az előrejelzéshez és a service.py modult a szolgáltatás és az üzleti logika összekapcsolásához. A függvényeket API-ként tudjuk megjeleníteni, ha @svc.api címkével látjuk el őket.
Továbbá a paraméterekben meghatározhatjuk az API-k bemeneti és kimeneti típusait. A txt2img végpont például JSON-bemenetet kap, és képkimenetet hoz létre, míg az img2img-végpont elfogad egy képet és egy JSON-bemenetet, és egy képkimenetet ad vissza.
A StableDiffusionRunnable határozza meg az alapvető következtetési logikát. A futtatható a modell txt2img pipe metódusainak futtatásáért és a megfelelő bemenetek elküldéséért felelős. A modellkövetkeztetési logika API-kban való futtatásához egy egyéni futtató kerül összeállításra a StableDiffusionRunnable fájlból.
Ezután a következő paranccsal indítsa el a BentoML szolgáltatást tesztelésre. Helyben fut a Stabil diffúziós modell A CPU-kra vonatkozó következtetés meglehetősen lassú. Minden kérés feldolgozása körülbelül 5 percet vesz igénybe.
Szöveg képpé
Szöveg kép kimenet
A bentofile.yaml fájl meghatározza a szükséges fájlokat és függőségeket.
Használja az alábbi parancsot a bento elkészítéséhez. A Bento a BentoML szolgáltatás terjesztési formátuma. Ez egy önálló archívum, amely tartalmazza a szolgáltatás elindításához szükséges összes adatot és konfigurációt.
Elkészült a Stable Diffusion bento. Ha nem tudta megfelelően előállítani a bentót, ne essen pánikba; előre elkészített modellt tölthet le a következő részben felsorolt parancsok segítségével.
Előre elkészített modellek
Íme az előre elkészített modellek:
Telepítse a stabil diffúziós modellt az EC2-re
A bento EC2-re történő telepítéséhez bentoctl-t fogunk használni. A bentoctl lehetővé teszi, hogy a bentosokat bármelyikre telepítse felhő platform Terraform segítségével. A Terraform fájlok létrehozásához és alkalmazásához telepítse az AWS EC2 operátort.
A telepítési config.yaml fájlban a központi telepítés már konfigurálva van. Kérjük, bátran szerkessze igényei szerint. A Bento alapértelmezés szerint egy g4dn.xlarge gazdagépen van telepítve a Deep Learning AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI az us-west-1 régióban.
Most hozza létre a Terraform fájlokat. Hozza létre a Docker-képet, és töltse fel az AWS ECR-be. A sávszélességtől függően a képfeltöltés sokáig tarthat. A bento AWS EC2-ben való üzembe helyezésekor használja a Terraform fájlokat.
A Swagger felhasználói felület eléréséhez csatlakozzon az EC2 konzolhoz, és nyissa meg a nyilvános IP-címet egy böngészőben. Végül, ha a Stable Diffusion BentoML szolgáltatásra már nincs szükség, távolítsa el a központi telepítést.
Következtetés
Látnia kell, milyen lenyűgöző és erőteljes az SD és a kísérőmodelljei. Az idő eldönti, hogy tovább folytatjuk-e a koncepciót, vagy kifinomultabb megközelítésekre térünk át.
Jelenleg azonban vannak kezdeményezések a nagyobb modellek kiképzésére olyan beállításokkal, amelyek jobban megértik a környezetet és az utasításokat. Megkíséreltük a Stable Diffusion szolgáltatást a BentoML segítségével fejleszteni, és az AWS EC2-re telepítettük.
Sikerült a Stable Diffusion modellt erősebb hardveren futtatni, alacsony késleltetésű képeket készíteni, és a szolgáltatást az AWS EC2 rendszeren való üzembe helyezésével túllépni egyetlen számítógépen.
Hagy egy Válaszol