Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps

Pilot automat cu Amazon SageMaker, un serviciu de învățare automată (ML) low-code care creează, antrenează și ajustează automat cele mai bune modele ML pe baza datelor tabulare, este acum integrat cu Pipelines Amazon SageMaker, primul serviciu de integrare continuă și livrare continuă (CI/CD) conceput special pentru ML. Acest lucru permite automatizarea unui flux end-to-end de construire a modelelor ML folosind Autopilot și integrarea modelelor în etapele CI/CD ulterioare.

Până acum, pentru a lansa un experiment Autopilot în Pipelines, trebuie să construiți un flux de lucru pentru crearea de modele prin scrierea unui cod de integrare personalizat cu Pipelines. Lambda or Prelucrare trepte. Pentru mai multe informații, vezi Mutați modelele Amazon SageMaker Autopilot ML de la experimentare la producție folosind Amazon SageMaker Pipelines.

Cu suportul pentru Autopilot ca pas nativ în Pipelines, acum puteți adăuga un pas de antrenament automat (AutoMLStep) în Pipelines și invocați un experiment Autopilot cu Modul de antrenament de ansamblu. De exemplu, dacă construiți un flux de lucru ML de instruire și evaluare pentru un caz de utilizare de detectare a fraudei cu Pipelines, acum puteți lansa un experiment Autopilot utilizând pasul AutoML, care rulează automat mai multe încercări pentru a găsi cel mai bun model pentru un anumit set de date de intrare. . După ce cel mai bun model este creat folosind Pasul modelului, performanța sa poate fi evaluată pe datele de testare folosind Pasul de transformare și Etapa de procesare pentru un script de evaluare personalizat în Pipelines. În cele din urmă, modelul poate fi înregistrat în registrul de modele SageMaker folosind Pasul modelului în combinație cu a Etapa de condiție.

În această postare, arătăm cum să creați un flux de lucru ML end-to-end pentru a antrena și evalua un model ML generat de SageMaker utilizând pasul AutoML recent lansat în Pipelines și înregistrați-l în registrul modelului SageMaker. Modelul ML cu cea mai bună performanță poate fi implementat la un punct final SageMaker.

Prezentare generală a setului de date

Folosim cele disponibile publicului Setul de date privind venitul recensământului pentru adulți UCI din 1994 to predict if a person has an annual income of greater than $50,000 per year. This is a binary classification problem; the options for the income target variable are either 50K.

Setul de date conține 32,561 de rânduri pentru instruire și validare și 16,281 de rânduri pentru testare cu 15 coloane fiecare. Aceasta include informații demografice despre indivizi și class ca coloană țintă care indică clasa de venit.

Nume coloană Descriere
vârstă Continuu
clasa de lucru Privat, Self-emp-not-inc, Self-emp-inc, Federal-guv, Local-guv, State-guv, Fără plată, Niciodată lucrat
fnlwgt Continuu
educaţie Licență, oarecare facultate, a XI-a, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, a 11-a, 9-7-a, 8, Masterat, 12-1, 4, Doctorat, 10-5, Preșcolar
educație-num Continuu
starea civilă Soț-civ-căsătorit, divorțat, niciodată căsătorit, separat, văduv, soț-căsătorit-absent, căsătorit-soț-AF
ocupație Asistență tehnică, Reparații artizanale, Alte servicii, Vânzări, Director executiv, Specialitate Prof, Curățători manipulatori, Inspecție operațională, Adm-clerical, Agricultură-pescuit, Transport-mutare, Priv-house-serv, Serviciul de protecție, Forțele Armate
relaţie Soție, propriul copil, soț, nu în familie, alt rudă, necăsătorit
rasă Alb, Asia-Pac-Islander, Amer-Indian-Eskimo, Altele, Negru
sex Femeie barbat
câștig de capital Continuu
pierderi de capital Continuu
ore pe săptămână Continuu
tara de origine Statele Unite ale Americii, Cambodgia, Anglia, Puerto-Rico, Canada, Germania, SUA periferice (Guam-USVI-etc), India, Japonia, Grecia, Sud, China, Cuba, Iran, Honduras, Filipine, Italia, Polonia, Jamaica , Vietnam, Mexic, Portugalia, Irlanda, Franța, Republica Dominicană, Laos, Ecuador, Taiwan, Haiti, Columbia, Ungaria, Guatemala, Nicaragua, Scoția, Thailanda, Iugoslavia, El-Salvador, Trinadad și Tobago, Peru, Hong, Olanda-Țările de Jos
clasă Income class, either 50K

Prezentare generală a soluțiilor

Folosim Pipelines pentru a orchestra diferite trepte de conductă necesare pentru antrenarea unui model de pilot automat. Creăm și rulăm un Experiment cu pilot automat ca parte a unui pas AutoML, așa cum este descris în acest tutorial.

Următorii pași sunt necesari pentru acest proces de instruire de la capăt la cap la pilot automat:

  • Creați și monitorizați un job de antrenament Autopilot folosind AutoMLStep.
  • Creați un model SageMaker folosind ModelStep. Acest pas preia cele mai bune metadate și artefacte ale modelului redate de Autopilot în pasul anterior.
  • Evaluați modelul Autopilot antrenat pe un set de date de testare folosind TransformStep.
  • Comparați rezultatul din rularea anterioară TransformStep cu etichetele țintă reale folosind ProcessingStep.
  • Înregistrați modelul ML la Registrul modelului SageMaker folosind ModelStep, dacă valoarea de evaluare obținută anterior depășește un prag predefinit în ConditionStep.
  • Implementați modelul ML ca punct final SageMaker în scopuri de testare.

Arhitectură

Diagrama de arhitectură de mai jos ilustrează diferiții pași ai conductei necesari pentru a împacheta toți pașii într-o conductă de instruire SageMaker Autopilot reproductibilă, automatizată și scalabilă. Fișierele de date sunt citite din bucket-ul S3 și pașii conductei sunt apelați secvențial.

walkthrough

Această postare oferă o explicație detaliată a pașilor conductei. Examinăm codul și discutăm componentele fiecărui pas. Pentru a implementa soluția, consultați exemplu caiet, care oferă instrucțiuni pas cu pas pentru implementarea unui flux de lucru Autopilot MLOps folosind Pipelines.

Cerințe preliminare

Completați următoarele cerințe preliminare:

Când setul de date este gata de utilizare, trebuie să setăm Pipelines pentru a stabili un proces repetabil pentru a construi și antrena automat modele ML folosind Autopilot. Noi folosim SageMaker SDK pentru a defini, rula și urmări în mod programatic un canal de instruire ML de la capăt la capăt.

Etapele conductei

În secțiunile următoare, parcurgem diferiții pași din pipeline SageMaker, inclusiv antrenamentul AutoML, crearea modelului, inferența în loturi, evaluarea și înregistrarea condiționată a celui mai bun model. Următoarea diagramă ilustrează întregul debit al conductei.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pasul de antrenament AutoML

An obiect AutoML este utilizat pentru a defini rularea jobului de antrenament Autopilot și poate fi adăugat la pipeline SageMaker utilizând AutoMLStep clasa, așa cum se arată în codul următor. Modul de antrenament de ansamblu trebuie specificat, dar alți parametri pot fi ajustați după cum este necesar. De exemplu, în loc să lași jobul AutoML să deducă automat ML tip de problemă și metrica obiectivă, acestea ar putea fi codificate prin specificarea problem_type și job_objective parametrii trecuți obiectului AutoML.

automl = AutoML(
    role=execution_role,
    target_attribute_name=target_attribute_name,
    sagemaker_session=pipeline_session,
    total_job_runtime_in_seconds=max_automl_runtime,
    mode="ENSEMBLING",
)
train_args = automl.fit(
    inputs=[
        AutoMLInput(
            inputs=s3_train_val,
            target_attribute_name=target_attribute_name,
            channel_type="training",
        )
    ]
)
step_auto_ml_training = AutoMLStep(
    name="AutoMLTrainingStep",
    step_args=train_args,
)

Etapa de creare a modelului

Pasul AutoML are grijă de generarea diverșilor candidați de model ML, combinarea acestora și obținerea celui mai bun model ML. Artefactele și metadatele modelului sunt stocate automat și pot fi obținute apelând la get_best_auto_ml_model() metoda pe pasul de antrenament AutoML. Acestea pot fi apoi folosite pentru a crea un model SageMaker ca parte a pasului Model:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model(
    execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

Transformarea lotului și etapele de evaluare

Noi folosim Obiect transformator pentru inferență în lot pe setul de date de testare, care poate fi apoi utilizat în scopuri de evaluare. Predicțiile de ieșire sunt comparate cu etichetele de adevăr reale sau de bază folosind o funcție de metrică Scikit-learn. Evaluăm rezultatele noastre pe baza Scor F1. Valorile de performanță sunt salvate într-un fișier JSON, care este referit la înregistrarea modelului în pasul următor.

Etape de înregistrare condiționată

În acest pas, înregistrăm noul nostru model Autopilot în registrul de modele SageMaker, dacă depășește pragul de evaluare predefinit.

Creați și rulați conducta

După ce definim pașii, îi combinăm într-o conductă SageMaker:

pipeline = Pipeline(
    name="AutoMLTrainingPipeline",
    parameters=[
        instance_count,
        instance_type,
        max_automl_runtime,
        model_approval_status,
        model_package_group_name,
        model_registration_metric_threshold,
        s3_bucket,
        target_attribute_name,
    ],
    steps=[
        step_auto_ml_training,
        step_create_model,
        step_batch_transform,
        step_evaluation,
        step_conditional_registration,
    ],
    sagemaker_session=pipeline_session,
)

Pașii sunt executați în ordine secvențială. Conducta rulează toți pașii pentru un job AutoML folosind Autopilot și Pipelines pentru instruire, evaluarea modelului și înregistrarea modelului.

Puteți vizualiza noul model navigând la registrul modelului de pe consola Studio și deschizând AutoMLModelPackageGroup. Alegeți orice versiune a unui job de formare pentru a vedea valorile obiective pe Calitate model tab.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Puteți vizualiza raportul de explicabilitate pe Explicabilitate pentru a înțelege predicțiile modelului dvs.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pentru a vizualiza experimentul Autopilot de bază pentru toate modelele create în AutoMLStep, navigați la AutoML pagina și alegeți numele jobului.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Implementați modelul

După ce am revizuit manual performanța modelului ML, putem implementa modelul nostru nou creat la un punct final SageMaker. Pentru aceasta, putem rula celulele din blocnotes care creează punctul final al modelului utilizând configurația modelului salvată în registrul modelului SageMaker.

Rețineți că acest script este partajat în scopuri demonstrative, dar este recomandat să urmați o conductă CI/CD mai robustă pentru implementarea în producție pentru inferența ML. Pentru mai multe informații, consultați Construirea, automatizarea, gestionarea și scalarea fluxurilor de lucru ML folosind Amazon SageMaker Pipelines.

Rezumat

Această postare descrie o abordare ML ușor de utilizat pentru a antrena automat modele ML tabelare (AutoML) folosind Autopilot, Pipelines și Studio. AutoML îmbunătățește eficiența practicienilor ML, accelerând calea de la experimentarea ML la producție, fără a fi nevoie de o expertiză extinsă ML. Prezintăm pașii respectivi necesari pentru crearea, evaluarea și înregistrarea modelului ML. Începeți prin a încerca exemplu caiet pentru a antrena și a implementa propriile modele personalizate AutoML.

Pentru mai multe informații despre Autopilot și Pipelines, consultați Automatizați dezvoltarea modelului cu Amazon SageMaker Autopilot și Pipelines Amazon SageMaker.

Mulțumiri speciale tuturor celor care au contribuit la lansare: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu și Dewen Qi.


Despre Autori

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Janisha Anand este Senior Product Manager în echipa SageMaker Low/No Code ML, care include SageMaker Autopilot. Îi place cafeaua, să rămână activă și să petreacă timpul cu familia ei.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Marcelo Aberle este inginer ML la AWS AI. El ajuta Laboratorul Amazon ML Solutions clienții construiesc sisteme și cadre ML(-Ops) scalabile. În timpul liber, îi place drumețiile și ciclismul în zona golfului San Francisco.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Geremy Cohen este arhitect de soluții cu AWS, unde îi ajută pe clienți să construiască soluții de ultimă oră, bazate pe cloud. În timpul liber, se bucură de plimbări scurte pe plajă, de a explora zona golfului împreună cu familia, de a repara lucrurile prin casă, de a sparge lucrurile din jurul casei și de a face grătar.

Lansați experimente Amazon SageMaker Autopilot direct din Amazon SageMaker Pipelines pentru a automatiza cu ușurință fluxurile de lucru MLOps PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Shenghua Yue este inginer de dezvoltare software la Amazon SageMaker. Ea se concentrează pe construirea de instrumente și produse ML pentru clienți. În afara serviciului, îi place în aer liber, yoga și drumeții.

Timestamp-ul:

Mai mult de la Învățare automată AWS