Amazon SageMaker Autopilot automatikusan összeállítja, betanítja és hangolja a legjobb gépi tanulási (ML) modelleket az Ön adatai alapján, miközben lehetővé teszi a teljes irányítás és láthatóság fenntartását. Az Autopilot a betanított modelleket is automatikusan telepítheti a valós idejű következtetési végpontokhoz.
Ha olyan munkaterhelései vannak, amelyek tüskés vagy kiszámíthatatlan forgalmi mintázattal rendelkeznek, és elviselik a hidegindítást, akkor költséghatékonyabb lenne a modell telepítése egy kiszolgáló nélküli következtetési végpontra.
Amazon SageMaker szerver nélküli következtetés egy erre a célra kialakított következtetési lehetőség, amely ideális a kiszámíthatatlan forgalmi mintákkal járó munkaterhelésekhez, és képes elviselni a hidegindítást. A valós idejű következtetési végponttal ellentétben, amelyet egy régóta futó számítási példány támogat, a kiszolgáló nélküli végpontok igény szerint biztosítják az erőforrásokat a beépített automatikus méretezéssel. A kiszolgáló nélküli végpontok automatikusan skálázódnak a bejövő kérések száma alapján, és nullára csökkentik az erőforrásokat, ha nincsenek bejövő kérések, így minimalizálhatja költségeit.
Ebben a bejegyzésben bemutatjuk, hogyan lehet az Autopilot által betanított modelleket telepíteni kiszolgáló nélküli következtetési végpontokra a Boto3 könyvtárak mert Amazon SageMaker.
Autopilóta edzési módok
Az Autopilot kísérlet létrehozása előtt hagyhatja, hogy az Autopilot automatikusan válassza ki az edzési módot, vagy kiválaszthatja manuálisan is.
Az Autopilot jelenleg három edzési módot támogat:
- kocsi – Az adatkészlet mérete alapján az Autopilot automatikusan kiválasztja az összeállítási vagy a HPO módot. 100 MB-nál nagyobb adatkészletek esetén az Autopilot a HPO-t választja; egyébként az összeállítást választja.
- Összeállítás – Az Autopilot a AutoGluon összeállítási technikát modellhalmozás segítségével, és optimális prediktív modellt állít elő.
- Hiperparaméter optimalizálás (HPO) – Az Autopilot megtalálja a modell legjobb verzióját a hiperparaméterek Bayes-optimalizálással vagy többhűségű optimalizálással történő hangolásával, miközben oktatási feladatokat futtat az adatkészleten. A HPO mód kiválasztja az adatkészlet szempontjából legrelevánsabb algoritmusokat, és kiválasztja a hiperparaméterek legjobb tartományát a modellek hangolásához.
Ha többet szeretne megtudni az Autopilot edzési módokról, lásd: Képzési módok.
Megoldás áttekintése
Ebben a bejegyzésben a UCI Bank Marketing adatkészlet annak előrejelzésére, hogy az ügyfél előfizet-e a bank által kínált lekötött betétre. Ez egy bináris osztályozási problématípus.
Két Autopilot feladatot indítunk el a Boto3 könyvtárak a SageMaker számára. Az első munka az összeállítást használja választott képzési módként. Ezután telepítjük a generált egyegyüttes modellt egy kiszolgáló nélküli végpontra, és következtetési kéréseket küldünk erre a hosztolt végpontra.
A második munka a HPO képzési módot használja. Az osztályozási problématípusokhoz az Autopilot három következtetési tárolót generál. Kibontjuk ezt a három következtetési tárolót, és külön kiszolgáló nélküli végpontokhoz telepítjük őket. Ezután következtetési kéréseket küldünk ezekre a hosztolt végpontokra.
A regressziós és osztályozási problématípusokkal kapcsolatos további információkért lásd: Következtetési tároló definíciók regressziós és osztályozási problématípusokhoz.
Autopilot munkákat is indíthatunk a Amazon SageMaker Studio UI. Ha feladatokat indít el a felhasználói felületről, kapcsolja ki a Automatikus telepítés lehetőség a Üzembe helyezés és speciális beállítások szakasz. Ellenkező esetben az Autopilot a legjobb jelöltet telepíti egy valós idejű végpontra.
Előfeltételek
Győződjön meg arról, hogy a Boto3 legújabb verziója és a SageMaker Python csomagok telepítve vannak:
pip install -U boto3 sagemaker
Szükségünk van a SageMaker csomag verziójára >= 2.110.0
és Boto3 verzió >= boto3-1.24.84.
Indítson el egy Autopilot feladatot összeállítási móddal
Az Autopilot feladat elindításához a SageMaker Boto3 könyvtárak használatával a create_auto_ml_job API. Utána bemegyünk AutoMLJobConfig
, InputDataConfig
és AutoMLJobObjective
bemenetként a create_auto_ml_job
. Lásd a következő kódot:
Az Autopilot visszaadja a BestCandidate
modellobjektum, amely rendelkezik a InferenceContainers
szükséges a modellek végpontok következtetéséhez való telepítéséhez. Ahhoz, hogy a BestCandidate
az előző munkához a describe_automl_job
funkció:
Telepítse a betanított modellt
Most telepítjük az előző következtetési tárolót egy kiszolgáló nélküli végpontra. Az első lépés egy modell létrehozása a következtetési tárolóból, majd egy végpont konfiguráció létrehozása, amelyben megadjuk a MemorySizeInMB
és a MaxConcurrency
a kiszolgáló nélküli végpont értékeit a modellnévvel együtt. Végül létrehozunk egy végpontot a fent létrehozott végpont-konfigurációval.
Javasoljuk, hogy válassza ki a sajátját végpont memória mérete a modell méretének megfelelően. A memória méretének legalább akkorának kell lennie, mint a modell mérete. A kiszolgáló nélküli végpont minimális RAM-mérete 1024 MB (1 GB), a választható maximális RAM-méret pedig 6144 MB (6 GB).
A választható memóriaméretek: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB vagy 6144 MB.
Annak eldöntéséhez, hogy a kiszolgáló nélküli végpont a megfelelő telepítési lehetőség-e költség és teljesítmény szempontjából, javasoljuk, hogy tekintse meg a SageMaker Serverless Inference Benchmarking Toolkit, amely különböző végpont-konfigurációkat tesztel, és összehasonlítja a legoptimálisabbat egy összehasonlítható valós idejű tárhelypéldánnyal.
Vegye figyelembe, hogy a kiszolgáló nélküli végpontokat csak elfogadják SingleModel
következtetési tárolókhoz. Az összeállítási módban az Autopilot egyetlen modellt hoz létre, így ezt a modelltárolót úgy tudjuk telepíteni, ahogy van a végponton. Lásd a következő kódot:
Amikor a kiszolgáló nélküli következtetés végpontja az InService
, tesztelhetjük a végpontot egy következtetési kérés elküldésével, és megfigyelhetjük az előrejelzéseket. A következő ábra szemlélteti ennek a beállításnak az architektúráját.
Vegye figyelembe, hogy nyers adatokat küldhetünk hasznos adatként a végponthoz. Az Autopilot által generált együttes modell automatikusan egyetlen modellbe integrálja az összes szükséges jellemző-transzformációs és inverz címketranszformációs lépést, valamint az algoritmusmodellt és a csomagokat.
Következtetési kérés küldése a betanított modellnek
Használja a következő kódot, hogy következtetéseket küldjön az összeállítási módban betanított modelljére:
Indítson el egy Autopilot Job-ot HPO móddal
HPO módban a CompletionCriteria
, kívül MaxRuntimePerTrainingJobInSeconds
és a MaxAutoMLJobRuntimeInSeconds,
is megadhatnánk a MaxCandidates
hogy korlátozza az Autopilot-munka által generált jelöltek számát. Vegye figyelembe, hogy ezek nem kötelező paraméterek, és csak a demonstrációs feladat futási idejének korlátozására vannak beállítva. Lásd a következő kódot:
A BestCandidate
az előző munkához ismét használhatjuk a describe_automl_job
funkció:
Telepítse a betanított modellt
Az osztályozási probléma típusának HPO módú autopilotja három következtetési tárolót generál.
Az első tároló kezeli a jellemző-átalakítási lépéseket. Ezután az algoritmustároló generálja a predicted_label
a legnagyobb valószínűséggel. Végül az utófeldolgozási következtetéstároló inverz transzformációt hajt végre az előre jelzett címkén, és leképezi az eredeti címkére. További információkért lásd: Következtetési tároló definíciók regressziós és osztályozási problématípusokhoz.
Kibontjuk ezt a három következtetési tárolót, és külön kiszolgáló nélküli végpontokra helyezzük üzembe. Következtetéshez a végpontokat sorban hívjuk meg úgy, hogy a hasznos terhelést először a jellemző-transzformációs tárolóba küldjük, majd ebből a tárolóból átadjuk a kimenetet az algoritmus tárolójába, végül pedig az előző következtetési tároló kimenetét az utófeldolgozási tárolóba. amely az előrejelzett címkét adja ki.
A következő ábra szemlélteti ennek a beállításnak az architektúráját.
Kivonjuk a három következtetési tárolót a BestCandidate
a következő kóddal:
Következtetési kérés küldése a betanított modellnek
Következtetés céljából a hasznos terhet sorban küldjük el: először a jellemző-transzformációs tárolóba, majd a modelltárolóba, végül az inverz címkés transzformációs tárolóba.
Lásd a következő kódot:
A példa teljes megvalósítása a következő jupyterben érhető el jegyzetfüzet.
Tisztítsuk meg
Az erőforrások megtisztításához törölheti a létrehozott kiszolgáló nélküli végpontokat, végpont-konfigurációkat és modelleket:
Következtetés
Ebben a bejegyzésben bemutattuk, hogyan telepíthetjük az Autopilot által generált modelleket ensemble és HPO módban is kiszolgáló nélküli következtetési végpontokra. Ez a megoldás felgyorsíthatja a költséghatékony és teljes körűen felügyelt ML szolgáltatások, például az Autopilot használatának és előnyeinek kihasználását, hogy nyers adatokból gyorsan modelleket állítson elő, majd telepítse azokat teljesen felügyelt szerver nélküli következtetési végpontokon a beépített automatikus skálázással a költségek csökkentése érdekében. .
Javasoljuk, hogy próbálja ki ezt a megoldást az üzleti KPI-k szempontjából releváns adatkészlettel. A Jupyter notebookban megvalósított megoldást a GitHub repo.
További hivatkozások
A szerzőről
Praveen Chamarthi az Amazon Web Services vezető AI/ML szakértője. Szenvedélye az AI/ML és minden AWS. Amerika-szerte segít ügyfeleinek az ML-munkaterhelések AWS-en való hatékony skálázásában, innovációjában és kezelésében. Szabadidejében Praveen szeret olvasni, és szereti a sci-fi filmeket.
- Haladó (300)
- AI
- ai művészet
- ai art generátor
- van egy robotod
- Amazon SageMaker
- Amazon SageMaker Autopilot
- 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
- Technikai útmutató
- zephyrnet