Amazon SageMakeri torujuhtmed on pideva integreerimise ja pideva tarnimise (CI/CD) teenus, mis on loodud masinõppe (ML) kasutusjuhtudeks. Saate seda kasutada täielike ML-i töövoogude loomiseks, automatiseerimiseks ja haldamiseks. See lahendab ML-protsessi iga etapi korraldamise väljakutse, mis nõuab aega, jõupingutusi ja ressursse. Selle kasutamise hõlbustamiseks on saadaval mitu malli, mida saate vastavalt oma vajadustele kohandada.
Täielikult hallatavad pildi- ja videoanalüüsi teenused on kiirendanud ka arvutinägemise lahenduste kasutuselevõttu. AWS pakub eelkoolitatud ja täielikult hallatavat AWS AI teenust nimega Amazon Rekognitsioon mida saab API-kõnede abil integreerida arvutinägemisrakendustesse ja mis ei nõua ML-kogemust. Peate lihtsalt esitama pildi Amazon Rekognition API ja see suudab tuvastada vajalikud objektid vastavalt eelnevalt määratletud siltidele. Samuti on võimalik pakkuda teie kasutusjuhtumile spetsiifilisi kohandatud silte ja luua kohandatud arvutinägemise mudel, mis ei vaja ML-teadmisi peaaegu üldse.
Selles postituses käsitleme konkreetset arvutinägemisprobleemi: nahakahjustuste klassifikatsiooni ja kasutame torujuhtmeid, kohandades olemasolevat malli ja kohandades seda selle ülesande jaoks. Täpne nahakahjustuste klassifikatsioon võib aidata vähihaigusi varakult diagnoosida. Kuid see on meditsiinivaldkonnas keeruline ülesanne, kuna erinevat tüüpi nahakahjustused on väga sarnased. Torujuhtmed võimaldavad meil ära kasutada mitmesuguseid olemasolevaid mudeleid ja algoritme ning luua minimaalse pingutuse ja ajaga täieliku tootmisprotsessi.
Lahenduse ülevaade
Selles postituses koostame torujuhtmete abil otsast lõpuni torujuhtme tavaliste pigmenteerunud nahakahjustuste dermatoskoopiliste kujutiste klassifitseerimiseks. Me kasutame Amazon SageMaker Studio projekti mall MLOps mall mudelite ehitamiseks, koolitamiseks ja juurutamiseks ja kood allpool GitHubi hoidla. Saadud arhitektuur on näidatud järgmisel joonisel.
Selle torujuhtme jaoks kasutame andmestikku HAM10000 (“Inimene masina vastu 10000 10,015 treeningpildiga”), mis koosneb XNUMX XNUMX dermatoskoopilisest kujutisest. Käsitletav ülesanne on mitme klassi klassifikatsioon arvutinägemise valdkonnas. Selles andmekogumis on kujutatud kuus kõige olulisemat diagnostilist kategooriat pigmenteerunud kahjustuste valdkonnas: aktiiniline keratoosid ja intraepiteliaalne kartsinoom või Boweni tõbi (akiec
), basaalrakuline kartsinoom (bcc
), healoomulised keratoositaolised kahjustused (päikese lentigiinid või seborroilised keratoosid ja samblike nagu keratoosid, bkl
), dermatofibroom (df
), melanoom (mel
), melanotsüütide nevi (nv
) ja veresoonte kahjustused (angioomid, angiokeratoomid, püogeensed granuloomid ja hemorraagia, vasc
).
Mudeli sisendi vormingu jaoks kasutame RecordIO
vormingus. See on kompaktne formaat, mis salvestab pildiandmed koos pidevaks lugemiseks ning seega kiiremaks ja tõhusamaks treenimiseks. Lisaks on HAM10000 andmestiku kasutamise üheks väljakutseks klasside tasakaalustamatus. Järgmine tabel illustreerib klasside jaotust.
klass | akiec | Pimekoopia | bkl | df | mel | nv | vasc |
Piltide arv | 327 | 514 | 1099 | 115 | 1113 | 6705 | 142 |
Summa | 10015 |
Selle probleemi lahendamiseks täiendame andmestikku juhuslike teisenduste (nt kärpimine, ümberpööramine, peegeldamine ja pööramine) abil, et kõigil klassidel oleks ligikaudu sama arv pilte.
See eeltöötlusetapp kasutab MXNeti ja OpenCV-d, seega kasutatakse eelehitatud MXNeti konteineri kujutist. Ülejäänud sõltuvused installitakse, kasutades a requirements.txt
faili. Kui soovite luua ja kasutada kohandatud pilti, vaadake Looge Amazon SageMakeri projekte pildi loomise CI/CD torujuhtmetega.
Treeningsammu jaoks kasutame piltide klassifitseerimiseks SageMakeri sisseehitatud Scikit Dockeri pildilt saadaolevat hindajat ja määrame parameetrid järgmiselt:
Lisateavet konteineri kujutise kohta leiate aadressilt Piltide klassifitseerimise algoritm.
Looge stuudioprojekt
Üksikasjalikud juhised Studio seadistamise kohta leiate aadressilt Kiirseadistuse abil Amazon SageMakeri domeenis. Projekti loomiseks toimige järgmiselt.
- Stuudios valige Projektid menüü SageMakeri ressursid menüü.
Projektide lehel saate käivitada eelkonfigureeritud SageMaker MLOps malli. - Vali MLOps mall mudeli ehitamiseks, koolituseks ja juurutamiseks.
- Vali Valige projekti mall.
- Sisestage projekti nimi ja lühike kirjeldus.
- Vali Loo projekt.
Projekti loomiseks kulub paar minutit.
Valmistage ette andmestik
Andmestiku ettevalmistamiseks toimige järgmiselt.
- Minna Harvardi DataVerse.
- Vali Juurdepääs andmestikuleja vaadake üle litsents Creative Commons Attribution-NonCommercial 4.0 International Public License.
- Kui nõustute litsentsiga, valige Algne zip ja laadige alla ZIP-fail.
- Loo Amazoni lihtne salvestusteenus (Amazon S3) ämbrisse ja valige nimi, mis algab tähega
sagemaker
(see võimaldab SageMakeril juurdepääsu ämbrile ilma lisaõigusteta). - Parimate turvatavade huvides saate lubada juurdepääsu logimise ja krüptimise.
- Täiendava
dataverse_files.zip
ämbrisse. - Salvestage S3 ämbri tee hilisemaks kasutamiseks.
- Märkige üles selle ämbri nimi, kuhu olete andmed salvestanud, ja kõigi järgnevate kaustade nimed, et neid hiljem kasutada.
Valmistuge andmete eeltöötluseks
Kuna me kasutame oma eeltöötlusetapis MXNeti ja OpenCV-d, kasutame eelehitatud MXNet Dockeri kujutist ja installime ülejäänud sõltuvused, kasutades requirements.txt
faili. Selleks peate selle kopeerima ja alla kleepima pipelines/skin
aasta sagemaker--modelbuild
hoidla. Lisaks lisage MANIFEST.in
failiga samal tasemel setup.py
, et käskida Pythonil lisada requirements.txt
faili. Lisateabe saamiseks MANIFEST.in, viitama Failide kaasamine allikale MANIFEST.in. Mõlemad failid leiate GitHubi hoidla.
Muutke torujuhtmete malli
Torujuhtmete malli värskendamiseks toimige järgmiselt.
- Looge vaikeämbri sees kaust.
- Veenduge, et Studio täitmisrollil oleks juurdepääs nii vaikesaldrile kui ka andmestikku sisaldavale ämbrile.
- Valige projektide loendist see, mille just lõite.
- Kohta Hoidlad valige hüperlingid, mida kohalikult kloonida AWS CodeCommit hoidlad teie kohalikku Studio eksemplari.
- Liikuge
pipelines
kataloogi seessagemaker--modelbuild
kataloogi ja nimetage see ümberabalone
kataloogiskin
. - avage
codebuild-buildspec.yml
faililsagemaker--modelbuild
kataloogi ja muutke käivituskonveieri teedrun-pipeline —module-name pipelines.abalone.pipeline
(rida 15) järgmisele: - Salvestage fail.
- Asendage failid
pipelines.py
,preprocess.py
ja evaluate.py
torujuhtmete kataloogis koos failidega alates GitHubi hoidla. - Uuenda
preprocess.py
fail (read 183-186) asukohaga S3 (SKIN_CANCER_BUCKET
) ja kausta nimi (SKIN_CANCER_BUCKET_PATH
), kuhu laadisite ülesdataverse_files.zip
arhiiv:skin_cancer_bucket=””
skin_cancer_bucket_path=””
skin_cancer_files=””
skin_cancer_files_ext=””
Eelmises näites salvestatakse andmestik alla s3://monai-bucket-skin-cancer/skin_cancer_bucket_prefix/dataverse_files.zip
.
Käivitage torujuhtme käitamine
Tehtud muudatuste edastamine CodeCommiti hoidlasse (seda tehakse Studio allika juhtimise vahekaardil) käivitab uue konveieri käivitamise, kuna Amazon EventBridge sündmuste jälgib kohustusi. Käitamist saame jälgida, valides SageMakeri projekti sees torujuhtme. Järgmisel ekraanipildil on näide edukalt töötatud torujuhtmest.
- Muudatuste tegemiseks liikuge vasakpoolsel paanil jaotisesse Git.
- Tehke kõik asjakohased muudatused. Te ei pea jälgima
-checkpoint
faili. Saate lisada kirje.gitignore
faili*checkpoint.*
neid ignoreerida. - Kinnitage muudatused, esitades kokkuvõtte ning oma nime ja e-posti aadressi.
- Lükake muudatused sisse.
- Liikuge tagasi projekti juurde ja valige Torujuhtmed sektsiooni.
- Kui valite pooleliolevad konveierid, kuvatakse konveieri etapid.
See võimaldab teil jälgida praegu käimasolevat sammu. Konveieri kuvamiseks võib kuluda paar minutit. Konveieri käivitamiseks järgige CI/CD-s määratletud sammecodebuild-buildspec.yml
peab edukalt jooksma. Nende sammude oleku kontrollimiseks võite kasutada AWS CodeBuild. Lisateabe saamiseks vaadake AWS CodeBuild (AMS SSPS). - Kui torujuhe on lõpetatud, minge tagasi projekti lehele ja valige Mudelrühmad vahekaarti, et kontrollida mudeli artefaktidele lisatud metaandmeid.
- Kui kõik tundub hea, valige oleku uuendus vahekaarti ja kinnitage mudel käsitsi. Vaikimisi
ModelApprovalStatus
on seatud väärtuselePendingManualApproval
. Kui meie mudeli täpsus on suurem kui 60%, lisatakse see mudeliregistrisse, kuid seda ei juurutata enne, kui käsitsi kinnitamine on lõppenud. - Liikuge Lõpp-punktid SageMakeri konsooli lehele, kus näete faasi lõpp-punkti loomist. Mõne minuti pärast kuvatakse lõpp-punkt koos
InService
status. - Lõpp-punkti juurutamiseks tootmisse,
CodePipeline
konsool, valigesagemaker--modeldeploy
torujuhe, mis on hetkel pooleli. - Aasta lõpus
DeployStaging
etapis, peate juurutamise käsitsi heaks kiitma.
Pärast seda sammu näete tootmise lõpp-punkti juurutamist SageMakeris Lõpp-punktid lehel. Mõne aja pärast kuvatakse lõpp-punkt kujul InService
.
Koristage
Saate hõlpsalt puhastada kõik SageMakeri projektiga loodud ressursid.
- Valige Studio navigeerimispaanil SageMakeri ressursid.
- Vali Projektid rippmenüüst ja valige oma projekt.
- Kohta Meetmete menüüst valige kustutama kõigi seotud ressursside kustutamiseks.
Tulemused ja järgmised sammud
Kasutasime edukalt torujuhtmeid, et luua täielik MLOps-raamistik nahakahjustuste klassifitseerimiseks, kasutades HAM10000 andmestiku sisseehitatud mudelit. Hoidlas esitatud parameetrite puhul saime testikomplektis järgmised tulemused.
meetriline | Täpsus | Tagasikutsumine | F1 skoor |
Väärtus | 0.643 | 0.8 | 0.713 |
Mudeli jõudluse parandamiseks saate edasi töötada, viimistledes selle hüperparameetreid, lisades andmete suurendamiseks rohkem teisendusi või kasutades muid meetodeid, nagu sünteetilise vähemuse ülediskreetmise tehnika (SMOTE) või generatiivsed võistlevad võrgud (GAN). Lisaks saate treenimiseks kasutada oma mudelit või algoritmi, kasutades sisseehitatud SageMaker Dockeri pilte või kohandades oma konteinerit SageMakeriga töötamiseks. Lisateabe saamiseks vaadake Dockeri konteinerite kasutamine koos SageMakeriga.
Samuti saate oma torustikule lisada lisafunktsioone. Kui soovite lisada seiret, saate valida MLOps mall mudeli ehitamiseks, koolituseks, juurutamiseks ja jälgimiseks malli SageMakeri projekti loomisel. Saadud arhitektuuril on täiendav jälgimisetapp. Või kui teil on olemasolev kolmanda osapoole Giti hoidla, saate seda kasutada, valides MLOps mall mudelite loomiseks, koolituseks ja juurutamiseks kolmandate osapoolte Giti hoidlates, kasutades Jenkinsi projekt ja teabe pakkumine nii mudelite ehitamise kui ka mudeli juurutamise hoidlate jaoks. See võimaldab teil kasutada mis tahes olemasolevat koodi ja säästab aega või vaeva SageMakeri ja Giti vahelise integreerimisel. Kuid selle valiku puhul a AWS CodeStar ühendus on vajalik.
Järeldus
Selles postituses näitasime, kuidas Studio ja automatiseeritud torujuhtmete abil luua täielikku ML-i töövoogu. Töövoog hõlmab andmestiku hankimist, selle salvestamist ML-mudelile juurdepääsetavasse kohta, konteineri kujutise konfigureerimist eeltöötlemiseks ja seejärel plaadikoodi muutmist sellise pildi jaoks. Seejärel näitasime, kuidas torujuhe käivitada, milliseid samme torujuhe järgib ja kuidas need toimivad. Arutasime ka mudeli jõudluse jälgimist ja mudeli lõpp-punkti juurutamist.
Enamiku neist ülesannetest täitsime Studios, mis toimib kõikehõlmava ML IDE-na ning kiirendab selliste mudelite väljatöötamist ja kasutuselevõttu.
See lahendus ei ole seotud naha klassifitseerimise ülesandega. Saate seda laiendada mis tahes klassifitseerimis- või regressiooniülesandele, kasutades mis tahes SageMakeri sisseehitatud algoritme või eelkoolitatud mudeleid.
Autoritest
Mariem Kthiri on AI/ML konsultant ettevõttes AWS Professional Services Globals ja kuulub tervishoiu- ja bioteaduste (HCLS) meeskonda. Ta on kirglik ML-lahenduste loomisest erinevatele probleemidele ja on alati innukas uute võimaluste ja algatustega. Ta elab Saksamaal Münchenis ja soovib reisida ja avastada teisi maailma osi.
Yassine Zaafouri on AI/ML konsultant AWS-i professionaalsetes teenustes. Ta võimaldab globaalsetel ettevõtetel klientidel luua ja juurutada AI/ML lahendusi pilves, et ületada oma äriprobleemid. Vabal ajal meeldib talle mängida ja sporti vaadata ning maailmas ringi reisida.
Fotinos Kyriakides on AWS-i professionaalsete teenuste AI/ML-i insener. Ta on kirglik tehnoloogia kasutamise vastu, et pakkuda klientidele väärtust ja saavutada äritulemusi. Baasis Londonis, vabal ajal naudib ta jooksmist ja avastamist.
Anna Zapaištšikova oli ProServe'i konsultant AI/ML-is ja Amazon Healthcare TFC liige. Ta on kirglik tehnoloogia ja selle mõju tervishoiule. Tema taust on MLO-de ja AI-põhiste lahenduste loomine klientide probleemidele erinevates valdkondades, nagu kindlustus, autotööstus ja tervishoid.
- AI
- ai kunst
- ai kunsti generaator
- on robot
- Amazon SageMaker
- tehisintellekti
- tehisintellekti sertifikaat
- tehisintellekt panganduses
- tehisintellekti robot
- tehisintellekti robotid
- tehisintellekti tarkvara
- AWS-i masinõpe
- blockchain
- plokiahela konverents ai
- coingenius
- vestluslik tehisintellekt
- krüptokonverents ai
- dall's
- sügav õpe
- google ai
- masinõpe
- Platon
- plato ai
- Platoni andmete intelligentsus
- Platoni mäng
- PlatoData
- platogaming
- skaala ai
- süntaks
- sephyrnet