A gépi tanulási (ML) munkafolyamatok fenntartása a termelésben kihívást jelentő feladat, mert folyamatos integrációs és folyamatos szállítási (CI/CD) folyamatok létrehozását igényli az ML kódok és modellek számára, a modell verziószámítása, az adatok és koncepciók elsodródásának figyelése, a modell átképzése és egy kézikönyv. jóváhagyási folyamat annak biztosítása érdekében, hogy a modell új verziói megfeleljenek mind a teljesítmény-, mind a megfelelőségi követelményeknek.
Ebben a bejegyzésben leírjuk, hogyan lehet létrehozni egy MLOps munkafolyamatot kötegelt következtetésekhez, amely automatizálja a munkaütemezést, a modellfigyelést, az átképzést és a regisztrációt, valamint a hibakezelést és -értesítést. Amazon SageMaker, Amazon EventBridge, AWS Lambda, Amazon Simple Notification Service (Amazon SNS), HashiCorp Terraform és GitLab CI/CD. A bemutatott MLOps munkafolyamat újrafelhasználható sablont biztosít az ML életciklusának automatizáláson, felügyeleten, auditálhatóságon és méretezhetőségen keresztüli kezeléséhez, ezáltal csökkentve a kötegelt következtetési munkaterhelések fenntartásának bonyolultságát és költségeit a termelésben.
Megoldás áttekintése
A következő ábra bemutatja a javasolt cél MLOps architektúrát a vállalati kötegelt következtetésekhez olyan szervezetek számára, amelyek GitLab CI/CD-t és Terraform infrastruktúrát használnak kódként (IaC) az AWS-eszközökkel és -szolgáltatásokkal együtt. A GitLab CI/CD makró hangszerelõként szolgál a hangszerelésben model build
és a model deploy
csővezetékek, amelyek magukban foglalják a beszerzést, az építést és az ellátást Amazon SageMaker csővezetékek valamint a SageMaker Python SDK és a Terraform támogatási forrásai. A SageMaker Python SDK a SageMaker folyamatok létrehozására vagy frissítésére szolgál a betanításhoz, a hiperparaméter-optimalizálással (HPO) való oktatáshoz és a kötegelt következtetésekhez. A Terraform további erőforrások létrehozására szolgál, például EventBridge-szabályok, Lambda-függvények és SNS-témák a SageMaker folyamatok figyeléséhez és értesítések küldéséhez (például, ha egy folyamatlépés sikertelen vagy sikeres). A SageMaker Pipelines az ML modell oktatásának és a következtetési munkafolyamatok irányítójaként szolgál.
Ez az architektúraterv egy többfiókos stratégiát képvisel, amelyben az ML-modelleket egy központi modellnyilvántartásba építik, képezik és regisztrálják egy adattudományi fejlesztési fiókon belül (amely több vezérlővel rendelkezik, mint egy tipikus alkalmazásfejlesztési fiók). Ezután a következtetési folyamatokat a DevOps-eszközök, például a GitLab CI/CD automatizálásával telepítik az átmeneti és éles fiókokba. A központi modellnyilvántartás opcionálisan elhelyezhető egy megosztott szolgáltatások fiókjában is. Hivatkozni Működési modell az ML többfiókos stratégiájával kapcsolatos legjobb gyakorlatokért.
A következő alfejezetekben az építészeti tervezés különböző aspektusait tárgyaljuk részletesen.
Az infrastruktúra kódként
Az IaC lehetőséget kínál az IT-infrastruktúra gépi olvasható fájlokon keresztül történő kezelésére, biztosítva ezzel a hatékony verziókezelést. Ebben a bejegyzésben és a hozzá tartozó kódmintában bemutatjuk, hogyan kell használni HashiCorp Terraform GitLab CI/CD-vel az AWS-erőforrások hatékony kezeléséhez. Ez a megközelítés hangsúlyozza az IaC legfontosabb előnyeit, mivel átlátható és megismételhető folyamatot kínál az IT-infrastruktúra kezelésében.
Modellképzés és átképzés
Ebben a kialakításban a SageMaker képzési folyamat ütemezett (az EventBridge-en keresztül) vagy egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) eseményindító (például amikor egyetlen tanítási adatobjektum esetén triggerfájlt vagy új tanítási adatokat helyeznek el az Amazon S3-ban), hogy rendszeresen újrakalibrálja a modellt új adatokkal. Ez a folyamat nem vezet be szerkezeti vagy anyagi változtatásokat a modellben, mert rögzített hiperparamétereket használ, amelyeket a vállalati modell felülvizsgálati folyamata során hagytak jóvá.
A képzési folyamat regisztrálja az újonnan betanított modellváltozatot a Amazon SageMaker Model Registry ha a modell túllép egy előre meghatározott modellteljesítmény-küszöböt (például RMSE a regresszióhoz és F1 pontszám az osztályozáshoz). Amikor a modell új verzióját regisztrálják a modellnyilvántartásban, az Amazon SNS-en keresztül értesítést küld a felelős adattudósnak. Ezután az adattudósnak át kell tekintenie és manuálisan jóvá kell hagynia a modell legújabb verzióját Amazon SageMaker Studio UI vagy API-híváson keresztül a AWS parancssori interfész (AWS CLI) vagy AWS SDK for Python (Boto3), mielőtt a modell új verziója felhasználható lenne következtetésekre.
A SageMaker képzési folyamatot és az azt támogató erőforrásokat a GitLab hozza létre model build
folyamat, akár a GitLab folyamat manuális futtatásával, akár automatikusan, amikor a kódot egyesítik a main
ág model build
Git adattár.
Kötegelt következtetés
A SageMaker kötegelt következtetési folyamat ütemezetten fut (az EventBridge-en keresztül), vagy egy S3 eseményindító alapján is. A kötegelt következtetési folyamat automatikusan lekéri a modell legfrissebb jóváhagyott verzióját a modellnyilvántartásból, és azt használja következtetésekhez. A kötegelt következtetési folyamat olyan lépéseket tartalmaz, amelyek az adatok minőségének a betanítási folyamat által létrehozott alapvonalhoz viszonyított ellenőrzéséhez, valamint a modell minőségének (modellteljesítményének) összehasonlításához tartalmaznak lépéseket, ha rendelkezésre állnak az alapigazság-címkék.
Ha a kötegelt következtetési folyamat adatminőségi problémákat fedez fel, az Amazon SNS-en keresztül értesíti a felelős adatkutatót. Ha modellminőségi problémákat fedez fel (például az RMSE nagyobb, mint egy előre megadott küszöb), a modellminőség-ellenőrzés folyamatlépése sikertelen lesz, ami viszont egy EventBridge eseményt indít el a képzés HPO-folyamattal történő elindításához.
A SageMaker kötegelt következtetési folyamatot és a támogató erőforrásokat a GitLab hozza létre model deploy
folyamat, akár a GitLab folyamat manuális futtatásával, akár automatikusan, amikor a kódot egyesítik a main
ág model deploy
Git adattár.
Modellhangolás és áthangolás
A SageMaker képzés HPO-folyamattal akkor indul el, ha a kötegelt következtetési folyamat modellminőség-ellenőrzési lépése meghiúsul. A modell minőségi ellenőrzése a modell előrejelzéseinek és a tényleges alapigazság-címkék összehasonlításával történik. Ha a modell minőségi mérőszáma (például RMSE a regresszióhoz és F1 pontszám az osztályozáshoz) nem felel meg egy előre meghatározott feltételnek, a modell minőségellenőrzési lépése sikertelenként lesz megjelölve. A SageMaker képzést HPO-folyamattal manuálisan (a SageMaker Studio felhasználói felületén vagy API-híváson keresztül az AWS CLI vagy a SageMaker Python SDK használatával) is elindíthatja a felelős adattudós, ha szükséges. Mivel a modell hiperparaméterei változnak, a felelős adattudósnak be kell szereznie a vállalati modell-ellenőrző testület jóváhagyását, mielőtt az új modellverziót jóváhagyhatják a modellnyilvántartásban.
A SageMaker képzést a HPO-csővel és a támogató erőforrásokkal a GitLab hozza létre model build
folyamat, akár a GitLab folyamat manuális futtatásával, akár automatikusan, amikor a kódot egyesítik a main
ág model build
Git adattár.
Modellfigyelés
Az adatstatisztikák és a korlátozások alapvonalai a képzés és a HPO-folyamatokkal végzett képzés részeként jönnek létre. A rendszer elmenti őket az Amazon S3-ba, és a modellnyilvántartásban is regisztrálja a betanított modellt, ha a modell átmegy az értékelésen. A kötegelt következtetési folyamat javasolt architektúrája Amazon SageMaker Model Monitor adatminőség-ellenőrzéshez, egyéni használata közben Amazon SageMaker feldolgozás a modell minőségellenőrzésének lépései. Ez a kialakítás szétválasztja az adat- és modellminőség-ellenőrzéseket, ami viszont lehetővé teszi, hogy csak akkor küldjön figyelmeztető értesítést, ha adateltolódást észlel; és elindítja a képzést a HPO-folyamattal, ha a modell minőségi megsértését észleli.
Modell jóváhagyás
Miután egy újonnan betanított modellt regisztráltak a modellnyilvántartásba, a felelős adattudós értesítést kap. Ha a modellt betanította a betanítási folyamat (újrakalibrálás új betanítási adatokkal, miközben a hiperparaméterek rögzítettek), nincs szükség a vállalati modell-ellenőrző testület jóváhagyására. Az adattudós önállóan áttekintheti és jóváhagyhatja a modell új verzióját. Másrészt, ha a modellt a HPO-folyamattal (újrahangolás hiperparaméterek megváltoztatásával) betanította, akkor az új modellverziónak át kell mennie a vállalati felülvizsgálati folyamaton, mielőtt a termelésben felhasználható lenne. Ha az áttekintési folyamat befejeződött, az adattudós folytathatja, és jóváhagyhatja a modell új verzióját a modellnyilvántartásban. A modellcsomag állapotának módosítása erre: Approved
Lambda funkciót indít el az EventBridge-en keresztül, ami viszont elindítja a GitLabot model deploy
csővezeték API-híváson keresztül. Ez automatikusan frissíti a SageMaker kötegelt következtetési folyamatot, hogy a következtetéshez a modell legújabb jóváhagyott verzióját használja.
Két fő módja van egy új modellverzió jóváhagyásának vagy elutasításának a modellnyilvántartásban: az AWS SDK for Python (Boto3) használatával vagy a SageMaker Studio felhasználói felületéről. Alapértelmezés szerint mind a képzési folyamat, mind a képzés HPO-folyamattal be van állítva ModelApprovalStatus
nak nek PendingManualApproval
. A felelős adattudós frissítheti a modell jóváhagyási állapotát a következő telefonszámon update_model_package
API a Boto3-ból. Hivatkozni Frissítse a modell jóváhagyási állapotát részletekért a modell jóváhagyási állapotának frissítéséről a SageMaker Studio UI-n keresztül.
Adat I/O tervezés
A SageMaker közvetlenül együttműködik az Amazon S3-mal a bemenetek beolvasása és az egyes lépések kimeneteinek tárolása érdekében a betanítási és következtetési folyamatokban. A következő diagram azt szemlélteti, hogy a különböző Python-szkriptek, nyers és feldolgozott betanítási adatok, nyers és feldolgozott következtetési adatok, következtetési eredmények és alapigazság-címkék (ha rendelkezésre állnak a modellminőség figyeléséhez), a modellműtermékek, a betanítási és következtetésértékelési metrikák (modellminőség-figyelés), valamint az adatminőségi alapállapotok és a szabálysértési jelentések (az adatminőség ellenőrzéséhez) egy S3-as tárolóba szervezhetők. A diagramon látható nyilak iránya jelzi, hogy mely fájlok a megfelelő lépéseik bemenetei vagy kimenetei a SageMaker folyamatokban. A nyilak színkódolása a folyamatlépés típusa alapján történt, hogy könnyebben olvasható legyen. A folyamat automatikusan feltölti a Python-szkripteket a GitLab-tárolóból, és a megfelelő S3-útvonalon minden lépésből kimeneti fájlokat vagy modelltermékeket tárol.
Az adatkezelő a következőkért felelős:
- Felcímkézett edzési adatok feltöltése a megfelelő útvonalra az Amazon S3-ban. Ez magában foglalja az új betanítási adatok rendszeres hozzáadását annak biztosítására, hogy a képzési folyamat és a HPO-folyamattal végzett képzés hozzáférjen a legújabb betanítási adatokhoz a modell átképzéséhez, illetve áthangolásához.
- Bemeneti adatok feltöltése a megfelelő elérési útra való következtetés levonásához az S3 tárolóban a következtetési folyamat tervezett futtatása előtt.
- Az alapigazság-címkék feltöltése a megfelelő S3 útvonalra a modell minőségének figyeléséhez.
Az adattudós a következőkért felelős:
- Az igazság címkéinek előkészítése és átadása az adatmérnöki csapatnak az Amazon S3-ra való feltöltéshez.
- A képzés által betanított modellváltozatok átvétele az MPO-csővezetékkel a vállalati felülvizsgálati folyamaton és a szükséges jóváhagyások beszerzése.
- Az újonnan betanított modellverziók kézi jóváhagyása vagy elutasítása a modellnyilvántartásban.
- A következtetési csővezeték termelési kapujának jóváhagyása és a termelésbe kerülő erőforrások támogatása.
Minta kód
Ebben a szakaszban egy mintakódot mutatunk be kötegelt következtetési műveletekhez egyfiókos beállítással, ahogy az a következő architektúra diagramon látható. A mintakód megtalálható a GitHub tárház, és kiindulási pontként szolgálhat a kötegelt következtetésekhez a modellfigyeléssel és a vállalkozások számára gyakran szükséges minőségi kapuk segítségével történő automatikus átképzéssel. A mintakód a következő módokon különbözik a cél architektúrától:
- Egyetlen AWS-fiókot használ az ML-modell felépítéséhez és üzembe helyezéséhez, valamint az erőforrások támogatásához. Hivatkozni Az AWS-környezet rendezése több fiók használatával útmutatásért az AWS többfiókos beállításához.
- Egyetlen GitLab CI/CD-folyamatot használ az ML-modell felépítéséhez és üzembe helyezéséhez, valamint a támogató erőforrásokhoz.
- Amikor a modell új verzióját betanítják és jóváhagyják, a GitLab CI/CD folyamat nem indul automatikusan, és azt a felelős adattudósnak manuálisan kell futtatnia, hogy frissítse a SageMaker kötegelt következtetési folyamatot a modell legújabb jóváhagyott verziójával.
- Csak az S3 eseményalapú triggereket támogatja a SageMaker képzési és következtetési folyamatok futtatásához.
Előfeltételek
A megoldás üzembe helyezése előtt a következő előfeltételekkel kell rendelkeznie:
- AWS-fiók
- SageMaker Stúdió
- A SageMaker végrehajtási szerepkör Amazon S3 olvasási/írási és AWS kulcskezelési szolgáltatás (AWS KMS) titkosítja/visszafejti az engedélyeket
- S3 vödör adatok, szkriptek és modellműtermékek tárolására
- Terraform 0.13.5 vagy újabb verzió
- GitLab egy működő Docker futóval a csővezetékek futtatásához
- Az AWS CLI
- jq
- cipzárat kinyit
- Python3 (Python 3.7 vagy újabb) és a következő Python-csomagok:
- boto3
- sagemaker
- pandák
- pyyaml
Repository szerkezet
A GitHub tárház a következő könyvtárakat és fájlokat tartalmazza:
/code/lambda_function/
– Ez a könyvtár tartalmazza a Python fájlt egy Lambda függvényhez, amely értesítő üzeneteket készít és küld (az Amazon SNS-en keresztül) a SageMaker folyamatok lépésállapot-változásairól/data/
- Ez a könyvtár tartalmazza a nyers adatfájlokat (képzési, következtetési és alapigazság-adatok)/env_files/
– Ez a könyvtár tartalmazza a Terraform bemeneti változók fájlját/pipeline_scripts/
– Ez a könyvtár három Python-szkriptet tartalmaz a képzési, következtetési és képzési HPO SageMaker folyamatokhoz, valamint konfigurációs fájlokat az egyes folyamatok paramétereinek megadásához./scripts/
– Ez a könyvtár további Python-szkripteket (például előfeldolgozást és kiértékelést) tartalmaz, amelyekre a betanítás, a következtetés és a HPO-folyamatokkal kapcsolatos képzés hivatkozik..gitlab-ci.yml
– Ez a fájl adja meg a GitLab CI/CD folyamat konfigurációját/events.tf
– Ez a fájl az EventBridge erőforrásait határozza meg/lambda.tf
– Ez a fájl határozza meg a Lambda értesítési funkciót és a kapcsolódó funkciót AWS Identity and Access Management (IAM) erőforrások/main.tf
– Ez a fájl határozza meg a Terraform adatforrásokat és a helyi változókat/sns.tf
– Ez a fájl határozza meg az Amazon SNS erőforrásait/tags.json
– Ez a JSON-fájl lehetővé teszi egyéni címkekulcs-érték párok deklarálását, és hozzáfűzését a Terraform-erőforrásokhoz egy helyi változó segítségével./variables.tf
– Ez a fájl deklarálja az összes Terraform változót
Változók és konfiguráció
A következő táblázat a megoldás paraméterezéséhez használt változókat mutatja be. Utal ./env_files/dev_env.tfvars
fájlt további részletekért.
Név | Leírás |
bucket_name |
S3 vödör, amely adatok, szkriptek és modelltermékek tárolására szolgál |
bucket_prefix |
S3 előtag az ML projekthez |
bucket_train_prefix |
S3 előtag az edzésadatokhoz |
bucket_inf_prefix |
S3 előtag a következtetési adatokhoz |
notification_function_name |
A Lambda függvény neve, amely előkészíti és értesítő üzeneteket küld a SageMaker folyamatok lépésállapot-változásairól |
custom_notification_config |
Konfiguráció az értesítési üzenet testreszabásához bizonyos SageMaker folyamatlépésekhez, ha a rendszer egy adott folyamatfutási állapotot észlel |
email_recipient |
A SageMaker folyamatok lépésállapot-módosítási értesítéseinek fogadására szolgáló e-mail címlista |
pipeline_inf |
A SageMaker következtetési folyamat neve |
pipeline_train |
A SageMaker képzési folyamat neve |
pipeline_trainwhpo |
A SageMaker képzés neve HPO-csővezetékkel |
recreate_pipelines |
Ha erre van állítva true , a három meglévő SageMaker-folyamat (képzés, következtetés, képzés HPO-val) törlődik, és újak jönnek létre a GitLab CI/CD futtatásakor. |
model_package_group_name |
A modellcsomag-csoport neve |
accuracy_mse_threshold |
Az MSE maximális értéke a modell frissítésének igénye előtt |
role_arn |
IAM-szerep A SageMaker-folyamat-végrehajtási szerep ARN-je |
kms_key |
KMS-kulcs ARN az Amazon S3 és a SageMaker titkosításhoz |
subnet_id |
Alhálózati azonosító a SageMaker hálózati konfigurációjához |
sg_id |
Biztonsági csoport azonosítója a SageMaker hálózati konfigurációhoz |
upload_training_data |
Ha erre van állítva true , a képzési adatok feltöltődnek az Amazon S3-ra, és ez a feltöltési művelet elindítja a képzési folyamat futtatását |
upload_inference_data |
Ha erre van állítva true , a következtetési adatok feltöltődnek az Amazon S3-ba, és ez a feltöltési művelet elindítja a következtetési folyamat futtatását |
user_id |
A SageMaker-felhasználó alkalmazotti azonosítója, amely címkeként van hozzáadva a SageMaker-erőforrásokhoz |
Telepítse a megoldást
Hajtsa végre a következő lépéseket a megoldás AWS-fiókjában való üzembe helyezéséhez:
- Klónozza a GitHub-tárat a munkakönyvtárába.
- Tekintse át és módosítsa a GitLab CI/CD folyamat konfigurációját a környezetének megfelelően. A konfigurációt a
./gitlab-ci.yml
fájlt. - Tekintse meg a README fájlt az általános megoldási változók frissítéséhez
./env_files/dev_env.tfvars
fájlt. Ez a fájl a Python szkriptekhez és a Terraform automatizáláshoz egyaránt tartalmaz változókat.- Ellenőrizze a további SageMaker Pipelines paramétereket, amelyek az alábbi YAML-fájlokban vannak definiálva
./batch_scoring_pipeline/pipeline_scripts/
. Ellenőrizze és szükség esetén frissítse a paramétereket.
- Ellenőrizze a további SageMaker Pipelines paramétereket, amelyek az alábbi YAML-fájlokban vannak definiálva
- Tekintse át a SageMaker folyamatkészítő szkripteket
./pipeline_scripts/
valamint az általuk hivatkozott szkriptek a./scripts/
mappát. A GitHub repóban található példaszkriptek a Abalone adatkészlet. Ha másik adatkészletet kíván használni, győződjön meg arról, hogy frissítette a szkripteket az adott problémának megfelelően. - Helyezze be az adatfájlokat a
./data/
mappát a következő elnevezési konvenció használatával. Ha az Abalone adatkészletet a megadott példaszkriptekkel együtt használja, győződjön meg arról, hogy az adatfájlok fejléc nélküliek, a betanítási adatok független és célváltozókat is tartalmaznak az oszlopok eredeti sorrendjének megőrzésével, a következtetési adatok csak független változókat és az alapigazságot tartalmaznak. fájl csak a célváltozót tartalmazza.training-data.csv
inference-data.csv
ground-truth.csv
- Végezze el a kódot, és küldje el a lerakatba a GitLab CI/CD folyamat elindításához (első futás). Vegye figyelembe, hogy a folyamat első futtatása sikertelen lesz a
pipeline
szakaszban, mert még nincs jóváhagyott modellverzió a következtetési folyamatszkript számára. Tekintse át a lépésnaplót, és ellenőrizze a SageMaker nevű új folyamatotTrainingPipeline
sikeresen létrejött.
-
- Nyissa meg a SageMaker Studio felhasználói felületét, majd tekintse át és futtassa a képzési folyamatot.
- A betanítási folyamat sikeres futtatása után hagyja jóvá a regisztrált modell verzióját a modellnyilvántartásban, majd futtassa újra a teljes GitLab CI/CD folyamatot.
- Tekintse át a Terraform terv kimenetét a
build
színpad. Hagyja jóvá a kézikönyvetapply
szakaszában a GitLab CI/CD folyamatban, hogy folytassa a folyamat futtatását, és engedélyezze a Terraformot, hogy létrehozza a megfigyelési és értesítési erőforrásokat az AWS-fiókjában. - Végül tekintse át a SageMaker folyamatok futási állapotát és kimenetét a SageMaker Studio felhasználói felületén, és ellenőrizze e-mailjeit, hogy vannak-e értesítési üzenetek, ahogy az a következő képernyőképen látható. Az alapértelmezett üzenettörzs JSON formátumú.
SageMaker csővezetékek
Ebben a részben az MLOps munkafolyamat három SageMaker folyamatát ismertetjük.
Képzési csővezeték
A képzési folyamat a következő lépésekből áll:
- Előfeldolgozási lépés, beleértve a szolgáltatások átalakítását és kódolását
- Adatminőség-ellenőrzési lépés adatstatisztikák és kényszerek alapvonal generálásához a betanítási adatok felhasználásával
- Képzési lépés
- Képzés értékelési lépés
- Feltétel lépés annak ellenőrzésére, hogy a betanított modell megfelel-e egy előre meghatározott teljesítményküszöbnek
- A modell regisztrációs lépése az újonnan betanított modell regisztrálásához a modellnyilvántartásban, ha a betanított modell eléri a szükséges teljesítményküszöböt
Mind a skip_check_data_quality
és a register_new_baseline_data_quality
paraméterek értékre vannak állítva True
képzési folyamatban van. Ezek a paraméterek arra utasítják a folyamatot, hogy hagyja ki az adatminőség-ellenőrzést, és csak hozzon létre és regisztráljon új adatstatisztikát vagy korlátozási alapvonalakat a betanítási adatok felhasználásával. A következő ábra a képzési folyamat sikeres lefutását mutatja be.
Kötegelt következtetési folyamat
A kötegelt következtetési folyamat a következő lépésekből áll:
- Modell létrehozása a legújabb jóváhagyott modellverzióból a modellnyilvántartásban
- Előfeldolgozási lépés, beleértve a szolgáltatások átalakítását és kódolását
- Kötegelt következtetés lépése
- Az adatminőség-ellenőrzés előfeldolgozási lépése, amely egy új CSV-fájlt hoz létre, amely tartalmazza a bemeneti adatokat és a modell-előrejelzéseket is az adatminőség-ellenőrzéshez.
- Adatminőség-ellenőrzési lépés, amely a bemeneti adatokat a regisztrált modellhez kapcsolódó alapstatisztikák és megszorítások alapján ellenőrzi
- Feltétel lépés annak ellenőrzésére, hogy rendelkezésre állnak-e az alapigazság adatok. Ha rendelkezésre állnak az alapigazság adatok, akkor a modell minőségellenőrzési lépése megtörténik
- Modellminőség számítási lépés, amely a modell teljesítményét az alapigazság-címkék alapján számítja ki
Mind a skip_check_data_quality
és a register_new_baseline_data_quality
paraméterek értékre vannak állítva False
a következtetési csővezetékben. Ezek a paraméterek arra utasítják a folyamatot, hogy végezzen adatminőség-ellenőrzést a regisztrált modellhez társított adatstatisztikák vagy megszorítások alapvonala alapján (supplied_baseline_statistics_data_quality
és a supplied_baseline_constraints_data_quality
), és kihagyja az új adatstatisztikák és megszorítások alapvonalak létrehozását vagy regisztrálását a következtetés során. A következő ábra a kötegelt következtetési folyamat futtatását mutatja be, ahol az adatminőség-ellenőrzési lépés meghiúsult a modell gyenge teljesítménye miatt a következtetési adatokon. Ebben az esetben a HPO-folyamattal végzett képzés automatikusan elindul a modell finomhangolásához.
Képzés HPO pipeline
A HPO pipeline képzés a következő lépésekből áll:
- Előfeldolgozási lépés (szolgáltatás átalakítása és kódolása)
- Adatminőség-ellenőrzési lépés adatstatisztikák és kényszerek alapvonal generálásához a betanítási adatok felhasználásával
- Hiperparaméter hangolási lépés
- Képzés értékelési lépés
- Feltétel lépés annak ellenőrzésére, hogy a betanított modell megfelel-e az előre meghatározott pontossági küszöbnek
- Modellregisztrációs lépés, ha a legjobban képzett modell eléri a szükséges pontossági küszöböt
Mind a skip_check_data_quality
és a register_new_baseline_data_quality
paraméterek értékre vannak állítva True
a HPO pipeline képzésben. Az alábbi ábra a képzés sikeres lebonyolítását mutatja be a HPO folyamattal.
Tisztítsuk meg
Az erőforrások tisztításához hajtsa végre a következő lépéseket:
- Alkalmazza a
destroy
szakaszában a GitLab CI/CD folyamatban, hogy megszüntesse a Terraform által biztosított összes erőforrást. - Ehhez használja az AWS parancssori felületet lista és a eltávolítása a Python-szkriptek által létrehozott többi folyamat.
- Opcionálisan törölhet más AWS-erőforrásokat, például a CI/CD folyamaton kívül létrehozott S3-csoportot vagy IAM-szerepet.
Következtetés
Ebben a bejegyzésben bemutattuk, hogy a vállalatok hogyan hozhatnak létre MLOps munkafolyamatokat kötegelt következtetési munkáikhoz Amazon SageMaker, Amazon EventBridge, AWS Lambda, Amazon SNS, HashiCorp Terraform és GitLab CI/CD használatával. A bemutatott munkafolyamat automatizálja az adatok és modellek figyelését, a modell átképzését, valamint a kötegelt feladatok futtatását, a kódverziót és az infrastruktúra kiépítését. Ez jelentősen csökkentheti a kötegelt következtetési feladatok bonyolultságát és költségeit a termelésben. A megvalósítás részleteivel kapcsolatos további információkért tekintse át a GitHub repo.
A szerzőkről
Hasan Shojaei az AWS Professional Services Sr. Data Scientist, ahol a különböző iparágakban, például a sportban, a biztosításban és a pénzügyi szolgáltatásokban segít ügyfeleinek megoldani üzleti kihívásaikat a big data, a gépi tanulás és a felhőtechnológiák használatával. E szerepkör betöltése előtt Hasan számos kezdeményezést vezetett új, fizikán alapuló és adatvezérelt modellezési technikák kifejlesztésére a vezető energiavállalatok számára. A munkán kívül Hasan rajong a könyvekért, a túrázásért, a fotózásért és a történelemért.
Wenxin Liu Sr. Cloud Infrastructure Architect. A Wenxin tanácsot ad a vállalati vállalatoknak a felhő alkalmazásának felgyorsításában, és támogatja innovációikat a felhőben. Szereti az állatokat, és szenvedélyesen rajong a snowboardozásért és az utazásokért.
Vivek Lakshmanan gépi tanulási mérnök az Amazonnál. Szoftvermérnöki mesterfokozatú, adattudományi specializációval, valamint több éves MLE-s tapasztalattal rendelkezik. A Vivek izgatottan várja, hogy a legmodernebb technológiákat alkalmazza és AI/ML megoldásokat építsen az ügyfeleknek felhőben. Szenvedélye a statisztika, az NLP és a modellmagyarázhatóság az AI/ML-ben. Szabadidejében szeret krikettezni és kirándulni.
Andy Cracchiolo Cloud Infrastructure Architect. Az informatikai infrastruktúra területén több mint 15 éves tapasztalattal Andy kiváló és eredményorientált IT-szakember. Az IT-infrastruktúra, a műveletek és az automatizálás optimalizálása mellett Andy bizonyítottan sikeresen elemzi az IT-műveleteket, azonosítja a következetlenségeket, és olyan folyamatfejlesztéseket hajt végre, amelyek növelik a hatékonyságot, csökkentik a költségeket és növelik a profitot.
- 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. Autóipar / elektromos járművek, 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.
- ChartPrime. Emelje fel kereskedési játékát a ChartPrime segítségével. Hozzáférés itt.
- BlockOffsets. A környezetvédelmi ellentételezési tulajdon korszerűsítése. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/mlops-for-batch-inference-with-model-monitoring-and-retraining-using-amazon-sagemaker-hashicorp-terraform-and-gitlab-ci-cd/
- :van
- :is
- :nem
- :ahol
- $ UP
- 100
- 125
- 13
- 15 év
- 15%
- 26%
- 29
- 500
- 7
- a
- Rólunk
- gyorsul
- hozzáférés
- megvalósítható
- Fiók
- Fiókok
- pontosság
- át
- tényleges
- hozzáadott
- hozzáadásával
- mellett
- További
- cím
- Örökbefogadás
- ellen
- AI / ML
- Minden termék
- lehetővé teszi, hogy
- mentén
- Is
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- an
- elemzése
- és a
- és az infrastruktúra
- bármilyen
- api
- Alkalmazás
- Application Development
- Alkalmazása
- megközelítés
- megfelelő
- jóváhagyás
- jóváhagyások
- jóváhagy
- jóváhagyott
- építészet
- VANNAK
- AS
- szempontok
- társult
- At
- auditálhatóság
- engedélyez
- auto
- automaták
- Automatikus
- automatikusan
- Automatizálás
- elérhető
- AWS
- AWS Lambda
- AWS professzionális szolgáltatások
- alapján
- kiindulási
- BE
- mert
- óta
- előtt
- haszon
- BEST
- legjobb gyakorlatok
- Nagy
- Big adatok
- bizottság
- test
- Könyvek
- mindkét
- Ág
- Épület
- épült
- üzleti
- by
- kiszámítja
- számítás
- hívás
- hívás
- TUD
- eset
- központi
- kihívások
- kihívást
- változik
- Változások
- változó
- ellenőrizze
- ellenőrzése
- Ellenőrzések
- besorolás
- felhő
- felhő elfogadása
- felhő infrastruktúra
- kód
- Oszlopok
- Companies
- összehasonlítva
- teljes
- bonyodalmak
- teljesítés
- áll
- koncepció
- Configuration
- kötőszó
- korlátok
- tartalmaz
- folyamatos
- ellenőrzés
- ellenőrzések
- Konvenció
- kiadások
- tudott
- teremt
- készítette
- teremt
- létrehozása
- teremtés
- krikett
- szokás
- Ügyfelek
- élvonalbeli
- dátum
- adat-tudomány
- adattudós
- adatalapú
- kijelenti,
- alapértelmezett
- meghatározott
- Annak meghatározása,
- Fok
- kézbesítés
- bizonyítani
- igazolták
- telepíteni
- telepített
- bevezetéséhez
- leírni
- Design
- részlet
- részletek
- észlelt
- Fejleszt
- Fejlesztés
- különböző
- irány
- közvetlenül
- könyvtárak
- felfedezi
- megvitatni
- Dokkmunkás
- nem
- Nem
- két
- alatt
- minden
- könnyebb
- hatékonyan
- hatékonyság
- hatékony
- bármelyik
- megszüntetése
- munkavállaló
- energia
- mérnök
- Mérnöki
- fejlesztések
- biztosítására
- biztosítása
- Vállalkozás
- Vállalatok
- Egész
- Környezet
- hiba
- értékelés
- esemény
- példa
- meghaladja
- izgatott
- végrehajtás
- létező
- tapasztalat
- f1
- FAIL
- Sikertelen
- nem sikerül
- Funkció
- Ábra
- filé
- Fájlok
- pénzügyi
- pénzügyi szolgáltatások
- vezetéknév
- rögzített
- következő
- A
- formátum
- talált
- ból ből
- funkció
- funkciók
- Gates
- általános
- generált
- generáló
- megy
- GitHub
- Go
- megy
- nagyobb
- Földi
- Csoport
- útmutatást
- kéz
- Kezelés
- Legyen
- he
- segít
- övé
- történelem
- Hogyan
- How To
- HTML
- http
- HTTPS
- Hiperparaméter optimalizálás
- ID
- azonosító
- Identitás
- if
- illusztrálja
- végrehajtás
- végrehajtási
- in
- tartalmaz
- magában foglalja a
- Beleértve
- Növelje
- független
- függetlenül
- jelzi
- egyéni
- iparágak
- információ
- Infrastruktúra
- kezdeményezések
- újítások
- bemenet
- bemenet
- biztosítás
- integráció
- kölcsönhatásba lép
- bele
- bevezet
- kérdések
- IT
- ITS
- Munka
- Állások
- jpg
- json
- éppen
- Kulcs
- Címkék
- legutolsó
- vezet
- tanulás
- Led
- életciklus
- vonal
- Lista
- helyi
- log
- gép
- gépi tanulás
- Fő
- fenntartása
- csinál
- kezelése
- vezetés
- kezelése
- kézikönyv
- kézzel
- megjelölt
- mester
- anyag
- Találkozik
- Megfelel
- üzenet
- üzenetek
- metrikus
- Metrics
- ML
- MLOps
- modell
- modellezés
- modellek
- módosítása
- ellenőrzés
- több
- többszörös
- Nevezett
- elnevezési
- elengedhetetlen
- Szükség
- szükséges
- igények
- hálózatba
- Új
- újonnan
- NLP
- nem
- bejelentés
- értesítések
- regény
- tárgy
- szerez
- megszerzése
- of
- felajánlás
- Ajánlatok
- gyakran
- on
- azok
- csak
- működés
- Művelet
- optimalizálás
- optimalizálása
- or
- érdekében
- szervezetek
- Szervezett
- eredeti
- Más
- teljesítmény
- kívül
- csomag
- csomagok
- párok
- paraméterek
- rész
- különös
- bérletek
- szenvedélyes
- ösvény
- Teljesít
- teljesítmény
- teljesített
- fényképezés
- csővezeték
- terv
- tervezett
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- pont
- szegény
- állás
- gyakorlat
- Tippek
- Előkészíti
- előfeltételek
- be
- bemutatott
- Előzetes
- Probléma
- folytassa
- folyamat
- Feldolgozott
- Termelés
- szakmai
- nyereség
- promotált
- javasolt
- igazolt
- feltéve,
- biztosít
- amely
- Húz
- Nyomja
- Piton
- világítás
- Nyers
- Olvass
- Olvasás
- kap
- fogadó
- új
- rekord
- csökkenteni
- csökkentő
- tekintettel
- Regisztráció
- nyilvántartott
- regisztráció
- nyilvántartások
- Bejegyzés
- iktató hivatal
- rendszeresen
- megmaradó
- megismételhető
- Jelentések
- raktár
- jelentése
- kötelező
- követelmények
- megköveteli,
- Tudástár
- azok
- illetőleg
- felelős
- Eredmények
- folytatás
- újrahasználható
- Kritika
- út
- Szerep
- szabályok
- futás
- futó
- futás
- fut
- sagemaker
- SageMaker következtetés
- SageMaker csővezetékek
- skálázhatóság
- menetrend
- ütemezés
- Tudomány
- Tudós
- pontszám
- szkriptek
- sdk
- Rész
- küld
- elküldés
- küld
- szolgál
- szolgálja
- Szolgáltatások
- készlet
- felépítés
- számos
- megosztott
- kellene
- mutatott
- Műsorok
- jelentős
- Egyszerű
- egyetlen
- szoftver
- szoftverfejlesztés
- megoldások
- Megoldások
- SOLVE
- Források
- Sourcing
- különleges
- meghatározott
- Sport
- Színpad
- színpadra állítás
- kezdet
- Kezdve
- Állami
- statisztika
- Állapot
- Lépés
- Lépései
- tárolás
- tárolni
- tárolása
- Stratégia
- szerkezeti
- stúdió
- sikeres
- sikeresen
- ilyen
- Öltöny
- Támogató
- Támogatja
- táblázat
- TAG
- bevétel
- cél
- Feladat
- csapat
- technikák
- Technologies
- sablon
- Terraform
- mint
- hogy
- A
- azok
- Őket
- akkor
- Ott.
- ezáltal
- Ezek
- ők
- ezt
- három
- küszöb
- Keresztül
- idő
- nak nek
- szerszámok
- felső
- Témakörök
- vágány
- múlttal
- kiképzett
- Képzések
- Átalakítás
- átlátszó
- Utazó
- kiváltó
- váltott
- igazság
- FORDULAT
- kettő
- típus
- tipikus
- ui
- alatt
- aláhúzás
- Frissítések
- frissítése
- feltöltve
- Feltöltés
- használ
- használt
- használó
- használ
- segítségével
- hasznosít
- hasznosított
- érték
- változó
- ellenőrzése
- változat
- verzió
- keresztül
- Sértés
- figyelmeztetés
- Út..
- módon
- we
- háló
- webes szolgáltatások
- JÓL
- amikor
- vajon
- ami
- míg
- WHO
- lesz
- val vel
- belül
- Munka
- munkafolyamat
- munkafolyamatok
- dolgozó
- yaml
- év
- még
- te
- A te
- zephyrnet