2022 novemberében mi bejelentés amellyel az AWS ügyfelei képeket generálhatnak szövegből Stabil diffúzió modellek be Amazon SageMaker JumpStart. Ma bejelentünk egy új funkciót, amely lehetővé teszi a képek felnagyítását (a képek átméretezését a minőség romlása nélkül) a JumpStart Stable Diffusion modelljeivel. Az alacsony felbontású, elmosódott és pixeles kép nagy felbontású képpé alakítható, amely simábbnak, tisztábbnak és részletesebbnek tűnik. Ezt a folyamatot, az ún upscaling, valós képekre és által generált képekre egyaránt alkalmazható szöveg-kép Stabil diffúziós modellek. Ez felhasználható a képminőség javítására különböző iparágakban, például az e-kereskedelemben és az ingatlanügyekben, valamint művészek és fotósok számára. Ezenkívül a felskálázás javíthatja a nagy felbontású képernyőkön megjelenített kis felbontású képek vizuális minőségét.
A Stable Diffusion egy mesterséges intelligencia algoritmust használ a képek felskálázásához, így nincs szükség kézi munkára, amely a kép hézagait manuálisan kitöltheti. Több millió képre betanították, és pontosan meg tudja jósolni a nagy felbontású képeket, ami jelentős részletgazdagságot eredményez a hagyományos képfelskálázókhoz képest. Ezenkívül a nem mély tanulási technikáktól, például a legközelebbi szomszédtól eltérően, a Stable Diffusion figyelembe veszi a kép kontextusát, és szöveges felszólítást használ a felskálázási folyamat irányítására.
Ebben a bejegyzésben áttekintést adunk arról, hogyan lehet a Stable Diffusion upscaler modellel kétféleképpen telepíteni és futtatni a következtetést: a JumpStart felhasználói felületén (UI) Amazon SageMaker Studio, és programozottan keresztül JumpStart API-k elérhető a SageMaker Python SDK.
Megoldás áttekintése
A következő képek példákat mutatnak be a modell által végrehajtott felskálázásra. A bal oldalon az eredeti kis felbontású kép látható a modell által generált kép méretéhez igazítva. A jobb oldalon a modell által generált kép látható.
Az első generált kép az alacsony felbontású macskakép és a „fehér macska” üzenet eredménye.
A második generált kép az alacsony felbontású pillangókép és a „pillangó zöld levélen” üzenet eredménye.
A nagy modellek, például a Stable Diffusion futtatásához egyéni következtetési szkriptekre van szükség. Végpontok közötti teszteket kell futtatnia, hogy megbizonyosodjon arról, hogy a szkript, a modell és a kívánt példány hatékonyan működik együtt. A JumpStart leegyszerűsíti ezt a folyamatot azáltal, hogy használatra kész szkripteket biztosít, amelyeket alaposan teszteltek. Ezeket a szkripteket egy kattintással érheti el a Studio felhasználói felületén, vagy nagyon kevés kódsorral a következőn keresztül JumpStart API-k.
A következő szakaszok áttekintést nyújtanak a modell telepítéséről és a következtetés futtatásáról a Studio UI vagy a JumpStart API-k használatával.
Vegye figyelembe, hogy ennek a modellnek a használatával Ön elfogadja a CreativeML Open RAIL++-M licenc.
A JumpStart elérése a Studio felhasználói felületén keresztül
Ebben a részben bemutatjuk, hogyan lehet betanítani és telepíteni a JumpStart modelleket a Studio felhasználói felületén keresztül. A következő videó bemutatja, hogyan találhatja meg az előre betanított Stable Diffusion upscaler modellt a JumpStarton, és hogyan telepítheti azt. A modelloldal értékes információkat tartalmaz a modellről és annak használatáról. Következtetéshez az ml.p3.2xlarge példánytípust használjuk, mert ez biztosítja az alacsony következtetési késleltetéshez szükséges GPU-gyorsítást alacsony áron. A SageMaker tárhelypéldány konfigurálása után válassza a lehetőséget Telepítése. 5–10 percbe telik, amíg a végpont beindul, és készen áll arra, hogy válaszoljon a következtetési kérésekre.
A következtetéshez szükséges idő felgyorsítása érdekében a JumpStart egy mintajegyzetfüzetet biztosít, amely bemutatja, hogyan lehet következtetést lefuttatni az újonnan létrehozott végponton. A jegyzetfüzet Studio alkalmazásban való eléréséhez válassza a lehetőséget Nyissa meg a Jegyzetfüzetet a Használja a Studio végpontját részt a modell végpont oldalán.
A JumpStart programozott használata a SageMaker SDK-val
A JumpStart felhasználói felülettel néhány kattintással interaktívan telepíthet egy előre betanított modellt. A JumpStart modelleket azonban programozottan is használhatja a SageMaker Python SDK-ba integrált API-k használatával.
Ebben a szakaszban kiválasztunk egy megfelelő előre betanított modellt a JumpStartban, telepítjük ezt a modellt egy SageMaker-végpontra, és következtetést futtatunk a telepített végponton, mindezt a SageMaker Python SDK használatával. A következő példák kódrészleteket tartalmaznak. A teljes kódért a bemutató összes lépésével együtt tekintse meg a Bevezetés a JumpStart-ba – Javítsa a képminőséget felszólítással példafüzet.
Telepítse az előre betanított modellt
A SageMaker Docker-tárolókat használ különféle összeállítási és futásidejű feladatokhoz. A JumpStart a SageMaker Deep Learning tárolók (DLC-k), amelyek keretspecifikusak. Először lekérünk minden további csomagot, valamint szkripteket, amelyekkel kezelhetjük a képzést és a következtetéseket a kiválasztott feladathoz. Ezután az előre betanított modelltermékeket külön lekérik model_uris
, amely rugalmasságot biztosít a platform számára. Ez lehetővé teszi több előre betanított modell használatát egyetlen következtetési szkripttel. A következő kód szemlélteti ezt a folyamatot:
Ezután ezeket az erőforrásokat a SageMaker modell példány és telepítsen egy végpontot:
Modellünk bevezetése után valós időben kaphatunk előrejelzéseket belőle!
Bemeneti formátum
A végpont kis felbontású képet fogad el nyers RGB-értékként vagy base64 kódolású képként. A következtetéskezelő az alapján dekódolja a képet content_type
:
- A
content_type = “application/json”
, a bemeneti hasznos adatnak egy JSON-szótárnak kell lennie a nyers RGB-értékekkel, egy szöveges prompttal és más opcionális paraméterekkel. - A
content_type = “application/json;jpeg”
, a bemeneti hasznos adatnak egy JSON-szótárnak kell lennie base64 kódolású képpel, szöveges prompttal és egyéb opcionális paraméterekkel
Kimeneti formátum
A következő kódpéldák bepillantást nyújtanak a kimenetek kinézetébe. A bemeneti formátumhoz hasonlóan a végpont a kép vagy egy base64 kódolású kép nyers RGB értékeivel válaszolhat. Ezt beállítással lehet megadni accept
a két érték egyikére:
- A
accept = “application/json”
, a végpont a JSON-szótárt adja vissza a kép RGB-értékeivel - A
accept = “application/json;jpeg”
, a végpont egy JSON-szótárt ad vissza a JPEG-képpel base64.b64 kódolással kódolt bájtokban
Ne feledje, hogy a nyers RGB-értékekkel történő hasznos adat küldése vagy fogadása elérheti a bemeneti hasznos terhelés és a válaszméret alapértelmezett korlátait. Ezért javasoljuk a base64 kódolású kép használatát beállítással content_type = “application/json;jpeg”
és a accept = “application/json;jpeg”
.
A következő kód egy példa következtetési kérés:
A végpont válasz egy JSON-objektum, amely tartalmazza a generált képeket és a promptot:
Támogatott paraméterek
A stabil diffúziós felskálázási modellek számos paramétert támogatnak a képgeneráláshoz:
- kép – Alacsony felbontású kép.
- azonnali – Felszólítás a képalkotáshoz. Ez lehet karakterlánc vagy karakterláncok listája.
- num_inference_steps (nem kötelező) – A zajcsökkentési lépések száma a képgenerálás során. Több lépés jobb minőségű képhez vezet. Ha meg van adva, pozitív egész számnak kell lennie. Vegye figyelembe, hogy több következtetési lépés hosszabb válaszidőt eredményez.
- guidance_scale (nem kötelező) – A magasabb útmutatási skála azt eredményezi, hogy a kép szorosabban kapcsolódik a felszólításhoz, a képminőség rovására. Ha meg van adva, akkor úszónak kell lennie.
guidance_scale<=1
figyelmen kívül hagyja. - negatív_prompt (nem kötelező) – Ez irányítja a képgenerálást ezzel a felszólítással szemben. Ha meg van adva, akkor karakterláncnak vagy karakterláncok listájának kell lennie, és együtt kell használni
guidance_scale
. Haguidance_scale
le van tiltva, ez is le van tiltva. Sőt, ha a prompt egy karakterláncok listája, akkor a negatív_promptnak is karakterláncok listájának kell lennie. - mag (opcionális) – Ez rögzíti a véletlenszerű állapotot a reprodukálhatóság érdekében. Ha meg van adva, akkor egész számnak kell lennie. Amikor ugyanazt a promptot ugyanazzal a maggal használja, a kapott kép mindig ugyanaz lesz.
- zajszint (opcionális) – Ez zajt ad a látens vektoroknak a felskálázás előtt. Ha meg van adva, akkor egész számnak kell lennie.
Rekurzívan felskálázhat egy képet a végpont ismételt meghívásával, hogy egyre jobb minőségű képeket kapjon.
Képméret és példánytípusok
A modell által generált képek akár négyszer akkorák is lehetnek, mint az eredeti kis felbontású kép. Továbbá a modell memóriaigénye (GPU memória) a generált kép méretével nő. Ezért, ha egy már nagy felbontású képet vagy rekurzívan skáláz fel, válasszon egy nagy GPU-memóriával rendelkező példánytípust. Például az ml.g5.2xlarge több GPU-memóriával rendelkezik, mint a korábban használt ml.p3.2xlarge példánytípus. A különböző példánytípusokkal kapcsolatos további információkért lásd: Amazon EC2 példánytípusok.
A képek darabonkénti felskálázása
A memóriaigény csökkentése érdekében nagy képek felskálázásakor a képet kisebb részekre bonthatja csempe, és minden csempét külön-külön felskálázzon. A csempék felskálázása után összekeverhetők a végső kép létrehozásához. Ez a módszer megköveteli, hogy minden csempéhez igazítsa a promptot, hogy a modell megértse a csempe tartalmát, és elkerülje a furcsa képek létrehozását. A prompt stílus részének konzisztensnek kell maradnia az összes csempénél, hogy megkönnyítse a keverést. Ha nagyobb zajtalanítási beállításokat használ, fontos, hogy pontosabb legyen a promptban, mert a modellnek nagyobb szabadsága van a kép adaptálására. Ez kihívást jelenthet, ha a csempe csak hátteret tartalmaz, vagy nem kapcsolódik közvetlenül a kép fő tartalmához.
Korlátozások és elfogultság
Annak ellenére, hogy a Stable Diffusion lenyűgöző teljesítményt nyújt a felskálázásban, számos korláttól és torzítástól szenved. Ezek közé tartozik, de nem kizárólagosan:
- Előfordulhat, hogy a modell nem generál pontos arcokat vagy végtagokat, mert a képzési adatok nem tartalmaznak elegendő képet ezekkel a funkciókkal
- A modellt a LAION-5B adatkészlet, amely felnőtt tartalommal rendelkezik, és további megfontolások nélkül nem biztos, hogy alkalmas a termék felhasználására
- Előfordulhat, hogy a modell nem működik jól a nem angol nyelvekkel, mert a modellt angol nyelvű szövegre tanították
- A modell nem tud jó szöveget generálni a képeken belül
A korlátozásokról és az elfogultságról további információkért tekintse meg a Stable Diffusion upscaler modellkártya.
Tisztítsuk meg
Miután befejezte a jegyzetfüzet futtatását, törölje a folyamat során létrehozott összes erőforrást, hogy biztosítsa a számlázás leállítását. A végpont megtisztításához szükséges kód a kapcsolódó oldalon érhető el jegyzetfüzet.
Következtetés
Ebben a bejegyzésben bemutattuk, hogyan telepíthet egy előre betanított Stable Diffusion upscaler modellt a JumpStart segítségével. Ebben a bejegyzésben kódrészleteket mutattunk be – a teljes kód a bemutató összes lépésével a következő helyen érhető el: Bevezetés a JumpStart-ba – Javítsa a képminőséget felszólítással példafüzet. Próbálja ki a megoldást saját maga, és küldje el nekünk észrevételeit.
Ha többet szeretne megtudni a modellről és működéséről, tekintse meg a következő forrásokat:
Ha többet szeretne megtudni a JumpStartról, tekintse meg a következő blogbejegyzéseket:
A szerzőkről
Dr. Vivek Madan az Amazon SageMaker JumpStart csapatának alkalmazott tudósa. PhD fokozatát az Illinoisi Egyetemen szerezte, az Urbana-Champaign-ben, és a Georgia Tech posztdoktori kutatója volt. Aktív kutatója a gépi tanulásnak és az algoritmustervezésnek, és publikált előadásokat EMNLP, ICLR, COLT, FOCS és SODA konferenciákon.
Heiko Hotz a mesterséges intelligencia és a gépi tanulás vezető megoldástervezője, különös tekintettel a természetes nyelvi feldolgozásra (NLP), a nagy nyelvi modellekre (LLM) és a generatív mesterséges intelligenciára. Ezt megelőzően az Amazon EU-s ügyfélszolgálatának adattudományi vezetője volt. A Heiko segít ügyfeleinknek abban, hogy sikeresek legyenek az AI/ML-útjuk során az AWS-ben, és számos iparágban dolgozott együtt szervezetekkel, beleértve a biztosítást, a pénzügyi szolgáltatásokat, a médiát és a szórakoztatást, az egészségügyet, a közműveket és a gyártást. Szabadidejében Heiko minél többet utazik.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- Rólunk
- gyorsul
- Elfogad!
- elfogadja
- hozzáférés
- Fiók
- pontos
- pontosan
- elért
- aktív
- alkalmazkodni
- További
- Ezen kívül
- Hozzáteszi
- Felnőtt
- Után
- ellen
- AI
- AI és gépi tanulás
- AI / ML
- algoritmus
- Minden termék
- lehetővé teszi, hogy
- már
- mindig
- amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- és a
- bejelent
- api
- API-k
- alkalmazott
- megfelelő
- Előadók
- társult
- automatikusan
- elérhető
- AWS
- háttér
- alapján
- mert
- előtt
- hogy
- előítélet
- számlázás
- keverési
- Blog
- Blogbejegyzések
- szünet
- épít
- hívott
- Kaphat
- CAT
- kihívást
- ellenőrizze
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- osztály
- világosabb
- szorosan
- kód
- Hozzászólások
- képest
- konferenciák
- következetes
- Konténer
- Konténerek
- tartalmaz
- tartalom
- kontextus
- átalakított
- teremt
- készítette
- létrehozása
- szokás
- vevő
- Vevőszolgálat
- Ügyfelek
- dátum
- adat-tudomány
- csökkenés
- mély
- mély tanulás
- alapértelmezett
- bizonyítani
- telepíteni
- telepített
- Design
- részlet
- részletes
- különböző
- Diffusion
- közvetlenül
- Tiltva
- Dokkmunkás
- Nem
- alatt
- minden
- Korábban
- könnyebb
- e-kereskedelem
- eredményesen
- bármelyik
- megszüntetése
- végtől végig
- Endpoint
- Angol
- biztosítására
- Szórakozás
- belépés
- birtok
- EU
- példa
- példák
- arcok
- Funkció
- Elhozták
- kevés
- filé
- utolsó
- pénzügyi
- pénzügyi szolgáltatások
- Találjon
- vezetéknév
- megfelelő
- Rugalmasság
- Úszó
- Összpontosít
- következő
- formátum
- szabadság
- ból ből
- Tele
- további
- Továbbá
- generál
- generált
- generáció
- nemző
- Generatív AI
- Grúzia
- kap
- Ad
- megpillant
- jó
- GPU
- Zöld
- növekszik
- útmutató
- Útmutatók
- fogantyú
- fej
- egészségügyi
- magasság
- segít
- nagy felbontású
- <p></p>
- Találat
- tárhely
- Hogyan
- How To
- azonban
- HTML
- HTTPS
- Illinois
- kép
- képek
- fontos
- hatásos
- javul
- in
- tartalmaz
- Beleértve
- Növelje
- Egyénileg
- iparágak
- információ
- bemenet
- példa
- biztosítás
- integrált
- Felület
- IT
- utazás
- json
- ismert
- nyelv
- Nyelvek
- nagy
- Késleltetés
- vezet
- TANUL
- tanulás
- Lets
- korlátozások
- Korlátozott
- határértékek
- vonalak
- Lista
- hosszabb
- néz
- hasonló
- vesztes
- Elő/Utó
- gép
- gépi tanulás
- Fő
- csinál
- kézikönyv
- kézi munka
- kézzel
- gyártási
- sok
- Mérkőzés
- Média
- Memory design
- módszer
- Több millió
- Perc
- ML
- modell
- modellek
- több
- többszörös
- Természetes
- Természetes nyelvi feldolgozás
- Szükség
- Új
- NLP
- Zaj
- jegyzetfüzet
- november
- szám
- tárgy
- ONE
- nyitva
- érdekében
- szervezetek
- eredeti
- Más
- áttekintés
- saját
- csomagok
- papírok
- paraméterek
- rész
- teljesítmény
- kép
- darab
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- pont
- pozitív
- lehetséges
- állás
- Hozzászólások
- hatáskörök
- előre
- Tippek
- Predictor
- be
- ár
- Előzetes
- folyamat
- feldolgozás
- Termékek
- ad
- biztosít
- amely
- közzétett
- Piton
- világítás
- Véletlenszerűsített
- Nyers
- kész
- igazi
- ingatlan
- fogadó
- ajánl
- összefüggő
- marad
- TÖBBSZÖR
- kérni
- kéri
- szükség
- követelmény
- követelmények
- megköveteli,
- kutató
- Felbontás
- Tudástár
- Reagálni
- válasz
- eredményez
- kapott
- Eredmények
- visszatérés
- Visszatér
- RGB
- Szerep
- futás
- futás
- sagemaker
- azonos
- Skála
- Tudomány
- Tudós
- képernyők
- szkriptek
- sdk
- Második
- Rész
- szakaszok
- mag
- kiválasztott
- elküldés
- idősebb
- szolgáltatás
- Szolgáltatások
- beállítás
- beállítások
- számos
- kellene
- előadás
- Műsorok
- jelentős
- Hasonlóképpen
- egyetlen
- Méret
- kisebb
- simább
- So
- megoldások
- Megoldások
- speciális
- különleges
- meghatározott
- stabil
- Állami
- Lépései
- megállt
- stúdió
- stílus
- sikeres
- ilyen
- szenved
- elegendő
- támogatás
- Vesz
- tart
- Feladat
- feladatok
- csapat
- tech
- technikák
- tesztek
- A
- azok
- ebből adódóan
- Keresztül
- idő
- alkalommal
- nak nek
- Ma
- együtt
- hagyományos
- Vonat
- kiképzett
- Képzések
- utazik
- típusok
- ui
- megért
- egyetemi
- us
- használ
- használó
- felhasználói felület
- segédprogramok
- hasznosítja
- Értékes
- Értékek
- különféle
- keresztül
- videó
- módon
- Mit
- ami
- fehér
- lesz
- belül
- nélkül
- Munka
- együtt dolgozni
- dolgozott
- művek
- te
- A te
- zephyrnet