A gépi tanulási (ML) modell felépítésének folyamata mindaddig iteratív, amíg meg nem találja a jól teljesítő és üzembe helyezésre kész jelölt modellt. Miközben az adattudósok ismételgetik ezt a folyamatot, megbízható módszerre van szükségük a kísérletek egyszerű nyomon követéséhez, hogy megértsék, hogyan készültek az egyes modellváltozatok és hogyan teljesítettek.
Amazon SageMaker lehetővé teszi a csapatok számára, hogy kihasználják a funkciók széles skáláját az ML-modellek gyors előkészítésére, építésére, betanítására, üzembe helyezésére és figyelésére. Amazon SageMaker csővezetékek megismételhető folyamatot biztosít a modellépítési tevékenységeken keresztüli iterációhoz, és integrálva van vele Amazon SageMaker kísérletek. Alapértelmezés szerint minden SageMaker-folyamat egy kísérlethez van társítva, és a folyamat minden egyes futtatása próbaként nyomon követhető a kísérletben. Ezután a rendszer automatikusan követi az iterációkat további lépések nélkül.
Ebben a bejegyzésben közelebbről megvizsgáljuk azt a motivációt, amely mögött egy automatizált folyamat követi nyomon a kísérleteket a kísérletekkel és a Pipelines-be épített natív képességekkel.
Miért fontos a kísérletek rendszerezése?
Tegyünk egy lépést hátra, és próbáljuk megérteni, miért fontos a gépi tanuláshoz szervezett kísérletek. Amikor az adattudósok egy új ML-problémához közelednek, sok különböző kérdésre kell válaszolniuk, az adatok elérhetőségétől kezdve egészen a modell teljesítményének méréséig.
Kezdetben a folyamat tele van bizonytalansággal és erősen iteratív. Ennek eredményeként ez a kísérleti szakasz több modellt is létrehozhat, amelyek mindegyike saját bemeneteiből (adatkészletek, betanító szkriptek és hiperparaméterek) jön létre, és saját kimenetet (modellműtermékeket és értékelési mérőszámokat) állít elő. A kihívás tehát az, hogy nyomon kövessük az egyes iterációk összes be- és kimenetét.
Az adattudósok általában sok különböző modellváltozatot képeznek ki, amíg meg nem találják az adatátalakítás, az algoritmus és a hiperparaméterek kombinációját, amely a modell legjobb teljesítményű verzióját eredményezi. Ezen egyedi kombinációk mindegyike egyetlen kísérlet. A kísérlet során használt bemenetek, algoritmusok és hiperparaméterek nyomon követhető nyilvántartásával az adattudományi csapat könnyen reprodukálhatja lépéseit.
A kísérletek nyomon követésére szolgáló automatizált folyamat javítja a jól teljesítő modellváltozatok reprodukálásának és üzembe helyezésének képességét. A Pipelines natív integrációja a kísérletekkel megkönnyíti a kísérletek automatikus nyomon követését és kezelését a folyamat során.
A SageMaker kísérletek előnyei
A SageMaker Experiments lehetővé teszi az adattudósok számára a képzési iterációk megszervezését, nyomon követését, összehasonlítását és értékelését.
Kezdjük először egy áttekintéssel arról, hogy mit tehet a kísérletekkel:
- Kísérletek szervezése – A kísérletek egy legfelső szintű entitással strukturálják a kísérletezést kísérlet amely egy halmazt tartalmaz vizsgálatok. Minden próba egy sor lépést tartalmaz próba komponensek. Minden próbakomponens adatkészletek, algoritmusok és paraméterek kombinációja. A kísérleteket a hipotézisek rendszerezésére szolgáló legfelső szintű mappaként, a kísérleteket az egyes csoportos tesztfutások almappáiként, a próbaösszetevőket pedig fájlként a tesztfutás minden egyes példányához.
- Kísérletek nyomon követése – A kísérletek lehetővé teszik az adattudósok számára a kísérletek nyomon követését. Lehetővé teszi a SageMaker-feladatok automatikus hozzárendelését egy próbaverzióhoz egyszerű konfigurációkon és a nyomkövető SDK-kon keresztül.
- Hasonlítsa össze és értékelje a kísérleteket - A Kísérletek integrációja Amazon SageMaker Studio megkönnyíti az adatvizualizációk készítését és a különböző kísérletek összehasonlítását. A próbaadatokat a Python SDK-n keresztül is elérheti, hogy saját vizualizációt állítson elő a preferált ábrázolási könyvtárak használatával.
Ha többet szeretne megtudni a Experiments API-król és SDK-król, javasoljuk a következő dokumentációt: CreateExperiment és a Amazon SageMaker Experiments Python SDK.
Ha mélyebbre szeretne merülni, javasoljuk, hogy tekintse meg a amazon-sagemaker-examples/sagemaker-experiments GitHub adattár további példákért.
Integráció a csővezetékek és a kísérletek között
A Pipelines részét képező modellépítési folyamatok kifejezetten az ML számára készültek, és lehetővé teszik a modellépítési feladatok összehangolását egy olyan folyamateszköz segítségével, amely magában foglalja a natív integrációkat más SageMaker-szolgáltatásokkal, valamint a folyamatot a SageMakeren kívül futó lépésekkel bővíthető rugalmassággal. . Minden lépés meghatároz egy műveletet, amelyet a folyamat végrehajt. A lépések közötti függőségeket egy közvetlen aciklikus gráf (DAG) határozza meg, amely a Pipelines Python SDK használatával készült. A SageMaker folyamatot programozottan is létrehozhatja ugyanazon az SDK-n keresztül. Egy folyamat üzembe helyezése után opcionálisan megjelenítheti a munkafolyamatát a Studióban.
A folyamatok automatikusan integrálódnak a kísérletekkel azáltal, hogy minden futtatáshoz automatikusan létrehoznak egy kísérletet és próbaverziót. A folyamatok automatikusan létrehoznak egy kísérletet és egy próbaverziót a folyamat minden futtatásához a lépések futtatása előtt, kivéve, ha az egyik vagy mindkét bemenet meg van adva. A folyamat SageMaker-feladatának futtatása közben a folyamat társítja a próbaverziót a kísérlettel, és társítja a próbaverzióhoz a job által létrehozott összes próbaösszetevőt. Saját kísérletének vagy próbaverziójának programozott megadása lehetővé teszi a kísérletek rendszerezésének finomhangolását.
Az ebben a példában bemutatott munkafolyamat lépések sorozatából áll: egy előfeldolgozási lépés a bemeneti adatkészletünk felosztására vonat-, teszt- és érvényesítési adatkészletekre; egy hangolási lépést a hiperparamétereink hangolásához, és elindítjuk a betanítási feladatokat egy modell betanításához a XGBoost beépített algoritmus; és végül egy modelllépés a SageMaker modell létrehozásához a legjobban képzett modelltermékből. A Pipelines számos natív támogatást is kínál lépéstípusok az ebben a bejegyzésben tárgyaltakon kívül. Azt is bemutatjuk, hogyan követheti nyomon a folyamatot, és hogyan hozhat létre mutatókat és összehasonlító diagramokat. Továbbá bemutatjuk, hogyan lehet társítani a létrehozott új próbaverziót egy olyan meglévő kísérlethez, amely a folyamat meghatározása előtt jöhetett létre.
SageMaker Pipelines kód
A notebook áttekinthető és letölthető a GitHub tárház ehhez a bejegyzéshez kapcsolódik. Megnézzük a Pipelines-specifikus kódot, hogy jobban megértsük.
A csővezetékek lehetővé teszik a paraméterek futási időben történő átadását. Itt határozzuk meg a feldolgozási és betanítási példánytípusokat, valamint a futásidőben történő számlálást előre beállított alapértékekkel:
Ezután beállítunk egy feldolgozó szkriptet, amely letölti és felosztja a bemeneti adatkészletet betanítási, tesztelési és érvényesítési részekre. Mi használjuk SKLearnProcessor
ennek az előfeldolgozási lépésnek a futtatásához. Ehhez definiálunk egy processzorobjektumot a feldolgozási feladat futtatásához szükséges példánytípussal és számmal.
A csővezetékek lehetővé teszik számunkra, hogy programozott módon valósítsuk meg az adatok verziószámát végrehajtás-specifikus változók, például ExecutionVariables.PIPELINE_EXECUTION_ID
, amely egy folyamatfutás egyedi azonosítója. Létrehozhatunk például egyedi kulcsot a kimeneti adatkészletek tárolására Amazon egyszerű tárolási szolgáltatás (Amazon S3), amely egy adott csővezetékhez köti őket. A változók teljes listáját lásd: Végrehajtási változók.
Ezután továbblépünk egy becslési objektum létrehozásához, amely egy XGBoost modellt tanít. Beállítunk néhány statikus hiperparamétert, amelyeket gyakran használnak az XGBoostnál:
Az általunk készített modellek hiperparaméteres hangolását a segítségével végezzük ContinuousParameter
tartomány lambda
. Ha egy metrikát választ ki objektív mérőszámként, akkor a tuner (a hiperparaméter-hangolási feladatokat futtató példány) megmondja, hogy a betanítási feladatot ezen a metrikán alapulóan értékeli. A tuner a legjobb kombinációt adja vissza ennek az objektív metrikának a legjobb értéke alapján, vagyis a legjobb kombinációt, amely minimalizálja a legjobb négyzetes középhibát (RMSE).
A hangolási lépés több próbát futtat le azzal a céllal, hogy meghatározza a legjobb modellt a tesztelt paramétertartományok közül. A módszerrel get_top_model_s3_uri
, rangsoroljuk az S50 műtermék URI modell 3 legjobban teljesítő verzióját, és csak a legjobban teljesítő verziót bontjuk ki (meghatározzuk k=0
a legjobb) egy SageMaker modell létrehozásához.
Amikor a folyamat fut, minden egyes hiperparaméter-hangolási feladathoz és a folyamatlépések által létrehozott SageMaker-feladathoz próbakomponenseket hoz létre.
Tovább konfigurálhatja a folyamatok integrációját a kísérletekkel, ha létrehoz egy a PipelineExperimentConfig
objektumot, és adja át a csővezeték objektumnak. A két paraméter határozza meg a létrehozandó kísérlet nevét, és a próbafolyamatot, amely a folyamat teljes futtatására hivatkozik.
Ha egy folyamatot szeretne társítani egy meglévő kísérlethez, átadhatja a nevét, és a Pipelines hozzá fogja rendelni az új próbaverziót. Beállítással megakadályozhatja kísérlet és próba létrehozását egy folyamat futtatásához pipeline_experiment_config
nak nek None
.
A példánytípusokat és a számokat paraméterként adjuk át, és az előző lépéseket a következő sorrendben láncoljuk. A folyamat folyamatát implicit módon egy lépés kimenetei határozzák meg, amelyek egy másik lépés bemenetei.
A teljes értékű csővezeték elkészült és használatra kész. Hozzáadunk egy végrehajtási szerepet a folyamathoz, és elindítjuk. Innen a SageMaker Studio Pipelines konzolra léphetünk, és vizuálisan követhetjük nyomon minden lépést. A csatolt naplókat a konzolról is elérheti a folyamat hibakereséséhez.
Az előző képernyőképen zöld színnel látható a sikeresen futtatott folyamat. Egy próba metrikáit a következő kóddal rendelkező folyamatból kapjuk meg:
Hasonlítsa össze az egyes próbakomponensek mérőszámait
A hiperparaméter-hangolás eredményeit a Studio-ban vagy más Python-rajzkönyvtárak segítségével ábrázolhatja. Ennek mindkét módját bemutatjuk.
Fedezze fel a képzési és értékelési mutatókat a Studio-ban
A Studio interaktív felhasználói felületet biztosít, ahol interaktív terveket hozhat létre. A lépések a következők:
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Kísérletek és próbák tól SageMaker források ikonra a bal oldalsávon.
- Válassza ki a kísérletet a megnyitásához.
- Válassza ki (jobb gombbal) a kívánt próbaverziót.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Megnyitás a próbaverziós összetevők listájában.
- nyomja meg műszak a képzési munkákat reprezentáló próbakomponensek kiválasztásához.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Diagram hozzáadása.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Új diagram és testreszabhatja az elemezni kívánt összegyűjtött mutatók ábrázolásához. Használati esetünkhöz válassza a következőket:
- A Adattípus¸ válassza ki Összefoglaló statisztika.
- A Diagram típusa¸ válassza ki Scatter Plot.
- A X-tengely, választ
lambda
. - A Y tengely, választ
validation:rmse_last
.
Az új diagram az ablak alján jelenik meg, '8' címkével.
A megnyomásával több vagy kevesebb képzési feladatot is felvehet műszak és válassza ki a szem ikont az interaktívabb élmény érdekében.
Analitika SageMaker-kísérletekkel
Amikor a folyamat befejeződött, gyorsan láthatóvá tudjuk tenni, hogy a modell különböző változatai hogyan hasonlítanak össze a képzés során gyűjtött mérőszámok tekintetében. Korábban az összes próba metrikát exportáltuk a pandák DataFrame
segítségével ExperimentAnalytics
. A Studio-ban kapott cselekményt a Matplotlib könyvtár segítségével reprodukálhatjuk.
Következtetés
A SageMaker Pipelines és a SageMaker Experiments közötti natív integráció lehetővé teszi az adattudósok számára, hogy a modellfejlesztési tevékenységek során automatikusan szervezzék, nyomon kövessék és vizualizálják a kísérleteket. Kísérleteket hozhat létre az összes modellfejlesztési munkája megszervezéséhez, például a következők:
- Olyan üzleti felhasználási eset, amellyel foglalkozik, például kísérlet létrehozása az ügyfelek lemorzsolódásának előrejelzésére
- Az adattudományi csapat tulajdonában lévő kísérlet például a marketingelemzéssel kapcsolatban
- Egy konkrét adattudományi és ML projekt
Ebben a bejegyzésben belevágtunk a folyamatokba, hogy megmutassuk, hogyan használhatod a kísérletekkel párhuzamosan egy teljesen automatizált, teljes körű munkafolyamatot.
Következő lépésként használhatja ezt a három SageMaker funkciót – a Studio, a Experiments és a Pipelines – következő ML projektjéhez.
Javasolt olvasmányok
A szerzőkről
Paolo Di Francesco megoldások tervezője az AWS-nél. Telekommunikációs és szoftvermérnöki tapasztalattal rendelkezik. Szenvedélyesen rajong a gépi tanulásért, és jelenleg arra összpontosít, hogy tapasztalatait felhasználva segítse ügyfeleit az AWS-ben kitűzött céljaik elérésében, különösen az MLOp-okkal kapcsolatos vitákban. Munkán kívül szeret focizni és olvasni.
Mario Bourgoin az AWS vezető partner megoldási építésze, AI/ML specialista és az MLOps globális technológiai vezetője. Vállalati ügyfelekkel és partnerekkel dolgozik, akik mesterséges intelligencia megoldásokat telepítenek a felhőben. Több mint 30 éves tapasztalattal rendelkezik a gépi tanulás és mesterséges intelligencia területén startupoknál és vállalatoknál, kezdve azzal, hogy megalkotta az egyik első kereskedelmi gépi tanulási rendszert a big data számára. Mario a szabadidejét a három belga Tervurennel játszik, vacsorát főz családjának, valamint matematikát és kozmológiát tanul.
Ganapathi Krishnamoorthi az AWS vezető ML Solutions építésze. A Ganapathi előírásos útmutatást nyújt az induló és nagyvállalati ügyfeleknek, segítve őket felhőalkalmazások tervezésében és telepítésében. A gépi tanulásra specializálódott, és arra törekszik, hogy segítse ügyfeleit az AI/ML kihasználásában üzleti eredményeik érdekében. Amikor nem dolgozik, szeret felfedezni a szabadban és zenét hallgatni.
Valerie Sonthakith az AWS megoldástervezője, a játékiparban dolgozik, és AI-megoldásokat telepítő partnereivel együtt. Karrierjét a Computer Vision köré kívánja építeni. Szabadidejében Valerie azzal tölti, hogy utazzon, új étkezési helyeket fedezzen fel, és megváltoztassa háza belső tereit.
- AI
- ai művészet
- ai art generátor
- van egy robotod
- Amazon SageMaker
- mesterséges intelligencia
- mesterséges intelligencia tanúsítás
- mesterséges intelligencia a bankszektorban
- mesterséges intelligencia robot
- mesterséges intelligencia robotok
- mesterséges intelligencia szoftver
- AWS gépi tanulás
- blockchain
- blokklánc konferencia ai
- coingenius
- társalgási mesterséges intelligencia
- kriptokonferencia ai
- dall's
- mély tanulás
- google azt
- gépi tanulás
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- skála ai
- szintaxis
- zephyrnet