Novembris 2022, meie teatas millega AWS-i kliendid saavad tekstist pilte luua Stabiilne difusioon mudelid sisse Amazon SageMaker JumpStart. Täna teatame uuest funktsioonist, mis võimaldab teil JumpStartis stabiilse hajutuse mudelitega pilte suurendada (muuta kujutiste suurust ilma kvaliteeti kaotamata). Madala eraldusvõimega, udune ja pikslitud kujutise saab teisendada kõrge eraldusvõimega pildiks, mis näeb välja sujuvam, selgem ja üksikasjalikum. Seda protsessi nimetatakse upscaling, saab rakendada nii reaalsetele kui ka poolt loodud piltidele tekst-pildiks Stabiilse difusiooni mudelid. Seda saab kasutada pildikvaliteedi parandamiseks erinevates tööstusharudes, nagu e-kaubandus ja kinnisvara, aga ka kunstnike ja fotograafide jaoks. Lisaks võib ülesskaleerimine parandada madala eraldusvõimega piltide visuaalset kvaliteeti, kui neid kuvatakse kõrge eraldusvõimega ekraanidel.
Stabiilne hajutamine kasutab piltide suurendamiseks tehisintellekti algoritmi, välistades vajaduse käsitsi teha, mis võib nõuda pildil olevate tühimike käsitsi täitmist. Seda on koolitatud miljonite piltide jaoks ja see suudab täpselt ennustada kõrge eraldusvõimega pilte, mille tulemuseks on märkimisväärselt suurem üksikasjalikkus võrreldes traditsiooniliste kujutise suurendajatega. Lisaks, erinevalt mitte-süvaõppe tehnikatest, nagu lähim naaber, võtab Stable Diffusion arvesse pildi konteksti, kasutades ülesskaleerimise protsessi suunamiseks tekstiviipa.
Selles postituses anname ülevaate, kuidas juurutada ja käitada järeldusi Stable Diffusion upscaler mudeliga kahel viisil: JumpStarti kasutajaliidese (UI) kaudu Amazon SageMaker Studio, ja programmiliselt läbi KiirStardi API-d saadaval SageMaker Python SDK.
Lahenduse ülevaade
Järgmistel piltidel on näited mudeli tehtud ülesskaleerimisest. Vasakul on algne madala eraldusvõimega pilt suurendatud, et see vastaks mudeli loodud pildi suurusele. Paremal on mudeli loodud pilt.
Esimene loodud pilt on madala eraldusvõimega kassipildi ja viipa "valge kass" tulemus.
Teine loodud pilt on madala eraldusvõimega liblikakujutise ja viipa "liblikas rohelisel lehel" tulemus.
Suurte mudelite (nt Stable Diffusion) käitamiseks on vaja kohandatud järeldusskripte. Skripti, mudeli ja soovitud eksemplari tõhusa koostöö tagamiseks peate läbima täielikud testid. JumpStart lihtsustab seda protsessi, pakkudes kasutusvalmis skripte, mida on tugevalt testitud. Nendele skriptidele pääsete juurde ühe klõpsuga Studio kasutajaliidese kaudu või väga väheste koodiridade abil KiirStardi API-d.
Järgmised jaotised annavad ülevaate mudeli juurutamise ja järelduste käivitamise kohta kas Studio kasutajaliidese või JumpStart API-de abil.
Pange tähele, et seda mudelit kasutades nõustute CreativeML Open RAIL++-M litsents.
JumpStartile pääsete juurde Studio kasutajaliidese kaudu
Selles jaotises näitame, kuidas treenida ja juurutada JumpStart mudeleid Studio kasutajaliidese kaudu. Järgmine video näitab, kuidas leida JumpStartis eelkoolitatud Stable Diffusion upscaler mudel ja see kasutusele võtta. Mudelileht sisaldab väärtuslikku teavet mudeli ja selle kasutamise kohta. Järelduste tegemiseks kasutame eksemplari tüüpi ml.p3.2xlarge, kuna see tagab madala hinnapunkti juures madala järelduste latentsuse jaoks vajaliku GPU kiirenduse. Pärast SageMakeri hostieksemplari konfigureerimist valige juurutada. Kulub 5–10 minutit, kuni lõpp-punkt on töökorras ja valmis järeldustaotlustele vastama.
Järelduste tegemise aja kiirendamiseks pakub JumpStart näidismärkmiku, mis näitab, kuidas vastloodud lõpp-punktis järeldusi teha. Märkmikule Studios juurdepääsuks valige Avage märkmik aasta Kasutage Studio Endpointi mudeli lõpp-punkti lehe jaotist.
Kasutage KiirStarti programmiliselt koos SageMaker SDK-ga
Saate kasutada JumpStart kasutajaliidest, et juurutada eelkoolitatud mudel interaktiivselt vaid mõne klõpsuga. Siiski saate JumpStarti mudeleid kasutada ka programmiliselt, kasutades API-sid, mis on integreeritud SageMaker Pythoni SDK-sse.
Selles jaotises valime JumpStartis sobiva eelkoolitatud mudeli, juurutame selle mudeli SageMakeri lõpp-punkti ja teeme juurutatud lõpp-punkti kohta järeldused, kasutades kõike SageMaker Python SDK-d. Järgmised näited sisaldavad koodilõike. Täieliku koodi koos kõigi selle demo etappidega leiate aadressilt JumpStarti sissejuhatus – parandage pildikvaliteeti juhiste järgi näidismärkmik.
Rakendage eelkoolitatud mudel
SageMaker kasutab Dockeri konteinereid erinevate ehitus- ja käitusülesannete jaoks. KiirStart kasutab SageMakeri süvaõppekonteinerid (DLC-d), mis on raamistikuspetsiifilised. Esmalt hangime kõik lisapaketid, samuti skriptid, et käsitleda valitud ülesande koolitust ja järeldusi. Seejärel tuuakse eelnevalt väljaõppinud mudeliartefaktid eraldi model_uris
, mis pakub platvormile paindlikkust. See võimaldab ühe järeldusskriptiga kasutada mitut eelkoolitatud mudelit. Järgmine kood illustreerib seda protsessi:
Järgmisena pakume need ressursid a SageMakeri mudel eksemplar ja juurutage lõpp-punkt:
Pärast mudeli kasutuselevõttu saame sellest reaalajas prognoose saada!
Sisendvorming
Lõpp-punkt aktsepteerib madala eraldusvõimega kujutist RGB töötlemata väärtustena või base64 kodeeritud kujutisena. Järelduskäsitleja dekodeerib pildi selle põhjal content_type
:
- eest
content_type = “application/json”
, peab sisendkoormus olema JSON-sõnastik RGB töötlemata väärtuste, tekstiviipa ja muude valikuliste parameetritega - eest
content_type = “application/json;jpeg”
, peab sisendkoormus olema JSON-sõnastik base64 kodeeritud pildi, tekstiviipa ja muude valikuliste parameetritega
Väljundvorming
Järgmised koodinäited annavad teile ülevaate sellest, kuidas väljundid välja näevad. Sarnaselt sisendvormingule võib lõpp-punkt vastata pildi RGB töötlemata väärtustega või base64 kodeeritud kujutisega. Seda saab määrata seadistustega accept
ühele kahest väärtusest:
- eest
accept = “application/json”
, tagastab lõpp-punkt pildi RGB-väärtustega JSON-sõnastiku - eest
accept = “application/json;jpeg”
, tagastab lõpp-punkt JSON-sõnastiku, mille JPEG-kujutis on base64.b64-kodeeringuga kodeeritud baitidena
Pange tähele, et RGB töötlemata väärtustega kasuliku koormuse saatmine või vastuvõtmine võib jõuda sisendkoormuse ja vastuse suuruse vaikepiiranguteni. Seetõttu soovitame seadistustega kasutada base64 kodeeritud pilti content_type = “application/json;jpeg”
ja accept = “application/json;jpeg”
.
Järgmine kood on järeldustaotluse näide:
Lõpp-punkti vastus on JSON-objekt, mis sisaldab loodud pilte ja viipa:
Toetatud parameetrid
Stabiilse difusiooni ülesskaleerimise mudelid toetavad kujutiste genereerimiseks paljusid parameetreid:
- pilt - Madala eraldusvõimega pilt.
- kiire – Viip pildi loomise juhendamiseks. See võib olla string või stringide loend.
- num_inference_steps (valikuline) – müra vähendamise sammude arv kujutise genereerimisel. Rohkem samme viib kvaliteetsema pildini. Kui see on määratud, peab see olema positiivne täisarv. Pange tähele, et rohkem järeldusetappe viib pikema reageerimisajani.
- guidance_scale (valikuline) – Kõrgema juhtimisskaala tulemuseks on kujutise, mis on viipaga tihedamalt seotud, pildikvaliteedi arvelt. Kui see on määratud, peab see olema ujuk.
guidance_scale<=1
ignoreeritakse. - negatiivne_prompt (valikuline) – See juhib kujutise genereerimist selle viipa vastu. Kui see on määratud, peab see olema string või stringide loend ja seda tuleb kasutada koos
guidance_scale
. Kuiguidance_scale
on keelatud, on ka see keelatud. Veelgi enam, kui viip on stringide loend, peab negatiivne_viip olema ka stringide loend. - seeme (valikuline) – See fikseerib reprodutseeritavuse jaoks randomiseeritud oleku. Kui see on määratud, peab see olema täisarv. Kui kasutate sama viipa sama seemnega, on tulemuseks olev pilt alati sama.
- müratase (valikuline) – See lisab varjatud vektoritele enne skaleerimist müra. Kui see on määratud, peab see olema täisarv.
Saate pilti rekursiivselt suurendada, kutsudes korduvalt esile lõpp-punkti, et saada paremaid ja kvaliteetsemaid pilte.
Pildi suurus ja eksemplari tüübid
Mudeli loodud kujutised võivad olla kuni neli korda suuremad kui algne madala eraldusvõimega pilt. Lisaks kasvab mudeli mäluvajadus (GPU mälu) koos genereeritud pildi suurusega. Seega, kui suurendate juba kõrge eraldusvõimega pilti või suurendate pilte rekursiivselt, valige suure GPU-mäluga eksemplari tüüp. Näiteks failil ml.g5.2xlarge on rohkem GPU-mälu kui varem kasutatud eksemplaritüübil ml.p3.2xlarge. Erinevate eksemplaritüüpide kohta lisateabe saamiseks vaadake Amazon EC2 eksemplaritüübid.
Piltide suurendamine tükkhaaval
Mäluvajaduse vähendamiseks suurte piltide suurendamisel saate pildi jagada väiksemateks osadeks, mida nimetatakse plaadidja täiustage iga plaati eraldi. Pärast plaatide suurendamist saab need kokku segada, et luua lõplik pilt. See meetod nõuab viipa kohandamist iga paani jaoks, et mudel mõistaks paani sisu ja väldiks kummaliste kujutiste loomist. Viipa stiiliosa peaks jääma kõigi paanide jaoks ühtseks, et hõlbustada segamist. Kõrgemate müra vähendamise seadete kasutamisel on oluline olla viipas täpsem, kuna mudelil on rohkem vabadust pilti kohandada. See võib olla keeruline, kui paan sisaldab ainult tausta või ei ole otseselt seotud pildi põhisisuga.
Piirangud ja eelarvamus
Kuigi Stable Diffusionil on ülesskaleerimisel muljetavaldav jõudlus, on sellel mitmeid piiranguid ja eelarvamusi. Nende hulka kuuluvad, kuid mitte ainult:
- Mudel ei pruugi luua täpseid nägusid või jäsemeid, kuna treeninguandmed ei sisalda nende funktsioonidega piisavalt pilte
- Modell on koolitatud LAION-5B andmestik, millel on täiskasvanutele mõeldud sisu ja mis ei pruugi ilma täiendavate kaalutlusteta sobida toote kasutamiseks
- Mudel ei pruugi hästi töötada muude kui inglise keeltega, kuna mudelit õpetati ingliskeelse tekstiga
- Mudel ei saa piltides head teksti luua
Lisateavet piirangute ja eelarvamuste kohta leiate jaotisest Stabiilse difusiooni suurendamise mudelikaart.
Koristage
Kui olete märkmiku käitamise lõpetanud, kustutage kindlasti kõik protsessi käigus loodud ressursid, et tagada arveldamise peatamine. Lõpp-punkti puhastamise kood on saadaval seotud jaotises märkmik.
Järeldus
Selles postituses näitasime, kuidas JumpStarti abil juurutada eelkoolitatud Stable Diffusion upscaler mudelit. Näitasime selles postituses koodilõike – täielik kood koos kõigi selle demo sammudega on saadaval aadressil JumpStarti sissejuhatus – parandage pildikvaliteeti juhiste järgi näidismärkmik. Proovige lahendust ise ja saatke meile oma kommentaarid.
Mudeli ja selle toimimise kohta lisateabe saamiseks vaadake järgmisi ressursse.
JumpStarti kohta lisateabe saamiseks vaadake järgmisi ajaveebi postitusi:
Autoritest
Dr Vivek Madan on Amazon SageMaker JumpStart meeskonna rakendusteadlane. Ta sai doktorikraadi Illinoisi ülikoolist Urbana-Champaignis ja oli Georgia Techi järeldoktor. Ta on aktiivne masinõppe ja algoritmide kujundamise uurija ning avaldanud ettekandeid EMNLP, ICLR, COLT, FOCS ja SODA konverentsidel.
Heiko Hotz on tehisintellekti ja masinõppe lahenduste vanemarhitekt, keskendudes eelkõige loomuliku keele töötlemisele (NLP), suurtele keelemudelitele (LLM) ja generatiivsele AI-le. Enne seda rolli oli ta Amazoni EL-i klienditeeninduse andmeteaduse juht. Heiko aitab meie klientidel olla edukas AI/ML teekonnal AWS-is ning on töötanud organisatsioonidega paljudes tööstusharudes, sealhulgas kindlustus, finantsteenused, meedia ja meelelahutus, tervishoid, kommunaalteenused ja tootmine. Vabal ajal reisib Heiko nii palju kui võimalik.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- MEIST
- kiirendama
- aktsepteerima
- Nõustub
- juurdepääs
- konto
- täpne
- täpselt
- saavutada
- aktiivne
- kohandama
- Täiendavad lisad
- Lisaks
- Lisab
- Täiskasvanud
- pärast
- vastu
- AI
- Tehisintellekt ja masinõpe
- AI / ML
- algoritm
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- juba
- alati
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- ja
- Teatama
- API
- API-liidesed
- rakendatud
- asjakohane
- Kunstnikud
- seotud
- automaatselt
- saadaval
- AWS
- tagapõhi
- põhineb
- sest
- enne
- on
- erapoolikus
- arvete
- segunemine
- Blogi
- Blogi postitused
- Murdma
- ehitama
- kutsutud
- Saab
- CAT
- raske
- kontrollima
- Vali
- klass
- selgemaks
- lähedalt
- kood
- kommentaarid
- võrreldes
- konverentsid
- järjepidev
- Konteiner
- Konteinerid
- sisaldab
- sisu
- kontekst
- ümber
- looma
- loodud
- loomine
- tava
- klient
- Kasutajatugi
- Kliendid
- andmed
- andmeteadus
- vähenema
- sügav
- sügav õpe
- vaikimisi
- näitama
- juurutada
- lähetatud
- Disain
- detail
- üksikasjalik
- erinev
- Diffusion
- otse
- blokeeritud
- laevalaadija
- Ei tee
- ajal
- iga
- Ajalugu
- lihtsam
- pood
- tõhusalt
- kumbki
- kõrvaldades
- Lõpuks-lõpuni
- Lõpp-punkt
- Inglise
- tagama
- meelelahutus
- kanne
- kinnisvara
- EU
- näide
- näited
- nägu
- tunnusjoon
- Tõmmatud
- vähe
- fail
- lõplik
- finants-
- finantsteenused
- leidma
- esimene
- sobima
- Paindlikkus
- Float
- Keskenduma
- Järel
- formaat
- Vabadus
- Alates
- täis
- edasi
- Pealegi
- tekitama
- loodud
- põlvkond
- generatiivne
- Generatiivne AI
- Georgia
- saama
- Andma
- Pilk
- hea
- GPU
- Green
- Kasvab
- suunata
- juhendid
- käepide
- juhataja
- tervishoid
- kõrgus
- aitab
- kõrgresolutsiooniga
- rohkem
- Tulemus
- Hosting
- Kuidas
- Kuidas
- aga
- HTML
- HTTPS
- Illinois
- pilt
- pildid
- oluline
- muljetavaldav
- parandama
- in
- sisaldama
- Kaasa arvatud
- Suurendama
- Üksikult
- tööstusharudes
- info
- sisend
- Näiteks
- kindlustus
- integreeritud
- Interface
- IT
- teekond
- Json
- teatud
- keel
- Keeled
- suur
- Hilinemine
- viima
- Õppida
- õppimine
- Lets
- piirangud
- piiratud
- piirid
- liinid
- nimekiri
- enam
- Vaata
- näeb välja
- kaotamine
- Madal
- masin
- masinõpe
- põhiline
- tegema
- käsiraamat
- käsitöö
- käsitsi
- tootmine
- palju
- Vastama
- Meedia
- Mälu
- meetod
- miljonid
- protokoll
- ML
- mudel
- mudelid
- rohkem
- mitmekordne
- Natural
- Natural Language Processing
- Vajadus
- Uus
- nlp
- müra
- märkmik
- November
- number
- objekt
- ONE
- avatud
- et
- organisatsioonid
- originaal
- Muu
- ülevaade
- enda
- pakette
- dokumendid
- parameetrid
- osa
- jõudlus
- pilt
- tükk
- inimesele
- Platon
- Platoni andmete intelligentsus
- PlatoData
- Punkt
- positiivne
- võimalik
- post
- Postitusi
- volitused
- ennustada
- Ennustused
- Predictor
- esitada
- hind
- Eelnev
- protsess
- töötlemine
- Toode
- anda
- annab
- pakkudes
- avaldatud
- Python
- kvaliteet
- Juhuslikult valitud
- Töötlemata
- valmis
- reaalne
- kinnisvara
- vastuvõtmine
- soovitama
- seotud
- jääma
- KORDUVALT
- taotleda
- Taotlusi
- nõudma
- nõue
- Nõuded
- Vajab
- uurija
- resolutsioon
- Vahendid
- Reageerida
- vastus
- kaasa
- tulemuseks
- Tulemused
- tagasipöördumine
- Tulu
- RGB
- Roll
- jooks
- jooksmine
- salveitegija
- sama
- Skaala
- teadus
- teadlane
- ekraanid
- skripte
- SDK
- Teine
- Osa
- lõigud
- seeme
- väljavalitud
- saatmine
- vanem
- teenus
- Teenused
- kehtestamine
- seaded
- mitu
- peaks
- näitama
- Näitused
- märkimisväärne
- Samamoodi
- ühekordne
- SUURUS
- väiksem
- sujuvam
- So
- lahendus
- Lahendused
- eriline
- konkreetse
- määratletud
- stabiilne
- riik
- Sammud
- peatatud
- stuudio
- stiil
- edukas
- selline
- Kannatab
- piisav
- toetama
- Võtma
- võtab
- Ülesanne
- ülesanded
- meeskond
- tech
- tehnikat
- testid
- .
- oma
- seetõttu
- Läbi
- aeg
- korda
- et
- täna
- kokku
- traditsiooniline
- Rong
- koolitatud
- koolitus
- reisib
- liigid
- ui
- mõistma
- Ülikool
- us
- kasutama
- Kasutaja
- Kasutajaliides
- kommunaalteenused
- kasutab ära
- väärtuslik
- Väärtused
- eri
- kaudu
- Video
- kuidas
- M
- mis
- valge
- will
- jooksul
- ilma
- Töö
- koos töötama
- töötas
- töötab
- sa
- Sinu
- sephyrnet