Ma örömmel jelentjük be frissítéseinket Amazon SageMaker kísérletek képessége Amazon SageMaker amely lehetővé teszi a gépi tanulási (ML) kísérletek és modellverziók szervezését, nyomon követését, összehasonlítását és értékelését bármely integrált fejlesztői környezetből (IDE) a SageMaker Python SDK vagy a boto3 használatával, beleértve a helyi Jupyter Notebookokat is.
A gépi tanulás (ML) egy iteratív folyamat. Egy új felhasználási eset megoldása során az adattudósok és az ML mérnökök különféle paramétereken keresztül iterálnak, hogy megtalálják a legjobb modellkonfigurációkat (más néven hiperparamétereket), amelyek a termelésben felhasználhatók az azonosított üzleti kihívás megoldására. Az idő múlásával, miután több modellel és hiperparaméterrel kísérleteztek, az ML csapatok számára nehézzé válik a modellfuttatások hatékony menedzselése, hogy megtalálják az optimálisat a különböző kísérletek nyomon követésére szolgáló eszköz nélkül. A kísérletkövető rendszerek leegyszerűsítik a folyamatokat a különböző iterációk összehasonlításához, és segítenek leegyszerűsíteni a csapaton belüli együttműködést és kommunikációt, ezáltal növelve a termelékenységet és időt takarítva meg. Ezt úgy érik el, hogy az ML-kísérleteket könnyed módon szervezik és irányítják, hogy következtetéseket vonhassanak le belőlük, például a legjobb pontossággal találja meg az edzésfutást.
Ennek a kihívásnak a megoldására a SageMaker a SageMaker Experiments szolgáltatást, egy teljesen integrált SageMaker képességet kínál. Rugalmasságot biztosít a modell metrikáinak, paramétereinek, fájljainak, műtermékeinek naplózásához, a különböző metrikákból származó diagramok naplózásához, különféle metaadatok rögzítéséhez, kereséshez és a modell reprodukálhatóságának támogatásához. Az adatkutatók vizuális diagramokon és táblázatokon keresztül gyorsan összehasonlíthatják a teljesítményt és a hiperparamétereket a modellértékeléshez. A SageMaker Experiments segítségével letölthetik a létrehozott diagramokat, és megoszthatják a modell értékelését az érintettekkel.
A SageMaker Experiments új frissítéseivel a SageMaker SDK része lett, leegyszerűsítve az adattudósok munkáját, és szükségtelenné válik egy további könyvtár telepítése a több modell végrehajtásához. A következő új alapfogalmakat vezetjük be:
- Kísérlet: Egybe csoportosított futások gyűjteménye. Egy kísérlet több típusú futtatást tartalmaz, amelyek bárhonnan elindíthatók a SageMaker Python SDK használatával.
- futás: Egy modell betanítási folyamat minden végrehajtási lépése. A futtatás a modelltanítás egyetlen iterációjához tartozó összes bemenetet, paramétert, konfigurációt és eredményt tartalmazza. Az egyéni paraméterek és metrikák naplózhatók a
log_parameter
,log_parameters
éslog_metric
funkciókat. Az egyéni bemenetek és kimenetek naplózhatók alog_file
funkciót.
Azok a fogalmak, amelyek a részeként valósulnak meg Run
osztály bármely IDE-ről elérhető, amelyre a SageMaker Python SDK telepítve van. A SageMaker képzéshez, feldolgozáshoz és
Transform Jobs, a SageMaker kísérleti futtatás automatikusan átadásra kerül a jobnak, ha a feladatot egy futási környezetben hívják meg. A futtatási objektumot a segítségével állíthatja vissza load_run()
a munkádból. Végül, az új funkciók integrációjával az adattudósok automatikusan naplózhatnak egy zavarmátrixot, precíziós és visszahívási grafikonokat, valamint egy ROC-görbét az osztályozási használati esetekhez a run.log_confusion_matrix
, run.log_precision_recall
és run.log_roc_curve
funkciókat, ill.
Ebben a blogbejegyzésben példákat mutatunk be az új SageMaker Experiments funkciók használatára Jupyter notebookon a SageMaker SDK-n keresztül. Ezeket a képességeket a segítségével mutatjuk be PyTorch példa egy MNIST kézzel írt számjegyosztályozási példa betanítására. A kísérletet a következőképpen szervezzük meg:
- Kísérletfutások létrehozása és naplózási paraméterek: Először létrehozunk egy új kísérletet, elindítjuk a kísérlet új futtatását, és naplózzuk a paramétereket.
- A modell teljesítménymutatóinak naplózása: Naplózni fogjuk a modell teljesítménymutatóit és ábrázoljuk a metrikagrafikonokat.
- Modellfutások összehasonlítása:A modell hiperparaméterei szerint összehasonlítjuk a különböző modellfutásokat. Megbeszéljük, hogyan hasonlítsuk össze ezeket a futtatásokat, és hogyan használjuk a SageMaker-kísérleteket a legjobb modell kiválasztásához.
- Kísérletek futtatása SageMaker-feladatokból: Példát adunk arra is, hogyan lehet automatikusan megosztani a kísérlet környezetét egy SageMaker feldolgozási, betanítási vagy kötegelt átalakítási feladattal. Ez lehetővé teszi a futtatási környezet automatikus helyreállítását a
load_run
funkciója a munkájában. - A SageMaker Clarify jelentések integrálása: Bemutatjuk, hogyan tudunk most integrálódni SageMaker Clarify torzítási és magyarázhatósági jelentések egyetlen nézetben a betanított modelljelentéssel.
Előfeltételek
Ehhez a blogbejegyzéshez használjuk Amazon SageMaker Studio bemutatni, hogyan lehet mérőszámokat naplózni egy Studio-jegyzetfüzetről a frissített SageMaker Experiments funkciók segítségével. A példánkban bemutatott parancsok végrehajtásához a következő előfeltételek szükségesek:
- SageMaker Studio Domain
- SageMaker Studio felhasználói profil SageMaker teljes hozzáféréssel
- Egy SageMaker Studio notebook legalább egy
ml.t3.medium
példány típusa
Ha nem rendelkezik elérhető SageMaker-domainnel és felhasználói profillal, ennek segítségével létrehozhat egyet gyors telepítési útmutató.
Naplózási paraméterek
Ehhez a gyakorlathoz használjuk fáklyalátás, egy PyTorch-csomag, amely népszerű adatkészleteket, modellarchitektúrákat és általános képátalakításokat biztosít a számítógépes látás számára. A SageMaker Studio egy sor Docker képek az Amazon ECR-ben elérhető általános adattudományi felhasználási esetekhez. A PyTorch esetében lehetősége van CPU- vagy GPU-képzésre optimalizált képek kiválasztására. Ebben a példában a képet választjuk ki PyTorch 1.12 Python 3.8 CPU Optimized
és a Python 3
kernel. Az alább leírt példák a SageMaker Experiments funkcióira összpontosítanak, és nem teljesek a kóddal.
Töltse le az adatokat a torchvision
csomagolja és nyomon követheti a vonat adatmintáinak számát és a tesztadatkészleteket paraméterként a SageMaker Experiments segítségével. Ebben a példában tegyük fel train_set
és a test_set
ahogy már letöltötte torchvision
adatkészletek.
Ebben a példában a run.log_parameters
a vonat- és vizsgálati adatminták számának naplózására és run.log_file
a nyers adatkészletek feltöltéséhez az Amazon S3-ba, és naplózzuk őket kísérletünk bemeneteként.
Modell betanítása és modellmetrikák naplózása
Most, hogy letöltöttük az MNIST adatkészletünket, képezzük a CNN modell hogy felismerje a számjegyeket. A modell betanítása közben szeretnénk betölteni a meglévő kísérleti futtatásunkat, új paramétereket naplózni, és a modell teljesítményét a modell metrikák naplózásával nyomon követni.
Használhatjuk a load_run
funkció betölti az előző futtatást, és használja a modellképzés naplózásához
Utána használhatjuk run.log_parameter
és a run.log_parameters
hogy egy vagy több modellparamétert naplózzon a futtatásunkba.
És használhatjuk run.log_metric
teljesítménymutatók naplózásához kísérletünkbe.
Osztályozási modellekhez is használhatja run.log_confusion_matrix
, run.log_precision_recall
és run.log_roc_curve
, a zavaró mátrix, a precíziós visszahívási grafikon és a modell ROC görbéjének automatikus ábrázolásához. Mivel a modellünk egy többosztályos osztályozási problémát old meg, ezért csak a zavaró mátrixot naplózzuk.
Ha megnézzük a futás részleteit, láthatjuk a generált mutatókat, ahogy az alábbi képernyőképen látható:
A futás részletei oldal további információkat tartalmaz a mérőszámokról.
Az új modellparamétereket pedig a paraméterek áttekintő oldalán nyomon követheti.
A modell teljesítményét osztályonként is elemezheti az automatikusan ábrázolt zavaros mátrix segítségével, amely szintén letölthető és különböző jelentésekhez használható. Ezenkívül további grafikonokat is készíthet a modell teljesítményének elemzéséhez a naplózott metrikák alapján.
Több modellparaméter összehasonlítása
Adattudósként a lehető legjobb modellt szeretné megtalálni. Ez magában foglalja a modell többszöri betanítását különböző hiperparaméterekkel, és a modell teljesítményének összehasonlítását ezekkel a hiperparaméterekkel. Ennek érdekében a SageMaker Experiments lehetővé teszi, hogy több futtatást hozzunk létre ugyanabban a kísérletben. Fedezzük fel ezt a koncepciót úgy, hogy modellünket másokkal tanítjuk num_hidden_channels
és a optimizers
.
Most hat új futtatást hozunk létre a kísérletünkhöz. Mindegyik naplózza a modell paramétereit, mérőszámait és zavaró mátrixát. Ezután összehasonlíthatjuk a futtatásokat, hogy kiválaszthassuk a probléma legjobban teljesítő modelljét. A futások elemzésekor a különböző futások metrikus grafikonjait egyetlen diagramként ábrázolhatjuk, összehasonlítva a futások teljesítményét a különböző edzési lépések (vagy korszakok) között.
A SageMaker Experiments használata a SageMaker képzési, feldolgozási és kötegelt átalakítási munkákkal
A fenti példában a SageMaker Experiments segítségével naplóztuk a modell teljesítményét egy SageMaker Studio notebookról, ahol a modellt helyben betanították a notebookban. Ugyanezt megtehetjük a SageMaker feldolgozási, betanítási és kötegelt átalakítási feladatokból származó modell teljesítményének naplózásához. Az új automatikus kontextusátadási képességekkel nem kell külön megosztanunk a kísérlet konfigurációját a SageMaker feladattal, mivel a rendszer automatikusan rögzíti.
Az alábbi példa a SageMaker Experiments funkcióira összpontosít, és nem teljes kód.
Modell szkriptfájlunkban a futtatási környezetet a segítségével kaphatjuk meg load_run()
. A SageMaker feldolgozási és betanítási feladatokban nem kell megadnunk a kísérlet konfigurációját a konfiguráció betöltéséhez. A kötegelt átalakítási feladatokhoz biztosítanunk kell experiment_name
és a run_name
a kísérlet konfigurációjának betöltéséhez.
A SageMaker-kísérletek notebook-szkriptből történő futtatásakor kapott információkon kívül a SageMaker-feladatból történő futtatás automatikusan feltölti a feladat paramétereit és kimeneteit.
Az új SageMaker Experiments SDK visszamenőleges kompatibilitást is biztosít az előző verzióval a próbaverziók és próbakomponensek koncepciójával. A SageMaker Experiments korábbi verziójával indított kísérletek automatikusan elérhetővé válnak az új felhasználói felületen a kísérletek elemzéséhez.
A SageMaker Clarify integrálása és a képzési jelentések modellezése
A SageMaker Clarify észleléssel segít javítani ML modelljeinket potenciális torzítás és segít magyarázat hogyan jósolnak ezek a modellek. A Clarify előre beépített konténereket biztosít, amelyek SageMaker feldolgozási feladatokként futnak a modell betanítása után, felhasználva az adatokkal (adatkonfiguráció), a modellel (modellkonfiguráció) és az érzékeny adatoszlopokkal kapcsolatos információkat, amelyeket elemezni szeretnénk az esetleges torzítás (elfogultság) szempontjából. konfiguráció). Eddig a SageMaker Experiments modelltanítási és Clarify-jelentéseinket különálló próbakomponensekként jelenítette meg, amelyeket egy próbaverzión keresztül kapcsoltak össze.
Az új SageMaker Experiments segítségével a SageMaker Clarify jelentéseket a modellképzésünkbe is integrálhatjuk, amelynek egyetlen igazságforrása van, amely lehetővé teszi modellünk további megértését. Az integrált jelentéshez mindössze annyit kell tennünk, hogy ugyanazt a futtatási nevet használjuk a képzési és tisztázási munkáinknak. A következő példa bemutatja, hogyan integrálhatjuk a jelentéseket egy XGBoost modell hogy megjósolják a felnőttek jövedelmét szerte az Egyesült Államokban. A modell a UCI Felnőtt adatkészlet. Ehhez a gyakorlathoz feltételezzük, hogy a modellt már betanították, és már kiszámítottuk az adatokat, a modellt és a torzítási konfigurációkat.
Ezzel a beállítással egy kombinált nézetet kapunk, amely tartalmazza a modell metrikáját, a közös bemeneteket és kimeneteket, valamint a Clarify jelentéseket a modell statisztikai torzítása és magyarázhatósága érdekében.
Következtetés
Ebben a bejegyzésben a SageMaker SDK integrált részét képező SageMaker Experiments új generációját fedeztük fel. Bemutattuk, hogyan naplózhatja ML munkafolyamatait bárhonnan az új Run osztállyal. Bemutattuk az új Kísérletek felhasználói felületet, amely lehetővé teszi a kísérletek nyomon követését és diagramok ábrázolását egyetlen futtatási mutatóhoz, valamint több futtatás összehasonlítását az új elemzési képességgel. Példákat mutattunk be a naplózási kísérletekre egy SageMaker Studio notebookból és egy SageMaker Studio képzési munkából. Végül megmutattuk, hogyan integrálható a modellképzés és a SageMaker Clarify jelentések egységes nézetben, lehetővé téve a modell további megértését.
Javasoljuk, hogy próbálja ki az új Kísérleti funkciókat, és lépjen kapcsolatba a Gépi tanulás és AI közösség ha bármilyen kérdése vagy visszajelzése van!
A szerzőkről
Maira Ladeira Tanke az AWS gépi tanulási szakértője. Adattudományi háttérrel rendelkezik, és 9 éves tapasztalattal rendelkezik ML-alkalmazások tervezésében és építésében különböző iparágakban lévő ügyfelekkel. Műszaki vezetőként segít az ügyfeleknek felgyorsítani az üzleti érték elérését a feltörekvő technológiák és innovatív megoldások révén. Szabadidejében Maira szívesen utazik, és a családjával tölti az idejét valami meleg helyen.
Mani Khanuja az Amazon Web Services (AWS) mesterséges intelligencia és gépi tanulás szakértője. Segít a gépi tanulást használó ügyfeleknek üzleti kihívásaik megoldásában az AWS segítségével. Ideje nagy részét azzal tölti, hogy mélyre merül, és ügyfeleit olyan AI/ML projektekre oktatja, amelyek a számítógépes látással, a természetes nyelvi feldolgozással, az előrejelzéssel, az ML szélén és még sok mással kapcsolatosak. Szenvedélye az ML szélén, ezért létrehozta saját laborját önvezető készlettel és prototípus gyártósorral, ahol szabadidejének nagy részét tölti.
Dewen Qi az AWS szoftverfejlesztő mérnöke. Jelenleg az AWS SageMaker platformszolgáltatások és eszközök gyűjteményének felépítésében vesz részt, hogy segítse ügyfeleit ML projektjeik sikeres megvalósításában. Szenvedélyesen törekszik az MLOps koncepciójának szélesebb közönség elé terjesztésére is. A munkán kívül Dewen szívesen gyakorol csellót.
Abhishek Agarwal az Amazon SageMaker vezető termékmenedzsere. Szenvedélye az ügyfelekkel való együttműködés és a gépi tanulás hozzáférhetőbbé tétele. Szabadidejében Abhishek szeret festeni, kerékpározni és innovatív technológiákat tanulni.
Dana Benson szoftvermérnök, aki az Amazon SageMaker Experiments, Lineage és Search csapatánál dolgozik. Mielőtt csatlakozott volna az AWS-hez, Dana időt töltött azzal, hogy lehetővé tegye az intelligens otthoni funkciókat az Alexában, valamint a mobilrendelést a Starbucksnál.
- 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
- Közepes (200)
- gépi tanulás
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- skála ai
- szintaxis
- zephyrnet