A gépi tanulási műveletek (MLOps) platform kiépítése a mesterséges intelligencia (AI) és a gépi tanulás (ML) gyorsan fejlődő környezetében a szervezetek számára elengedhetetlen az adattudományi kísérletezés és a telepítés közötti szakadék zökkenőmentes áthidalásához, miközben megfelel a modell teljesítményével kapcsolatos követelményeknek. biztonság és megfelelőség.
A szabályozási és megfelelőségi követelmények teljesítése érdekében az ilyen platformok tervezésénél a legfontosabb követelmények a következők:
- Címadatok eltolódása
- Kövesse nyomon a modell teljesítményét
- Az automatikus modell-átképzés megkönnyítése
- Adja meg a modell jóváhagyásának folyamatát
- Tartsa a modelleket biztonságos környezetben
Ebben a bejegyzésben bemutatjuk, hogyan hozhat létre MLOps-keretrendszert ezen igények kielégítésére, miközben az AWS-szolgáltatások és harmadik féltől származó eszközkészletek kombinációját használja. A megoldás többkörnyezeti beállítást tartalmaz automatizált modell-átképzéssel, kötegelt következtetésekkel és felügyelettel Amazon SageMaker Model Monitor, modellverzióval SageMaker Model Registry, valamint egy CI/CD folyamat, amely megkönnyíti az ML-kód és a folyamatok környezetekben való promócióját a használatával Amazon SageMaker, Amazon EventBridge, Amazon Simple Notification Service (Amazon S3), HashiCorp Terraform, GitHubés Jenkins CI/CD. Olyan modellt építünk, amely megjósolja a mammográfiás tömeges elváltozások súlyosságát (jóindulatú vagy rosszindulatú) XGBoost algoritmus a nyilvánosan elérhető UCI Mammography Mass adatkészletet, és telepítse az MLOps keretrendszer segítségével. A teljes útmutató kóddal elérhető a GitHub tárház.
Megoldás áttekintése
A következő architektúra diagram az MLOps keretrendszer áttekintését mutatja a következő kulcskomponensekkel:
- Több fiókos stratégia – Két különböző környezet (dev és prod) van beállítva két különböző AWS-fiókban az AWS jól felépített bevált gyakorlatait követve, egy harmadik fiók pedig a központi modellnyilvántartásban:
- Fejlesztői környezet – Ahol an Amazon SageMaker Studio domain úgy van beállítva, hogy lehetővé tegye a modellfejlesztést, a modell betanítását és az ML-folyamatok tesztelését (tanítás és következtetés), mielőtt a modell készen állna a magasabb környezetekbe való előléptetésre.
- Prod környezet – Ahol a fejlesztőtől származó ML-folyamatokat első lépésként előléptetik, és idővel ütemezik és figyelik.
- Központi modellnyilvántartás - Amazon SageMaker Model Registry külön AWS-fiókban van beállítva a fejlesztői és termékkörnyezetekben generált modellverziók nyomon követésére.
- CI/CD és forrás vezérlés – Az ML-folyamatok környezetekben történő telepítése a Jenkins-szel beállított CI/CD-n, valamint a GitHubon keresztül kezelt verziókezelésen keresztül történik. A megfelelő környezettel összevont kódmódosítások, git ág, elindít egy CI/CD munkafolyamatot az adott célkörnyezet megfelelő módosításához.
- Kötegelt előrejelzések modellfigyeléssel – A következővel épített következtetési csővezeték Amazon SageMaker csővezetékek ütemezetten fut, hogy előrejelzéseket generáljon, valamint modellfigyelést használjon a SageMaker Model Monitor segítségével az adatsodródás észlelésére.
- Automatizált átképzési mechanizmus – A SageMaker Pipelines-szel épített oktatási folyamat minden alkalommal aktiválódik, amikor adatsodródást észlel a következtetési folyamatban. A betanítás után a modell regisztrálásra kerül a központi modellnyilvántartásba, hogy a modell jóváhagyója jóváhagyja. Ha jóváhagyják, a frissített modellverzió a következtetési folyamaton keresztül előrejelzések generálására szolgál.
- Az infrastruktúra kódként – Az infrastruktúra kódként (IaC), felhasználásával létrehozott HashiCorp Terraform, támogatja a következtetési csővezeték ütemezését az EventBridge segítségével, a vonatcsővezeték kiváltását egy EventBridge szabály és értesítések küldése segítségével Amazon Simple Notification Service (Amazon SNS) témák.
Az MLOps munkafolyamat a következő lépéseket tartalmazza:
- Hozzáférhet a SageMaker Studio-tartományhoz a fejlesztési fiókban, klónozhatja a GitHub-tárat, menjen végig a modellfejlesztési folyamaton a megadott mintamodell használatával, és hozza létre a vonat- és következtetési folyamatokat.
- Futtassa a vonatfolyamatot a fejlesztési fiókban, amely előállítja a modell melléktermékeit a betanított modellverzióhoz, és regisztrálja a modellt a SageMaker Model Registry-be a központi modell-nyilvántartási fiókban.
- Hagyja jóvá a modellt a SageMaker Model Registry-ben a központi modell-nyilvántartási fiókban.
- Tolja be a kódot (tanítási és következtetési folyamatok, valamint a Terraform IaC-kód az EventBridge ütemtervének, az EventBridge-szabálynak és az SNS-témakör létrehozásához) a GitHub-tárház szolgáltatási ágába. Hozzon létre lekérési kérelmet a kódnak a GitHub-tárház fő ágába való egyesítéséhez.
- Indítsa el a Jenkins CI/CD-folyamatot, amely a GitHub-tárral van beállítva. A CI/CD-folyamat a kódot a prod-fiókba telepíti a vonat- és következtetési folyamatok létrehozásához, valamint a Terraform-kódot az EventBridge ütemezésének, az EventBridge-szabálynak és az SNS-témakörnek a biztosításához.
- A következtetési csővezeték a tervek szerint napi rendszerességgel fut, míg a vonatcsővezeték úgy van beállítva, hogy minden olyan esetben futjon, amikor adatsodródást észlel a következtetési folyamatból.
- A rendszer az SNS-témán keresztül értesítéseket küld, ha a vonat vagy a következtetési csővezeték meghibásodik.
Előfeltételek
Ehhez a megoldáshoz a következő előfeltételekkel kell rendelkeznie:
- Három AWS-fiók (fejlesztői, prod- és központi modellnyilvántartási fiók)
- Mindhárom AWS-fiókban be van állítva egy SageMaker Studio-domain (lásd Bekapcsolva az Amazon SageMaker Studio-ba vagy nézd meg a videót Gyorsan az Amazon SageMaker Studio-ba beállítási utasításokért)
- Jenkins (a Jenkins 2.401.1-et használjuk) rendszergazdai jogosultságokkal telepítve az AWS-re
- Terraform 1.5.5 vagy újabb verzió telepítve a Jenkins szerverre
Ehhez a poszthoz a us-east-1
Régió a megoldás telepítéséhez.
KMS-kulcsok biztosítása fejlesztői és prod-fiókokban
Első lépésünk az alkotás AWS kulcskezelési szolgáltatás (AWS KMS) kulcsok a fejlesztői és termékfiókokban.
Hozzon létre egy KMS-kulcsot a fejlesztői fiókban, és biztosítson hozzáférést a prod-fiókhoz
Hajtsa végre a következő lépéseket KMS-kulcs létrehozásához a fejlesztői fiókban:
- Az AWS KMS konzolon válassza a lehetőséget Ügyfél által kezelt kulcsok a navigációs ablaktáblában.
- 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 Kulcs létrehozása.
- A Kulcs típusaválassza Szimmetrikus.
- A Kulcshasználatválassza Titkosítás és visszafejtés.
- 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övetkező.
- Adja meg az éles fiók számát, hogy az éles fiók hozzáférést biztosítson a fejlesztői fiókban kiépített KMS-kulcshoz. Ez kötelező lépés, mert amikor a modellt először betanítják a fejlesztői fiókban, a modell melléktermékei a KMS-kulccsal titkosítva lesznek, mielőtt a központi modell-nyilvántartási fiók S3 tárolójába írnák őket. Az éles fióknak hozzáférésre van szüksége a KMS-kulcshoz a modell melléktermékeinek visszafejtéséhez és a következtetési folyamat futtatá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 Következő és fejezze be a kulcs létrehozását.
A kulcs kiépítése után láthatónak kell lennie az AWS KMS-konzolon.
Hozzon létre egy KMS-kulcsot a prod-fiókban
Hajtsa végre az előző szakaszban leírt lépéseket az ügyfél által kezelt KMS-kulcs létrehozásához a termékfiókban. Kihagyhatja a lépést, ha megosztja a KMS-kulcsot egy másik fiókkal.
Állítson be egy modellműtermékek S3 tárolót a központi modell-nyilvántartási fiókban
Hozzon létre egy tetszőleges S3 vödröt a zsinórral sagemaker
az elnevezési konvencióban a gyűjtőzóna nevének részeként a központi modell-nyilvántartási fiókban, és frissítse az S3 gyűjtőcsoporton a gyűjtőkör házirendjét, hogy mind a fejlesztői, mind a prod fiókból engedélyt adjon a modell melléktermékeinek olvasására és írására az S3 tárolóban.
A következő kód az S3 gyűjtőcsoporton frissítendő csoportházirend:
Állítson be IAM-szerepeket az AWS-fiókjaiban
A következő lépés a beállítás AWS Identity and Access Management (IAM) szerepköröket az AWS-fiókokban a következő engedélyekkel AWS Lambda, SageMaker és Jenkins.
Lambda végrehajtó szerepe
Beállítása Lambda végrehajtó szerepek a dev és prod fiókokban, amelyeket a Lambda függvény fog használni, amely a részeként fut SageMaker Pipelines Lambda lépés. Ez a lépés a következtetési folyamatból fut le a legújabb jóváhagyott modell lekéréséhez, amely alapján a következtetések létrejönnek. Hozzon létre IAM-szerepeket a fejlesztői és prod-fiókokban az elnevezési konvencióval arn:aws:iam::<account-id>:role/lambda-sagemaker-role
és csatolja a következő IAM-irányelveket:
- Szabályzat 1 – Hozzon létre egy soron belüli szabályzatot
cross-account-model-registry-access
, amely hozzáférést biztosít a modellnyilvántartásban beállított modellcsomaghoz a központi fiókban: - Szabályzat 2 - Csatolni AmazonSageMakerFullAccess, ami egy AWS által felügyelt házirend amely teljes hozzáférést biztosít a SageMakerhez. Kiválasztott hozzáférést biztosít a kapcsolódó szolgáltatásokhoz is, mint pl AWS-alkalmazás automatikus méretezése, Amazon S3, Amazon Elastic Container Registry (Amazon ECR), és Amazon CloudWatch naplók.
- Szabályzat 3 - Csatolni AWSLambda_FullAccess, amely egy AWS által felügyelt házirend, amely teljes hozzáférést biztosít a Lambdához, a Lambda konzolfunkciókhoz és más kapcsolódó AWS-szolgáltatásokhoz.
- Szabályzat 4 – Használja a következő IAM bizalmi szabályzatot az IAM szerepkörhöz:
SageMaker végrehajtó szerep
A fejlesztői és prod fiókokban beállított SageMaker Studio tartományokhoz végrehajtási szerepkörrel kell rendelni, amely megtalálható a Domain beállítások fület a domain részleteit tartalmazó oldalon, ahogy az a következő képernyőképen is látható. Ez a szerepkör oktatási feladatok, feldolgozási feladatok és egyebek futtatására szolgál a SageMaker Studio tartományon belül.
Adja hozzá a következő házirendeket a SageMaker végrehajtási szerepkörhöz mindkét fiókban:
- Szabályzat 1 – Hozzon létre egy soron belüli szabályzatot
cross-account-model-artifacts-s3-bucket-access
, amely hozzáférést biztosít az S3 tárolóhoz a központi modell-nyilvántartási fiókban, amely a modell melléktermékeit tárolja: - Szabályzat 2 – Hozzon létre egy soron belüli szabályzatot
cross-account-model-registry-access
, amely hozzáférést biztosít a modellcsomaghoz a modellnyilvántartásban a központi modell-nyilvántartási fiókban: - Szabályzat 3 – Hozzon létre egy soron belüli szabályzatot
kms-key-access-policy
, amely hozzáférést biztosít az előző lépésben létrehozott KMS-kulcshoz. Adja meg a fiókazonosítót, amelyben a házirendet létrehozzák, és a fiókban létrehozott KMS-kulcsazonosítót. - Szabályzat 4 - Csatolni AmazonSageMakerFullAccess, ami egy AWS által felügyelt házirend amely teljes hozzáférést biztosít a SageMakerhez, és válassza ki a hozzáférést a kapcsolódó szolgáltatásokhoz.
- Szabályzat 5 - Csatolni AWSLambda_FullAccess, amely egy AWS által felügyelt házirend, amely teljes hozzáférést biztosít a Lambdához, a Lambda konzolfunkciókhoz és más kapcsolódó AWS-szolgáltatásokhoz.
- Szabályzat 6 - Csatolni CloudWatchEventsFullAccess, amely egy AWS által felügyelt házirend, amely teljes hozzáférést biztosít a CloudWatch eseményekhez.
- Szabályzat 7 – Adja hozzá a következő IAM megbízhatósági szabályzatot a SageMaker végrehajtási IAM szerepkörhöz:
- 8. házirend (a SageMaker végrehajtási szerepére vonatkozik a prod-fiókban) – Hozzon létre egy soron belüli szabályzatot
cross-account-kms-key-access-policy
, amely hozzáférést biztosít a fejlesztői fiókban létrehozott KMS-kulcshoz. Ez szükséges ahhoz, hogy a következtetési folyamat beolvassa a modell melléktermékeit a központi modell-nyilvántartási fiókban, ahol a modell melléktermékei a fejlesztői fiókból származó KMS-kulccsal titkosítva vannak, amikor a modell első verzióját létrehozzák a fejlesztői fiókból.
Több fiókra kiterjedő Jenkins szerep
Állítson be egy IAM-szerepet cross-account-jenkins-role
a termelési fiókban, amelyet a Jenkins feltételez az ML-folyamatok és a megfelelő infrastruktúra üzembe helyezéséhez a termékfiókban.
Adja hozzá a következő felügyelt IAM-házirendeket a szerepkörhöz:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
Frissítse a szerepkör bizalmi viszonyát, hogy engedélyeket adjon a Jenkins-kiszolgálót üzemeltető AWS-fióknak:
Frissítse a Jenkins-kiszolgálóhoz társított IAM-szerep engedélyeit
Feltéve, hogy a Jenkins az AWS-en van beállítva, frissítse a Jenkinshez társított IAM-szerepet a következő házirendek hozzáadásával, amelyek hozzáférést biztosítanak Jenkinsnek az erőforrások üzembe helyezéséhez a termékfiókban:
- Szabályzat 1 – Hozza létre a következő néven belüli házirendet
assume-production-role-policy
: - Szabályzat 2 – Rögzítse a
CloudWatchFullAccess
kezelt IAM-házirend.
Állítsa be a modellcsomag-csoportot a központi modell-nyilvántartási fiókban
A központi modell-nyilvántartási fiók SageMaker Studio tartományában hozzon létre egy modellcsomag-csoportot mammo-severity-model-package
a következő kódrészlet használatával (amelyet Jupyter notebook használatával futtathat):
Állítsa be a modellcsomaghoz való hozzáférést az IAM-szerepkörökhöz a fejlesztői és termékfiókokban
Hozzáférés biztosítása a fejlesztői és prod fiókokban létrehozott SageMaker végrehajtási szerepkörökhöz, így regisztrálhat modellverziókat a modellcsomagban mammo-severity-model-package
a központi modellnyilvántartásban mindkét fiókból. A központi modell-nyilvántartási fiók SageMaker Studio tartományából futtassa a következő kódot egy Jupyter-jegyzetfüzetben:
Állítsa be a Jenkinst
Ebben a szakaszban úgy konfiguráljuk a Jenkinst, hogy a Jenkins CI/CD folyamaton keresztül hozza létre az ML-folyamatokat és a megfelelő Terraform-infrastruktúrát a prod-fiókban.
- A CloudWatch konzolon hozzon létre egy nevű naplócsoportot
jenkins-log
azon a prod fiókon belül, amelybe Jenkins a naplókat küldi a CI/CD folyamatból. A naplócsoportot ugyanabban a régióban kell létrehozni, ahol a Jenkins-kiszolgáló be van állítva. - Telepítse a következő bővítményeket a Jenkins szerverén:
- Állítsa be az AWS-hitelesítési adatokat a Jenkinsben a több fiókra kiterjedő IAM szerepkör használatával (
cross-account-jenkins-role
) a termelési fiókban. - A System Configuration, választ AWS.
- Adja meg a korábban létrehozott hitelesítő adatokat és CloudWatch naplócsoportot.
- Állítsa be a GitHub hitelesítő adatait a Jenkinsben.
- Hozzon létre egy új projektet a Jenkinsben.
- Adja meg a projekt nevét, és válassza ki Csővezeték.
- A általános lapon válassza ki a lehetőséget GitHub projekt és lépjen be az elágazóba GitHub tárház URL.
- választ Ez a projekt paraméterezett.
- A Paraméter hozzáadása menüben válasszon Karakterlánc paraméter.
- A Név, belép
prodAccount
. - A Alapértelmezett érték, adja meg a prod fiók azonosítóját.
- Alatt Speciális projektbeállítások, A Meghatározásválassza Pipeline script az SCM-től.
- A SCM, választ megy.
- A Adattár URL-je, lépjen be az elágazóba GitHub tárház URL.
- A Hitelesítő adatok, adja meg a Jenkinsben mentett GitHub hitelesítő adatokat.
- belép
main
a Építendő ágak szakaszt, amely alapján a CI/CD folyamat aktiválódik. - A Script Path, belép
Jenkinsfile
. - 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 Megtakarítás.
A Jenkins-folyamatot létre kell hozni, és láthatónak kell lennie az irányítópulton.
S3 gyűjtőhelyek biztosítása, adatok gyűjtése és előkészítése
Hajtsa végre a következő lépéseket az S3 tárolók és adatok beállításához:
- Hozzon létre egy tetszőleges S3 vödröt a zsinórral
sagemaker
az elnevezési konvencióban a csoport nevének részeként mind a fejlesztői, mind a prod-fiókban az adatkészletek és a modelltermékek tárolására. - Állítson be egy S3 tárolót, hogy fenntartsa a Terraform állapotot a prod fiókban.
- Töltse le és mentse el a nyilvánosan elérhetőt UCI Mammography Mass adatkészletet a fejlesztői fiókban korábban létrehozott S3 tárolóba.
- Fork és klónozzuk a GitHub tárház a SageMaker Studio tartományon belül a fejlesztői fiókban. A repo a következő mappaszerkezettel rendelkezik:
- /environments – Konfigurációs szkript a prod környezethez
- /mlops-infra – Kód az AWS-szolgáltatások Terraform kód használatával történő telepítéséhez
- /csővezetékek – A SageMaker csővezeték-összetevők kódja
- Jenkinsfile – A Jenkins CI/CD folyamaton keresztül telepítendő szkript
- setup.py – A szükséges Python modulok telepítéséhez és a run-pipeline parancs létrehozásához szükséges
- mammográfia-súlyosság-modellezés.ipynb – Lehetővé teszi az ML munkafolyamat létrehozását és futtatását
- Hozzon létre egy adat nevű mappát a klónozott GitHub-lerakat mappájában, és mentse el a nyilvánosan elérhető másolatot UCI Mammography Mass adatkészlet.
- Kövesse a Jupyter jegyzetfüzetet
mammography-severity-modeling.ipynb
. - Futtassa a következő kódot a notebookban az adatkészlet előfeldolgozásához, és töltse fel a fejlesztői fiók S3 tárolójába:
A kód a következő adatkészleteket hozza létre:
-
- data/ mammo-train-dataset-part1.csv – A modell első verziójának betanítására szolgál.
- data/ mammo-train-dataset-part2.csv – A modell második verziójának betanítására szolgál a mammo-train-dataset-part1.csv adatkészlettel együtt.
- data/mammo-batch-dataset.csv – Következtetések generálására használják.
- data/mammo-batch-dataset-outliers.csv – Kiugró értékeket vezet be az adatkészletbe, hogy meghiúsítsa a következtetési folyamatot. Ez lehetővé teszi számunkra, hogy teszteljük a mintát, hogy elindítsuk a modell automatikus átképzését.
- Töltse fel az adatkészletet
mammo-train-dataset-part1.csv
előtag alattmammography-severity-model/train-dataset
, és töltse fel az adatkészleteketmammo-batch-dataset.csv
és amammo-batch-dataset-outliers.csv
az előtaghozmammography-severity-model/batch-dataset
a fejlesztői fiókban létrehozott S3-csoportból: - Töltse fel az adatkészleteket
mammo-train-dataset-part1.csv
és amammo-train-dataset-part2.csv
előtag alattmammography-severity-model/train-dataset
az Amazon S3 konzolon keresztül a prod-fiókban létrehozott S3 gyűjtőbe. - Töltse fel az adatkészleteket
mammo-batch-dataset.csv
és amammo-batch-dataset-outliers.csv
az előtaghozmammography-severity-model/batch-dataset
a prod fiókban lévő S3 csoportból.
Futtassa a vonatvezetéket
Alatt <project-name>/pipelines/train
, a következő Python-szkripteket láthatja:
- scripts/raw_preprocess.py – Integrálható a SageMaker Processing-el a funkciótervezés érdekében
- scripts/evaluate_model.py – Ebben az esetben lehetővé teszi a modellmetrikák számítását
auc_score
- train_pipeline.py – Tartalmazza a modell betanítási folyamat kódját
Hajtsa végre a következő lépéseket:
- Töltse fel a szkripteket az Amazon S3-ba:
- Szerezze meg a vonatcsővezeték-példányt:
- Nyújtsa be a vonatvezetéket, és futtassa:
A következő ábra a képzési folyamat sikeres futtatását mutatja. A folyamat utolsó lépéseként regisztrálja a modellt a központi modell-nyilvántartási fiókban.
Jóváhagyja a modellt a központi modellnyilvántartásban
Jelentkezzen be a központi modellnyilvántartási fiókba, és nyissa meg a SageMaker modellnyilvántartást a SageMaker Studio tartományon belül. Módosítsa a modellverzió állapotát Jóváhagyva értékre.
A jóváhagyás után az állapotot módosítani kell a modell verzióján.
A következtetési folyamat futtatása (opcionális)
Ez a lépés nem kötelező, de továbbra is futtathatja a következtetési folyamatot, hogy előrejelzéseket generáljon a fejlesztői fiókban.
Alatt <project-name>/pipelines/inference
, a következő Python-szkripteket láthatja:
- scripts/lambda_helper.py – Lehívja a legújabb jóváhagyott modellverziót a központi modell-nyilvántartási fiókból a SageMaker Pipelines Lambda lépéssel
- inference_pipeline.py – Tartalmazza a modellkövetkeztetési folyamat kódját
Hajtsa végre a következő lépéseket:
- Töltse fel a szkriptet az S3 tárolóba:
- Szerezze le a következtetési folyamatpéldányt a normál kötegelt adatkészlet használatával:
- Küldje el a következtetési folyamatot, és futtassa:
A következő ábra a következtetési folyamat sikeres futtatását mutatja. A folyamat utolsó lépése generálja az előrejelzéseket, és tárolja azokat az S3 tárolóban. Használjuk MonitorBatchTransformStep a kötegelt átalakítási feladat bemeneteinek figyelésére. Ha vannak kiugró értékek, a következtetési folyamat hibás állapotba kerül.
Futtassa a Jenkins-csővezetéket
A environment/
a GitHub tárhelyen belüli mappa tartalmazza a prod-fiók konfigurációs szkriptjét. Hajtsa végre a következő lépéseket a Jenkins-folyamat elindításához:
- Frissítse a konfigurációs szkriptet
prod.tfvars.json
az előző lépésekben létrehozott erőforrások alapján: - Frissítés után tolja be a kódot az elágazott GitHub-tárolóba, és egyesítse a kódot a fő ágba.
- Nyissa meg a Jenkins UI-t, és válassza ki Építsd paraméterekkel, és elindítja az előző lépésekben létrehozott CI/CD folyamatot.
Amikor a felépítés befejeződött és sikeres, bejelentkezhet a prod-fiókba, és megtekintheti a SageMaker Studio tartományon belüli betanítási és következtetési folyamatokat.
Ezenkívül három EventBridge-szabályt fog látni az EventBridge-konzolon a termékfiókban:
- Ütemezze be a következtetési folyamatot
- Hibaértesítés küldése a vonatvezetéken
- Ha a következtetési folyamat nem váltja ki a vonatcsővezetéket, küldjön értesítést
Végül megjelenik egy SNS-értesítési téma az Amazon SNS-konzolon, amely e-mailben küld értesítéseket. Kapni fog egy e-mailt, amelyben meg kell erősítenie ezen értesítő e-mailek elfogadását.
Tesztelje a következtetési folyamatot egy kötegelt adatkészlettel, kiugró értékek nélkül
Annak teszteléséhez, hogy a következtetési folyamat az előállítási fiókban elvárt módon működik-e, bejelentkezhetünk a termelési fiókba, és a kiugró értékek nélküli kötegelt adatkészlet használatával aktiválhatjuk a következtetési folyamatot.
Futtassa a folyamatot a SageMaker Pipelines konzolon keresztül a termékfiók SageMaker Studio tartományában, ahol a transform_input
lesz az adatkészlet S3 URI-ja kiugró értékek nélkül (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
A következtetési folyamat sikeres, és visszaírja az előrejelzéseket az S3 gyűjtőhelyre.
Tesztelje a következtetési folyamatot kiugró értékekkel rendelkező kötegelt adatkészlettel
Futtathatja a következtetési folyamatot a kiugró értékekkel rendelkező kötegelt adatkészlet használatával annak ellenőrzésére, hogy az automatizált átképzési mechanizmus a várt módon működik-e.
Futtassa a folyamatot a SageMaker Pipelines konzolon keresztül a termékfiók SageMaker Studio tartományában, ahol a transform_input
lesz az adatkészlet S3 URI-ja kiugró értékekkel (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
A következtetési folyamat a várt módon meghibásodik, ami elindítja az EventBridge szabályt, amely viszont a vonat folyamatát.
Néhány pillanat múlva a SageMaker Pipelines konzolon látnia kell a vonatcsővezeték új futását, amely felveszi a két különböző vonatadatkészletet (mammo-train-dataset-part1.csv
és a mammo-train-dataset-part2.csv
) feltöltve az S3 tárolóba a modell átképzéséhez.
Az SNS-témára feliratkozott e-mailre küldött értesítés is megjelenik.
A frissített modellverzió használatához jelentkezzen be a központi modell-nyilvántartási fiókba, és hagyja jóvá a modellverziót, amelyet a rendszer az ütemezett EventBridge-szabályon keresztül elindított következtetési folyamat következő futtatásakor veszi fel.
Bár a vonat- és következtetési folyamatok statikus adatkészlet-URL-t használnak, az adatkészlet URL-címét dinamikus változóként átadhatja a vonatnak, és a következtetési folyamatokhoz, hogy frissített adatkészleteket használhasson a modell újratanításához és előrejelzések generálásához egy valós forgatókönyvben.
Tisztítsuk meg
A jövőbeni költségek elkerülése érdekében hajtsa végre a következő lépéseket:
- Távolítsa el a SageMaker Studio tartományt az összes AWS-fiókból.
- Törölje a SageMakeren kívül létrehozott összes erőforrást, beleértve az S3-csoportokat, az IAM-szerepeket, az EventBridge-szabályokat és a Terraformon keresztül beállított SNS-témát a prod-fiókban.
- Törölje a fiókok között létrehozott SageMaker-folyamatokat a AWS parancssori interfész (AWS CLI).
Következtetés
A szervezeteknek gyakran alkalmazkodniuk kell a vállalati szintű eszközkészletekhez, hogy lehetővé tegyék a különböző funkcionális területek és csapatok közötti együttműködést. Ez az együttműködés biztosítja, hogy MLOps platformja alkalmazkodni tudjon a változó üzleti igényekhez, és felgyorsítja az ML alkalmazását a csapatok között. Ez a bejegyzés elmagyarázta, hogyan hozhat létre MLOps keretrendszert többkörnyezetben, hogy lehetővé tegye az automatikus modell-átképzést, kötegelt következtetést és megfigyelést az Amazon SageMaker Model Monitor segítségével, a modellverziót a SageMaker Model Registry segítségével, valamint az ML-kódok és folyamatok népszerűsítését a környezetekben egy CI/CD csővezeték. Ezt a megoldást az AWS-szolgáltatások és harmadik féltől származó eszközkészletek kombinációjával mutattuk be. A megoldás megvalósításához lásd a GitHub tárház. Ezt a megoldást saját adatforrások és modellezési keretrendszerek bevonásával is bővítheti.
A szerzőkről
Gayatri Ghanakota idősebb gépi tanulási mérnök az AWS professzionális szolgáltatásokkal. Szenvedélye az AI/ML megoldások fejlesztése, bevezetése és magyarázata a különböző területeken. Ezt megelőzően több kezdeményezést vezetett adattudósként és ML mérnökként a pénzügyi és kiskereskedelmi szektor vezető globális cégeinél. A Colorado Egyetemen (Boulder) szerzett mesterfokozatot számítástechnikából, adattudományra specializálódott.
Sunita Koppar idősebb Data Lake építész, az AWS professzionális szolgáltatásaival. Szenvedélyesen törekszik a nagy adatok feldolgozásával járó ügyfélfájdalmak megoldására és a hosszú távú, méretezhető megoldásokra. E munkakör betöltése előtt termékeket fejlesztett az internet, a telekommunikáció és az autóipar területén, és az AWS ügyfele volt. Adattudományból szerzett mesterfokozatot a Riverside-i Kaliforniai Egyetemen.
Saswata Dash az AWS Professional Services DevOps tanácsadója. Ügyfelekkel dolgozott az egészségügy és az élettudományok, a repülés és a gyártás területén. Szenvedélyesen rajong az automatizálásért, és átfogó tapasztalattal rendelkezik az AWS vállalati szintű ügyfélmegoldások tervezésében és kivitelezésében. A munkán kívül szenvedélyét a fotózás és a napfelkelte megcsodálása iránt űzi.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- Rólunk
- gyorsul
- elfogadás
- hozzáférés
- Fiók
- Fiókok
- át
- Akció
- alkalmazkodni
- hozzá
- cím
- adminisztratív
- Örökbefogadás
- Után
- kor
- AI
- összehangolása
- Minden termék
- lehetővé
- lehetővé teszi, hogy
- mentén
- Is
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- an
- és a
- Másik
- bármilyen
- Alkalmazás
- megfelelő
- jóváhagy
- jóváhagyott
- építészet
- VANNAK
- területek
- körül
- mesterséges
- mesterséges intelligencia
- Mesterséges intelligencia (AI)
- AS
- kér
- társult
- feltételezni
- csatolja
- auto
- Automatizált
- Automatikus
- Automatizálás
- autóipari
- elérhető
- repülés
- elkerülése érdekében
- AWS
- AWS Ügyfél
- AWS professzionális szolgáltatások
- vissza
- alapján
- alap
- BE
- mert
- óta
- előtt
- hogy
- BEST
- legjobb gyakorlatok
- között
- Nagy
- Big adatok
- mindkét
- Ág
- áthidaló
- Bringing
- épít
- Épület
- épült
- üzleti
- de
- by
- számítás
- Kalifornia
- hívott
- TUD
- eset
- központi
- változik
- megváltozott
- Változások
- díjak
- ellenőrizze
- választás
- 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ód
- együttműködés
- gyűjt
- Colorado
- Oszlop
- Oszlopok
- COM
- kombináció
- teljes
- teljesítés
- alkatrészek
- átfogó
- számítógép
- Computer Science
- feltétel
- Configuration
- megerősít
- Konzol
- szaktanácsadó
- Konténer
- tartalmaz
- ellenőrzés
- Konvenció
- megtérít
- Megfelelő
- teremt
- készítette
- létrehozása
- Hitelesítő adatok
- Kereszt
- vevő
- Ügyfélmegoldások
- Ügyfelek
- napi
- műszerfal
- dátum
- adattó
- adat-tudomány
- adattudós
- adatkészletek
- visszafejtése
- alapértelmezett
- Fok
- telepíteni
- bevezetéséhez
- bevetés
- bevet
- tervezés
- részletek
- kimutatására
- észlelt
- Dev
- fejlett
- fejlesztése
- Fejlesztés
- DICT
- különböző
- domain
- domainek
- alatt
- dinamikus
- minden
- Korábban
- hatás
- bármelyik
- e-mailek
- lehetővé
- titkosított
- mérnök
- biztosítja
- belép
- Környezet
- környezetek
- alapvető
- események
- fejlődik
- végrehajtás
- várható
- tapasztalat
- magyarázható
- magyarázó
- terjed
- megkönnyítése
- FAIL
- Sikertelen
- nem sikerül
- Kudarc
- Funkció
- Jellemzők
- kevés
- Ábra
- filé
- utolsó
- pénzügyi
- befejezni
- cégek
- vezetéknév
- első
- következő
- A
- talált
- Keretrendszer
- keretek
- ból ből
- eleget tesz
- Tele
- funkció
- funkcionális
- jövő
- rés
- generál
- generált
- generál
- kap
- megy
- GitHub
- Ad
- adott
- ad
- Globális
- Go
- Goes
- támogatások
- Csoport
- Legyen
- egészségügyi
- neki
- <p></p>
- tart
- tárhely
- Hogyan
- How To
- HTML
- http
- HTTPS
- ID
- Identitás
- if
- végrehajtási
- importál
- in
- magában foglalja a
- Beleértve
- index
- Infrastruktúra
- alapvetően
- kezdeményezések
- bemenet
- telepíteni
- telepítve
- példa
- utasítás
- integrál
- Intelligencia
- Internet
- bele
- bevezet
- IT
- Munka
- Állások
- jpg
- json
- Kulcs
- kulcsok
- Címke
- tó
- táj
- a későbbiekben
- legutolsó
- tanulás
- Led
- mobilizálható
- élet
- Life Sciences
- vonal
- log
- hosszú lejáratú
- gép
- gépi tanulás
- Fő
- fenntartása
- csinál
- sikerült
- vezetés
- gyártási
- Margó
- Tömeg
- mester
- mechanizmus
- találkozó
- Menü
- megy
- Metrics
- hiányzó
- ML
- MLOps
- modell
- modellezés
- modellek
- módosítása
- Modulok
- Pillanatok
- monitor
- ellenőrizni
- ellenőrzés
- több
- többszörös
- név
- Nevezett
- elnevezési
- Navigáció
- Szükség
- szükséges
- igények
- Új
- következő
- normális
- jegyzetfüzet
- bejelentés
- értesítések
- szám
- számtalan
- of
- gyakran
- on
- ONE
- Művelet
- or
- érdekében
- szervezetek
- Más
- ki
- kívül
- felett
- áttekintés
- saját
- csomag
- oldal
- Fájdalom
- pandák
- üvegtábla
- rész
- alkatrészek
- Elmúlt
- szenvedély
- szenvedélyes
- Mintás
- teljesítmény
- engedélyek
- fényképezés
- válogatott
- választás
- csővezeték
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- pont
- Politikák
- politika
- állás
- gyakorlat
- előre
- Tippek
- Készít
- előfeltételek
- előző
- Fő
- Előzetes
- kiváltságok
- folyamat
- feldolgozás
- Termelés
- Termékek
- szakmai
- program
- kellene támogatnia,
- promotált
- előléptetés
- ad
- feltéve,
- biztosít
- amely
- ellátás
- nyilvánosan
- Húz
- folytatja
- Nyomja
- Piton
- gyorsan
- gyorsan
- Nyers
- Olvass
- kész
- való Világ
- vidék
- Regisztráció
- nyilvántartott
- nyilvántartások
- iktató hivatal
- szabályozók
- összefüggő
- kapcsolat
- eltávolítása
- raktár
- kérni
- kötelező
- követelmények
- forrás
- Tudástár
- válasz
- kiskereskedelem
- visszatérés
- Folyóparti
- Szerep
- szerepek
- gyökér
- Szabály
- szabályok
- futás
- fut
- sagemaker
- SageMaker csővezetékek
- azonos
- Megtakarítás
- mentett
- skálázható
- forgatókönyv
- menetrend
- tervezett
- ütemezés
- Tudomány
- TUDOMÁNYOK
- Tudós
- forgatókönyv
- szkriptek
- zökkenőmentesen
- Második
- Rész
- biztonság
- biztonság
- lát
- küld
- elküldés
- küld
- küldött
- különálló
- szerver
- szolgáltatás
- Szolgáltatások
- készlet
- beállítások
- felépítés
- Alak
- Megosztás
- ő
- kellene
- előadás
- bemutatásra
- mutatott
- Műsorok
- Egyszerű
- töredék
- So
- megoldások
- Megoldások
- Megoldása
- forrás
- Források
- Hely
- specializált
- különleges
- osztott
- Állami
- nyilatkozat
- statikus
- Állapot
- Lépés
- Lépései
- Még mindig
- tárolni
- memorizált
- árnyékolók
- Húr
- struktúra
- stúdió
- sikeres
- ilyen
- Támogatja
- cél
- csapat
- távközlési
- Terraform
- teszt
- Tesztelés
- hogy
- A
- Őket
- akkor
- Ott.
- Ezek
- dolgok
- Harmadik
- harmadik fél
- ezt
- három
- Keresztül
- idő
- nak nek
- eszközkészletet
- felső
- téma
- vágány
- Vonat
- kiképzett
- Képzések
- Átalakítás
- kiváltó
- váltott
- kioldás
- igaz
- Bízzon
- FORDULAT
- kettő
- ui
- alatt
- egyetemi
- University of California
- Frissítések
- frissítve
- feltöltve
- URL
- us
- használ
- használt
- segítségével
- hasznosság
- Értékek
- különféle
- változat
- verzió
- keresztül
- videó
- látható
- Nézz
- we
- háló
- webes szolgáltatások
- amikor
- bármikor
- mivel
- ami
- míg
- lesz
- val vel
- belül
- nélkül
- Munka
- dolgozott
- munkafolyamat
- dolgozó
- művek
- ír
- írott
- te
- A te
- youtube
- zephyrnet