Amazonski SageMaker avtopilot omogoča organizacijam, da hitro zgradijo in uvedejo model strojnega učenja (ML) in cevovod sklepanja s samo nekaj vrsticami kode ali celo brez kode sploh z Amazon SageMaker Studio. Avtopilot razbremeni težko delo konfiguriranja infrastrukture in časa, ki je potreben za izgradnjo celotnega cevovoda, vključno z inženiringom funkcij, izbiro modela in prilagajanjem hiperparametrov.
V tem prispevku pokažemo, kako z avtopilotom preiti iz neobdelanih podatkov v robusten in popolnoma razporejen sklepni cevovod.
Pregled rešitev
Mi uporabljamo Lyftov javni nabor podatkov o souporabi koles za to simulacijo predvideti, ali uporabnik sodeluje ali ne Program Bike Share za vse. To je preprost problem binarne klasifikacije.
Želimo pokazati, kako enostavno je zgraditi avtomatiziran in sproten cevovod sklepanja za razvrščanje uporabnikov na podlagi njihovega sodelovanja v programu Bike Share for All. V ta namen simuliramo cevovod za vnos podatkov in sklepanje od konca do konca za namišljeno podjetje za souporabo koles, ki deluje na območju zaliva San Francisco.
Arhitektura je razdeljena na dva dela: cevovod za zaužitje in cevovod sklepanja.
V prvem delu te objave se osredotočamo predvsem na cevovod ML, v drugem delu pa pregledujemo cevovod za vnos podatkov.
Predpogoji
Če želite slediti temu primeru, izpolnite naslednje predpogoje:
- Ustvarite nov primerek prenosnika SageMaker.
- Ustvari Amazon Kinesis Data Firehose dostavni tok z an AWS Lambda transformacijsko funkcijo. Za navodila glejte Transformacija podatkov Amazon Kinesis Firehose z AWS Lambda. Ta korak ni obvezen in je potreben samo za simulacijo pretakanja podatkov.
Raziskovanje podatkov
Prenesimo in vizualizirajmo nabor podatkov, ki se nahaja v javnosti Preprosta storitev shranjevanja Amazon (Amazon S3) vedro in statično spletno mesto:
Naslednji posnetek zaslona prikazuje podnabor podatkov pred transformacijo.
Zadnji stolpec podatkov vsebuje cilj, ki ga želimo predvideti, ki je binarna spremenljivka z vrednostjo Da ali Ne, ki označuje, ali uporabnik sodeluje v programu Bike Share for All.
Oglejmo si porazdelitev naše ciljne spremenljivke za kakršno koli neravnovesje podatkov.
Kot je prikazano na zgornjem grafu, so podatki neuravnoteženi, saj v programu sodeluje manj ljudi.
Podatke moramo uravnotežiti, da preprečimo pristranskost prevelike zastopanosti. Ta korak ni obvezen, ker Autopilot ponuja tudi interni pristop za samodejno obravnavanje neravnovesja razreda, ki je privzeto nastavljen na metriko preverjanja F1. Poleg tega, če se odločite za uravnoteženje podatkov sami, lahko uporabite naprednejše tehnike za obravnavo neravnovesja razredov, kot je npr. SMETE or GAN.
Za to objavo zmanjšamo vzorčenje večinskega razreda (Ne) kot tehniko za uravnoteženje podatkov:
Naslednja koda obogati podatke in premalo vzorči preveč zastopani razred:
Naše kategorične lastnosti, vključno z našo binarno ciljno vrednostjo, namenoma nismo kodirali. To je zato, ker Autopilot poskrbi za kodiranje in dekodiranje podatkov namesto nas kot del samodejnega inženiringa funkcij in uvajanja cevovoda, kot vidimo v naslednjem razdelku.
Naslednji posnetek zaslona prikazuje vzorec naših podatkov.
Podatki v naslednjih grafih so sicer videti običajni, z bimodalno porazdelitvijo, ki predstavlja dva vrha za jutranje ure in popoldanske konice, kot bi pričakovali. Nizke aktivnosti opažamo tudi ob vikendih in ponoči.
V naslednjem razdelku posredujemo podatke avtopilotu, da lahko izvede poskus namesto nas.
Zgradite binarni klasifikacijski model
Avtopilot zahteva, da določimo vhodne in izhodne ciljne segmente. Uporablja vhodno vedro za nalaganje podatkov in izhodno vedro za shranjevanje artefaktov, kot so inženiring funkcij in ustvarjeni Jupyterjevi zvezki. Obdržimo 5 % nabora podatkov, da ocenimo in potrdimo delovanje modela po končanem usposabljanju in naložimo 95 % nabora podatkov v vhodno vedro S3. Oglejte si naslednjo kodo:
Ko naložimo podatke na cilj vnosa, je čas, da zaženemo avtopilot:
Vse, kar potrebujemo za začetek eksperimentiranja, je, da pokličemo metodo fit(). Avtopilot potrebuje vhodno in izhodno lokacijo S3 ter stolpec ciljnega atributa kot zahtevane parametre. Po obdelavi funkcij pokliče avtopilot Samodejno prilagajanje modela SageMaker da poiščete najboljšo različico modela z izvajanjem številnih izobraževalnih opravil na svojem naboru podatkov. Dodali smo izbirni parameter max_candidates, da omejimo število kandidatov na 30, kar je število delovnih mest za usposabljanje, ki jih Autopilot sproži z različnimi kombinacijami algoritmov in hiperparametrov, da bi našel najboljši model. Če tega parametra ne podate, je privzeta vrednost 250.
Napredek avtopilota lahko opazujemo z naslednjo kodo:
Usposabljanje traja nekaj časa. Medtem ko teče, si poglejmo potek dela avtopilota.
Za iskanje najboljšega kandidata uporabite naslednjo kodo:
Naslednja slika zaslona prikazuje naš rezultat.
Naš model je dosegel 96-odstotno natančnost validacije, zato ga bomo uvedli. Lahko bi dodali pogoj, da model uporabimo le, če je natančnost nad določeno stopnjo.
Sklepni cevovod
Preden uvedemo naš model, preglejmo našega najboljšega kandidata in kaj se dogaja v našem načrtu. Oglejte si naslednjo kodo:
Naslednji diagram prikazuje naš rezultat.
Autopilot je izdelal model in ga zapakiral v tri različne vsebnike, od katerih vsak zaporedno izvaja določeno nalogo: preoblikovanje, predvidevanje in povratno preoblikovanje. To večstopenjsko sklepanje je možno z a Sklepni cevovod SageMaker.
Večstopenjsko sklepanje lahko tudi veriži več modelov sklepanja. Na primer, en vsebnik lahko deluje analiza glavnih komponent preden posredujete podatke v vsebnik XGBoost.
Razmestite inferenčni cevovod do končne točke
Postopek uvajanja vključuje le nekaj vrstic kode:
Konfigurirajmo našo končno točko za napovedovanje s prediktorjem:
Zdaj, ko imamo pripravljeno našo končno točko in napovedovalec, je čas, da uporabimo podatke testiranja, ki smo jih pustili na stran, in preizkusimo natančnost našega modela. Začnemo z definiranjem funkcije pripomočka, ki pošilja podatke eno vrstico naenkrat v našo končno točko sklepanja in v zameno dobi napoved. Ker imamo XGBoost model, spustimo ciljno spremenljivko, preden pošljemo vrstico CSV končni točki. Poleg tega smo odstranili glavo iz testnega CSV, preden smo pregledali datoteko, kar je še ena zahteva za XGBoost na SageMakerju. Oglejte si naslednjo kodo:
Naslednja slika zaslona prikazuje naš rezultat.
Zdaj pa izračunajmo natančnost našega modela.
Glej naslednjo kodo:
Dobimo 92-odstotno natančnost. To je nekoliko nižje od 96 %, pridobljenih med korakom validacije, vendar je še vedno dovolj visoko. Ne pričakujemo, da bo natančnost popolnoma enaka, ker se test izvaja z novim naborom podatkov.
Zaužitje podatkov
Podatke smo prenesli neposredno in jih konfigurirali za usposabljanje. V resničnem življenju boste morda morali poslati podatke neposredno iz robne naprave v podatkovno jezero in naj jih SageMaker naloži neposredno iz podatkovnega jezera v prenosni računalnik.
Kinesis Data Firehose je dobra možnost in najbolj enostaven način za zanesljivo nalaganje pretočnih podatkov v podatkovna jezera, podatkovne shrambe in analitična orodja. Lahko zajame, preoblikuje in naloži pretočne podatke v Amazon S3 in druge podatkovne shrambe AWS.
Za naš primer uporabe ustvarimo tok dostave Kinesis Data Firehose s funkcijo transformacije Lambda, da opravimo nekaj lahkega čiščenja podatkov, ko prečkajo tok. Oglejte si naslednjo kodo:
Ta funkcija Lambda izvaja rahlo transformacijo podatkov, ki se pretakajo iz naprav v podatkovno jezero. Pričakuje podatkovno datoteko v formatu CSV.
Za korak vnosa prenesemo podatke in simuliramo podatkovni tok v Kinesis Data Firehose s funkcijo pretvorbe Lambda in v naše podatkovno jezero S3.
Simulirajmo pretakanje nekaj vrstic:
Čiščenje
Pomembno je, da izbrišete vse vire, uporabljene v tej vaji, da zmanjšate stroške. Naslednja koda izbriše končno točko sklepanja SageMaker, ki smo jo ustvarili, ter podatke o usposabljanju in testiranju, ki smo jih naložili:
zaključek
Inženirji ML, podatkovni znanstveniki in razvijalci programske opreme lahko uporabljajo Autopilot za izgradnjo in uvajanje sklepnega cevovoda z malo ali nič izkušenj s programiranjem ML. Avtopilot prihrani čas in vire z uporabo podatkovne znanosti in najboljših praks ML. Velike organizacije lahko sedaj preusmerijo inženirske vire stran od konfiguracije infrastrukture k izboljšanju modelov in reševanju primerov poslovne uporabe. Startupi in manjše organizacije lahko začnejo uporabljati strojno učenje z malo ali nič strokovnega znanja o ML.
Če želite začeti uporabljati SageMaker Autopilot, glejte Stran izdelka ali odprite SageMaker Autopilot znotraj SageMaker Studio.
Priporočamo tudi, da izveste več o drugih pomembnih funkcijah, ki jih ponuja SageMaker, kot je Trgovina s funkcijami Amazon SageMaker, ki se integrira z Amazonski cevovodi SageMaker za ustvarjanje, dodajanje iskanja in odkrivanja funkcij ter ponovno uporabo avtomatiziranih delovnih tokov ML. Zaženete lahko več simulacij avtopilota z različnimi značilnostmi ali ciljnimi različicami v svojem naboru podatkov. Temu bi lahko pristopili tudi kot k problemu dinamičnega dodeljevanja vozil, pri katerem vaš model poskuša predvideti povpraševanje po vozilih na podlagi časa (kot je čas dneva ali dan v tednu) ali lokacije ali kombinacije obojega.
O avtorjih
Doug Mbaya je višji arhitekt rešitev s poudarkom na podatkih in analitiki. Doug tesno sodeluje s partnerji AWS in jim pomaga pri integraciji podatkovne in analitične rešitve v oblaku. Dougove predhodne izkušnje vključujejo podporo strankam AWS v segmentu deljenja prevozov in dostave hrane.
Valerio Perrone je vodja uporabne znanosti, ki dela na avtomatski nastavitvi modela in avtopilotu Amazon SageMaker.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- O meni
- dostop
- doseže
- dejavnosti
- napredno
- algoritmi
- vsi
- dodelitev
- Amazon
- analitika
- Še ena
- API
- pristop
- Arhitektura
- OBMOČJE
- Argumenti
- Avtomatizirano
- AWS
- zaliv
- BEST
- najboljše prakse
- izgradnjo
- poslovni
- klic
- Lahko dobiš
- ki
- primeri
- spremenite
- možnosti
- Razvrstitev
- čiščenje
- Cloud
- Koda
- Stolpec
- kombinacija
- kombinacije
- podjetje
- komponenta
- stanje
- konfiguracija
- Posoda
- Zabojniki
- Vsebuje
- bi
- Stranke, ki so
- datum
- obdelava podatkov
- znanost o podatkih
- dan
- dostava
- Povpraševanje
- razporedi
- uvajanje
- Razvijalci
- naprava
- naprave
- drugačen
- Odkritje
- zaslon
- distribucija
- navzdol
- Drop
- dinamično
- Edge
- šifriranje
- Končna točka
- Inženiring
- Inženirji
- Event
- Primer
- Razen
- Vaja
- pričakuje
- izkušnje
- poskus
- strokovno znanje
- Feature
- Lastnosti
- prva
- Osredotočite
- sledi
- po
- hrana
- Francisco
- funkcija
- pridobivanje
- dogaja
- dobro
- Ravnanje
- tukaj
- visoka
- Kako
- Kako
- HTTPS
- Pomembno
- Vključno
- Infrastruktura
- integrirati
- IT
- Job
- Delovna mesta
- velika
- izstrelki
- učenje
- Stopnja
- Knjižnica
- light
- lahek
- vrstica
- malo
- obremenitev
- lokalno
- kraj aktivnosti
- stroj
- strojno učenje
- Večina
- Izdelava
- upravitelj
- ML
- Model
- modeli
- Najbolj
- prenosnik
- ponudba
- Ponudbe
- deluje
- Možnost
- Da
- organizacije
- Ostalo
- drugače
- Sodelovanje
- partnerji
- ljudje
- performance
- mogoče
- napoved
- problem
- Postopek
- Program
- Programiranje
- zagotavljajo
- javnega
- hitro
- Surovi
- v realnem času
- Priporočamo
- zapis
- evidence
- obvezna
- viri
- vrne
- pregleda
- pravila
- Run
- tek
- hiteti
- San
- San Francisco
- shranjevanje
- Znanost
- Znanstveniki
- Iskalnik
- izbran
- Serija
- nastavite
- Delite s prijatelji, znanci, družino in partnerji :-)
- deli
- premik
- Enostavno
- Simulacija
- Velikosti
- spanje
- So
- Software
- po delih
- Začetek
- začel
- Ustanavljanjem
- shranjevanje
- trgovine
- tok
- pretočenih
- pretakanje
- studio
- ciljna
- tehnike
- Test
- Testiranje
- skozi
- čas
- danes
- orodja
- usposabljanje
- Transform
- Preoblikovanje
- us
- uporaba
- Uporabniki
- pripomoček
- vrednost
- vozilo
- Spletna stran
- teden
- ali
- Wikipedia
- v
- deluje
- deluje