Amazon SageMaker -putkistot on jatkuvan integroinnin ja jatkuvan toimituksen (CI/CD) palvelu, joka on suunniteltu koneoppimisen (ML) käyttötapauksiin. Sen avulla voit luoda, automatisoida ja hallita päästä päähän ML-työnkulkuja. Se vastaa haasteeseen organisoida ML-prosessin jokainen vaihe, mikä vaatii aikaa, vaivaa ja resursseja. Sen käytön helpottamiseksi on saatavilla useita malleja, joita voit muokata tarpeidesi mukaan.
Täysin hallitut kuva- ja videoanalyysipalvelut ovat myös nopeuttaneet tietokonenäköratkaisujen käyttöönottoa. AWS tarjoaa valmiiksi koulutetun ja täysin hallitun AWS AI -palvelun nimeltä Amazonin tunnistus jotka voidaan integroida tietokonenäkösovelluksiin API-kutsujen avulla eivätkä vaadi ML-kokemusta. Sinun tarvitsee vain tarjota kuva Amazon Rekognition -sovellusliittymä ja se voi tunnistaa tarvittavat objektit ennalta määritettyjen tarrojen mukaan. On myös mahdollista tarjota räätälöityjä tarroja käyttötapauksellesi ja rakentaa räätälöity tietokonenäkömalli ilman, että ML-asiantuntemusta tarvitaan vain vähän tai ei ollenkaan.
Tässä viestissä käsittelemme tiettyä tietokonenäköongelmaa: ihovaurioiden luokittelua ja käytämme Pipelinejä mukauttamalla olemassa olevaa mallia ja räätälöimällä se tähän tehtävään. Tarkka ihovaurioluokitus voi auttaa syöpäsairauksien varhaisessa diagnosoinnissa. Se on kuitenkin haastava tehtävä lääketieteen alalla, koska erilaisten ihovaurioiden välillä on suuri samankaltaisuus. Putkilinjat antavat meille mahdollisuuden hyödyntää erilaisia olemassa olevia malleja ja algoritmeja ja luoda päästä päähän tuotantoprosessin minimaalisella vaivalla ja ajallaan.
Ratkaisun yleiskatsaus
Tässä viestissä rakennamme päästä päähän putkilinjan Pipelines-järjestelmän avulla luokittelemaan dermatoskooppisia kuvia tavallisista pigmentoituneista ihovaurioista. Käytämme Amazon SageMaker Studio projektimalli MLOps-malli mallien rakentamiseen, kouluttamiseen ja käyttöönottoon ja koodi seuraavassa GitHub-arkisto. Tuloksena oleva arkkitehtuuri on esitetty seuraavassa kuvassa.
Tätä putkia varten käytämme HAM10000 ("Human Against Machine with 10000 training image") -tietojoukkoa, joka koostuu 10,015 XNUMX dermatoskooppisesta kuvasta. Käsillä oleva tehtävä on moniluokkainen luokittelu tietokonenäön alalla. Tämä aineisto kuvaa kuusi tärkeintä diagnostista luokkaa pigmentoituneiden leesioiden alueella: aktiiniset keratoosit ja intraepiteliaalinen karsinooma tai Bowenin tauti (akiec
), tyvisolusyöpä (bcc
), hyvänlaatuiset keratoosin kaltaiset leesiot (auringon lentigines tai seborrooinen keratoosi ja jäkälä, kuten keratoosit, bkl
), dermatofibrooma (df
), melanooma (mel
), melanosyyttinen nevi (nv
) ja verisuonivauriot (angioomat, angiokeratomit, pyogeeniset granuloomit ja verenvuoto, vasc
).
Mallin syötteen muotoa varten käytämme RecordIO
muoto. Tämä on kompakti muoto, joka tallentaa kuvatiedot jatkuvaa lukemista varten ja siten nopeampaa ja tehokkaampaa harjoittelua varten. Lisäksi yksi HAM10000-tietojoukon käytön haasteista on luokan epätasapaino. Seuraava taulukko havainnollistaa luokkajakaumaa.
luokka | akiec | BCC | bkl | df | mel | nv | vasc |
Kuvien määrä | 327 | 514 | 1099 | 115 | 1113 | 6705 | 142 |
Yhteensä | 10015 |
Tämän ongelman ratkaisemiseksi lisäämme tietojoukkoa käyttämällä satunnaisia muunnoksia (kuten rajaamista, kääntämistä, peilausta ja kiertämistä), jotta kaikilla luokilla on suunnilleen sama määrä kuvia.
Tämä esikäsittelyvaihe käyttää MXNetiä ja OpenCV:tä, joten se käyttää valmiiksi rakennettua MXNet-säiliökuvaa. Loput riippuvuudet asennetaan käyttämällä a requirements.txt
tiedosto. Jos haluat luoda ja käyttää mukautettua kuvaa, katso Luo Amazon SageMaker -projekteja kuvarakentamisen CI/CD -putkilinjoilla.
Harjoitusvaiheessa käytämme kuvien luokitteluun SageMakerin sisäänrakennetusta Scikit Docker -kuvasta saatavaa estimaattoria ja asetamme parametrit seuraavasti:
Lisätietoja säilökuvasta on kohdassa Kuvan luokittelualgoritmi.
Luo Studio-projekti
Katso yksityiskohtaiset ohjeet Studion käyttöönotosta kohdasta Sisääntulo Amazon SageMaker -verkkotunnukseen pika-asetuksella. Luo projekti suorittamalla seuraavat vaiheet:
- Valitse Studiossa Projektit -valikko SageMaker-resurssit valikosta.
Projektisivulla voit käynnistää esikonfiguroidun SageMaker MLOps -mallin. - Valita MLOps-malli mallin rakentamiseen, koulutukseen ja käyttöönottoon.
- Valita Valitse projektimalli.
- Anna projektin nimi ja lyhyt kuvaus.
- Valita Luo hanke.
Projektin luominen kestää muutaman minuutin.
Valmistele tietojoukko
Valmistele tietojoukko suorittamalla seuraavat vaiheet:
- Mene Harvard DataVerse.
- Valita Käytä tietojoukkoa, ja tarkista Creative Commons Attribution-NonCommercial 4.0 International Public License -lisenssi.
- Jos hyväksyt lisenssin, valitse Alkuperäinen Zip-muoto ja lataa ZIP-tiedosto.
- Luo Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ämpäri ja valitse nimi, joka alkaa kirjaimella
sagemaker
(tämän avulla SageMaker voi käyttää ämpäriä ilman lisäoikeuksia). - Voit ottaa käyttöön kirjaamisen ja salauksen turvallisuuden parhaiden käytäntöjen vuoksi.
- Lataa
dataverse_files.zip
ämpäriin. - Tallenna S3-ämpäripolku myöhempää käyttöä varten.
- Kirjoita muistiin sen ryhmän nimi, johon olet tallentanut tiedot, sekä mahdollisten myöhempien kansioiden nimet käytettäväksi myöhemmin.
Valmistaudu tietojen esikäsittelyyn
Koska käytämme esikäsittelyvaiheessamme MXNetiä ja OpenCV:tä, käytämme valmiiksi rakennettua MXNet Docker -näköistiedostoa ja asennamme loput riippuvuudet käyttämällä requirements.txt
tiedosto. Voit tehdä tämän kopioimalla sen ja liittämällä sen alle pipelines/skin
vuonna sagemaker--modelbuild
arkisto. Lisää lisäksi MANIFEST.in
tiedosto samalla tasolla kuin setup.py
, käskeäksesi Pythonia sisällyttämään requirements.txt
tiedosto. Lisätietoja aiheesta MANIFEST.in, viitata Sisältää tiedostot lähdejakeluissa MANIFEST.in:n kanssa. Molemmat tiedostot löytyvät GitHub-arkisto.
Muuta Pipelines-mallia
Päivitä Pipelines-malli seuraavasti:
- Luo kansio oletusämpäriin.
- Varmista, että Studion suoritusroolilla on pääsy oletussäilöön sekä tietojoukon sisältävään säilöyn.
- Valitse projektiluettelosta juuri luomasi projekti.
- On Asennuslähteet -välilehti, valitse hyperlinkit kloonataksesi ne paikallisesti AWS CodeCommit arkistot paikalliseen Studio-esiintymään.
- Siirry
pipelines
hakemiston sisälläsagemaker--modelbuild
hakemistoon ja nimeä se uudelleenabalone
hakemistoonskin
. - Avaa
codebuild-buildspec.yml
Tiedostosagemaker--modelbuild
hakemistosta ja muokkaa ajon liukuhihnan polkuarun-pipeline —module-name pipelines.abalone.pipeline
(rivi 15) seuraavaan: - Tallenna tiedosto.
- Vaihda tiedostot
pipelines.py
,preprocess.py
ja evaluate.py
pipelines-hakemistossa tiedostojen kanssa GitHub-arkisto. - Päivitä
preprocess.py
tiedosto (rivit 183-186), jossa on S3-sijainti (SKIN_CANCER_BUCKET
) ja kansion nimi (SKIN_CANCER_BUCKET_PATH
) johon latasitdataverse_files.zip
arkisto:skin_cancer_bucket=””
skin_cancer_bucket_path=””
skin_cancer_files=””
skin_cancer_files_ext=””
Edellisessä esimerkissä tietojoukko tallennettaisiin alle s3://monai-bucket-skin-cancer/skin_cancer_bucket_prefix/dataverse_files.zip
.
Käynnistä putkilinjan ajo
Sitoutuneiden muutosten työntäminen CodeCommit-tietovarastoon (tehty Studion lähteenhallinta-välilehdellä) käynnistää uuden liukuhihnan ajon, koska Amazon EventBridge tapahtumavalvojia sitoumuksia varten. Voimme seurata ajoa valitsemalla putkilinjan SageMaker-projektin sisällä. Seuraavassa kuvakaappauksessa on esimerkki putkesta, joka suoritettiin onnistuneesti.
- Jos haluat vahvistaa muutokset, siirry vasemman ruudun Git-osioon.
- Tee kaikki asiaankuuluvat muutokset. Sinun ei tarvitse seurata tilannetta
-checkpoint
tiedosto. Voit lisätä merkinnän.gitignore
tiedoston kanssa*checkpoint.*
jättää ne huomiotta. - Vahvista muutokset antamalla yhteenveto sekä nimesi ja sähköpostiosoitteesi.
- Paina muutokset.
- Siirry takaisin projektiin ja valitse putkistojen osiossa.
- Jos valitset meneillään olevat liukuhihnat, liukuhihnan vaiheet tulevat näkyviin.
Tämän avulla voit valvoa parhaillaan käynnissä olevaa vaihetta. Voi kestää muutaman minuutin, ennen kuin liukuhihna tulee näkyviin. Jotta liukuhihna käynnistyy, CI/CD:ssä määritetyt vaiheetcodebuild-buildspec.yml
täytyy juosta onnistuneesti. Voit tarkistaa näiden vaiheiden tilan käyttämällä AWS CodeBuild. Lisätietoja on kohdassa AWS CodeBuild (AMS SSPS). - Kun liukuhihna on valmis, palaa projektisivulle ja valitse Malliryhmät -välilehteä tarkistaaksesi mallin artefakteihin liitetyt metatiedot.
- Jos kaikki näyttää hyvältä, valitse status Update -välilehti ja hyväksy malli manuaalisesti. Oletus
ModelApprovalStatus
asetetaanPendingManualApproval
. Jos mallimme tarkkuus on yli 60%, se lisätään mallirekisteriin, mutta sitä ei käytetä ennen manuaalisen hyväksynnän päättymistä. - Siirry Endpoints SageMaker-konsolin sivulle, jossa voit nähdä vaiheittaisen päätepisteen luomisen. Muutaman minuutin kuluttua päätepiste näkyy luettelossa
InService
tila. - Voit ottaa päätepisteen käyttöön tuotannossa
CodePipeline
konsoli, valitsesagemaker--modeldeploy
putki, joka on parhaillaan käynnissä. - Lopussa
DeployStaging
vaiheessa, sinun on hyväksyttävä käyttöönotto manuaalisesti.
Tämän vaiheen jälkeen voit nähdä tuotannon päätepisteen käyttöönoton SageMakerissa Endpoints sivu. Hetken kuluttua päätepiste näkyy muodossa InService
.
Puhdistaa
Voit helposti puhdistaa kaikki SageMaker-projektin luomat resurssit.
- Valitse Studion navigointiruudusta SageMaker-resurssit.
- Valita Projektit avattavasta valikosta ja valitse projektisi.
- On Toiminnot valikosta, valitse Poista poistaaksesi kaikki liittyvät resurssit.
Tulokset ja seuraavat vaiheet
Käytimme Pipelinesiä menestyksekkäästi luodaksemme päästä-päähän MLOps-kehyksen ihovaurioiden luokittelua varten käyttämällä HAM10000-tietojoukon sisäänrakennettua mallia. Arkistossa toimitetuille parametreille saimme seuraavat tulokset testijoukosta.
metrinen | Tarkkuus | Palauttaa mieleen | F1 pisteet |
Arvo | 0.643 | 0.8 | 0.713 |
Voit parantaa mallin suorituskykyä edelleen hienosäätämällä sen hyperparametreja, lisäämällä muunnoksia tiedon lisäämistä varten tai käyttämällä muita menetelmiä, kuten Synthetic Minority Oversampling Technique (SMOTE) tai Generative Adversarial Networks (GANs). Lisäksi voit käyttää omaa malliasi tai algoritmiasi harjoitteluun käyttämällä sisäänrakennettuja SageMaker Docker -kuvia tai mukauttamalla omaa säilösi toimimaan SageMakerissa. Katso lisätietoja osoitteesta Docker-astioiden käyttö SageMakerin kanssa.
Voit myös lisätä lisäominaisuuksia putkistoon. Jos haluat sisällyttää valvonnan, voit valita MLOps-malli mallin rakentamista, koulutusta, käyttöönottoa ja seurantaa varten mallia SageMaker-projektia luotaessa. Tuloksena olevassa arkkitehtuurissa on ylimääräinen valvontavaihe. Tai jos sinulla on olemassa kolmannen osapuolen Git-arkisto, voit käyttää sitä valitsemalla MLOps-malli mallin rakentamiseen, koulutukseen ja käyttöönottoon kolmannen osapuolen Git-varastoissa Jenkinsin avulla projektin ja tietojen tarjoaminen sekä mallin rakentamiseen että mallin käyttöönottotietovarastoihin. Näin voit hyödyntää mitä tahansa olemassa olevaa koodia ja säästää aikaa tai vaivaa SageMakerin ja Gitin välisessä integraatiossa. Kuitenkin tälle vaihtoehdolle a AWS CodeStar yhteys tarvitaan.
Yhteenveto
Tässä viestissä näytimme, kuinka luodaan päästä päähän ML-työnkulku Studion ja automatisoitujen putkien avulla. Työnkulkuun sisältyy tietojoukon hankkiminen, sen tallentaminen ML-mallin käytettävissä olevaan paikkaan, säiliökuvan määrittäminen esikäsittelyä varten ja sitten vakiokoodin muokkaaminen tällaisen kuvan mukaiseksi. Sitten näytimme, kuinka liukuhihna laukaistaan, vaiheet, joita putkisto seuraa, ja kuinka ne toimivat. Keskustelimme myös mallin suorituskyvyn valvomisesta ja mallin käyttöönotosta päätepisteeseen.
Suoritimme suurimman osan näistä tehtävistä Studiossa, joka toimii kaiken kattavana ML IDE:nä ja nopeuttaa tällaisten mallien kehitystä ja käyttöönottoa.
Tämä ratkaisu ei ole sidottu ihon luokittelutehtävään. Voit laajentaa sen mihin tahansa luokitus- tai regressiotehtävään käyttämällä mitä tahansa SageMakerin sisäänrakennettua algoritmia tai esikoulutettua malleja.
Tietoja kirjoittajista
Mariem Kthiri on AI/ML-konsultti AWS Professional Services Globalsissa ja on osa Health Care and Life Science (HCLS) -tiimiä. Hän on intohimoinen rakentamaan ML-ratkaisuja erilaisiin ongelmiin ja on aina innokas tarttumaan uusiin mahdollisuuksiin ja aloitteisiin. Hän asuu Münchenissä, Saksassa ja on innokas matkustamaan ja tutustumaan muihin osiin maailmaa.
Yassine Zaafouri on AI/ML-konsultti AWS:n Professional Services -yksikössä. Hän antaa globaaleille yritysasiakkaille mahdollisuuden rakentaa ja ottaa käyttöön AI/ML-ratkaisuja pilvessä selviytyäkseen liiketoiminnan haasteistaan. Vapaa-ajallaan hän nauttii pelaamisesta ja urheilun katsomisesta sekä matkustamisesta ympäri maailmaa.
Fotinos Kyriakides on AI/ML-insinööri ammattipalveluissa AWS:ssä. Hän on intohimoinen teknologian käyttämisestä arvon tuottamiseksi asiakkaille ja liiketoiminnan tulosten saavuttamiseksi. Tukikohta Lontoossa, vapaa-ajallaan hän nauttii juoksemisesta ja tutkimisesta.
Anna Zapaishchykova oli ProServe-konsultti AI/ML:ssä ja Amazon Healthcare TFC:n jäsen. Hän on intohimoinen teknologiasta ja sen vaikutuksista terveydenhuoltoon. Hänen taustansa on rakentaa MLOps-ratkaisuja ja tekoälypohjaisia ratkaisuja asiakkaiden ongelmiin useilla aloilla, kuten vakuutus-, auto- ja terveydenhuolto.
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazon Sage Maker
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- zephyrnet