Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pregătirea unificată a datelor, formarea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2

În funcție de calitatea și complexitatea datelor, oamenii de știință de date își petrec între 45-80% din timp pe sarcini de pregătire a datelor. Acest lucru implică faptul că pregătirea și curățarea datelor iau timp prețios departe de munca reală în domeniul științei datelor. După ce un model de învățare automată (ML) este antrenat cu date pregătite și pregătit pentru implementare, oamenii de știință din date trebuie adesea să rescrie transformările de date utilizate pentru pregătirea datelor pentru inferența ML. Acest lucru poate prelungi timpul necesar pentru implementarea unui model util care poate deduce și nota datele din forma și forma brută.

În partea 1 a acestei serii, am demonstrat cum Data Wrangler permite a pregătirea unificată a datelor și formarea modelului experiență cu Pilot automat cu Amazon SageMaker în doar câteva clicuri. În această a doua și ultima parte a acestei serii, ne concentrăm pe o caracteristică care include și reutiliza Amazon SageMaker Data Wrangler transformări, cum ar fi imputatoarele de valori lipsă, codificatoarele ordinale sau one-hot și multe altele, împreună cu modelele Autopilot pentru inferența ML. Această caracteristică permite preprocesarea automată a datelor brute cu reutilizarea transformărilor caracteristicii Data Wrangler în momentul deducerii, reducând și mai mult timpul necesar pentru implementarea unui model antrenat în producție.

Prezentare generală a soluțiilor

Data Wrangler reduce timpul de agregare și pregătire a datelor pentru ML de la săptămâni la minute, iar Autopilot construiește, antrenează și ajustează automat cele mai bune modele ML pe baza datelor dvs. Cu Autopilot, păstrați în continuare controlul și vizibilitatea deplină asupra datelor și modelului dvs. Ambele servicii sunt create special pentru a face practicienii ML mai productivi și pentru a accelera timpul de valorificare.

Următoarea diagramă ilustrează arhitectura soluției noastre.

Cerințe preliminare

Deoarece această postare este a doua dintr-o serie de două părți, asigurați-vă că ați citit și implementat cu succes Partea 1 înainte de a continua.

Exportați și antrenați modelul

În partea 1, după pregătirea datelor pentru ML, am discutat despre cum puteți folosi experiența integrată în Data Wrangler pentru a analiza seturi de date și a construi cu ușurință modele ML de înaltă calitate în Autopilot.

De data aceasta, folosim din nou integrarea Autopilot pentru a antrena un model cu același set de date de antrenament, dar în loc să efectuăm inferențe în bloc, efectuăm inferențe în timp real împotriva unui Amazon SageMaker punctul final de inferență care este creat automat pentru noi.

Pe lângă confortul oferit de implementarea automată a punctelor finale, demonstrăm cum puteți implementa și cu toate transformările caracteristicii Data Wrangler ca o conductă de inferență serială SageMaker. Acest lucru permite preprocesarea automată a datelor brute cu reutilizarea transformărilor caracteristicii Data Wrangler în momentul deducerii.

Rețineți că această caracteristică este în prezent acceptată numai pentru fluxurile Data Wrangler care nu utilizează transformări de unire, grupare prin, concatenare și serie de timp.

Putem folosi noua integrare Data Wrangler cu Autopilot pentru a antrena direct un model din interfața de utilizare a fluxului de date Data Wrangler.

  1. Alegeți semnul plus de lângă Valori la scară nod și alegeți Model de tren.
  2. Pentru Locație Amazon S3, specifică Serviciul Amazon de stocare simplă (Amazon S3) locație în care SageMaker vă exportă datele.
    Dacă este prezentat implicit cu o cale rădăcină, Data Wrangler creează un subdirector unic de export sub acesta — nu trebuie să modificați această cale rădăcină implicită decât dacă doriți. Autopilot utilizează această locație pentru a antrena automat un model, salvându-vă astfel. timpul de la definirea locației de ieșire a fluxului Data Wrangler și apoi definirea locației de intrare a datelor de antrenament Autopilot. Acest lucru asigură o experiență mai simplă.
  3. Alege Exportați și antrenați pentru a exporta datele transformate pe Amazon S3.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
    Când exportul are succes, sunteți redirecționat către Creați un experiment Autopilot pagina, cu Date de intrare Locația S3 a fost deja completată pentru dvs. (a fost populată din rezultatele paginii anterioare).
  4. Pentru Numele experimentului, introduceți un nume (sau păstrați numele implicit).
  5. Pentru Ţintă, alege Rezultat ca coloană pe care doriți să o preziceți.
  6. Alege Următorul: Metoda de antrenament.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

După cum este detaliat în postare Amazon SageMaker Autopilot este de până la opt ori mai rapid cu noul mod de antrenament al ansamblului alimentat de AutoGluon, puteți fie să-l lăsați pe Autopilot să selecteze automat modul de antrenament în funcție de dimensiunea setului de date, fie să selectați manual modul de antrenament pentru asamblare sau optimizare hiperparametrică (HPO).

Detaliile fiecărei opțiuni sunt următoarele:

  • Auto – Autopilot alege automat fie modul de ansamblu, fie modul HPO în funcție de dimensiunea setului de date. Dacă setul de date este mai mare de 100 MB, Autopilot alege HPO; altfel alege asamblarea.
  • Ansamblu – Pilotul automat folosește AutoGluon tehnica de asamblare pentru a antrena mai multe modele de bază și pentru a combina predicțiile acestora folosind stivuirea modelelor într-un model predictiv optim.
  • Optimizarea hiperparametrului – Autopilot găsește cea mai bună versiune a unui model prin reglarea hiperparametrilor utilizând tehnica de optimizare Bayesiană și rulând joburi de antrenament pe setul de date. HPO selectează algoritmii cei mai relevanți pentru setul dvs. de date și alege cea mai bună gamă de hiperparametri pentru a regla modelele. Pentru exemplul nostru, lăsăm selecția implicită a Auto.
  1. Alege Următorul: Implementare și setări avansate pentru a continua.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  2. Pe Implementare și setări avansate pagina, selectați o opțiune de implementare.
    Este important să înțelegeți mai detaliat opțiunile de implementare; ceea ce alegem va influența dacă transformările pe care le-am făcut mai devreme în Data Wrangler vor fi incluse sau nu în conducta de inferență:
    • Implementează automat cel mai bun model cu transformări de la Data Wrangler – Cu această opțiune de implementare, atunci când pregătiți date în Data Wrangler și antrenați un model invocând Autopilot, modelul antrenat este implementat împreună cu toate transformările caracteristicii Data Wrangler ca un Conducta de inferență în serie SageMaker. Acest lucru permite preprocesarea automată a datelor brute cu reutilizarea transformărilor caracteristicii Data Wrangler în momentul deducerii. Rețineți că punctul final de inferență se așteaptă ca formatul datelor dvs. să fie în același format ca atunci când este importat în fluxul Data Wrangler.
    • Implementează automat cel mai bun model fără transformări din Data Wrangler – Această opțiune implementează un punct final în timp real care nu utilizează transformări Data Wrangler. În acest caz, trebuie să aplicați transformările definite în fluxul Data Wrangler la datele dumneavoastră înainte de a deduce.
    • Nu implementați automat cel mai bun model – Ar trebui să utilizați această opțiune atunci când nu doriți să creați deloc un punct final de inferență. Este util dacă doriți să generați cel mai bun model pentru utilizare ulterioară, cum ar fi inferența în bloc executată local. (Aceasta este opțiunea de implementare pe care am selectat-o ​​în partea 1 a seriei.) Rețineți că atunci când selectați această opțiune, modelul creat (din cel mai bun candidat al Autopilot prin intermediul SDK-ului SageMaker) include transformarea caracteristicii Data Wrangler ca o conductă de inferență serială SageMaker.

    Pentru această postare, folosim Implementează automat cel mai bun model cu transformări de la Data Wrangler opțiune.

  3. Pentru Opțiune de implementare, Selectați Implementează automat cel mai bun model cu transformări de la Data Wrangler.
  4. Lăsați celelalte setări ca implicite.
  5. Alege Următorul: Examinați și creați pentru a continua.
    Pe Examinați și creați pagina, vedem un rezumat al setărilor alese pentru experimentul nostru Autopilot.
  6. Alege Creați experiment pentru a începe procesul de creare a modelului.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Sunteți redirecționat către pagina cu descrierea postului Autopilot. Modelele apar pe modele fila pe măsură ce sunt generate. Pentru a confirma că procesul este finalizat, accesați Profilul postului filă și căutați a Completed valoare pentru Stare camp.

Puteți reveni oricând la această pagină cu descrierea postului Autopilot de la Amazon SageMaker Studio:

  1. Alege Experimente și încercări pe Resurse SageMaker meniul derulant.
  2. Selectați numele jobului Autopilot pe care l-ați creat.
  3. Alegeți (clic dreapta) experimentul și alegeți Descrieți jobul AutoML.

Vizualizați instruirea și implementarea

Când Autopilot finalizează experimentul, putem vizualiza rezultatele antrenamentului și putem explora cel mai bun model din pagina cu fișa postului Autopilot.

Alegeți (clic dreapta) modelul etichetat Cel mai bun modelși alegeți Deschideți în detaliile modelului.

Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Performanţă fila afișează mai multe teste de măsurare model, inclusiv o matrice de confuzie, aria de sub curba de precizie/rechemare (AUCPR) și aria de sub curba caracteristică de funcționare a receptorului (ROC). Acestea ilustrează performanța generală de validare a modelului, dar nu ne spun dacă modelul se va generaliza bine. Încă trebuie să rulăm evaluări pe date de testare nevăzute pentru a vedea cât de exact modelul face predicții (pentru acest exemplu, anticipăm dacă o persoană va avea diabet).

Efectuați inferență față de punctul final în timp real

Creați un nou blocnotes SageMaker pentru a efectua inferențe în timp real pentru a evalua performanța modelului. Introduceți următorul cod într-un blocnotes pentru a rula inferențe în timp real pentru validare:

import boto3

### Define required boto3 clients

sm_client = boto3.client(service_name="sagemaker")
runtime_sm_client = boto3.client(service_name="sagemaker-runtime")

### Define endpoint name

endpoint_name = ""

### Define input data

payload_str = '5,166.0,72.0,19.0,175.0,25.8,0.587,51'
payload = payload_str.encode()
response = runtime_sm_client.invoke_endpoint(
    EndpointName=endpoint_name,
    ContentType="text/csv",
    Body=payload,
)

response["Body"].read()

După ce ați configurat codul pentru a rula în notebook, trebuie să configurați două variabile:

  • endpoint_name
  • payload_str

Configurați endpoint_name

endpoint_name reprezintă numele punctului final de inferență în timp real pe care implementarea l-a creat automat pentru noi. Înainte de a-l seta, trebuie să-i găsim numele.

  1. Alege Puncte finale pe Resurse SageMaker meniul derulant.
  2. Găsiți numele punctului final care are numele jobului Autopilot pe care l-ați creat cu un șir aleator atașat acestuia.
  3. Alegeți (clic dreapta) experimentul și alegeți Descrieți punctul final.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
    Detalii punct final apare pagina.
  4. Evidențiați numele complet al punctului final și apăsați Ctrl + C pentru a-l copia în clipboard.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  5. Introduceți această valoare (asigurați-vă că este citată) pentru endpoint_name în caietul de inferențe.
    Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Configurați payload_str

Notebook-ul vine cu un șir implicit de sarcină utilă payload_str pe care îl puteți folosi pentru a vă testa punctul final, dar nu ezitați să experimentați cu diferite valori, cum ar fi cele din setul de date de testare.

Pentru a extrage valori din setul de date de testare, urmați instrucțiunile din Partea 1 pentru a exporta setul de date de testare pe Amazon S3. Apoi, pe consola Amazon S3, îl puteți descărca și selecta rândurile pentru a utiliza fișierul din Amazon S3.

Fiecare rând din setul de date de testare are nouă coloane, ultima coloană fiind outcome valoare. Pentru acest cod de notebook, asigurați-vă că utilizați doar un singur rând de date (niciodată un antet CSV) pentru payload_str. De asemenea, asigurați-vă că trimiteți doar un payload_str cu opt coloane, unde ați eliminat valoarea rezultatului.

De exemplu, dacă fișierele setului de date de testare arată ca următorul cod și dorim să realizăm inferența în timp real a primului rând:

Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome 
10,115,0,0,0,35.3,0.134,29,0 
10,168,74,0,0,38.0,0.537,34,1 
1,103,30,38,83,43.3,0.183,33,0

Noi am stabilit payload_str la 10,115,0,0,0,35.3,0.134,29. Observați cum am omis outcome Valoarea 0 la sfarsit.

Dacă, întâmplător, valoarea țintă a setului de date nu este prima sau ultima valoare, eliminați doar valoarea cu structura virgulă intactă. De exemplu, să presupunem că predicăm bara și setul nostru de date arată ca următorul cod:

foo,bar,foobar
85,17,20

În acest caz, stabilim payload_str la 85,,20.

Când notebook-ul este rulat cu configurația corectă payload_str și endpoint_name valori, veți primi un răspuns CSV înapoi în formatul de outcome (0 sau 1), confidence (0-1).

A curăța

Pentru a vă asigura că nu suportați taxe legate de tutorial după finalizarea acestui tutorial, asigurați-vă că închideți aplicația Data Wrangler (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), precum și toate instanțele de notebook utilizate pentru a efectua sarcini de inferență. Punctele finale de inferență create prin implementarea Auto Pilot ar trebui șterse pentru a preveni și costuri suplimentare.

Concluzie

În această postare, am demonstrat cum să vă integrați procesarea datelor, incluzând inginerie și crearea de modele folosind Data Wrangler și Autopilot. Bazându-ne pe partea 1 a seriei, am evidențiat modul în care puteți antrena, regla și implementa cu ușurință un model la un punct final de inferență în timp real cu Autopilot direct din interfața de utilizator Data Wrangler. Pe lângă comoditatea oferită de implementarea automată a punctelor finale, am demonstrat cum puteți implementa și cu toate transformările caracteristicii Data Wrangler ca o conductă de inferență serială SageMaker, oferind preprocesarea automată a datelor brute, cu reutilizarea transformărilor caracteristicii Data Wrangler la timpul deducerii.

Soluțiile low-code și AutoML, cum ar fi Data Wrangler și Autopilot, îndepărtează nevoia de a avea cunoștințe profunde de codificare pentru a construi modele robuste de ML. Începeți să utilizați Data Wrangler astăzi pentru a experimenta cât de ușor este să construiți modele ML folosind Autopilot.


Despre autori

Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 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.

Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Pradeep Reddy este Senior Product Manager în echipa SageMaker Low/No Code ML, care include SageMaker Autopilot, SageMaker Automatic Model Tuner. În afara serviciului, lui Pradeep îi place să citească, să alerge și să se plimbe cu computere de dimensiunea palmei, cum ar fi raspberry pi și alte tehnologii de automatizare a locuinței.

Pregătirea unificată a datelor, instruirea modelului și implementarea cu Amazon SageMaker Data Wrangler și Amazon SageMaker Autopilot – Partea 2 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dr. John He este inginer senior de dezvoltare software cu Amazon AI, unde se concentrează pe învățarea automată și pe calcularea distribuită. Este doctorand la CMU.

Timestamp-ul:

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