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 folosindProcessingStep
. - Înregistrați modelul ML la Registrul modelului SageMaker folosind
ModelStep
, dacă valoarea de evaluare obținută anterior depășește un prag predefinit înConditionStep
. - 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.
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.
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:
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:
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.
Puteți vizualiza raportul de explicabilitate pe Explicabilitate pentru a înțelege predicțiile modelului dvs.
Pentru a vizualiza experimentul Autopilot de bază pentru toate modelele create în AutoMLStep
, navigați la AutoML pagina și alegeți numele jobului.
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
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.
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.
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.
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.
- Avansat (300)
- AI
- ai art
- ai art generator
- ai robot
- Amazon SageMaker
- Pilot automat cu Amazon SageMaker
- Pipelines Amazon SageMaker
- inteligență artificială
- certificare de inteligență artificială
- inteligența artificială în domeniul bancar
- robot cu inteligență artificială
- roboți cu inteligență artificială
- software de inteligență artificială
- Învățare automată AWS
- blockchain
- conferință blockchain ai
- coingenius
- inteligența artificială conversațională
- criptoconferință ai
- dall-e
- învățare profundă
- google ai
- masina de învățare
- MLOps
- Plato
- platoul ai
- Informații despre date Platon
- Jocul lui Platon
- PlatoData
- platogaming
- scara ai
- sintaxă
- zephyrnet