Marraskuussa 2022 me ilmoitti jolla AWS-asiakkaat voivat luoda kuvia tekstistä Vakaa diffuusio malleja Amazon SageMaker JumpStart. Tänään julkistamme uuden ominaisuuden, jonka avulla voit skaalata kuvia (muuttaa kuvien kokoa laadun heikkenemättä) JumpStartin Stable Diffusion -malleilla. Matalaresoluutioinen, epäselvä ja pikselöity kuva voidaan muuntaa korkearesoluutioiseksi kuvaksi, joka näyttää tasaisemmalta, selkeämmältä ja yksityiskohtaisemmalta. Tämä prosessi ns skaalaus, voidaan soveltaa sekä oikeisiin kuviin että luomiin kuviin tekstistä kuvaksi vakaat diffuusiomallit. Tätä voidaan käyttää kuvanlaadun parantamiseen eri aloilla, kuten verkkokaupassa ja kiinteistöalalla, sekä taiteilijoille ja valokuvaajille. Lisäksi skaalaus voi parantaa matalaresoluutioisten kuvien visuaalista laatua, kun ne näytetään korkearesoluutioisilla näytöillä.
Vakaa diffuusio käyttää tekoälyalgoritmia kuvien skaalaamiseen, mikä eliminoi manuaalisen työn tarpeen, joka saattaa edellyttää kuvan aukkojen manuaalista täyttämistä. Se on koulutettu miljooniin kuviin, ja se voi ennustaa tarkasti korkearesoluutioisia kuvia, mikä lisää huomattavasti yksityiskohtia perinteisiin kuvan parannuskeinoihin verrattuna. Lisäksi, toisin kuin ei-syväoppivat tekniikat, kuten lähin naapuri, Stable Diffusion ottaa huomioon kuvan kontekstin ja käyttää tekstikehotetta ohjaamaan skaalausprosessia.
Tässä viestissä annamme yleiskatsauksen siitä, kuinka Stable Diffusion Upscaler -mallin avulla voidaan ottaa käyttöön ja suorittaa päätelmiä kahdella tavalla: JumpStartin käyttöliittymän (UI) kautta Amazon SageMaker Studio, ja ohjelmallisesti läpi JumpStart API:t saatavana SageMaker Python SDK.
Ratkaisun yleiskatsaus
Seuraavissa kuvissa on esimerkkejä mallin suorittamasta skaalauksesta. Vasemmalla on alkuperäinen matalaresoluutioinen kuva suurennettuna vastaamaan mallin luoman kuvan kokoa. Oikealla on mallin luoma kuva.
Ensimmäinen luotu kuva on tulosta matalaresoluutioisesta kissakuvasta ja kehotteesta "valkoinen kissa".
Toinen luotu kuva on tulosta matalaresoluutioisesta perhoskuvasta ja kehotteesta "perhonen vihreällä lehdellä".
Suurten mallien, kuten Stable Diffusion, käyttäminen vaatii mukautettuja päättelykomentosarjoja. Sinun on suoritettava päästä päähän -testejä varmistaaksesi, että komentosarja, malli ja haluttu ilmentymä toimivat yhdessä tehokkaasti. JumpStart yksinkertaistaa tätä prosessia tarjoamalla käyttövalmiita komentosarjoja, jotka on testattu vankasti. Voit käyttää näitä komentosarjoja yhdellä napsautuksella Studion käyttöliittymän kautta tai vain harvoilla koodiriveillä JumpStart API:t.
Seuraavissa osissa on yleiskatsaus mallin käyttöönotosta ja päättelyn suorittamisesta joko Studio-käyttöliittymän tai JumpStart-sovellusliittymien avulla.
Huomaa, että käyttämällä tätä mallia hyväksyt CreativeML Open RAIL++-M -lisenssi.
Käytä JumpStartia Studion käyttöliittymän kautta
Tässä osiossa esittelemme, kuinka JumpStart-malleja koulutetaan ja otetaan käyttöön Studio-käyttöliittymän kautta. Seuraava video näyttää, kuinka esikoulutettu Stable Diffusion upscaler -malli löytyy JumpStartista ja otetaan käyttöön. Mallisivulla on arvokasta tietoa mallista ja sen käytöstä. Päätelmien tekemiseen käytämme ml.p3.2xlarge ilmentymätyyppiä, koska se tarjoaa GPU-kiihdytyksen, joka tarvitaan alhaiseen päättelyviiveeseen alhaisella hinnalla. Kun olet määrittänyt SageMaker-isännöintiesiintymän, valitse Sijoittaa. Kestää 5–10 minuuttia, ennen kuin päätepiste on valmis ja valmis vastaamaan päättelypyyntöihin.
Päätelmän tekemiseen kuluvan ajan nopeuttamiseksi JumpStart tarjoaa mallimuistikirjan, joka näyttää, kuinka johtopäätös suoritetaan äskettäin luodulle päätepisteelle. Voit käyttää muistikirjaa Studiossa valitsemalla Avaa Muistikirja vuonna Käytä Endpointia Studiosta mallin päätepistesivun osio.
Käytä JumpStartia ohjelmallisesti SageMaker SDK:n kanssa
JumpStart-käyttöliittymän avulla voit ottaa esikoulutetun mallin käyttöön interaktiivisesti muutamalla napsautuksella. Voit kuitenkin käyttää JumpStart-malleja myös ohjelmallisesti käyttämällä sovellusliittymiä, jotka on integroitu SageMaker Python SDK:han.
Tässä osiossa valitsemme JumpStartissa sopivan valmiiksi koulutetun mallin, otamme tämän mallin käyttöön SageMaker-päätepisteeseen ja suoritamme päättelyn käyttöönotetusta päätepisteestä käyttäen SageMaker Python SDK:ta. Seuraavat esimerkit sisältävät koodinpätkät. Katso täydellinen koodi ja kaikki tämän esittelyn vaiheet kohdasta Johdatus JumpStartiin – Paranna kuvanlaatua kehotteen ohjaamana muistikirja esimerkkinä.
Ota esikoulutettu malli käyttöön
SageMaker käyttää Docker-säiliöitä erilaisiin rakennus- ja ajonaikaisiin tehtäviin. JumpStart käyttää SageMaker Deep Learning -säiliöt (DLC:t), jotka ovat kehyskohtaisia. Haemme ensin mahdolliset lisäpaketit sekä komentosarjat valitun tehtävän koulutusta ja päätelmiä varten. Sitten esiopetetut malliesineet haetaan erikseen model_uris
, joka tarjoaa alustalle joustavuutta. Tämä mahdollistaa useiden esikoulutettujen mallien käytön yhdellä päättelykomentosarjalla. Seuraava koodi havainnollistaa tätä prosessia:
Seuraavaksi tarjoamme nämä resurssit a SageMaker malli esiintyy ja ota käyttöön päätepiste:
Kun mallimme on otettu käyttöön, voimme saada siitä ennusteita reaaliajassa!
Syöttömuoto
Päätepiste hyväksyy matalaresoluutioisen kuvan raaka-RGB-arvoina tai base64-koodatun kuvan. Päätelmien käsittelijä purkaa kuvan sen perusteella content_type
:
- varten
content_type = “application/json”
, syöttöhyötykuorman on oltava JSON-sanakirja, jossa on raaka-RGB-arvot, tekstikehote ja muut valinnaiset parametrit. - varten
content_type = “application/json;jpeg”
, syöttöhyötykuorman on oltava JSON-sanakirja, jossa on base64-koodattu kuva, tekstikehote ja muut valinnaiset parametrit
Tulostusmuoto
Seuraavat koodiesimerkit antavat sinulle välähdyksen siitä, miltä lähdöt näyttävät. Samoin kuin syöttömuodossa, päätepiste voi vastata kuvan raaka-RGB-arvoilla tai base64-koodatulla kuvalla. Tämä voidaan määrittää asetuksilla accept
johonkin kahdesta arvosta:
- varten
accept = “application/json”
, päätepiste palauttaa JSON-sanakirjan kuvan RGB-arvoineen - varten
accept = “application/json;jpeg”
, päätepiste palauttaa JSON-sanakirjan, jossa on JPEG-kuva tavuina base64.b64-koodauksella
Huomaa, että hyötykuorman lähettäminen tai vastaanottaminen raaka-RGB-arvoilla voi saavuttaa syötteen hyötykuorman ja vastauskoon oletusrajat. Siksi suosittelemme käyttämään base64-koodattua kuvaa asettamalla content_type = “application/json;jpeg”
ja accept = “application/json;jpeg”
.
Seuraava koodi on esimerkki johtopäätöspyynnöstä:
Päätepisteen vastaus on JSON-objekti, joka sisältää luodut kuvat ja kehotteen:
Tuetut parametrit
Vakaan diffuusion skaalausmallit tukevat monia parametreja kuvan luomiseen:
- kuva – Matalaresoluutioinen kuva.
- nopea – Keho, joka ohjaa kuvan luomista. Se voi olla merkkijono tai merkkijonoluettelo.
- num_inference_steps (valinnainen) – Kohinanpoistovaiheiden määrä kuvan luomisen aikana. Useammat vaiheet johtavat laadukkaampaan kuvaan. Jos määritetään, sen on oltava positiivinen kokonaisluku. Huomaa, että useampi päättelyvaihe johtaa pidempään vasteaikaan.
- guidance_scale (valinnainen) – Korkeampi ohjausasteikko johtaa siihen, että kuva liittyy lähemmin kehotteeseen kuvanlaadun kustannuksella. Jos määritetään, sen on oltava kelluva.
guidance_scale<=1
ohitetaan. - negatiivinen_kehote (valinnainen) – Tämä ohjaa kuvan luomista tätä kehotetta vastaan. Jos se on määritetty, sen on oltava merkkijono tai merkkijonoluettelo ja sitä on käytettävä
guidance_scale
. Josguidance_scale
on poistettu käytöstä, myös tämä on poistettu käytöstä. Lisäksi, jos kehote on merkkijonoluettelo, negatiivisen_kehotteen on myös oltava merkkijonoluettelo. - siemenet (valinnainen) – Tämä korjaa satunnaistetun tilan toistettavuutta varten. Jos määritetään, sen on oltava kokonaisluku. Aina kun käytät samaa kehotetta samalla siemenellä, tuloksena oleva kuva on aina sama.
- melutaso (valinnainen) – Tämä lisää kohinaa piileviin vektoreihin ennen skaalausta. Jos määritetään, sen on oltava kokonaisluku.
Voit skaalata kuvaa rekursiivisesti kutsumalla päätepistettä toistuvasti saadaksesi parempia ja laadukkaampia kuvia.
Kuvan koko ja esiintymätyypit
Mallin luomat kuvat voivat olla jopa neljä kertaa alkuperäisen matalaresoluutioisen kuvan kokoisia. Lisäksi mallin muistitarve (GPU-muisti) kasvaa generoidun kuvan koon myötä. Siksi, jos skaalaat jo korkearesoluutioista kuvaa tai rekursiivisesti nostat kuvia, valitse ilmentymätyyppi, jossa on suuri GPU-muisti. Esimerkiksi ml.g5.2xlarge sisältää enemmän GPU-muistia kuin aiemmin käyttämämme ml.p3.2xlarge ilmentymätyyppi. Lisätietoja eri instanssityypeistä on kohdassa Amazon EC2-instanssityypit.
Kuvien skaalaus pala palalta
Voit vähentää muistin tarvetta suuria kuvia skaalattaessa jakamalla kuvan pienempiin osiin, joita kutsutaan nimellä laatatja skaalaa jokainen laatta erikseen. Kun laatat on skaalattu, ne voidaan sekoittaa yhteen lopullisen kuvan luomiseksi. Tämä menetelmä edellyttää kehotteen mukauttamista jokaiselle ruudulle, jotta malli voi ymmärtää ruudun sisällön ja välttää outojen kuvien luomista. Kehotteen tyyliosan tulee pysyä yhtenäisenä kaikissa laatoissa sekoittamisen helpottamiseksi. Käytettäessä korkeampia kohinanvaimennusasetuksia on tärkeää olla tarkempi kehotteessa, koska mallilla on enemmän vapautta muokata kuvaa. Tämä voi olla haastavaa, kun laatta sisältää vain taustan tai ei liity suoraan kuvan pääsisältöön.
Rajoitukset ja ennakkoluulot
Vaikka Stable Diffusionilla on vaikuttava suorituskyky skaalauksessa, se kärsii useista rajoituksista ja harhoista. Näitä ovat muun muassa:
- Malli ei välttämättä luo tarkkoja kasvoja tai raajoja, koska harjoitustiedot eivät sisällä riittävästi kuvia näillä ominaisuuksilla
- Malli on koulutettu LAION-5B tietojoukko, joka sisältää vain aikuisille suunnattua sisältöä ja joka ei välttämättä sovellu tuotteen käyttöön ilman lisähuomiota
- Malli ei välttämättä toimi hyvin muiden kuin englannin kielten kanssa, koska malli on koulutettu englanninkielisellä tekstillä
- Malli ei voi luoda hyvää tekstiä kuviin
Lisätietoja rajoituksista ja harhoista on kohdassa Stable Diffusion upscaler mallikortti.
Puhdistaa
Kun olet lopettanut muistikirjan käyttämisen, muista poistaa kaikki prosessin aikana luodut resurssit varmistaaksesi, että laskutus pysäytetään. Koodi päätepisteen puhdistamiseksi on saatavilla liitetyssä osiossa muistikirja.
Yhteenveto
Tässä viestissä osoitimme, kuinka esikoulutettu Stable Diffusion upscaler -malli otetaan käyttöön JumpStartin avulla. Tässä viestissä näytimme koodinpätkät – koko koodi ja kaikki tämän esittelyn vaiheet ovat saatavilla osoitteessa Johdatus JumpStartiin – Paranna kuvanlaatua kehotteen ohjaamana esimerkkimuistikirja. Kokeile ratkaisua itse ja lähetä meille kommenttisi.
Saat lisätietoja mallista ja sen toiminnasta seuraavissa resursseissa:
Jos haluat lisätietoja JumpStartista, tutustu seuraaviin blogikirjoituksiin:
Tietoja Tekijät
Tohtori Vivek Madan on soveltuva tutkija Amazon SageMaker JumpStart -tiimin kanssa. Hän sai tohtorin tutkinnon Illinoisin yliopistosta Urbana-Champaignissa ja oli tutkijatohtorina Georgia Techissä. Hän on aktiivinen koneoppimisen ja algoritmisuunnittelun tutkija ja julkaissut julkaisuja EMNLP-, ICLR-, COLT-, FOCS- ja SODA-konferensseissa.
Heiko Hotz on tekoälyn ja koneoppimisen vanhempi ratkaisuarkkitehti, joka keskittyy erityisesti luonnollisen kielen käsittelyyn (NLP), suuriin kielimalleihin (LLM) ja generatiiviseen tekoälyyn. Ennen tätä tehtävää hän toimi Amazonin EU-asiakaspalvelun datatieteen johtajana. Heiko auttaa asiakkaitamme menestymään AI/ML-matkallaan AWS:ssä ja on työskennellyt organisaatioiden kanssa monilla toimialoilla, mukaan lukien vakuutus-, rahoitus-, media- ja viihde-, terveydenhuolto-, yleishyödylliset palvelut ja valmistus. Vapaa-ajallaan Heiko matkustaa niin paljon kuin mahdollista.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- Meistä
- kiihdyttää
- Hyväksyä
- hyväksyy
- pääsy
- Tili
- tarkka
- tarkasti
- saavutettu
- aktiivinen
- sopeuttaa
- lisä-
- Lisäksi
- Lisää
- Aikuinen
- Jälkeen
- vastaan
- AI
- Tekoäly ja koneoppiminen
- AI / ML
- algoritmi
- Kaikki
- mahdollistaa
- jo
- aina
- Amazon
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- ja
- Ilmoittaa
- api
- API
- sovellettu
- sopiva
- Taiteilijat
- liittyvä
- automaattisesti
- saatavissa
- AWS
- tausta
- perustua
- koska
- ennen
- ovat
- puolueellisuus
- laskutus
- sekoittaminen
- Blogi
- Blogitekstit
- Tauko
- rakentaa
- nimeltään
- Voi saada
- KISSA
- haastava
- tarkastaa
- Valita
- luokka
- selkeämpi
- tarkasti
- koodi
- kommentit
- verrattuna
- konferenssit
- johdonmukainen
- Kontti
- Kontit
- sisältää
- pitoisuus
- tausta
- muunnetaan
- luoda
- luotu
- Luominen
- asiakassuhde
- asiakas
- Asiakaspalvelu
- Asiakkaat
- tiedot
- tietojenkäsittely
- vähentää
- syvä
- syvä oppiminen
- oletusarvo
- osoittaa
- sijoittaa
- käyttöön
- Malli
- yksityiskohta
- yksityiskohtainen
- eri
- Diffuusio
- suoraan
- vammaiset
- Satamatyöläinen
- ei
- aikana
- kukin
- Aikaisemmin
- helpompaa
- verkkokaupan
- tehokkaasti
- myöskään
- poistamalla
- päittäin
- päätepiste
- Englanti
- varmistaa
- Viihde
- merkintä
- omaisuus
- EU
- esimerkki
- Esimerkit
- kasvot
- Ominaisuus
- Haettu
- harvat
- filee
- lopullinen
- taloudellinen
- rahoituspalvelut
- Löytää
- Etunimi
- sovittaa
- Joustavuus
- kellua
- Keskittää
- jälkeen
- muoto
- Vapaus
- alkaen
- koko
- edelleen
- Lisäksi
- tuottaa
- syntyy
- sukupolvi
- generatiivinen
- Generatiivinen AI
- Georgia
- saada
- Antaa
- vilaus
- hyvä
- GPU
- Vihreä
- kasvaa
- ohjaavat
- Oppaat
- kahva
- pää
- terveydenhuollon
- korkeus
- auttaa
- korkea resoluutio
- korkeampi
- Osuma
- hotellit
- Miten
- Miten
- Kuitenkin
- HTML
- HTTPS
- Illinois
- kuva
- kuvien
- tärkeä
- vaikuttava
- parantaa
- in
- sisältää
- Mukaan lukien
- Kasvaa
- Erikseen
- teollisuuden
- tiedot
- panos
- esimerkki
- vakuutus
- integroitu
- liitäntä
- IT
- matka
- json
- tunnettu
- Kieli
- kielet
- suuri
- Viive
- johtaa
- OPPIA
- oppiminen
- Lets
- rajoitukset
- rajallinen
- rajat
- linjat
- Lista
- kauemmin
- katso
- näyttää joltakin
- menettää
- Matala
- kone
- koneoppiminen
- tärkein
- tehdä
- manuaalinen
- ruumiillinen työ
- käsin
- valmistus
- monet
- ottelu
- Media
- Muisti
- menetelmä
- miljoonia
- minuuttia
- ML
- malli
- mallit
- lisää
- moninkertainen
- Luonnollinen
- Luonnollinen kielen käsittely
- Tarve
- Uusi
- NLP
- Melu
- muistikirja
- marraskuu
- numero
- objekti
- ONE
- avata
- tilata
- organisaatioiden
- alkuperäinen
- Muut
- yleiskatsaus
- oma
- paketit
- paperit
- parametrit
- osa
- suorituskyky
- kuva
- kappale
- foorumi
- Platon
- Platonin tietotieto
- PlatonData
- Kohta
- positiivinen
- mahdollinen
- Kirje
- Viestejä
- valtuudet
- ennustaa
- Ennusteet
- Predictor
- esittää
- hinta
- Aikaisempi
- prosessi
- käsittely
- Tuotteet
- toimittaa
- tarjoaa
- tarjoamalla
- julkaistu
- Python
- laatu
- satunnaistettu
- raaka
- valmis
- todellinen
- kiinteistöt
- vastaanottava
- suositella
- liittyvä
- jäädä
- TOISTUVASTI
- pyyntö
- pyynnöt
- edellyttää
- vaatimus
- vaatimukset
- Vaatii
- tutkija
- päätöslauselma
- Esittelymateriaalit
- Vastata
- vastaus
- johtua
- Saatu ja
- tulokset
- palata
- Tuotto
- RGB
- Rooli
- ajaa
- juoksu
- sagemaker
- sama
- Asteikko
- tiede
- Tiedemies
- näytöt
- skriptejä
- sdk
- Toinen
- Osa
- osiot
- siemenet
- valittu
- lähettäminen
- vanhempi
- palvelu
- Palvelut
- asetus
- settings
- useat
- shouldnt
- näyttää
- Näytä
- merkittävä
- samalla lailla
- single
- Koko
- pienempiä
- tasaisempi
- So
- ratkaisu
- Ratkaisumme
- erityinen
- erityinen
- määritelty
- vakaa
- Osavaltio
- Askeleet
- pysähtynyt
- studio
- tyyli
- onnistunut
- niin
- kärsii
- riittävä
- tuki
- ottaa
- vie
- Tehtävä
- tehtävät
- joukkue-
- teknologia
- tekniikat
- testit
- -
- heidän
- siksi
- Kautta
- aika
- kertaa
- että
- tänään
- yhdessä
- perinteinen
- Juna
- koulutettu
- koulutus
- matkustaa
- tyypit
- ui
- ymmärtää
- yliopisto
- us
- käyttää
- käyttäjä
- Käyttöliittymä
- apuohjelmia
- hyödyntää
- arvokas
- arvot
- eri
- kautta
- Video
- tavalla
- Mitä
- joka
- valkoinen
- tulee
- sisällä
- ilman
- Referenssit
- työskennellä yhdessä
- työskenteli
- toimii
- Voit
- Sinun
- zephyrnet