Amazon SageMakeri autopiloot võimaldab organisatsioonidel kiiresti luua ja juurutada täismasinõppe (ML) mudeli ja järelduste konveieri vaid mõne koodirea või isegi ilma igasuguse koodita üldse koos Amazon SageMaker Studio. Autopiloot vähendab infrastruktuuri konfigureerimise rasket raskust ja kogu torujuhtme ehitamiseks kuluvat aega, sealhulgas funktsioonide projekteerimist, mudelite valikut ja hüperparameetrite häälestamist.
Selles postituses näitame, kuidas jõuda toorandmetelt tugeva ja täielikult juurutatud järelduskonveierini koos Autopiloodiga.
Lahenduse ülevaade
Me kasutame Lyfti avalik andmestik jalgratta jagamise kohta et see simulatsioon ennustaks, kas kasutaja osaleb või mitte Programm Bike Share for All. See on lihtne binaarse klassifikatsiooni probleem.
Soovime näidata, kui lihtne on luua automatiseeritud ja reaalajas järelduste konveier, et klassifitseerida kasutajad nende osalemise alusel programmis Bike Share for All. Sel eesmärgil simuleerime San Francisco lahe piirkonnas tegutseva kujuteldava jalgrattajagamisettevõtte jaoks täielikku andmete sissevõtmist ja järelduste tegemise torustikku.
Arhitektuur on jagatud kaheks osaks: sisestuskonveier ja järelduskonveier.
Selle postituse esimeses osas keskendume peamiselt ML-i konveierile ja teises osas vaatame üle andmete sisestamise konveier.
Eeldused
Selle näite järgimiseks täitke järgmised eeltingimused.
- Looge uus SageMakeri märkmiku eksemplar.
- Loo Amazon Kinesis Data Firehose tarnevoog an AWS Lambda teisendusfunktsioon. Juhiseid vt Amazon Kinesis Firehose'i andmete teisendamine AWS lambdaga. See samm on valikuline ja vajalik ainult andmete voogesituse simuleerimiseks.
Andmete uurimine
Laadime alla ja visualiseerime andmestiku, mis asub avalikult Amazoni lihtne salvestusteenus (Amazon S3) ämber ja staatiline veebisait:
Järgmine ekraanipilt näitab andmete alamhulka enne teisendamist.
Andmete viimane veerg sisaldab sihtmärki, mida tahame ennustada, mis on binaarne muutuja, mille väärtus on kas Jah või Ei, mis näitab, kas kasutaja osaleb programmis Bike Share for All.
Vaatame meie sihtmuutuja jaotust mis tahes andmete tasakaalustamatuse korral.
Nagu ülaltoodud graafikul näha, on andmed tasakaalustamata, programmis osaleb vähem inimesi.
Peame andmed tasakaalustama, et vältida üleesindatust. See samm on valikuline, kuna Autopilot pakub ka sisemist lähenemisviisi klassi tasakaalustamatuse automaatseks käsitlemiseks, mis vaikimisi on F1 skoori valideerimismõõdik. Lisaks, kui otsustate andmeid ise tasakaalustada, saate klasside tasakaalustamatuse käsitlemiseks kasutada täiustatud tehnikaid, näiteks SMOTE or GAN.
Selle postituse jaoks võtame andmete tasakaalustamise tehnikana alla enamusklassi (No):
Järgmine kood rikastab andmeid ja moodustab üleesindatud klassi alavalimi:
Jätsime oma kategoorilised tunnused, sealhulgas binaarse sihtväärtuse, tahtlikult kodeerimata. Seda seetõttu, et Autopilot hoolitseb meie eest andmete kodeerimise ja dekodeerimise eest osana automaatse funktsioonide projekteerimisest ja torujuhtme juurutusest, nagu näeme järgmises jaotises.
Järgmine ekraanipilt näitab meie andmete näidist.
Järgmiste graafikute andmed näevad muidu normaalsed välja, bimodaalne jaotus esindab hommikutundide ja pärastlõunaste tipptundide kahte tippu, nagu arvata võiks. Samuti jälgime vähest tegevust nädalavahetustel ja öösel.
Järgmises jaotises edastame andmed Autopiloodile, et see saaks meie jaoks katse käivitada.
Ehitage binaarne klassifikatsioonimudel
Autopiloot nõuab, et me määraksime sisendi ja väljundi sihtkoha ämbrid. See kasutab andmete laadimiseks sisendämbrit ja esemete (nt funktsioonide projekteerimine ja loodud Jupyteri sülearvutid) salvestamiseks väljundsalvi. Säilitame 5% andmekogumist, et hinnata ja kinnitada mudeli toimivust pärast koolituse lõppu ning laadida 95% andmekogumist S3 sisendsalve. Vaadake järgmist koodi:
Kui oleme andmed sisestuskohta üles laadinud, on aeg käivitada Autopilot:
Katsetamise alustamiseks vajame ainult meetodi fit() kutsumist. Autopiloot vajab nõutavate parameetritena sisendi ja väljundi S3 asukohta ning sihtmärgi atribuudi veergu. Pärast funktsioonide töötlemist helistab Autopilot SageMaker automaatne mudeli häälestamine mudeli parima versiooni leidmiseks, käivitades oma andmestikul palju koolitustöid. Lisasime valikulise parameetri max_candidates, et piirata kandidaatide arvu 30-ni, mis on koolitustööde arv, mille Autopilot käivitab erinevate algoritmide ja hüperparameetrite kombinatsioonidega, et leida parim mudel. Kui te seda parameetrit ei määra, on see vaikimisi 250.
Autopiloodi edenemist saame jälgida järgmise koodiga:
Koolituse läbimine võtab veidi aega. Kui see töötab, vaatame Autopiloodi töövoogu.
Parima kandidaadi leidmiseks kasutage järgmist koodi:
Järgmine ekraanipilt näitab meie väljundit.
Meie mudeli valideerimise täpsus on 96%, seega võtame selle kasutusele. Võiksime lisada tingimuse, et kasutame mudelit ainult siis, kui täpsus on üle teatud taseme.
Järelduste torujuhe
Enne oma mudeli kasutuselevõttu uurime oma parimat kandidaati ja seda, mis meie plaanis toimub. Vaadake järgmist koodi:
Järgmine diagramm näitab meie väljundit.
Autopiloot on mudeli loonud ja pakkinud selle kolme erinevasse konteinerisse, millest igaüks täidab järjestikku konkreetset ülesannet: teisendamine, ennustamine ja vastupidine teisendamine. See mitmeastmeline järeldus on võimalik a SageMakeri järelduskonveier.
Mitmeastmeline järeldus võib aheldada ka mitut järeldusmudelit. Näiteks võib üks konteiner toimida põhikomponentide analüüs enne andmete edastamist XGBoosti konteinerisse.
Juurutage järelduskonveier lõpp-punkti
Juurutusprotsess hõlmab vaid mõnda koodirida:
Konfigureerime oma lõpp-punkti ennustajaga ennustamiseks:
Nüüd, kui meie lõpp-punkt ja ennustaja on valmis, on aeg kasutada kõrvale pandud testimisandmeid ja testida oma mudeli täpsust. Alustuseks määratleme kasuliku funktsiooni, mis saadab andmed rea kaupa meie järelduse lõpp-punkti ja saab vastutasuks ennustuse. Sest meil on XGBoost mudeli puhul eemaldame sihtmuutuja enne CSV-rea lõpp-punkti saatmist. Lisaks eemaldasime testitavast CSV-st päise, enne kui faili läbi vaatame, mis on ka üks XGBoosti nõue SageMakeris. Vaadake järgmist koodi:
Järgmine ekraanipilt näitab meie väljundit.
Nüüd arvutame oma mudeli täpsuse.
Vaadake järgmist koodi:
Saame täpsuseks 92%. See on veidi madalam kui valideerimisetapi käigus saadud 96%, kuid see on siiski piisavalt kõrge. Me ei eelda, et täpsus on täpselt sama, kuna test viiakse läbi uue andmekogumiga.
Andmete sissevõtmine
Laadisime andmed otse alla ja seadistasime treeningu jaoks. Reaalses elus peate võib-olla saatma andmed otse ääreseadmest andmejärve ja laskma SageMakeril need otse andmejärvest sülearvutisse laadida.
Kinesis Data Firehose on hea valik ja kõige lihtsam viis voogesituse andmete usaldusväärseks laadimiseks andmejärvedesse, andmesalvedesse ja analüüsitööriistadesse. See suudab jäädvustada, teisendada ja laadida voogesituse andmeid Amazon S3 ja teistesse AWS-i andmesalvedesse.
Meie kasutusjuhtumi jaoks loome Lambda teisendusfunktsiooniga Kinesis Data Firehose'i edastusvoo, et teha voo läbimisel kerget andmete puhastamist. Vaadake järgmist koodi:
See Lambda funktsioon teostab seadmetelt voogesitatud andmete valguse teisendamist andmejärve. See eeldab CSV-vormingus andmefaili.
Allaneelamise etapis laadime andmed alla ja simuleerime andmevoogu Lambda teisendusfunktsiooniga Kinesis Data Firehose'i ja meie S3 andmejärve.
Simuleerime mõne rea voogesitust:
Koristage
Kulude minimeerimiseks on oluline kustutada kõik selles harjutuses kasutatud ressursid. Järgmine kood kustutab meie loodud SageMakeri järelduse lõpp-punkti ning üleslaaditud koolitus- ja testimisandmed:
Järeldus
ML-i insenerid, andmeteadlased ja tarkvaraarendajad saavad kasutada Autopiloti järelduste konveieri loomiseks ja juurutamiseks vähese või ilma ML-i programmeerimise kogemusega. Autopiloot säästab aega ja ressursse, kasutades andmeteaduse ja ML parimaid tavasid. Suured organisatsioonid saavad nüüd suunata inseneriressursse infrastruktuuri konfigureerimiselt mudelite täiustamise ja ärikasutusjuhtude lahendamise suunas. Idufirmad ja väiksemad organisatsioonid saavad masinõppega alustada, kui neil on vähe või üldse mitte.
SageMaker Autopilotiga alustamiseks vaadake Toote leht või pääsete juurde SageMakeri stuudios SageMaker Autopilot.
Samuti soovitame saada lisateavet teiste SageMakeri pakutavate oluliste funktsioonide kohta, näiteks Amazon SageMakeri funktsioonipood, mis integreerub Amazon SageMakeri torujuhtmed automaatsete ML-töövoogude loomiseks, lisamiseks funktsioonide otsimiseks ja leidmiseks ning taaskasutamiseks. Saate käitada mitut autopiloodi simulatsiooni oma andmekogus erinevate funktsioonide või sihtvariantidega. Võite sellele läheneda ka kui sõiduki dünaamilise jaotamise probleemile, mille puhul teie mudel püüab ennustada sõidukite nõudlust aja (nt kellaaja või nädalapäeva) või asukoha või mõlema kombinatsiooni alusel.
Autoritest
Doug Mbaya on vanemlahenduste arhitekt, kes keskendub andmetele ja analüütikale. Doug teeb tihedat koostööd AWS-i partneritega, aidates neil integreerida andmeid ja analüüsilahendusi pilve. Dougi varasem kogemus hõlmab AWS-i klientide toetamist sõidujagamise ja toidu kohaletoimetamise segmendis.
Valerio Perrone on rakendusteaduste juht, kes töötab Amazon SageMakeri automaatse mudeli häälestamise ja autopiloodi kallal.
- Münditark. Euroopa parim Bitcoini ja krüptobörs.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. TASUTA PÄÄS.
- CryptoHawk. Altcoini radar. Tasuta prooviversioon.
- Allikas: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- MEIST
- juurdepääs
- saavutada
- tegevus
- edasijõudnud
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- eraldamine
- Amazon
- analytics
- Teine
- API
- lähenemine
- arhitektuur
- PIIRKOND
- argumendid
- Automatiseeritud
- AWS
- laht
- BEST
- parimaid tavasid
- ehitama
- äri
- helistama
- Saab
- mis
- juhtudel
- muutma
- valikuid
- klassifikatsioon
- puhastamine
- Cloud
- kood
- Veerg
- kombinatsioon
- kombinatsioonid
- ettevõte
- komponent
- seisund
- konfiguratsioon
- Konteiner
- Konteinerid
- sisaldab
- võiks
- Kliendid
- andmed
- andmetöötlus
- andmeteadus
- päev
- tarne
- Nõudlus
- juurutada
- kasutuselevõtu
- Arendajad
- seade
- seadmed
- erinev
- avastus
- Ekraan
- jaotus
- alla
- Drop
- dünaamiline
- serv
- krüpteerimist
- Lõpp-punkt
- Inseneriteadus
- Inseneride
- sündmus
- näide
- Välja arvatud
- Teostama
- ootab
- kogemus
- eksperiment
- teadmised
- tunnusjoon
- FUNKTSIOONID
- esimene
- Keskenduma
- järgima
- Järel
- toit
- Francisco
- funktsioon
- saamine
- läheb
- hea
- Käsitsemine
- siin
- Suur
- Kuidas
- Kuidas
- HTTPS
- oluline
- Kaasa arvatud
- Infrastruktuur
- integreerima
- IT
- töö
- Tööturg
- suur
- käivitab
- õppimine
- Tase
- Raamatukogu
- valgus
- kerge
- joon
- vähe
- koormus
- kohapeal
- liising
- masin
- masinõpe
- Enamus
- Tegemine
- juht
- ML
- mudel
- mudelid
- kõige
- märkmik
- pakkuma
- Pakkumised
- tegutsevad
- valik
- et
- organisatsioonid
- Muu
- muidu
- osalemine
- partnerid
- Inimesed
- jõudlus
- võimalik
- ennustus
- Probleem
- protsess
- Programm
- Programming
- anda
- avalik
- kiiresti
- Töötlemata
- reaalajas
- soovitama
- rekord
- andmed
- nõutav
- Vahendid
- Tulu
- läbi
- eeskirjade
- jooks
- jooksmine
- kiirustama
- San
- San Francisco
- säästmine
- teadus
- teadlased
- Otsing
- väljavalitud
- Seeria
- komplekt
- Jaga
- jagatud
- suunata
- lihtne
- simuleerimine
- SUURUS
- uni
- So
- tarkvara
- jagada
- algus
- alustatud
- Alustavatel
- ladustamine
- kauplustes
- oja
- otseülekanne
- streaming
- stuudio
- sihtmärk
- tehnikat
- test
- Testimine
- Läbi
- aeg
- täna
- töövahendid
- koolitus
- Muutma
- Transformation
- us
- kasutama
- Kasutajad
- kasulikkus
- väärtus
- sõiduk
- veebisait
- nädal
- kas
- Wikipedia
- jooksul
- töö
- töötab