Menținerea fluxurilor de lucru de învățare automată (ML) în producție este o sarcină provocatoare, deoarece necesită crearea de conducte de integrare continuă și livrare continuă (CI/CD) pentru codul și modelele ML, versiunea modelului, monitorizarea derivei de date și concept, reinstruire a modelului și un manual procesul de aprobare pentru a se asigura că noile versiuni ale modelului satisfac atât cerințele de performanță, cât și de conformitate.
În această postare, descriem cum să creați un flux de lucru MLOps pentru inferența în loturi care automatizează programarea lucrărilor, monitorizarea modelului, recalificarea și înregistrarea, precum și gestionarea erorilor și notificarea prin utilizarea Amazon SageMaker, Amazon EventBridge, AWS Lambdas, Serviciul de notificare simplă Amazon (Amazon SNS), HashiCorp Terraform și GitLab CI/CD. Fluxul de lucru MLOps prezentat oferă un șablon reutilizabil pentru gestionarea ciclului de viață ML prin automatizare, monitorizare, auditabilitate și scalabilitate, reducând astfel complexitățile și costurile menținerii sarcinilor de lucru de inferență pe lot în producție.
Prezentare generală a soluțiilor
Următoarea figură ilustrează arhitectura MLOps țintă propusă pentru inferența în loturi de întreprinderi pentru organizațiile care utilizează GitLab CI/CD și infrastructura Terraform ca cod (IaC) împreună cu instrumentele și serviciile AWS. GitLab CI/CD servește ca macro-orchestrator, orchestrator model build
și model deploy
conducte, care includ aprovizionarea, construirea și aprovizionarea Pipelines Amazon SageMaker și resurse de asistență folosind SDK-ul SageMaker Python și Terraform. SageMaker Python SDK este utilizat pentru a crea sau actualiza conducte SageMaker pentru antrenament, antrenament cu optimizarea hiperparametrului (HPO) și inferență în loturi. Terraform este utilizat pentru a crea resurse suplimentare, cum ar fi regulile EventBridge, funcțiile Lambda și subiectele SNS pentru monitorizarea conductelor SageMaker și trimiterea de notificări (de exemplu, când un pas de conductă eșuează sau reușește). SageMaker Pipelines servește drept orchestrator pentru antrenamentul modelului ML și fluxurile de lucru de inferență.
Acest design de arhitectură reprezintă o strategie cu mai multe conturi în care modelele ML sunt construite, antrenate și înregistrate într-un registru central de modele într-un cont de dezvoltare a științei datelor (care are mai multe controale decât un cont obișnuit de dezvoltare a aplicațiilor). Apoi, conductele de inferență sunt implementate în conturile de procesare și producție folosind automatizarea din instrumente DevOps, cum ar fi GitLab CI/CD. Registrul central al modelului ar putea fi plasat opțional și într-un cont de servicii partajate. A se referi la Model de operare pentru cele mai bune practici cu privire la o strategie cu mai multe conturi pentru ML.
În următoarele subsecțiuni, discutăm în detaliu diferite aspecte ale designului arhitecturii.
Infrastructura ca cod
IaC oferă o modalitate de a gestiona infrastructura IT prin fișiere care pot fi citite de mașină, asigurând un control eficient al versiunilor. În această postare și în exemplul de cod însoțitor, demonstrăm cum se utilizează HashiCorp Terraform cu GitLab CI/CD pentru a gestiona eficient resursele AWS. Această abordare subliniază beneficiul cheie al IaC, oferind un proces transparent și repetabil în managementul infrastructurii IT.
Antrenament și recalificare model
În acest design, canalul de instruire SageMaker rulează pe un program (prin EventBridge) sau pe baza unui Serviciul Amazon de stocare simplă (Amazon S3) declanșare eveniment (de exemplu, când un fișier de declanșare sau date noi de antrenament, în cazul unui singur obiect de date de antrenament, sunt plasate în Amazon S3) pentru a recalibra în mod regulat modelul cu date noi. Această conductă nu introduce modificări structurale sau materiale ale modelului, deoarece utilizează hiperparametri fix care au fost aprobați în timpul procesului de revizuire a modelului de întreprindere.
Conducta de antrenament înregistrează versiunea de model nou pregătită în Registrul de modele Amazon SageMaker dacă modelul depășește un prag de performanță predefinit (de exemplu, RMSE pentru regresie și scor F1 pentru clasificare). Când o nouă versiune a modelului este înregistrată în registrul modelului, aceasta declanșează o notificare către cercetătorul de date responsabil prin Amazon SNS. Apoi, cercetătorul de date trebuie să examineze și să aprobe manual cea mai recentă versiune a modelului din Amazon SageMaker Studio UI sau printr-un apel API folosind Interfața liniei de comandă AWS (AWS CLI) sau AWS SDK pentru Python (Boto3) înainte ca noua versiune a modelului să poată fi utilizată pentru inferență.
Canalul de instruire SageMaker și resursele sale de sprijin sunt create de GitLab model build
pipeline, fie printr-o rulare manuală a conductei GitLab, fie automat atunci când codul este îmbinat în main
ramură a model build
Depozitul Git.
Inferență în lot
Conducta de inferență batch SageMaker rulează conform unui program (prin EventBridge) sau pe baza unui declanșator de eveniment S3. Conducta de inferență batch extrage automat cea mai recentă versiune aprobată a modelului din registrul modelului și o folosește pentru inferență. Conducta de inferență în lot include pași pentru verificarea calității datelor în raport cu o linie de bază creată de conducta de antrenament, precum și calitatea modelului (performanța modelului) dacă sunt disponibile etichete de adevăr la sol.
Dacă conducta de inferență pe lot descoperă probleme de calitate a datelor, va notifica cercetătorul responsabil de date prin Amazon SNS. Dacă descoperă probleme de calitate a modelului (de exemplu, RMSE este mai mare decât un prag pre-specificat), pasul conductei pentru verificarea calității modelului va eșua, ceea ce va declanșa, la rândul său, un eveniment EventBridge pentru a începe antrenamentul cu conducta HPO.
Conducta de inferență batch SageMaker și resursele sale suport sunt create de GitLab model deploy
pipeline, fie printr-o rulare manuală a conductei GitLab, fie automat atunci când codul este îmbinat în main
ramură a model deploy
Depozitul Git.
Ajustarea și reajustarea modelului
Antrenamentul SageMaker cu conducta HPO este declanșată atunci când pasul de verificare a calității modelului din conducta de inferență în lot eșuează. Verificarea calității modelului este efectuată prin compararea predicțiilor modelului cu etichetele reale de adevăr de la sol. Dacă valoarea calității modelului (de exemplu, RMSE pentru regresie și scorul F1 pentru clasificare) nu îndeplinește un criteriu prespecificat, pasul de verificare a calității modelului este marcat ca eșuat. Formarea SageMaker cu pipeline HPO poate fi declanșată și manual (în interfața de utilizare SageMaker Studio sau printr-un apel API folosind AWS CLI sau SageMaker Python SDK) de către cercetătorul de date responsabil, dacă este necesar. Deoarece hiperparametrii modelului se modifică, cercetătorul de date responsabil trebuie să obțină aprobarea de la consiliul de evaluare a modelului de întreprindere înainte ca noua versiune a modelului să poată fi aprobată în registrul modelului.
Formarea SageMaker cu pipeline HPO și resursele sale de asistență sunt create de GitLab model build
pipeline, fie printr-o rulare manuală a conductei GitLab, fie automat atunci când codul este îmbinat în main
ramură a model build
Depozitul Git.
Monitorizarea modelului
Statisticile de date și liniile de bază privind constrângerile sunt generate ca parte a instruirii și instruirii cu conductele HPO. Acestea sunt salvate în Amazon S3 și, de asemenea, înregistrate cu modelul antrenat în registrul modelului dacă modelul trece evaluarea. Arhitectura propusă pentru pipeline de inferență în loturi folosește Monitor de model Amazon SageMaker pentru verificări ale calității datelor, în timp ce utilizați personalizarea Procesare Amazon SageMaker pași pentru verificarea calității modelului. Acest design decuplează datele și verificările calității modelului, ceea ce, la rândul său, vă permite să trimiteți o notificare de avertizare numai atunci când este detectată deviația datelor; și declanșează instruirea cu conducta HPO atunci când este detectată o încălcare a calității modelului.
Aprobare model
După ce un model nou instruit este înregistrat în registrul de modele, cercetătorul de date responsabil primește o notificare. Dacă modelul a fost instruit de canalul de instruire (recalibrare cu date noi de antrenament în timp ce hiperparametrii sunt fixați), nu este nevoie de aprobare din partea consiliului de evaluare a modelului de întreprindere. Specialistul de date poate revizui și aproba noua versiune a modelului în mod independent. Pe de altă parte, dacă modelul a fost antrenat de instruirea cu pipeline HPO (reajustare prin modificarea hiperparametrilor), noua versiune a modelului trebuie să treacă prin procesul de revizuire a întreprinderii înainte de a putea fi utilizată pentru inferență în producție. Când procesul de revizuire este finalizat, cercetătorul de date poate continua și aproba noua versiune a modelului în registrul modelului. Schimbarea stării pachetului de model în Approved
va declanșa o funcție Lambda prin EventBridge, care la rândul său va declanșa GitLab model deploy
pipeline printr-un apel API. Acest lucru va actualiza automat conducta de inferență batch SageMaker pentru a utiliza cea mai recentă versiune aprobată a modelului pentru inferență.
Există două modalități principale de a aproba sau de a respinge o nouă versiune de model în registrul modelului: folosind AWS SDK pentru Python (Boto3) sau din SageMaker Studio UI. În mod implicit, atât canalul de instruire, cât și cursul cu conducta HPO sunt setate ModelApprovalStatus
la PendingManualApproval
. Specialistul de date responsabil poate actualiza starea de aprobare a modelului apelând la update_model_package
API de la Boto3. A se referi la Actualizați starea de aprobare a unui model pentru detalii despre actualizarea stării de aprobare a unui model prin interfața de utilizare SageMaker Studio.
Design I/O de date
SageMaker interacționează direct cu Amazon S3 pentru citirea intrărilor și stocarea rezultatelor pașilor individuali în conductele de antrenament și inferență. Următoarea diagramă ilustrează modul în care diferitele scripturi Python, datele de antrenament brute și procesate, datele de inferență brute și procesate, rezultatele inferenței și etichetele de adevăr de bază (dacă sunt disponibile pentru monitorizarea calității modelului), artefacte modelului, măsurători de instruire și evaluare a inferenței (monitorizarea calității modelului), precum și liniile de bază ale calității datelor și rapoartele de încălcare (pentru monitorizarea calității datelor) pot fi organizate într-un compartiment S3. Direcția săgeților din diagramă indică ce fișiere sunt intrări sau ieșiri din pașii lor respectivi în conductele SageMaker. Săgețile au fost codificate cu culori în funcție de tipul de pas al conductei pentru a le face mai ușor de citit. Conducta va încărca automat scripturi Python din depozitul GitLab și va stoca fișiere de ieșire sau artefacte model de la fiecare pas în calea S3 corespunzătoare.
Inginerul de date este responsabil pentru următoarele:
- Încărcarea datelor de antrenament etichetate pe calea corespunzătoare în Amazon S3. Aceasta include adăugarea de noi date de antrenament în mod regulat pentru a se asigura că canalul de instruire și instruirea cu conducta HPO au acces la datele de antrenament recente pentru reinstruire și, respectiv, reajustare a modelului.
- Încărcarea datelor de intrare pentru inferență în calea corespunzătoare din compartimentul S3 înainte de o rulare planificată a conductei de inferență.
- Încărcarea etichetelor de adevăr la sol pe calea S3 corespunzătoare pentru monitorizarea calității modelului.
Specialistul de date este responsabil pentru următoarele:
- Pregătirea etichetelor de adevăr de bază și furnizarea lor echipei de inginerie de date pentru încărcare pe Amazon S3.
- Preluarea versiunilor de model instruite de instruirea cu pipeline HPO prin procesul de revizuire a întreprinderii și obținerea aprobărilor necesare.
- Aprobarea sau respingerea manuală a versiunilor de model nou instruite în registrul de modele.
- Aprobarea porții de producție pentru conducta de inferență și sprijinirea resurselor care urmează să fie promovate în producție.
Cod simplu
În această secțiune, prezentăm un exemplu de cod pentru operațiuni de inferență în loturi cu o configurare pentru un singur cont, așa cum se arată în următoarea diagramă de arhitectură. Exemplul de cod poate fi găsit în GitHub depozit, și poate servi ca punct de plecare pentru inferența loturilor cu monitorizarea modelului și recalificarea automată folosind porți de calitate adesea necesare pentru întreprinderi. Exemplul de cod diferă de arhitectura țintă în următoarele moduri:
- Utilizează un singur cont AWS pentru construirea și implementarea modelului ML și a resurselor de sprijin. A se referi la Organizarea mediului dvs. AWS utilizând mai multe conturi pentru îndrumări privind configurarea cu mai multe conturi pe AWS.
- Utilizează o singură conductă GitLab CI/CD pentru construirea și implementarea modelului ML și a resurselor de sprijin.
- Atunci când o nouă versiune a modelului este instruită și aprobată, pipeline-ul GitLab CI/CD nu este declanșat automat și trebuie să fie rulat manual de către cercetătorul de date responsabil pentru a actualiza pipeline-ul de inferență în loturi SageMaker cu cea mai recentă versiune aprobată a modelului.
- Acceptă doar declanșatoarele bazate pe evenimente S3 pentru rularea conductelor de instruire și inferență SageMaker.
Cerințe preliminare
Ar trebui să aveți următoarele condiții preliminare înainte de a implementa această soluție:
- Un cont AWS
- SageMaker Studio
- Un rol de execuție SageMaker cu Amazon S3 citire/scriere și AWS Service Management Service (AWS KMS) permisiuni de criptare/decriptare
- O găleată S3 pentru stocarea datelor, scripturilor și artefactelor de model
- Terraform versiunea 0.13.5 sau mai mare
- GitLab cu un rulant Docker funcțional pentru rularea conductelor
- AWS CLI
- jq
- dezarhivați
- Python3 (Python 3.7 sau mai mare) și următoarele pachete Python:
- boto3
- sagemaker
- panda
- pyyaml
Structura depozitului
GitHub depozit conține următoarele directoare și fișiere:
/code/lambda_function/
– Acest director conține fișierul Python pentru o funcție Lambda care pregătește și trimite mesaje de notificare (prin Amazon SNS) despre modificările stării de pas ale conductelor SageMaker/data/
– Acest director include fișierele de date brute (datele de antrenament, inferență și adevărul de bază)/env_files/
– Acest director conține fișierul cu variabile de intrare Terraform/pipeline_scripts/
– Acest director conține trei scripturi Python pentru crearea și actualizarea antrenamentului, inferenței și antrenamentului cu pipeline HPO SageMaker, precum și fișiere de configurare pentru specificarea parametrilor fiecărei conducte/scripts/
– Acest director conține scripturi Python suplimentare (cum ar fi preprocesarea și evaluarea) la care se face referire prin instruire, inferență și instruire cu conductele HPO.gitlab-ci.yml
– Acest fișier specifică configurația conductei GitLab CI/CD/events.tf
– Acest fișier definește resursele EventBridge/lambda.tf
– Acest fișier definește funcția de notificare Lambda și cea asociată Gestionarea identității și accesului AWS (IAM) resurse/main.tf
– Acest fișier definește sursele de date Terraform și variabilele locale/sns.tf
– Acest fișier definește resursele Amazon SNS/tags.json
– Acest fișier JSON vă permite să declarați perechi cheie-valoare etichete personalizate și să le adăugați resurselor Terraform folosind o variabilă locală/variables.tf
– Acest fișier declară toate variabilele Terraform
Variabile și configurație
Următorul tabel prezintă variabilele care sunt utilizate pentru a parametriza această soluție. Consultați ./env_files/dev_env.tfvars
fisier pentru mai multe detalii.
Nume si Prenume | Descriere |
bucket_name |
Bucket S3 care este utilizat pentru a stoca date, scripturi și artefacte de model |
bucket_prefix |
Prefixul S3 pentru proiectul ML |
bucket_train_prefix |
Prefix S3 pentru datele de antrenament |
bucket_inf_prefix |
Prefixul S3 pentru datele de inferență |
notification_function_name |
Numele funcției Lambda care pregătește și trimite mesaje de notificare despre modificările stării de pas ale conductelor SageMaker |
custom_notification_config |
Configurația pentru personalizarea mesajului de notificare pentru pași specifici de conductă SageMaker atunci când este detectată o anumită stare de rulare a conductei |
email_recipient |
Lista de adrese de e-mail pentru primirea notificărilor de modificare a stării de pas ale conductelor SageMaker |
pipeline_inf |
Numele conductei de inferență SageMaker |
pipeline_train |
Numele canalului de instruire SageMaker |
pipeline_trainwhpo |
Numele instruirii SageMaker cu pipeline HPO |
recreate_pipelines |
Dacă este setat la true , cele trei conducte SageMaker existente (antrenament, inferență, antrenament cu HPO) vor fi șterse și altele noi vor fi create când este rulat GitLab CI/CD |
model_package_group_name |
Numele grupului de pachete model |
accuracy_mse_threshold |
Valoarea maximă a MSE înainte de a solicita o actualizare a modelului |
role_arn |
Rolul IAM ARN al rolului de execuție a conductei SageMaker |
kms_key |
ARN cheie KMS pentru criptarea Amazon S3 și SageMaker |
subnet_id |
ID de subrețea pentru configurația de rețea SageMaker |
sg_id |
ID grup de securitate pentru configurația de rețea SageMaker |
upload_training_data |
Dacă este setat la true , datele de antrenament vor fi încărcate pe Amazon S3, iar această operațiune de încărcare va declanșa rularea conductei de antrenament |
upload_inference_data |
Dacă este setat la true , datele de inferență vor fi încărcate pe Amazon S3, iar această operațiune de încărcare va declanșa rularea conductei de inferență |
user_id |
ID-ul de angajat al utilizatorului SageMaker care este adăugat ca etichetă la resursele SageMaker |
Implementați soluția
Parcurgeți următorii pași pentru a implementa soluția în contul dvs. AWS:
- Clonează depozitul GitHub în directorul tău de lucru.
- Examinați și modificați configurația conductei GitLab CI/CD pentru a se potrivi mediului dvs. Configurația este specificată în
./gitlab-ci.yml
fișier. - Consultați fișierul README pentru a actualiza variabilele generale ale soluției din fișierul
./env_files/dev_env.tfvars
fişier. Acest fișier conține variabile atât pentru scripturile Python, cât și pentru automatizarea Terraform.- Verificați parametrii suplimentari SageMaker Pipelines care sunt definiți în fișierele YAML de sub
./batch_scoring_pipeline/pipeline_scripts/
. Examinați și actualizați parametrii dacă este necesar.
- Verificați parametrii suplimentari SageMaker Pipelines care sunt definiți în fișierele YAML de sub
- Examinați scripturile de creare a conductei SageMaker în
./pipeline_scripts/
precum și scripturile la care fac referire în fișierul./scripts/
pliant. Exemplele de scripturi furnizate în depozitul GitHub se bazează pe Set de date abalone. Dacă intenționați să utilizați un set de date diferit, asigurați-vă că actualizați scripturile pentru a se potrivi cu problema dvs. - Puneți fișierele de date în
./data/
folder folosind următoarea convenție de denumire. Dacă utilizați setul de date Abalone împreună cu exemplele de scripturi furnizate, asigurați-vă că fișierele de date sunt fără antet, datele de antrenament includ atât variabile independente, cât și variabile țintă, cu ordinea inițială a coloanelor păstrată, datele de inferență includ doar variabile independente și adevărul de bază. fișierul include doar variabila țintă.training-data.csv
inference-data.csv
ground-truth.csv
- Commiteți și împingeți codul în depozit pentru a declanșa rularea pipelinei GitLab CI/CD (prima rulare). Rețineți că prima rulare a conductei va eșua pe
pipeline
etapa deoarece nu există încă o versiune de model aprobată pentru a fi utilizată de scriptul pipeline de inferență. Examinați jurnalul de pași și verificați o nouă conductă SageMaker numităTrainingPipeline
a fost creat cu succes.
-
- Deschideți interfața de utilizare SageMaker Studio, apoi examinați și rulați canalul de instruire.
- După rularea cu succes a conductei de instruire, aprobați versiunea de model înregistrată în registrul de modele, apoi rulați din nou întreaga conductă GitLab CI/CD.
- Examinați rezultatul planului Terraform în
build
etapă. Aprobați manualulapply
etapa în conducta GitLab CI/CD pentru a relua rularea conductei și a autoriza Terraform să creeze resursele de monitorizare și notificare în contul dvs. AWS. - În cele din urmă, examinați starea de rulare și rezultatul conductelor SageMaker în interfața de utilizare SageMaker Studio și verificați e-mailul pentru mesaje de notificare, așa cum se arată în următoarea captură de ecran. Corpul implicit al mesajului este în format JSON.
Conducte SageMaker
În această secțiune, descriem cele trei conducte SageMaker din fluxul de lucru MLOps.
Conducta de formare
Canalul de instruire este compus din următorii pași:
- Etapa de preprocesare, inclusiv transformarea și codificarea caracteristicilor
- Etapa de verificare a calității datelor pentru generarea statisticilor datelor și a constrângerilor de bază folosind datele de antrenament
- Etapa de antrenament
- Etapa de evaluare a antrenamentului
- Pas de condiție pentru a verifica dacă modelul antrenat îndeplinește un prag de performanță prespecificat
- Pasul de înregistrare a modelului pentru a înregistra modelul nou antrenat în registrul modelului dacă modelul antrenat îndeplinește pragul de performanță necesar
Amandoua skip_check_data_quality
și register_new_baseline_data_quality
parametrii sunt setati la True
în curs de pregătire. Acești parametri indică conductei să ignore verificarea calității datelor și doar să creeze și să înregistreze noi statistici de date sau linii de bază pentru constrângeri folosind datele de antrenament. Următoarea figură ilustrează o rulare cu succes a conductei de antrenament.
Conducta de inferență pe lot
Conducta de inferență pe lot este compusă din următorii pași:
- Crearea unui model din cea mai recentă versiune de model aprobată în registrul de modele
- Etapa de preprocesare, inclusiv transformarea și codificarea caracteristicilor
- Pasul de inferență în lot
- Etapa de preprocesare a verificării calității datelor, care creează un nou fișier CSV care conține atât date de intrare, cât și predicții de model, care urmează să fie utilizate pentru verificarea calității datelor
- Etapa de verificare a calității datelor, care verifică datele de intrare în raport cu statisticile de bază și constrângerile asociate cu modelul înregistrat
- Pas de condiție pentru a verifica dacă sunt disponibile datele adevărului de la sol. Dacă sunt disponibile date de adevăr la sol, va fi efectuată etapa de verificare a calității modelului
- Etapa de calcul al calității modelului, care calculează performanța modelului pe baza etichetelor de adevăr de bază
Amandoua skip_check_data_quality
și register_new_baseline_data_quality
parametrii sunt setati la False
în conducta de inferență. Acești parametri indică conductei să efectueze o verificare a calității datelor folosind statisticile datelor sau linia de bază a constrângerilor asociate cu modelul înregistrat (supplied_baseline_statistics_data_quality
și supplied_baseline_constraints_data_quality
) și omiteți crearea sau înregistrarea de noi statistici de date și linii de bază pentru constrângeri în timpul inferenței. Următoarea figură ilustrează o rulare a conductei de inferență în lot în care pasul de verificare a calității datelor a eșuat din cauza performanței slabe a modelului asupra datelor de inferență. În acest caz particular, antrenamentul cu conducta HPO va fi declanșat automat pentru a ajusta modelul.
Instruire cu conducta HPO
Instruirea cu conducta HPO este compusă din următorii pași:
- Etapa de preprocesare (transformarea și codificarea caracteristicilor)
- Etapa de verificare a calității datelor pentru generarea statisticilor datelor și a constrângerilor de bază folosind datele de antrenament
- Etapa de reglare hiperparametrică
- Etapa de evaluare a antrenamentului
- Pas de condiție pentru a verifica dacă modelul antrenat îndeplinește un prag de precizie prespecificat
- Etapa de înregistrare a modelului dacă modelul cel mai bine instruit îndeplinește pragul de precizie cerut
Amandoua skip_check_data_quality
și register_new_baseline_data_quality
parametrii sunt setati la True
în curs de formare cu pipeline HPO. Următoarea figură ilustrează o desfășurare de succes a instruirii cu conducta HPO.
A curăța
Parcurgeți următorii pași pentru a vă curăța resursele:
- Angajați
destroy
etapa din pipeline GitLab CI/CD pentru a elimina toate resursele furnizate de Terraform. - Utilizați AWS CLI pentru a listă și scoate orice conducte rămase care sunt create de scripturile Python.
- Opțional, ștergeți alte resurse AWS, cum ar fi compartimentul S3 sau rolul IAM creat în afara conductei CI/CD.
Concluzie
În această postare, am demonstrat cum întreprinderile pot crea fluxuri de lucru MLOps pentru joburile lor de inferență în loturi folosind Amazon SageMaker, Amazon EventBridge, AWS Lambda, Amazon SNS, HashiCorp Terraform și GitLab CI/CD. Fluxul de lucru prezentat automatizează monitorizarea datelor și a modelului, reinstruirea modelului, precum și rulările loturilor de joburi, versiunea codului și furnizarea infrastructurii. Acest lucru poate duce la reduceri semnificative ale complexităților și costurilor menținerii sarcinilor de inferență pe lot în producție. Pentru mai multe informații despre detaliile de implementare, consultați GitHub repo.
Despre Autori
Hasan Shojaei este un Data Scientist senior cu AWS Professional Services, unde ajută clienții din diferite industrii, cum ar fi sportul, asigurările și serviciile financiare, să-și rezolve provocările de afaceri prin utilizarea datelor mari, a învățării automate și a tehnologiilor cloud. Înainte de acest rol, Hasan a condus mai multe inițiative pentru a dezvolta tehnici noi de modelare bazate pe fizică și bazate pe date pentru companii de top energetic. În afara muncii, Hasan este pasionat de cărți, drumeții, fotografie și istorie.
Wenxin Liu este un arhitect senior al infrastructurii cloud. Wenxin sfătuiește companiile întreprinderilor despre cum să accelereze adoptarea cloud-ului și sprijină inovațiile lor pe cloud. Este un iubitor de animale de companie și este pasionat de snowboard și călătorii.
Vivek Lakshmanan este inginer de învățare automată la Amazon. Are un master în Inginerie Software cu specializare în Data Science și câțiva ani de experiență ca MLE. Vivek este încântat să aplice tehnologii de ultimă oră și să creeze soluții AI/ML pentru clienții pe cloud. Este pasionat de Statistică, NLP și Model Explainability în AI/ML. În timpul liber, îi place să joace cricket și să facă excursii.
Andy Cracchiolo este arhitect de infrastructură cloud. Cu peste 15 ani în infrastructura IT, Andy este un profesionist IT realizat și orientat spre rezultate. Pe lângă optimizarea infrastructurii IT, operațiunilor și automatizării, Andy are o experiență dovedită în analiza operațiunilor IT, identificarea inconsecvențelor și implementarea îmbunătățirilor de proces care cresc eficiența, reduc costurile și măresc profiturile.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- ChartPrime. Crește-ți jocul de tranzacționare cu ChartPrime. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: 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/
- :are
- :este
- :nu
- :Unde
- $UP
- 100
- 125
- 13
- ani 15
- 15%
- 26%
- 29
- 500
- 7
- a
- Despre Noi
- accelera
- acces
- realizat
- Cont
- Conturi
- precizie
- peste
- curent
- adăugat
- adăugare
- plus
- Suplimentar
- adresa
- Adoptare
- împotriva
- AI / ML
- TOATE
- permite
- de-a lungul
- de asemenea
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- analiza
- și
- și infrastructură
- Orice
- api
- aplicație
- Dezvoltare de Aplicații
- Aplicarea
- abordare
- adecvat
- aprobare
- aprobări
- aproba
- aprobat
- arhitectură
- SUNT
- AS
- aspecte
- asociate
- At
- auditabilitate
- autoriza
- Auto
- automate
- Automat
- în mod automat
- Automatizare
- disponibil
- AWS
- AWS Lambdas
- Servicii profesionale AWS
- bazat
- De bază
- BE
- deoarece
- fost
- înainte
- beneficia
- CEL MAI BUN
- Cele mai bune practici
- Mare
- Datele mari
- bord
- corp
- Manuale
- atât
- Branch firma
- Clădire
- construit
- afaceri
- by
- calculează
- calcul
- apel
- apel
- CAN
- caz
- central
- provocări
- provocare
- Schimbare
- Modificări
- schimbarea
- verifica
- control
- Verificări
- clasificare
- Cloud
- adoptarea norului
- infrastructura cloud
- cod
- Coloane
- Companii
- compararea
- Completă
- complexități
- conformitate
- compuse
- concept
- Configuraţie
- conjuncție
- constrângeri
- conține
- continuu
- Control
- controale
- Convenție
- Cheltuieli
- ar putea
- crea
- a creat
- creează
- Crearea
- creaţie
- crichet
- personalizat
- clienţii care
- ultima generație
- de date
- știința datelor
- om de știință de date
- Pe bază de date
- declară
- Mod implicit
- definit
- defineste
- Grad
- livrare
- demonstra
- demonstrat
- implementa
- dislocate
- Implementarea
- descrie
- Amenajări
- detaliu
- detalii
- detectat
- dezvolta
- Dezvoltare
- diferit
- direcţie
- direct
- directoare
- descopera
- discuta
- Docher
- face
- Nu
- două
- în timpul
- fiecare
- mai ușor
- în mod eficient
- eficiență
- eficient
- oricare
- elimina
- Angajat
- energie
- inginer
- Inginerie
- îmbunătățiri
- asigura
- asigurare
- Afacere
- Companii
- Întreg
- Mediu inconjurator
- eroare
- evaluare
- eveniment
- exemplu
- depășește
- excitat
- execuție
- existent
- experienţă
- f1
- FAIL
- A eșuat
- eșuează
- Caracteristică
- Figura
- Fișier
- Fişiere
- financiar
- Servicii financiare
- First
- fixată
- următor
- Pentru
- format
- găsit
- din
- funcţie
- funcții
- porti
- General
- generată
- generator
- merge
- GitHub
- Go
- merge
- mai mare
- Teren
- grup
- îndrumare
- mână
- Manipularea
- Avea
- he
- ajută
- lui
- istorie
- Cum
- Cum Pentru a
- HTML
- http
- HTTPS
- Optimizarea hiperparametrului
- ID
- identificarea
- Identitate
- if
- ilustrează
- implementarea
- Punere în aplicare a
- in
- include
- include
- Inclusiv
- Crește
- independent
- independent
- indică
- individ
- industrii
- informații
- Infrastructură
- inițiative
- inovații
- intrare
- intrări
- asigurare
- integrare
- interactiv
- în
- introduce
- probleme de
- IT
- ESTE
- Loc de munca
- Locuri de munca
- jpg
- JSON
- doar
- Cheie
- etichete
- Ultimele
- conduce
- învăţare
- Led
- ciclu de viață
- Linie
- Listă
- local
- log
- maşină
- masina de învățare
- Principal
- Mentine
- face
- administra
- administrare
- de conducere
- manual
- manual
- marcat
- studii de masterat
- material
- Întâlni
- se intalneste
- mesaj
- mesaje
- metric
- Metrici
- ML
- MLOps
- model
- modelare
- Modele
- modifica
- Monitorizarea
- mai mult
- multiplu
- Numit
- denumire
- necesar
- Nevoie
- necesar
- nevoilor
- rețele
- Nou
- recent
- nlp
- Nu.
- notificare
- notificări
- roman
- obiect
- obține
- obținerea
- of
- oferind
- promoții
- de multe ori
- on
- cele
- afară
- operaţie
- Operațiuni
- optimizare
- optimizarea
- or
- comandă
- organizații
- Organizat
- original
- Altele
- producție
- exterior
- pachet
- ofertele
- perechi
- parametrii
- parte
- special
- trece
- pasionat
- cale
- Efectua
- performanță
- efectuată
- fotografie
- conducte
- plan
- planificat
- Plato
- Informații despre date Platon
- PlatoData
- joc
- Punct
- sărac
- Post
- practicile
- Predictii
- Se pregătește
- premise
- prezenta
- prezentat
- anterior
- Problemă
- continua
- proces
- Procesat
- producere
- profesional
- profiturile
- Promovat
- propus
- dovedit
- prevăzut
- furnizează
- furnizarea
- Trage
- Împinge
- Piton
- calitate
- Crud
- Citeste
- Citind
- primește
- primire
- recent
- record
- reduce
- reducerea
- cu privire la
- Inregistreaza-te
- înregistrată
- înregistrare
- registre
- Înscriere
- registru
- regulat
- rămas
- repetabil
- Rapoarte
- depozit
- reprezintă
- necesar
- Cerinţe
- Necesită
- Resurse
- respectiv
- respectiv
- responsabil
- REZULTATE
- relua
- reutilizabile
- revizuiască
- drum
- Rol
- norme
- Alerga
- alergător
- funcţionare
- ruleaza
- sagemaker
- SageMaker Inference
- Conducte SageMaker
- scalabilitate
- programa
- programare
- Ştiinţă
- Om de stiinta
- scor
- script-uri
- sdk
- Secțiune
- trimite
- trimitere
- trimite
- servi
- servește
- Servicii
- set
- configurarea
- câteva
- comun
- să
- indicat
- Emisiuni
- semnificativ
- simplu
- singur
- Software
- Inginerie software
- soluţie
- soluţii
- REZOLVAREA
- Surse
- Sourcing
- specific
- specificată
- Sportul
- Etapă
- înscenare
- Începe
- Pornire
- Stat
- statistică
- Stare
- Pas
- paşi
- depozitare
- stoca
- stocarea
- Strategie
- structural
- studio
- de succes
- Reușit
- astfel de
- Costum
- De sprijin
- Sprijină
- tabel
- TAG
- luare
- Ţintă
- Sarcină
- echipă
- tehnici de
- Tehnologii
- șablon
- Terraform
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- astfel
- Acestea
- ei
- acest
- trei
- prag
- Prin
- timp
- la
- Unelte
- top
- subiecte
- urmări
- istoric
- dresat
- Pregătire
- Transformare
- transparent
- Traveling
- declanşa
- a declanșat
- Adevăr
- ÎNTORCĂ
- Două
- tip
- tipic
- ui
- în
- subliniere
- Actualizează
- actualizarea
- încărcat
- Se încarcă
- utilizare
- utilizat
- Utilizator
- utilizări
- folosind
- folosi
- utilizate
- valoare
- variabil
- verifica
- versiune
- Versiunile
- de
- ÎNCĂLCARE
- de avertizare
- Cale..
- modalități de
- we
- web
- servicii web
- BINE
- cand
- dacă
- care
- în timp ce
- OMS
- voi
- cu
- în
- Apartamente
- flux de lucru
- fluxuri de lucru
- de lucru
- yaml
- ani
- încă
- Tu
- Ta
- zephyrnet