Îmbunătățirea stabilității și flexibilității conductelor ML la Amazon Packaging Innovation cu Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Îmbunătățirea stabilității și flexibilității conductelor ML la Amazon Packaging Innovation cu Amazon SageMaker Pipelines

Pentru a încânta clienții și a minimiza risipa de ambalaje, Amazon trebuie să selecteze tipul de ambalaj optim pentru miliarde de pachete expediate în fiecare an. Dacă se folosește prea puțină protecție pentru un articol fragil, cum ar fi o cană de cafea, articolul va ajunge deteriorat și Amazon riscă încrederea clientului. Folosirea prea multă protecție va duce la creșterea costurilor și la umplerea excesivă a coșurilor de reciclare. Cu sute de milioane de produse disponibile, este necesar un mecanism de decizie scalabil pentru a învăța continuu din testarea produselor și feedback-ul clienților.

Pentru a rezolva aceste probleme, echipa Amazon Packaging Innovation a dezvoltat modele de învățare automată (ML) care clasifică dacă produsele sunt potrivite pentru tipurile de ambalaje Amazon, cum ar fi corespondențele, pungile sau cutiile, sau chiar dacă ar putea fi expediate fără ambalaj suplimentar. Anterior, echipa a dezvoltat o conductă personalizată bazată pe Funcții pas AWS pentru a efectua antrenament săptămânal și lucrări de inferență zilnice sau lunare. Cu toate acestea, de-a lungul timpului, conducta nu a oferit suficientă flexibilitate pentru a lansa modele cu arhitecturi noi. Dezvoltarea noilor conducte a prezentat o suprasolicitare și a necesitat coordonare între oamenii de știință de date și dezvoltatori. Pentru a depăși aceste dificultăți și pentru a îmbunătăți viteza de implementare a noilor modele și arhitecturi, echipa a ales să orchestreze formarea modelului și inferența cu Pipelines Amazon SageMaker.

În această postare, discutăm despre arhitectura anterioară de orchestrare bazată pe Funcții de pas, conturăm arhitecturile de instruire și inferență folosind Pipelines și evidențiem flexibilitatea pe care echipa Amazon Packaging Innovation a obținut-o.

Provocările fostei conducte ML la Amazon Packaging Innovation

Pentru a încorpora feedback-ul continuu despre performanța pachetelor, un nou model este antrenat în fiecare săptămână folosind un număr tot mai mare de etichete. Inferența pentru întregul inventar de produse este efectuată lunar, iar o inferență zilnică este efectuată pentru a furniza previziuni just-in-time pentru inventarul nou adăugat.

Pentru a automatiza procesul de instruire a mai multor modele și pentru a oferi predicții, echipa a dezvoltat o conductă personalizată bazată pe Funcții de pas pentru a orchestra următorii pași:

  • Pregătirea datelor pentru joburi de instruire și inferență și încărcarea predicțiilor în baza de date (Amazon RedShift), Cu AWS Adeziv.
  • Antrenamentul modelului și inferența cu Amazon SageMaker.
  • Calculul valorilor de performanță a modelului pe setul de validare cu Lot AWS.
  • Utilizarea Amazon DynamoDB pentru a stoca configurațiile modelului (cum ar fi raportul de împărțire a datelor pentru instruire și validare, locația artefactului modelului, tipul modelului și numărul de instanțe pentru antrenament și inferență), valorile de performanță a modelului și cea mai recentă versiune de model instruită cu succes.
  • Calculul diferențelor dintre scorurile de performanță a modelului, modificările în distribuția etichetelor de antrenament și compararea dimensiunii datelor de intrare între versiunea anterioară și noul model cu AWS Lambdas funcții.
  • Având în vedere numărul mare de pași, conducta a necesitat și un sistem de alarmare fiabil la fiecare pas pentru a alerta părțile interesate cu privire la orice problemă. Acest lucru a fost realizat printr-o combinație de Serviciul de coadă simplă Amazon (Amazon SQS) și Serviciul de notificare simplă Amazon (Amazon SNS). Alarmele au fost create pentru a notifica părțile interesate de afaceri, oamenii de știință de date și dezvoltatorii despre orice pași nereușiți și abateri mari ale modelului și valorii datelor.

După ce a folosit această soluție timp de aproape 2 ani, echipa și-a dat seama că această implementare a funcționat bine doar pentru un flux de lucru tipic ML în care un singur model a fost antrenat și punctat pe un set de date de validare. Cu toate acestea, soluția nu a fost suficient de flexibilă pentru modele complexe și nu a fost rezistentă la eșecuri. De exemplu, arhitectura nu s-a adaptat cu ușurință la formarea modelului secvenţial. A fost dificil să adăugați sau să eliminați un pas fără a duplica întreaga conductă și a modifica infrastructura. Chiar și schimbările simple în etapele de procesare a datelor, cum ar fi ajustarea raportului de împărțire a datelor sau selectarea unui set diferit de caracteristici, au necesitat coordonare atât din partea unui cercetător de date, cât și a unui dezvoltator. Când conducta a eșuat la orice pas, a trebuit să fie repornită de la început, ceea ce a dus la rulări repetate și la creșterea costurilor. Pentru a evita rulările repetate și necesitatea repornirii de la pasul eșuat, echipa ar crea o nouă copie a unei mașini de stat prescurtate. Această depanare a dus la o proliferare a mașinilor de stat, fiecare pornind de la pașii de obicei eșuați. În cele din urmă, dacă un job de formare întâmpina o abatere în distribuția etichetelor, scorul modelului sau numărul de etichete, un cercetător de date trebuia să revizuiască manual modelul și valorile acestuia. Apoi, un cercetător de date ar accesa un tabel DynamoDB cu versiunile modelului și ar actualiza tabelul pentru a se asigura că modelul corect a fost utilizat pentru următorul job de inferență.

Întreținerea acestei arhitecturi a necesitat cel puțin o resursă dedicată și o resursă suplimentară full-time pentru dezvoltare. Având în vedere dificultățile de extindere a conductei pentru a găzdui noi cazuri de utilizare, oamenii de știință de date au început să își dezvolte propriile fluxuri de lucru, care, la rândul lor, au condus la o bază de cod în creștere, mai multe tabele de date cu scheme de date similare și monitorizare descentralizată a modelelor. Acumularea acestor probleme a dus la o productivitate mai scăzută a echipei și la creșterea cheltuielilor generale.

Pentru a aborda aceste provocări, echipa Amazon Packaging Innovation a evaluat alte soluții existente pentru MLOps, inclusiv SageMaker Pipelines (Anunț de lansare din decembrie 2020). Pipelines este o capacitate a SageMaker pentru construirea, gestionarea, automatizarea și scalarea fluxurilor de lucru ML end-to-end. Pipelines vă permite să reduceți numărul de pași în întregul flux de lucru ML și este suficient de flexibil pentru a permite oamenilor de știință de date să definească un flux de lucru ML personalizat. Se ocupă de monitorizarea și înregistrarea pașilor. De asemenea, vine cu un registru de modele care versionează automat modelele noi. Registrul de modele are încorporate fluxuri de lucru de aprobare pentru a selecta modele pentru inferență în producție. Pipelines permite, de asemenea, pașii de stocare în cache apelați cu aceleași argumente. Dacă se găsește o rulare anterioară, se creează un cache, care permite o repornire ușoară în loc de recalcularea pașilor finalizați cu succes.

În procesul de evaluare, Pipelines s-a remarcat față de celelalte soluții prin flexibilitatea și disponibilitatea caracteristicilor pentru susținerea și extinderea fluxurilor de lucru actuale și viitoare. Trecerea la Pipelines a eliberat timpul dezvoltatorilor de la întreținerea platformei și depanarea și a redirecționat atenția către adăugarea noilor funcții. În această postare, prezentăm designul pentru fluxurile de lucru de instruire și inferență la echipa Amazon Packaging Innovation folosind Pipelines. De asemenea, discutăm despre beneficiile și reducerea costurilor pe care echipa le-a realizat prin trecerea la Pipelines.

Conducta de formare

Echipa Amazon Packaging Innovation antrenează modele pentru fiecare tip de pachet folosind un număr tot mai mare de etichete. Următoarea diagramă prezintă întregul proces.

Fluxul de lucru începe prin extragerea etichetelor și caracteristicilor dintr-o bază de date Amazon Redshift și descărcarea datelor în Serviciul Amazon de stocare simplă (Amazon S3) printr-o lucrare programată de extragere, transformare și încărcare (ETL). Împreună cu datele de intrare, un obiect fișier cu tipul de model și parametrii este plasat în compartimentul S3. Acest fișier servește ca declanșator al conductei printr-o funcție Lambda.

Următorii pași sunt complet personalizabili și definiți în întregime de un cercetător de date care utilizează SDK-ul SageMaker Python pentru pipeline. În scenariul pe care îl prezentăm în această postare, datele de intrare sunt împărțite în seturi de instruire și validare și salvate înapoi într-o găleată S3 prin lansarea unui job de procesare SageMaker.

Când datele sunt gata în Amazon S3, începe un job de instruire SageMaker. După ce modelul este antrenat și creat cu succes, pasul de evaluare a modelului este efectuat pe datele de validare printr-o lucrare de transformare batch SageMaker. Valorile modelului sunt apoi comparate cu valorile modelului din săptămâna precedentă utilizând un job de procesare SageMaker. Echipa a definit mai multe criterii personalizate pentru evaluarea abaterilor în performanța modelului. Modelul este fie respins, fie aprobat pe baza acestor criterii. Dacă modelul este respins, modelul aprobat anterior este utilizat pentru următoarele lucrări de inferență. Dacă modelul este aprobat, versiunea sa este înregistrată și acel model este utilizat pentru lucrări de inferență. Părțile interesate primesc o notificare despre rezultat prin Amazon CloudWatch alarme.

Următoarea captură de ecran de la Amazon SageMaker Studio arată pașii conductei de antrenament.

PackagingInovation-SMP-training

Pipelines urmărește fiecare rulare a conductei, pe care o puteți monitoriza în Studio. Alternativ, puteți interoga progresul rulării folosind Boto3 sau Interfața liniei de comandă AWS (AWS CLI). Puteți vizualiza valorile modelului în Studio și puteți compara diferite versiuni de model.

Conducta de inferență

Echipa Amazon Packaging Innovation actualizează lunar predicțiile pentru întregul inventar de produse. Sunt generate predicții zilnice pentru a oferi recomandări de ambalare la timp pentru inventarul nou adăugat, folosind cel mai recent model instruit. Acest lucru necesită ca conducta de inferență să ruleze zilnic cu diferite volume de date. Următoarea diagramă ilustrează acest flux de lucru.

AmbalareInovație-inferență-arhitectură

Similar cu canalul de antrenament, inferența începe cu descărcarea datelor din Amazon Redshift într-o găleată S3. Un obiect fișier plasat în Amazon S3 declanșează funcția Lambda care inițiază conducta de inferență. Caracteristicile sunt pregătite pentru inferență, iar datele sunt împărțite în fișiere de dimensiuni adecvate folosind o lucrare de procesare SageMaker. Apoi, conducta identifică cel mai recent model aprobat pentru a rula predicțiile și a le încărca într-o găleată S3. În cele din urmă, predicțiile sunt încărcate înapoi în Amazon Redshift folosind API-ul boto3-data în cadrul jobului de procesare SageMaker.

Următoarea captură de ecran de la Studio arată detaliile conductei de inferență.

Îmbunătățirea stabilității și flexibilității conductelor ML la Amazon Packaging Innovation cu Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Beneficiile alegerii de a crea fluxuri de lucru ML cu SageMaker Pipelines

În această secțiune, discutăm despre câștigurile pe care echipa Amazon Packaging Innovation le-a realizat prin trecerea la Pipelines pentru instruire și deducere a modelelor.

Funcții MLOps la nivel de producție ieșite din cutie

În timp ce a comparat diferite soluții interne și externe pentru următoarea soluție ML pipeline, un singur om de știință de date a putut să prototipeze și să dezvolte o versiune completă a unui flux de lucru ML cu Pipelines într-un mediu Studio Jupyter în mai puțin de 3 săptămâni. Chiar și în etapa de prototipare, a devenit clar că Pipelines a furnizat toate componentele de infrastructură necesare pentru un flux de lucru la nivel de producție: versiunea modelului, memorarea în cache și alarme. Disponibilitatea imediată a acestor funcții a însemnat că nu va fi alocat timp suplimentar dezvoltării și personalizării acestora. Aceasta a fost o demonstrație clară a valorii, care a convins echipa Amazon Packaging Innovation că Pipelines era soluția potrivită.

Flexibilitate în dezvoltarea modelelor ML

Cel mai mare câștig pentru oamenii de știință de date din echipă a fost capacitatea de a experimenta cu ușurință și de a repeta prin diferite modele. Indiferent de cadrul pe care l-au preferat pentru munca lor de ML și de numărul de pași și de caracteristici pe care le-a implicat, Pipelines s-a adaptat nevoilor lor. Oamenii de știință de date au fost împuterniciți să experimenteze fără a trebui să aștepte să intre în sprintul de dezvoltare a software-ului pentru a adăuga o caracteristică sau un pas suplimentar.

Costuri reduse

Capacitatea Pipelines a SageMaker este gratuit: plătiți doar pentru resursele de calcul și spațiul de stocare asociat cu antrenamentul și inferența. Cu toate acestea, atunci când vă gândiți la cost, trebuie să luați în considerare nu numai costul serviciilor utilizate, ci și orele de dezvoltare necesare pentru menținerea fluxului de lucru, depanare și corecție. Orchestrarea cu Pipelines este mai simplă, deoarece constă din mai puține piese și infrastructură familiară. Anterior, adăugarea unei noi funcții necesita cel puțin două persoane (scientist de date și inginer software) din echipa Amazon Packaging Innovation pentru a o implementa. Odată cu pipeline reproiectată, eforturile de inginerie sunt acum direcționate către o infrastructură personalizată suplimentară în jurul conductei, cum ar fi crearea unui singur depozit pentru urmărirea codului de învățare automată, simplificarea implementării modelului în conturile AWS, dezvoltarea joburilor ETL integrate și comun funcții reutilizabile.

Capacitatea de a stoca în cache pașii cu o intrare similară a contribuit, de asemenea, la reducerea costurilor, deoarece echipele erau mai puțin probabil să ruleze din nou întreaga conductă. În schimb, ar putea începe cu ușurință din punctul de eșec.

Concluzie

Echipa Amazon Packaging Innovation antrenează lunar modele ML și actualizează în mod regulat previziunile pentru tipurile de ambalare recomandate pentru produse. Aceste recomandări i-au ajutat să atingă mai multe obiective la nivel de echipă și de companie, reducând risipa și încântând clienții cu fiecare comandă. Conductele de instruire și inferență trebuie să funcționeze în mod fiabil în mod regulat, dar să permită îmbunătățirea constantă a modelelor.

Tranziția la Pipelines a permis echipei să implementeze patru noi arhitecturi de modele multimodale în producție în mai puțin de 2 luni. Implementarea unui model nou folosind arhitectura anterioară ar fi necesitat 5 zile (cu aceeași arhitectură de model) până la 1 lună (cu o arhitectură de model nou). Implementarea aceluiași model folosind Pipelines a permis echipei să reducă timpul de dezvoltare la 4 ore cu aceeași arhitectură de model și la 5 zile cu o nouă arhitectură de model. Aceasta înseamnă o economie de aproape 80% din orele de lucru.

Resurse aditionale

Pentru mai multe informații, consultați următoarele resurse:


Despre Autori

Ankur-Shukla-autorAnkur Shukla este cercetător principal de date la AWS-ProServe cu sediul în Palo Alto. Ankur are peste 15 ani de experiență în consultanță lucrând direct cu clienții și îi ajută să rezolve problemele de afaceri cu tehnologia. El conduce mai multe inițiative globale de știință aplicată și ML-Ops în cadrul AWS. În timpul liber, îi place să citească și să petreacă timpul cu familia.

Akash-Singla-autorAkash Singla este un inginer Sr. System Dev cu echipa Amazon Packaging Innovation. Are peste 17 ani de experiență în rezolvarea problemelor critice de afaceri prin tehnologie pentru mai multe verticale de afaceri. În prezent, se concentrează pe modernizarea infrastructurii NAWS pentru o varietate de aplicații centrate pe ambalaj, pentru a le scala mai bine.

Vitalina-Komashko-autorVitalina Komashko este un Data Scientist cu AWS Professional Services. Ea deține un doctorat în farmacologie și toxicologie, dar a trecut la știința datelor de la munca experimentală pentru că dorea „să dețină generarea de date și interpretarea rezultatelor”. La începutul carierei ei a lucrat cu companii de biotehnologie și farmaceutice. La AWS îi place să rezolve probleme pentru clienții din diverse industrii și să învețe despre provocările unice ale acestora.

Prasanth-Meiyappan-autorPrasanth Meiyappan este un om de știință senior aplicat cu Amazon Packaging Inovation de peste 4 ani. Are peste 6 ani de experiență în industrie în învățarea automată și a livrat produse pentru a îmbunătăți experiența de căutare a clienților și a îmbunătăți experiența de ambalare a clienților. Prasanth este pasionat de sustenabilitate și are un doctorat în modelarea statistică a schimbărilor climatice.

Matthew-Bales-autorMatthew Bales este un cercetător senior care lucrează pentru a optimiza selecția tipului de pachet folosind feedback-ul clienților și învățarea automată. Înainte de Amazon, Matt a lucrat ca post-doctor, efectuând simulări ale fizicii particulelor în Germania, iar într-o viață anterioară, a fost manager de producție de dispozitive radioactive cu implant medical într-un startup. El deține un doctorat. la Fizică de la Universitatea din Michigan.

Timestamp-ul:

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