Amazon SageMaker Autopilot lehetővé teszi a szervezetek számára, hogy gyorsan felépítsenek és telepítsenek egy végpontok közötti gépi tanulási (ML) modellt és következtetési folyamatot, mindössze néhány sornyi kóddal vagy akár minden kód nélkül egyáltalán azzal Amazon SageMaker Studio. Az Autopilot tehermentesíti az infrastruktúra konfigurálásával járó nehéz terheket és a teljes csővezeték felépítéséhez szükséges időt, beleértve a funkciók tervezését, a modellválasztást és a hiperparaméterek hangolását.
Ebben a bejegyzésben bemutatjuk, hogyan lehet a nyers adatokból egy robusztus és teljesen kiépített következtetési folyamattá válni az Autopilot segítségével.
Megoldás áttekintése
Az általunk használt A Lyft nyilvános adatkészlete a kerékpáros megosztásról hogy ez a szimuláció megjósolja, hogy egy felhasználó részt vesz-e a Bike Share for All program. Ez egy egyszerű bináris osztályozási probléma.
Szeretnénk bemutatni, milyen egyszerű egy automatizált és valós idejű következtetési folyamat felépítése, amely a felhasználókat a Bike Share for All programban való részvételük alapján osztályozza. Ebből a célból szimulálunk egy végpontok közötti adatfeldolgozási és következtetési folyamatot egy képzeletbeli bikeshare cég számára, amely a San Francisco-öböl térségében működik.
Az architektúra két részre oszlik: a beviteli folyamatra és a következtetési folyamatra.
A bejegyzés első részében elsősorban az ML-folyamatra koncentrálunk, a második részben pedig az adatfeldolgozási folyamatot tekintjük át.
Előfeltételek
A példa követéséhez hajtsa végre a következő előfeltételeket:
- Hozzon létre egy új SageMaker jegyzetfüzet példányt.
- Létrehozása Amazon Kinesis Data Firehose szállítási folyam egy AWS Lambda transzformációs függvény. Az utasításokat lásd Amazon Kinesis Firehose adatátalakítás AWS Lambdával. Ez a lépés nem kötelező, és csak az adatfolyam szimulálásához szükséges.
Adatfeltárás
Töltsük le és vizualizáljuk az adatkészletet, amely nyilvánosan található Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödör és statikus weboldal:
A következő képernyőkép az adatok egy részhalmazát mutatja az átalakítás előtt.
Az adatok utolsó oszlopa tartalmazza a megjósolni kívánt célt, amely egy igen vagy nem értéket felvevő bináris változó, amely jelzi, hogy a felhasználó részt vesz-e a Bike Share for All programban.
Vessünk egy pillantást a célváltozónk eloszlására bármilyen adatkiegyensúlyozatlanság esetén.
Ahogy a fenti grafikonon látható, az adatok kiegyensúlyozatlanok, kevesebben vesznek részt a programban.
Kiegyensúlyoznunk kell az adatokat, hogy elkerüljük a túlreprezentált torzítást. Ez a lépés nem kötelező, mert az Autopilot belső megközelítést is kínál az osztálykiegyensúlyozatlanság automatikus kezelésére, amely alapértelmezés szerint az F1 pontszám érvényesítési mérőszáma. Ezenkívül, ha úgy dönt, hogy saját maga kiegyensúlyozza az adatokat, fejlettebb technikákat is használhat az osztálykiegyensúlyozatlanság kezelésére, mint pl. SMOTE or GAN.
Ebben a bejegyzésben a többségi osztályt (No) mintavételezzük adatkiegyenlítési technikaként:
A következő kód gazdagítja az adatokat, és alulmintázza a felülreprezentált osztályt:
Szándékosan nem kódoltuk kategorikus jellemzőinket, beleértve a bináris célértékünket is. Ennek az az oka, hogy az Autopilot gondoskodik az adatok kódolásáról és dekódolásáról az automatikus szolgáltatástervezés és a folyamatok telepítése részeként, amint azt a következő részben láthatjuk.
Az alábbi képernyőkép egy mintát mutat az adatainkból.
A következő grafikonok adatai egyébként normálisnak tűnnek, a bimodális eloszlás a délelőtti órák és a délutáni csúcsforgalom két csúcsát jelenti, ahogy az várható volt. Hétvégén és éjszaka is megfigyeljük az alacsony aktivitást.
A következő részben betápláljuk az adatokat az Autopilotba, hogy az egy kísérletet tudjon futtatni számunkra.
Készítsen bináris osztályozási modellt
Az Autopilot megköveteli a bemeneti és kimeneti célcsoportok megadását. A bemeneti tárolót használja az adatok betöltésére, a kimeneti tárolót pedig a műtermékek, például a funkciótervezés és a generált Jupyter notebookok mentésére. Az adatkészlet 5%-át megtartjuk, hogy kiértékeljük és érvényesítsük a modell teljesítményét a betanítás után, és az adatkészlet 95%-át feltöltjük az S3 beviteli tárolóba. Lásd a következő kódot:
Miután feltöltöttük az adatokat a beviteli célhelyre, ideje elindítani az Autopilotot:
A kísérletezéshez csak a fit() metódust kell meghívnunk. Az Autopilotnak szüksége van az S3 bemeneti és kimeneti helyére, valamint a célattribútum oszlopra, mint szükséges paraméterekre. A jellemzők feldolgozása után az Autopilot hív SageMaker automatikus modelltuning hogy megtalálja a modell legjobb verzióját számos képzési feladat futtatásával az adatkészletén. Hozzáadtuk az opcionális max_candidates paramétert, hogy a jelöltek számát 30-ra korlátozzuk, ami az Autopilot által az algoritmusok és hiperparaméterek különböző kombinációival elindított képzési feladatok száma a legjobb modell megtalálása érdekében. Ha nem adja meg ezt a paramétert, az alapértelmezett értéke 250.
Az Autopilot folyamatát a következő kóddal figyelhetjük meg:
A képzés befejezése némi időt vesz igénybe. Amíg fut, nézzük meg az Autopilot munkafolyamatát.
A legjobb jelölt megtalálásához használja a következő kódot:
A következő képernyőkép a kimenetünket mutatja.
Modellünk 96%-os érvényesítési pontosságot ért el, ezért telepíteni fogjuk. Hozzáadhatunk egy olyan feltételt, hogy csak akkor használjuk a modellt, ha a pontosság egy bizonyos szint felett van.
Következtetési csővezeték
Mielőtt bevezetnénk a modellünket, vizsgáljuk meg a legjobb jelöltünket és azt, hogy mi történik a folyamatban. Lásd a következő kódot:
Az alábbi diagram a kimenetünket mutatja.
Az Autopilot megépítette a modellt, és három különböző konténerbe csomagolta, amelyek mindegyike egy-egy feladatot futtat egymás után: transzformáció, előrejelzés és fordított átalakítás. Ez a többlépcsős következtetés lehetséges a SageMaker következtetési folyamat.
A többlépcsős következtetés több következtetési modellt is láncolhat. Például egy konténer képes működni főkomponens analízis mielőtt átadná az adatokat az XGBoost tárolónak.
Telepítse a következtetési folyamatot egy végpontra
A telepítési folyamat mindössze néhány kódsort foglal magában:
Állítsuk be a végpontunkat előrejelzéshez prediktorral:
Most, hogy készen van a végpontunk és a prediktorunk, ideje felhasználni a félretett tesztelési adatokat, és tesztelni a modellünk pontosságát. Kezdjük egy segédfüggvény definiálásával, amely soronként elküldi az adatokat a következtetési végpontunknak, és cserébe egy előrejelzést kap. Mert van egy XGBoost modellben eldobjuk a célváltozót, mielőtt elküldjük a CSV sort a végponthoz. Ezenkívül eltávolítottuk a fejlécet a tesztelő CSV-ből, mielőtt végignéznénk a fájlt, ami szintén egy másik követelmény a SageMaker XGBoostjához. Lásd a következő kódot:
A következő képernyőkép a kimenetünket mutatja.
Most számoljuk ki a modellünk pontosságát.
Lásd a következő kódot:
92%-os pontosságot kapunk. Ez valamivel alacsonyabb, mint az érvényesítési lépés során kapott 96%, de még mindig elég magas. Nem várjuk el, hogy a pontosság pontosan ugyanaz legyen, mert a tesztet új adatkészlettel hajtják végre.
Adatbevitel
Közvetlenül letöltöttük az adatokat és konfiguráltuk a képzéshez. A való életben előfordulhat, hogy az adatokat közvetlenül a szélső eszközről kell elküldenie a Data Lake-be, és a SageMakerrel közvetlenül az adattóból kell betöltenie azokat a notebookba.
A Kinesis Data Firehose jó lehetőség, és a legegyszerűbb módja a streaming adatok adatlakokba, adattárakba és elemzőeszközökbe történő megbízható betöltésének. Képes streaming adatokat rögzíteni, átalakítani és betölteni az Amazon S3 és más AWS adattárakba.
Használati esetünkben létrehozunk egy Kinesis Data Firehose kézbesítési adatfolyamot Lambda transzformációs funkcióval, hogy némi könnyű adattisztítást végezzünk, miközben áthalad a folyamon. Lásd a következő kódot:
Ez a lambda funkció az eszközökről streamelt adatok fénytranszformációját hajtja végre az adattóba. CSV formátumú adatfájlt vár.
A beviteli lépéshez letöltjük az adatokat, és szimulálunk egy adatfolyamot a Kinesis Data Firehose-ba Lambda-transzformációs funkcióval és az S3 adattóba.
Szimuláljuk a streamelést néhány sorral:
Tisztítsuk meg
A költségek minimalizálása érdekében fontos, hogy törölje az ebben a gyakorlatban használt összes erőforrást. A következő kód törli az általunk létrehozott SageMaker következtetési végpontot, valamint a feltöltött képzési és tesztelési adatokat:
Következtetés
Az ML mérnökök, adattudósok és szoftverfejlesztők az Autopilot segítségével következtetési folyamatot hozhatnak létre és telepíthetnek kevés ML programozási tapasztalattal. Az Autopilot időt és erőforrásokat takarít meg az adattudomány és az ML legjobb gyakorlatainak használatával. A nagy szervezetek mostantól áthelyezhetik a mérnöki erőforrásokat az infrastruktúra-konfigurálásról a modellek fejlesztésére és az üzleti felhasználási esetek megoldására. Az induló vállalkozások és a kisebb szervezetek csekély ML szakértelemmel kezdhetik el a gépi tanulást.
A SageMaker Autopilot használatának megkezdéséhez lásd a Termékoldal vagy elérheti a SageMaker Autopilotot a SageMaker Studio-ban.
Azt is javasoljuk, hogy többet tudjon meg a SageMaker egyéb fontos funkcióiról, mint például a Amazon SageMaker Feature Store, amely integrálódik a Amazon SageMaker csővezetékek az automatizált ML-munkafolyamatok létrehozásához, hozzáadásához és szolgáltatáskereséséhez, valamint újrafelhasználásához. Futtathat több Autopilot szimulációt különböző jellemzőkkel vagy célváltozatokkal az adatkészletében. Megközelítheti ezt dinamikus járműkiosztási problémaként is, amelyben a modell megpróbálja megjósolni a járműigényt az idő (például a napszak vagy a hét napja) vagy a hely, illetve a kettő kombinációja alapján.
A szerzőkről
Doug Mbaya Senior Solution építész, aki az adatokra és az elemzésekre összpontosít. A Doug szorosan együttműködik az AWS-partnerekkel, segítve őket az adatok és az elemzési megoldások felhőbe való integrálásában. Doug korábbi tapasztalatai közé tartozik az AWS-ügyfelek támogatása a fuvarmegosztási és ételszállítási szegmensben.
Valerio Perrone Alkalmazott tudományos menedzser, aki az Amazon SageMaker Automatic Model Tuning és Autopilot területén dolgozik.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- Rólunk
- hozzáférés
- elért
- tevékenységek
- fejlett
- algoritmusok
- Minden termék
- kiosztás
- amazon
- analitika
- Másik
- api
- megközelítés
- építészet
- TERÜLET
- érvek
- Automatizált
- AWS
- öböl
- BEST
- legjobb gyakorlatok
- épít
- üzleti
- hívás
- Kaphat
- ami
- esetek
- változik
- választás
- besorolás
- Takarításra
- felhő
- kód
- Oszlop
- kombináció
- kombinációk
- vállalat
- összetevő
- feltétel
- Configuration
- Konténer
- Konténerek
- tartalmaz
- tudott
- Ügyfelek
- dátum
- adatfeldolgozás
- adat-tudomány
- nap
- kézbesítés
- Kereslet
- telepíteni
- bevetés
- fejlesztők
- eszköz
- Eszközök
- különböző
- felfedezés
- kijelző
- terjesztés
- le-
- Csepp
- dinamikus
- él
- titkosítás
- Endpoint
- Mérnöki
- Mérnökök
- esemény
- példa
- Kivéve
- Gyakorol
- elvárja
- tapasztalat
- kísérlet
- szakvélemény
- Funkció
- Jellemzők
- vezetéknév
- Összpontosít
- következik
- következő
- élelmiszer
- Francisco
- funkció
- szerzés
- megy
- jó
- Kezelés
- itt
- Magas
- Hogyan
- How To
- HTTPS
- fontos
- Beleértve
- Infrastruktúra
- integrálni
- IT
- Munka
- Állások
- nagy
- elindítja
- tanulás
- szint
- könyvtár
- fény
- könnyűsúlyú
- vonal
- kis
- kiszámításának
- helyileg
- elhelyezkedés
- gép
- gépi tanulás
- Többség
- Gyártás
- menedzser
- ML
- modell
- modellek
- a legtöbb
- jegyzetfüzet
- ajánlat
- Ajánlatok
- üzemeltetési
- opció
- érdekében
- szervezetek
- Más
- másképp
- részvétel
- partnerek
- Emberek (People)
- teljesítmény
- lehetséges
- előrejelzés
- Probléma
- folyamat
- Program
- Programozás
- ad
- nyilvános
- gyorsan
- Nyers
- real-time
- ajánl
- rekord
- nyilvántartások
- kötelező
- Tudástár
- Visszatér
- Kritika
- szabályok
- futás
- futás
- rohanás
- San
- San Francisco
- megtakarítás
- Tudomány
- tudósok
- Keresés
- kiválasztott
- Series of
- készlet
- Megosztás
- megosztott
- váltás
- Egyszerű
- tettetés
- Méret
- alvás
- So
- szoftver
- osztott
- kezdet
- kezdődött
- Startups
- tárolás
- árnyékolók
- folyam
- áramlott
- folyó
- stúdió
- cél
- technikák
- teszt
- Tesztelés
- Keresztül
- idő
- Ma
- szerszámok
- Képzések
- Átalakítás
- Átalakítás
- us
- használ
- Felhasználók
- hasznosság
- érték
- jármű
- weboldal
- hét
- vajon
- Wikipedia
- belül
- dolgozó
- művek