Amazon SageMakeri torujuhtmed võimaldab andmeteadlastel ja masinõppe (ML) inseneridel koolituse töövooge automatiseerida, mis aitab teil luua korratavat protsessi, et korraldada mudeli arendamise etappe kiireks katsetamiseks ja mudelite ümberõppeks. Saate automatiseerida kogu mudeli koostamise töövoo, sealhulgas andmete ettevalmistamise, funktsioonide projekteerimise, mudeli koolituse, mudeli häälestamise ja mudeli valideerimise ning kataloogida selle mudeliregistris. Saate konfigureerida konveierid jooksma automaatselt regulaarsete ajavahemike järel või teatud sündmuste käivitumisel, või saate neid vajaduse korral käsitsi käivitada.
Selles postituses toome esile mõned täiustused Amazon SageMaker SDK ja tutvustavad Amazon SageMaker Pipelines'i uusi funktsioone, mis muudavad ML-i praktikute jaoks lihtsamaks ML-mudelite loomise ja koolitamise.
Pipelines jätkab oma arendajakogemuse uuendamist ja nende hiljutiste väljalasetega saate nüüd teenust kohandatud viisil kasutada.
- 2.99.0, 2.101.1, 2.102.0, 2.104.0 – Uuendatud dokumentatsioon
PipelineVariable
hindaja, protsessori, tuuneri, trafo ja mudeli baasklasside, Amazoni mudelite ja raamistiku mudelite kasutamine. SDK uuemate versioonidega tehakse täiendavaid muudatusi, et toetada kõiki hindajate ja protsessorite alamklasse. - 2.90.0 – Saadavus ModelStep integreeritud mudeliressursi loomise ja registreerimise ülesannete jaoks.
- 2.88.2 – Saadavus PipelineSession hallatud suhtlemiseks SageMakeri üksuste ja ressurssidega.
- 2.88.2 - alamklassi ühilduvus töövoo torujuhtme tööetapid nii saate luua töö abstraktsioone ning konfigureerida ja käivitada töötlemis-, koolitus-, teisendus- ja häälestustöid nagu ilma konveierita.
- 2.76.0 – Saadavus FailStep rikkeseisundiga torujuhtme tingimuslikuks peatamiseks.
Selles postituses tutvustame teile töövoogu, kasutades näidisandmestikku, keskendudes mudeli loomisele ja juurutamisele, et näidata, kuidas Pipelinesi uusi funktsioone rakendada. Lõpuks peaks teil olema piisavalt teavet, et neid uuemaid funktsioone edukalt kasutada ja ML-i töökoormust lihtsustada.
Funktsioonide ülevaade
Pipelines pakub järgmisi uusi funktsioone:
- Torujuhtme muutuja annotatsioon – Teatud meetodi parameetrid aktsepteerivad mitut sisenditüüpi, sealhulgas
PipelineVariables
, ja on lisatud täiendavaid dokumente, et selgitada, kusPipelineVariables
on toetatud nii SageMaker SDK dokumentatsiooni uusimas stabiilses versioonis kui ka funktsioonide algsignatuuris. Näiteks järgmises TensorFlow hinnangus näitab seda nüüd algsignatuurmodel_dir
jaimage_uri
toetamaPipelineVariables
, samas kui teised parameetrid mitte. Lisateabe saamiseks vaadake TensorFlow hindaja.- Enne:
- Pärast:
- Torujuhtme seanss - PipelineSession on uus kontseptsioon, mis on kasutusele võetud SageMaker SDK ühtsuse toomiseks ja tutvustab konveieri ressursside laisakat lähtestamist (käivituskutsed püütakse kinni, kuid neid ei käivitata enne, kui konveier on loodud ja käivitatud). The
PipelineSession
kontekst päribSageMakerSession
ja rakendab mugavaid meetodeid teiste SageMakeri olemite ja ressurssidega suhtlemiseks, nagu koolitustööd, lõpp-punktid ja sisendandmed, mis on salvestatud Amazoni lihtne salvestusteenus (Amazon S3). - Alamklassi ühilduvus töövoo konveieri tööetappidega – Nüüd saate koostada tööde abstraktsioone ning konfigureerida ja käivitada töötlemis-, koolitus-, teisendus- ja häälestustöid nagu ilma konveierita.
- Näiteks töötlemisetapi loomine rakendusega
SKLearnProcessor
varem nõudis järgmist: - Nagu näeme eelmises koodis,
ProcessingStep
peab tegema põhimõtteliselt sama eeltöötlusloogikat nagu.run
, lihtsalt ilma töö alustamiseks API-kutset käivitamata. Kuid kuna alamklassi ühilduvus on nüüd töövoo konveieri tööetappidega lubatud, deklareerimestep_args
argument, mis kasutab .run eeltöötlusloogikat, et saaksite luua töö abstraktsiooni ja konfigureerida seda nii, nagu kasutaksite seda ilma torujuhtmeteta. Läbime kapipeline_session
, mis on aPipelineSession
objekti asemelsagemaker_session
veendumaks, et käitamiskutsed püütakse kinni, kuid neid ei kutsuta enne, kui konveier on loodud ja käivitatud. Vaadake järgmist koodi:
- Näiteks töötlemisetapi loomine rakendusega
- Mudelite samm (lihtne lähenemisviis mudeli loomise ja registreerimise sammudega) -Pipelines pakub SageMakeri mudelitega integreerimiseks kahte etapitüüpi:
CreateModelStep
jaRegisterModel
. Nüüd saate mõlemat saavutada, kasutades ainultModelStep
tüüp. Pange tähele, et aPipelineSession
selle saavutamiseks on vaja. See toob konveieri etappide ja SDK sarnasuse.- Enne:
-
- Pärast:
- Ebaõnnestunud samm (torujuhtme töö tingimuslik seiskamine) -
FailStep
võimaldab konveieri peatada rikkeolekuga, kui tingimus on täidetud, näiteks kui mudeli skoor on alla teatud läve.
Lahenduse ülevaade
Selles lahenduses on teie sisenemispunkt Amazon SageMaker Studio integreeritud arenduskeskkond (IDE) kiireks katsetamiseks. Studio pakub keskkonda torujuhtmete täieliku kasutuskogemuse haldamiseks. Studio abil saate sellest mööda minna AWS-i juhtimiskonsool kogu töövoo haldamiseks. Lisateavet torujuhtmete haldamise kohta Studios leiate aadressilt Vaadake, jälgige ja käivitage SageMakeri torujuhtmeid SageMaker Studios.
Järgmine diagramm illustreerib ML-i töövoo kõrgetasemelist arhitektuuri koos uute funktsioonide abil treenimise ja järelduste tegemise erinevate sammudega.
Torujuhe sisaldab järgmisi samme:
- Eeltöötlege andmeid vajalike funktsioonide loomiseks ja jagage andmed rongi-, valideerimis- ja katseandmekogumiteks.
- Looge SageMaker XGBoost raamistikuga koolitustöö.
- Hinnake koolitatud mudelit testiandmestiku abil.
- Kontrollige, kas AUC skoor ületab etteantud läve.
- Kui AUC skoor on künnisest väiksem, peatage torujuhtme töö ja märkige see ebaõnnestunuks.
- Kui AUC skoor on suurem kui lävi, looge SageMakeri mudel ja registreerige see SageMakeri mudeliregistris.
- Rakendage antud andmekogumile pakkteisendus, kasutades eelmises etapis loodud mudelit.
Eeldused
Selle postituse jätkamiseks vajate AWS-i kontot a Stuudio domeen.
Torujuhtmed on integreeritud otse SageMakeri üksuste ja ressurssidega, nii et te ei pea suhtlema muude AWS-teenustega. Samuti ei pea te ressursse haldama, kuna see on täielikult hallatav teenus, mis tähendab, et see loob ja haldab teie eest ressursse. Lisateavet erinevate SageMakeri komponentide kohta, mis on nii iseseisvad Pythoni API-d kui ka Studio integreeritud komponentid, leiate SageMakeri tooteleht.
Enne alustamist installige Studio märkmikusse SageMaker SDK versioon >= 2.104.0 ja xlrd >=1.0.0, kasutades järgmist koodilõiku:
ML töövoog
Selle postituse jaoks kasutate järgmisi komponente:
- Andmete ettevalmistamine
- SageMakeri töötlemine – SageMaker Processing on täielikult hallatav teenus, mis võimaldab teil käitada kohandatud andmete teisendusi ja funktsioonide projekteerimist ML-töökoormuste jaoks.
- Mudeli ehitamine
- Mudelite koolitus ja hindamine
- Treening ühe klõpsuga – SageMakeri levitatud treeningfunktsioon. SageMaker pakub hajutatud õppeteeke andmete paralleelsuse ja mudelite paralleelsuse jaoks. Teegid on optimeeritud SageMakeri koolituskeskkonna jaoks, aitavad kohandada teie hajutatud treeningtöid SageMakeriga ning parandavad treeningu kiirust ja läbilaskevõimet.
- SageMakeri katsed – Eksperimendid on SageMakeri võimalus, mis võimaldab teil korraldada, jälgida, võrrelda ja hinnata oma ML-iteratsioone.
- SageMakeri partii teisendus – Partii teisendus või võrguühenduseta hindamine on SageMakeris hallatav teenus, mis võimaldab teil oma ML-mudeleid kasutades ennustada suuremat andmestikku.
- Töövoo orkestreerimine
SageMakeri konveier on JSON-i konveieri määratlusega määratletud omavahel ühendatud sammude jada. See kodeerib konveieri, kasutades suunatud atsüklilist graafikut (DAG). DAG annab teavet konveieri iga etapi nõuete ja suhete kohta ning selle struktuuri määravad sammudevahelised andmete sõltuvused. Need sõltuvused luuakse siis, kui sammu väljundi atribuudid edastatakse sisendina teisele sammule.
Järgnev diagramm illustreerib erinevaid samme SageMakeri konveieris (kärbimise ennustamise kasutusjuhul), kus sammudevahelised seosed järeldab SageMaker sammude määratlustega määratletud sisendite ja väljundite põhjal.
Järgmistes jaotistes kirjeldatakse torujuhtme iga etapi loomist ja kogu torujuhtme käivitamist.
Projekti ülesehitus
Alustame projekti struktuurist:
- /sm-pipelines-end-to-end-example – projekti nimi
- / andmed – Andmekogumid
- /torujuhtmed – torujuhtme komponentide koodifailid
- /kliendisuud
- preprocess.py
- hindama.py
- /kliendisuud
- sagemaker-pipelines-project.ipynb – Pipelinesi uute funktsioonide abil modelleerimise töövoo läbiv märkmik
Laadige alla andmestik
Selle postituse jätkamiseks peate alla laadima ja salvestama näidisandmekogum projekti kodukataloogi andmekausta all, kuhu fail salvestatakse Amazon elastne failisüsteem (Amazon EFS) Studio keskkonnas.
Ehitage torujuhtme komponendid
Nüüd olete valmis torujuhtme komponente ehitama.
Impordi laused ning deklareeri parameetrid ja konstandid
Looge Studio märkmik nimega sagemaker-pipelines-project.ipynb
projekti kodukataloogis. Sisestage lahtrisse järgmine koodiplokk ja käivitage lahter, et seadistada SageMakeri ja S3 kliendiobjektid, luua PipelineSession
ja seadistage S3 ämbri asukoht, kasutades SageMakeri seansiga kaasas olevat vaikeämbrit:
Konveierid toetavad parameetrite määramist, mis võimaldab teil määrata sisendparameetrid käitusajal ilma konveieri koodi muutmata. Saate kasutada allolevaid mooduleid sagemaker.workflow.parameters
moodul, näiteks ParameterInteger
, ParameterFloat
ja ParameterString
, et määrata erinevate andmetüüpide konveieri parameetreid. Mitme sisendparameetri seadistamiseks käivitage järgmine kood:
Looge pakettandmekogum
Looge pakettandmekomplekt, mida kasutate hiljem partii teisendamise etapis.
Laadige andmed üles S3 ämbrisse
Laadige andmestikud Amazon S3 üles:
Määratlege töötlemise skript ja töötlemise etapp
Selles etapis valmistate ette Pythoni skripti funktsioonide projekteerimiseks, ühe kuumkodeeringu tegemiseks ning mudelite ehitamiseks kasutatava koolituse, valideerimise ja testijaotiste kureerimiseks. Käivitage töötlemisskripti koostamiseks järgmine kood:
Järgmisena käivitage protsessori käivitamiseks järgmine koodiplokk ja töötlemisskripti käivitamiseks samm Pipelines. Kuna töötlemisskript on kirjutatud Pandas, kasutate a SKLearnProcessor. Torujuhtmed ProcessingStep
Funktsioon kasutab järgmisi argumente: protsessor, sisend-S3 asukohad töötlemata andmekogumite jaoks ja väljund S3 asukohad töödeldud andmekogumite salvestamiseks.
Määrake koolitusetapp
Seadistage mudelikoolitus, kasutades SageMaker XGBoost hindajat ja torujuhtmeid TrainingStep
funktsioon:
Määratlege hindamisskript ja mudeli hindamise samm
Käivitage järgmine koodiplokk, et hinnata mudelit pärast koolitamist. See skript sisaldab loogikat, et kontrollida, kas AUC skoor vastab määratud lävele.
Järgmisena käivitage protsessori käivitamiseks järgmine koodiplokk ja hindamisskripti käivitamiseks samm Pipelines. Kuna hindamisskript kasutab paketti XGBoost, kasutate a ScriptProcessor
koos XGBoosti pildiga. Torujuhtmed ProcessingStep
Funktsioon kasutab järgmisi argumente: protsessor, sisend-S3 asukohad töötlemata andmekogumite jaoks ja väljund S3 asukohad töödeldud andmekogumite salvestamiseks.
Määrake mudeli loomise samm
Käivitage järgmine koodiplokk, et luua SageMakeri mudel, kasutades torujuhtmete mudeli sammu. See samm kasutab väljaõppeetapi väljundit mudeli juurutamiseks pakendamiseks. Pange tähele, et eksemplari tüübi argumendi väärtus edastatakse varem postituses määratletud parameetri Pipelines abil.
Määrake partii teisenduse samm
Käivitage järgmine koodiplokk, et käivitada partii teisendus, kasutades koolitatud mudelit esimeses etapis loodud partii sisendiga:
Määratlege registrimudeli samm
Järgmine kood registreerib mudeli SageMakeri mudeliregistris, kasutades Pipelines mudeli sammu:
Määrake torujuhtme peatamiseks ebaõnnestumise samm
Järgmine kood määratleb torujuhtmete ebaõnnestumise sammu, et peatada konveieri käitamine veateate saatel, kui AUC skoor ei vasta määratletud lävele.
Määratlege AUC skoori kontrollimise tingimus
Järgmine kood määratleb tingimuse sammu AUC skoori kontrollimiseks ja tingimusliku mudeli loomiseks ja partii teisenduse käivitamiseks ja mudeli registreerimiseks mudeliregistris või konveieri töö peatamiseks ebaõnnestunud olekus:
Ehitage ja käivitage torujuhe
Pärast kõigi komponentide etappide määratlemist saate need koguda torujuhtmete objektiks. Te ei pea määrama konveieri järjekorda, kuna torujuhtmed järeldab automaatselt järjestuse jada sammude vaheliste sõltuvuste põhjal.
Käivitage märkmiku lahtris järgmine kood. Kui konveier on juba olemas, värskendab kood konveieri. Kui torujuhet pole, loob see uue.
Järeldus
Selles postituses tutvustasime mõningaid uusi funktsioone, mis on nüüd saadaval koos torujuhtmetega, koos muude sisseehitatud SageMakeri funktsioonide ja XGBoosti algoritmiga, et arendada, itereerida ja juurutada lünga ennustamise mudelit. Lahendust saab täiendada täiendavate andmeallikatega
oma ML-i töövoo rakendamiseks. Lisateavet torujuhtmete töövoos saadaolevate sammude kohta leiate artiklist Amazon SageMakeri mudeli ehitamise torujuhe ja SageMakeri töövood. AWS SageMakeri näited GitHubi repol on rohkem näiteid torujuhtmete kasutamise erinevate kasutusjuhtude kohta.
Autoritest
Jerry Peng on tarkvaraarenduse insener koos AWS SageMakeriga. Ta keskendub täieliku suuremahulise MLOps-süsteemi ehitamisele alates koolitusest kuni mudeli jälgimiseni tootmises. Samuti on ta kirglik MLOpside kontseptsiooni laiemale publikule toomise vastu.
Dewen Qi on AWS-i tarkvaraarenduse insener. Praegu keskendub ta SageMakeri torujuhtmete arendamisele ja täiustamisele. Väljaspool tööd naudib ta tšellot.
Gayatri Ghanakota on AWS-i professionaalsete teenustega vanem masinõppeinsener. Ta on kirglik AI/ML-lahenduste arendamiseks, juurutamiseks ja selgitamiseks erinevates valdkondades. Enne seda rolli juhtis ta mitmeid algatusi andmeteadlase ja ML-insenerina finants- ja jaemüügivaldkonna tippettevõtetes. Tal on Colorado ülikoolis Boulderis andmeteadusele spetsialiseerunud arvutiteaduse magistrikraad.
Rupinder Grewal on AWS-iga Sr Ai/ML spetsialistide lahenduste arhitekt. Praegu keskendub ta mudelite ja MLO-de teenindamisele SageMakeris. Enne seda rolli on ta töötanud masinõppeinsenerina mudelite ehitamise ja hostimise kohta. Töövälisel ajal meeldib talle tennist mängida ja mägiradadel jalgrattaga sõita.
Ray Li on AWS-i professionaalsete teenustega vanem andmeteadlane. Tema eriala keskendub AI/ML-lahenduste loomisele ja kasutuselevõtule erineva suurusega klientidele alates idufirmadest kuni ettevõtete organisatsioonideni. Väljaspool tööd naudib Ray treenimist ja reisimist.
- 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