Az AWS-ügyfelek az Infrastructure as Code (IaC) szolgáltatásra támaszkodnak felhő-infrastruktúra tervezése, fejlesztése és kezelése során. Az IaC biztosítja, hogy az ügyfelek infrastruktúrája és szolgáltatásai konzisztensek, skálázhatók és reprodukálhatók legyenek, miközben követni tudja a fejlesztési műveletek (DevOps) területén bevált gyakorlatokat.
Az AWS infrastruktúra és szolgáltatások IaC-vel történő kezelésének egyik lehetséges módja az Terraform, amely lehetővé teszi a fejlesztők számára, hogy infrastruktúrájukat újrafelhasználható kódmodulokba rendezzék. Ez a szempont egyre nagyobb jelentőséget kap a gépi tanulás (ML) területén. Az ML-folyamatok fejlesztése és kezelése, beleértve a Terraform mint IaC-vel való képzést és következtetéseket, lehetővé teszi, hogy könnyedén méretezhet több ML-használati esetet vagy régiót anélkül, hogy az infrastruktúrát a semmiből kellene fejlesztenie. Ezenkívül konzisztenciát biztosít az infrastruktúra számára (például a példány típusa és mérete) a betanításhoz és a következtetésekhez az ML folyamat különböző megvalósításai között. Ez lehetővé teszi, hogy a kéréseket és a bejövő forgalmat különböző országokba irányítsa Amazon SageMaker végpontok.
Ebben a bejegyzésben bemutatjuk, hogyan telepíthet és kezelhet ML-folyamatokat a Terraform és az Amazon SageMaker segítségével.
Megoldás áttekintése
Ez a bejegyzés kódot tartalmaz, és végigvezeti az AWS-infrastruktúra telepítéséhez szükséges lépéseken az ML-folyamatokhoz a Terraform segítségével a modellképzéshez és az Amazon SageMaker segítségével történő következtetésekhez. Az ML-folyamat ezen keresztül kezelhető AWS lépésfunkciók az ML folyamatban megvalósított különböző lépések hangszereléséhez, amint azt a következő ábra szemlélteti.
A Step Functions elindítja a AWS Lambda funkciót, egyedi feladatazonosítót generál, amelyet azután egy SageMaker képzési feladat indításakor használ fel. A Step Functions modellt, végpont-konfigurációt és következtetésekhez használt végpontot is létrehoz. További források a következők:
- AWS Identity and Access Management (IAM) szerepek és szabályzatok kapcsolódnak az erőforrásokhoz, hogy lehetővé tegyék az interakciót más erőforrásokkal
- Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödrök a képzési adatokhoz és a modellkimenethez
- An Amazon Elastic Container Registry (Amazon ECR) repository for the Dokkmunkás kép, amely tartalmazza a képzési és következtetési logikát
Az ML-hez kapcsolódó kód a Docker-képekkel való betanításhoz és következtetésekhez főként a következőkben meglévő munkákra támaszkodik GitHub tárház.
Az alábbi ábra szemlélteti a megoldás architektúráját:
Végigvezetjük a következő magas szintű lépéseken:
- Telepítse AWS infrastruktúráját a Terraform segítségével.
- Tolja be a Docker-képet az Amazon ECR-be.
- Futtassa az ML folyamatot.
- Hívja elő a végpontját.
Repository szerkezet
A bejegyzéshez használt kódot és adatokat tartalmazó tárat az alábbiakban találja GitHub tárház.
A tárház a következő könyvtárakat tartalmazza:
/terraform
– A következő almappákból áll:./infrastructure
– Tartalmazza a main.tf fájlt, amely meghívja az ML folyamatmodult, valamint az infrastruktúra telepítéséhez használt változódeklarációkat./ml-pipeline-module
– Tartalmazza a Terraform ML pipeline modult, amit újra felhasználhatunk
/src
– A következő almappákból áll:./container
– Példakódot tartalmaz a betanításhoz és a Docker-kép definícióiból való következtetéshez./lambda_function
– Tartalmazza a Lambda függvényt generáló konfigurációk Python kódját, például a SageMaker képzési feladat egyedi feladatazonosítóját
/data
– A következő fájlt tartalmazza:./iris.csv
– Adatokat tartalmaz az ML modell betanításához
Előfeltételek
Ehhez az áttekintéshez a következő előfeltételekkel kell rendelkeznie:
- AWS-fiók
- Terraform 0.13.5 vagy újabb verzió
- AWS parancssori interfész (AWS CLI) v2
- Piton 3.7 vagy nagyobb
- Dokkmunkás
Telepítse AWS infrastruktúráját a Terraform segítségével
Az ML folyamat üzembe helyezéséhez módosítania kell néhány változót és nevet az Ön igényei szerint. Ennek a lépésnek a kódja a /terraform
könyvtárban.
Az első inicializáláskor nyissa meg a fájlt terraform/infrastructure/terraform.tfvars
és állítsa be a változót Projekt neve a projekt nevére, a változón kívül vidék ha egy másik Régióban szeretne telepíteni. Módosíthat további változókat is, például példánytípusokat a betanításhoz és a következtetéshez.
Ezután a következő parancsokkal telepítse az infrastruktúrát a Terraform segítségével:
Ellenőrizze a kimenetet, és győződjön meg arról, hogy a tervezett erőforrások megfelelően jelennek meg, és erősítse meg az igennel az alkalmazási szakaszban, ha minden helyes. Ezután lépjen az Amazon ECR konzolra (vagy ellenőrizze a Terraform kimenetét a terminálban), és szerezze be a Terraformon keresztül létrehozott ECR-tárhely URL-címét.
A kimenetnek a következő megjelenített kimenethez hasonlóan kell kinéznie, beleértve az ECR-tárhely URL-jét is:
Tolja be a Docker-képet az Amazon ECR-be
Ahhoz, hogy az ML-folyamat és a SageMaker taníthasson és biztosítson egy SageMaker-végpontot a következtetéshez, meg kell adnia egy Docker-képet, és el kell tárolnia az Amazon ECR-ben. Példát találhat a könyvtárban src/container
. Ha már alkalmazta az AWS infrastruktúrát a korábbi lépésből, akkor a leírtak szerint leküldheti a Docker-képet. A Docker-kép létrehozása után a következő műveleteket hajthatja végre, és elküldheti az Amazon ECR-nek (igazsága szerint módosíthatja az Amazon ECR URL-címét):
Ha már alkalmazta az AWS infrastruktúrát a Terraform segítségével, akkor a kód és a Docker-kép módosításait közvetlenül az Amazon ECR-re küldheti anélkül, hogy újra telepítené a Terraformon keresztül.
Futtassa az ML folyamatot
Az ML folyamat betanításához és futtatásához lépjen a Step Functions konzolra, és indítsa el a megvalósítást. Az állapotgép vizualizációjában minden egyes lépés előrehaladását ellenőrizheti. Ellenőrizheti a SageMaker képzési munka előrehaladását és a SageMaker végpont állapotát is.
Miután sikeresen futtatta az állapotgépet a Step Functions alkalmazásban, láthatja, hogy a SageMaker végpont létrejött. A SageMaker konzolon válassza a lehetőséget Következtetés a navigációs ablakban, majd Végpontok. Mindenképpen várja meg, amíg az állapot InService-re vált.
Hívja elő a végpontját
A végpont meghívásához (ebben a példában az írisz adatkészlethez) használhatja a következő Python-szkriptet a AWS SDK Pythonhoz (Boto3). Ezt megteheti egy SageMaker notebookból, vagy beágyazhatja a következő kódrészletet egy Lambda függvénybe:
Tisztítsuk meg
A Terraform által létrehozott infrastruktúrát megsemmisítheti a terraform rombolás paranccsal, de először törölnie kell az S3 vödrökben lévő adatokat és fájlokat. Ezenkívül a SageMaker végpont (vagy több SageMaker végpont, ha többször fut) a Step Functions segítségével jön létre, és nem a Terraformon keresztül kezeli. Ez azt jelenti, hogy a telepítés az ML folyamat Step Functions funkcióval történő futtatásakor történik. Ezért feltétlenül törölje a Step Functions ML folyamaton keresztül létrehozott SageMaker végpontot vagy végpontokat is, hogy elkerülje a szükségtelen költségeket. Hajtsa végre a következő lépéseket:
- Az Amazon S3 konzolon törölje az adatkészletet az S3 képzési tárolóból.
- Törölje az összes modellt, amelyet az ML folyamaton keresztül betanított az S3-modellek tárolójában, akár az Amazon S3 konzolon, akár az AWS CLI-n keresztül.
- A Terraform által létrehozott infrastruktúra megsemmisítése:
- Törölje a Step Functions segítségével létrehozott SageMaker-végpontokat, végpont-konfigurációt és modelleket, akár a SageMaker-konzolon, akár az AWS parancssori felületén keresztül.
Következtetés
Gratulálunk! Ön telepített egy ML folyamatot a SageMaker with Terraform segítségével. Ez a példamegoldás bemutatja, hogyan telepítheti újra az AWS-infrastruktúrát és -szolgáltatásokat az ML-folyamatokhoz, újrafelhasználható módon. Ez lehetővé teszi több felhasználási esethez vagy régióhoz való méretezést, és lehetővé teszi az ML-modellek egy kattintással történő következetes képzését és telepítését. Ezenkívül az ML folyamatot többször is lefuttathatja, például ha új adatok állnak rendelkezésre, vagy módosítani szeretné az algoritmus kódját. Azt is választhatja, hogy a kéréseket vagy a forgalmat különböző SageMaker-végpontokhoz irányítja.
Javasoljuk, hogy fedezze fel a biztonsági funkciók hozzáadását és a legjobb biztonsági gyakorlatok alkalmazását az igényeinek és a lehetséges vállalati szabványoknak megfelelően. Ezen túlmenően, ha beágyazza ezt a megoldást a CI/CD-folyamataiba, további lehetőségeket kaphat a DevOps legjobb gyakorlatainak és szabványainak átvételében és kialakításában az Ön igényei szerint.
A szerzőről
Olivér Zollikofer az Amazon Web Services adatkutatója. Lehetővé teszi a globális vállalati ügyfelek számára a gépi tanulási modellek építését, betanítását és üzembe helyezését, valamint az ML modell életciklusának kezelését az MLOp-okkal. Továbbá kapcsolódó felhőmegoldásokat épít és tervez.
- 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/deploy-and-manage-machine-learning-pipelines-with-terraform-using-amazon-sagemaker/
- "
- 100
- 7
- hozzáférés
- Szerint
- át
- cselekvések
- mellett
- További
- algoritmus
- Minden termék
- már
- amazon
- Az Amazon Web Services
- Másik
- megközelítés
- építészet
- TERÜLET
- elérhető
- AWS
- hogy
- BEST
- legjobb gyakorlatok
- test
- határ
- épít
- épít
- képességek
- esetek
- CD
- változik
- 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
- felhő
- felhő infrastruktúra
- kód
- vállalat
- Configuration
- Konzol
- Konténer
- tartalmaz
- kiadások
- készítette
- teremt
- vevő
- Ügyfelek
- dátum
- adattudós
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- leírt
- Design
- elpusztítani
- elpusztított
- Fejleszt
- fejlett
- fejlesztők
- fejlesztése
- Fejlesztés
- különböző
- közvetlenül
- Dokkmunkás
- könnyen
- lehetővé
- ösztönzése
- Endpoint
- Vállalkozás
- minden
- példa
- létező
- feltárása
- Divat
- Jellemzők
- Ábra
- vezetéknév
- első
- következik
- következő
- funkció
- további
- generáló
- Globális
- tekintettel
- Hogyan
- How To
- HTTPS
- Identitás
- kép
- végrehajtás
- végre
- fontosság
- tartalmaz
- magában foglalja a
- Beleértve
- egyre inkább
- Infrastruktúra
- bemenet
- kölcsönhatás
- IT
- Munka
- legutolsó
- tanulás
- vonal
- gép
- gépi tanulás
- kezelése
- sikerült
- kezelése
- ML
- modell
- modellek
- többszörös
- nevek
- Navigáció
- elengedhetetlen
- jegyzetfüzet
- nyitva
- Művelet
- érdekében
- Más
- Politikák
- lehetséges
- potenciális
- program
- ad
- biztosít
- raktár
- kérni
- kéri
- követelmények
- Tudástár
- válasz
- Útvonal
- futás
- futás
- skálázható
- Skála
- Tudós
- sdk
- biztonság
- Szolgáltatások
- hasonló
- Egyszerű
- Méret
- szilárd
- megoldások
- Megoldások
- Színpad
- szabványok
- kezdet
- kezdődik
- Állami
- Állapot
- tárolás
- tárolni
- sikeresen
- terminál
- ebből adódóan
- Keresztül
- idő
- forgalom
- Képzések
- egyedi
- használ
- megjelenítés
- várjon
- háló
- webes szolgáltatások
- míg
- nélkül
- Munka