Cum folosește Yara funcțiile MLOps ale Amazon SageMaker pentru a scala optimizarea energiei în plantele lor de amoniac PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Cum folosește Yara funcțiile MLOps ale Amazon SageMaker pentru a scala optimizarea energiei în fabricile lor de amoniac

yara este cea mai importantă companie de nutriție a culturilor din lume și un furnizor de soluții de mediu și agricole. Ambiția Yara se concentrează pe creșterea unui viitor alimentar pozitiv pentru natură, care creează valoare pentru clienți, acționari și societate în general și oferă un lanț valoric alimentar mai durabil. Sprijinind viziunea noastră despre o lume fără foame și o planetă respectată, Yara urmărește o strategie de creștere durabilă a valorii, promovând nutriția ecologică a culturilor și soluțiile energetice cu emisii zero. Yara este, de asemenea, cel mai mare producător mondial de amoniac, nitrați și NPK îngrășăminte. Segmentul lor de producție este, prin urmare, o piatră integrantă pentru îndeplinirea misiunii lor - cu o ambiție clar declarată de a deveni lider mondial în ceea ce privește parametri precum siguranța, amprenta asupra mediului, calitatea și costurile de producție. Ținta pe termen lung a Yara este „Uzina viitorului” cu emisii zero și costuri reduse.

Pe baza unei transformări lean, Yara își intensifică concentrarea pe soluțiile digitale pentru a-i ajuta să-și atingă ambițiile. Pentru a conduce acest efort, Yara a înființat o unitate globală numită Digital Production. Succesul producției digitale și a soluțiilor sale este o prioritate cheie pentru Yara, iar Yara și-a crescut semnificativ eforturile în acest domeniu. Un domeniu critic de focalizare este de a profita de cantitatea mare de date generate ca parte a operațiunilor lor. Prin urmare, Yara construiește produse bazate pe date care îi ajută să optimizeze producția, să mărească calitatea produselor, să mărească fiabilitatea locurilor de producție, să reducă emisiile, să mărească siguranța și productivitatea lucrătorilor, să automatizeze procesele manuale și multe altele.

Energia este o componentă majoră a costurilor pentru multe fabrici de producție; prin urmare, eficiența energetică are un impact substanțial asupra profitabilității. Cu toate acestea, există adesea o lipsă de referințe solide pentru cum arată performanța bună și cum să ajungeți acolo. Curba de încărcare a energiei (ELC) Yara este o soluție care utilizează cea mai bună performanță istorică privind consumul de energie, față de performanța actuală. Dacă consumul actual se abate prea mult de la cel mai bun istoric, instrumentul oferă operatorilor recomandări pentru a orienta consumul de energie.

Pentru a implementa ELC în fabricile de producție și a-l scala pe mai multe site-uri de pe tot globul, Yara trebuia să construiască o platformă MLOps. Acest lucru ar asigura că Yara va antrena, implementa și întreține modelele în mod fiabil și eficient. În plus, pentru a scala acest lucru la mai multe site-uri, Yara trebuia să automatizeze procesele de implementare și întreținere. În această postare, discutăm cum folosește Yara Amazon SageMaker caracteristici, inclusiv registrul modelului, Monitor de model Amazon SageMaker, și Pipelines Amazon SageMaker pentru a eficientiza ciclul de viață de învățare automată (ML) prin automatizarea și standardizarea practicilor MLOps. Oferim o privire de ansamblu asupra configurației, prezentând procesul de construire, instruire, implementare și monitorizare a modelelor ML pentru fabricile din întreaga lume.

Prezentare generală a soluției

ELC folosește datele senzorilor Internet of Things (IoT) de la o fabrică. Acești senzori măsoară valori precum producția de producție, condițiile ambientale și condițiile materiilor prime etc. Aceste date sunt folosite pentru a antrena un model de predicție a energiei, care este apoi folosit pentru a genera predicții orare. Operatorii uzinei monitorizează consumul real de energie și îl compară cu consumul optim, așa cum este prevăzut de ELC. Dacă consumul curent de energie se abate prea mult de la punctul optim, ELC oferă o acțiune de ajustare a variabilelor interne de proces pentru a optimiza eficiența energetică pe baza modelelor analitice.

ELC este găzduit în cloud. Pentru a transmite în timp real datele senzorilor de la o plantă, Yara folosește AWS IoT Greengrass pentru a comunica în siguranță cu AWS IoT Core și exportați date IoT în cloud-ul AWS. AWS IoT SiteWise este un serviciu gestionat care poate colecta, organiza, căuta și consuma date de echipamente de la echipamente industriale la scară. Yara a construit API-uri folosind Gateway API Amazon pentru a expune datele senzorului la aplicații precum ELC.

Backend-ul aplicației ELC este implementat prin Amazon ECS și alimentează tablourile de bord ELC pe front end care sunt utilizate de operatorii fabricii. Aplicația ELC este responsabilă pentru furnizarea de metrici de predicție orară a consumului de energie operatorilor de instalații. Fiecare centrală este echipată cu propriul model, deoarece caracteristicile lor de consum de energie diferă. În plus, plantele sunt grupate în diferite regiuni AWS în funcție de locația lor.

Următoarea diagramă ilustrează această arhitectură.

Pentru construirea ELC și scalarea la mai multe fabrici, aveam nevoie de o soluție MLOps care să accepte următoarele:

  • scalabilitate – Se poate scala ca răspuns la volumele de date. Unele plante produc mai multe date decât altele; fiecare plantă poate produce câțiva gigaocteți de date pe zi.
  • Extensibilitate – Se poate implementa în noi regiuni și conturi.
  • Repetabilitate – Are șabloane comune pe care le putem folosi la bordul unei noi fabrici.
  • Flexibilitate – Poate modifica configurația de implementare în funcție de nevoile fiecărei fabrici.
  • Fiabilitate și monitorizare – Poate rula teste și poate avea o vizibilitate clară asupra stării tuturor plantelor active. În caz de defecțiune, acesta poate reveni la starea stabilă anterioară.
  • Întreținere – Soluția ar trebui să aibă o întreținere redusă. Ar trebui să utilizeze servicii fără server acolo unde este posibil pentru a reduce amprenta infrastructurii.

Pentru ML, Yara a decis să folosească SageMaker. SageMaker este un serviciu complet gestionat care acoperă întregul flux de lucru ML. Următoarele caracteristici au fost esențiale în selectarea SageMaker:

  • Containere cadru SageMaker – Yara a antrenat modele predictive ELC pe TensorFlow, iar cu containerele cadru SageMaker, Yara a putut să ridice și să mute aceste modele cu modificări minime de cod în SageMaker.
  • Conducte SageMaker – SageMaker Pipelines oferă o interfață Python pentru oamenii de știință de date pentru a scrie conducte ML. O mare parte a codului ELC constă dintr-un antrenament și o conductă de inferență, care sunt definite în Python.
  • Registrul modelului SageMaker – Registrul de modele SageMaker face posibilă catalogarea și controlul versiunilor modelelor. În plus, facilitează gestionarea metadatelor modelului, cum ar fi valorile de antrenament.
  • SageMaker Model Monitor – Yara a dorit să monitorizeze calitatea și distribuția datelor primite, precum și performanța modelului ELC. SageMaker Model Monitor API oferă datele și monitorizarea calității modelului.

Pentru a gestiona integrarea continuă și livrarea continuă (CI/CD) pentru conductele ML, Yara folosește Cadrul de implementare Amazon (ADF). ADF este un cadru open-source dezvoltat de AWS pentru a gestiona și implementa resurse în mai multe conturi AWS și regiuni din cadrul unei organizații AWS. ADF permite implementări în etape, paralele, cu mai multe conturi și pe mai multe regiuni ale aplicațiilor sau resurselor prin structura definită în Organizații AWS, profitând în același timp de servicii precum AWS CodePipeline, AWS CodeBuild, AWS CodeCommit, și Formarea AWS Cloud pentru a atenua sarcinile grele și gestionarea în comparație cu o configurație tradițională CI/CD.

Prezentare generală a soluțiilor

Întreaga soluție pentru platforma MLOps a fost construită în decurs de două luni într-un efort de colaborare cu Servicii profesionale AWS. Echipa care lucrează la proiect a fost formată din oameni de știință de date, ingineri de date și specialiști DevOps. Pentru a facilita o dezvoltare mai rapidă într-un mediu cu mai multe echipe, Yara a ales să folosească AWS Landing Zone și organizații să creeze, să gestioneze și să guverneze la nivel central diferite conturi AWS. De exemplu, Yara are un cont central de implementare și folosește conturi de sarcină de lucru pentru a găzdui aplicații de afaceri. ELC este un caz de utilizare pentru optimizarea proceselor și este implementat pentru a optimiza conturile de volum de lucru. Echipa Yara Digital Production lucrează și la cazuri de utilizare ML în alte domenii decât optimizarea. Cadrul MLOps acceptă implementarea în orice conturi de sarcină de lucru, atâta timp cât conturile sunt create prin organizații.

Următoarea diagramă ilustrează această arhitectură.

Organizații de configurare a contului

Utilizarea unui cont central de implementare facilitează gestionarea artefactelor comune și a conductelor CI/CD. În ceea ce privește gestionarea accesului și securitatea acestor artefacte comune, este un design mai simplu, deoarece limitele de permisiuni și cheile de criptare sunt gestionate central într-un singur loc. În secțiunile următoare, vă prezentăm pașii necesari pentru a integra un nou caz de utilizare pe platforma MLOps a Yara.

În ceea ce privește strategia contului, Yara are o configurație sandbox, DEV, TEST și PROD. Contul sandbox este folosit pentru experimentare și încercare de idei noi. Contul DEV este punctul de plecare al conductelor CI/CD și toată dezvoltarea începe aici. Contul de implementare conține definiția conductei CI/CD și poate fi implementat în conturile DEV, TEST și PROD. Această configurare a contului este prezentată în figura următoare.

Configurarea contului MLOps

Integrarea unui nou caz de utilizare

Pentru această postare, presupunem că avem un prototip funcțional al unui caz de utilizare, iar acum dorim să-l operaționalizăm. În cazul în care acest caz de utilizare aparține unei noi zone de produse, mai întâi trebuie să furnizăm conturile folosind Organizații, care declanșează automat ADF să pornească aceste conturi pentru implementare. Yara urmează o strategie de cont DEV>TEST>PROD; totuși, această configurație nu este obligatorie. Conturile de date expun API-urile pentru accesul la date, iar pentru un nou caz de utilizare, rolurilor trebuie să li se acorde Gestionarea identității și accesului AWS (IAM), astfel încât aceștia să poată accesa API-urile de date.

În continuare, trebuie să definim în ce conturi este implementat acest caz de utilizare. Acest lucru se face folosind o hartă de implementare în ADF. Harta de implementare este un fișier de configurare care conține maparea etapelor și țintelor pentru conductă. Pentru a rula harta de implementare, ADF folosește CodePipeline. ADF oferă flexibilitatea de a gestiona parametrii pentru mediul țintă în care este implementat stiva. Acest lucru facilitează gestionarea implementărilor și testarea cu instanțe mai mici.

Pentru criptarea tuturor artefactelor, cum ar fi fișierele de cod, date și model, generăm un AWS Service Management Service cheie (AWS KMS). De asemenea, puteți utiliza criptarea pe partea serverului. Cu toate acestea, deoarece unele dintre artefactele generate sunt accesate în mai multe conturi, trebuie să ne generăm propria cheie și să gestionăm politicile de permisiuni pentru a acorda acces pe mai multe conturi.

În cele din urmă, trebuie să creăm un grup de pachete de modele pentru a grupa diferite versiuni ale unui model folosind registrul de modele SageMaker, care este capacitatea SageMaker de a urmări și gestiona modelele pe măsură ce se deplasează prin ciclul de viață ML.

Conducta de antrenament model

Pentru fiecare fabrică nouă integrată pentru ELC, creăm o nouă conductă de instruire SageMaker. Această conductă constă în pași de preprocesare a datelor și de formare a modelului. Conductele SageMaker sunt potrivite pentru Yara, deoarece oferă o interfață Python pentru definirea unui flux de lucru ML. În plus, diferiți pași ai fluxului de lucru pot fi configurați pentru a scala diferit. De exemplu, puteți defini o instanță mult mai mare pentru antrenament decât pentru etapa de evaluare a modelului. Parametrii de intrare și de ieșire pentru fiecare pas al conductei sunt stocați, ceea ce face ușoară urmărirea fiecărei rulări și a ieșirilor sale. Schița de nivel înalt a fluxului de lucru de formare este după cum urmează.

Conducta de formare SageMaker

Ca parte a etapei de evaluare a modelului, un set de date de evaluare este utilizat pentru a genera metrici, cum ar fi acuratețea și deviația RMSE (rădăcină medie pătrată) pe modelul antrenat. Aceste valori sunt adăugate la metadatele modelului înainte de înregistrarea modelului în registrul modelului. În prezent, modelele sunt promovate manual în medii superioare, iar aprobatorul modelului poate vizualiza valorile modelului pentru a se asigura că noua versiune are performanțe mai bune decât modelul actual.

Versiunile modelelor sunt controlate cu registrul de modele, fiecare fabrică având propriul grup de pachete de modele. În plus, puteți utiliza registrul modelului pentru a urmări ce versiuni de model sunt implementate în ce medii. Un model poate fi într-un Respins, În așteptarea aprobării manuale, Sau Aprobat de stat, și numai modelele care sunt în Aprobat statul poate fi implementat. Acest lucru oferă, de asemenea, protecție împotriva implementării accidentale a unei versiuni neaprobate a modelului.

Inferența modelului și conducta de monitorizare

Pentru a implementa modelul și a configura monitorizarea modelului, am configurat o a doua conductă SageMaker. Aplicația ELC oferă operatorilor de fabrică predicții la cerere, prin urmare modelele sunt accesate prin apeluri API făcute din backend-ul ELC. Punctele finale de inferență SageMaker oferă o soluție de găzduire model complet gestionată cu un strat API; punctele finale iau intrarea modelului ca sarcină utilă și returnează predicții. Deoarece latența este, de asemenea, un factor crucial pentru utilizatorii finali care nu doresc să aștepte mult înainte de a obține predicții actualizate, Yara a optat pentru punctele finale de inferență în timp real SageMaker, care sunt deosebit de potrivite pentru sarcinile de lucru cu cerințe de latență foarte scăzute. În cele din urmă, deoarece aplicația ELC nu poate avea timp de nefuncționare în timp ce modelele actualizate sunt implementate, se bazează pe capacitatea de implementare albastru/verde a punctelor finale în timp real SageMaker pentru a se asigura că versiunea modelului vechi continuă să servească predicții până când noua versiune este implementată. .

Următoarea diagramă ilustrează configurarea implementării și monitorizării.

Conducta SageMaker Inference

Pentru monitorizarea modelului, Yara rulează SageMaker calitatea datelor, calitatea modelului, și explicabilitatea modelului monitorizarea. Monitorizarea calității datelor verifică consistența și generează statistici de distribuție a datelor. Monitorizarea calității modelului verifică performanța modelului și compară acuratețea modelului cu valorile de antrenament. Rapoartele de monitorizare model sunt generate pe oră. Aceste rapoarte sunt folosite pentru a monitoriza performanța modelului în producție. Monitorizarea explicabilității modelului este utilizată pentru a înțelege ce caracteristici contribuie cel mai mult la o predicție.

Aceste rezultate ale explicabilității modelului sunt partajate pe tabloul de bord ELC pentru a oferi operatorilor de fabrică mai mult context cu privire la ceea ce determină consumul de energie. Acest lucru sprijină și determinarea acțiunii de ajustare a procesului intern în cazul în care consumul de energie se abate de la punctul optim.

flux CI/CD

Fluxul CI/CD pentru conductele de instruire începe în contul DEV. Yara urmează un model de dezvoltare bazat pe caracteristici și atunci când o nouă caracteristică este dezvoltată, ramura caracteristică este îmbinată în trunchi, care începe implementarea. Modelele ELC sunt antrenate în contul DEV și după ce modelul este antrenat și evaluat, este înregistrat în registrul de modele. Un aprobator de model efectuează verificări de sănătate înainte de a actualiza starea modelului la Aprobat. Această acțiune generează un eveniment care declanșează implementarea conductei de inferență a modelului. Conducta de inferență a modelului implementează noua versiune a modelului la un punct final SageMaker în DEV.

După implementarea punctului final, sunt pornite teste pentru a verifica comportamentul setării. Pentru testare, Yara folosește Rapoarte de testare CodeBuild. Această caracteristică permite dezvoltatorilor să execute teste unitare, teste de configurare și teste funcționale înainte și după implementare. În acest caz, Yara rulează teste funcționale prin transmiterea sarcinilor utile de testare la punctele finale SageMaker și evaluând răspunsul. După ce aceste teste sunt trecute, conducta continuă să implementeze punctele finale SageMaker la TEST. Backend-ul ELC este, de asemenea, implementat pentru TEST, ceea ce face posibilă testarea end-to-end pentru aplicație în acest mediu. În plus, Yara rulează testarea de acceptare a utilizatorului în TEST. Declanșatorul de la implementarea TEST la PROD este o acțiune manuală de aprobare. După ce noua versiune a modelului a trecut atât testarea funcțională, cât și testarea de acceptare a utilizatorului în TEST, echipa de ingineri aprobă implementarea modelului în PROD.

Figura următoare ilustrează acest flux de lucru.

Planul CodePipeline

Componente comune

Pentru ELC, folosim mai multe componente care sunt comune pentru toate etapele de implementare (DEV, TEST, PROD) și modele. Aceste componente se află în contul nostru de implementare și includ controlul versiunii modelului, un depozit de imagini container, o cheie de criptare și o găleată pentru stocarea artefactelor comune.

Cum folosește Yara funcțiile MLOps ale Amazon SageMaker pentru a scala optimizarea energiei în plantele lor de amoniac PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Există mai multe avantaje ale utilizării artefactelor comune. De exemplu, resursele nu trebuie să fie create pentru fiecare cont, ceea ce impune compatibilitatea între conturi. Aceasta înseamnă că construim imagini de container o dată și le reutilizam în toate conturile țintă, reducând timpul de construire.

Această conductă stochează diferitele versiuni de model într-un registru de model comun în contul de implementare. Din această locație centrală, modelele pot fi implementate în toate conturile fără a le transfera. În mod similar, utilizarea unei chei de criptare stocate central facilitează gestionarea cheii și a permisiunilor între conturi.

Un dezavantaj al utilizării artefactelor obișnuite este că etapa de integrare a unui nou caz de utilizare poate deveni mai elaborat. Pentru a integra un nou caz de utilizare, trebuie creat un nou model de registru și, dacă este necesar, un nou depozit de imagini container. De asemenea, recomandăm crearea unei noi chei de criptare pentru a separa strict resursele și datele stocate.

Concluzie

În această postare, am demonstrat cum Yara a folosit SageMaker și ADF pentru a construi o platformă MLOps extrem de scalabilă. ML este o capacitate interfuncțională, iar echipele implementează modele în diferite conturi de unități de afaceri. Prin urmare, ADF, care oferă integrare nativă cu organizațiile, îl face candidatul ideal pentru a bootstrap conturi pentru a configura conducte CI/CD. Din punct de vedere operațional, conductele ADF rulează în contul de implementare centrală, ceea ce facilitează obținerea unei imagini generale de sănătate a implementărilor. În cele din urmă, ADF utilizează servicii gestionate de AWS, cum ar fi CodeBuild, CodeDeploy, CodePipeline și CloudFormation, facilitând configurarea și întreținerea.

SageMaker oferă un spectru larg de capabilități ML, care permite echipelor să se concentreze mai mult pe rezolvarea problemelor de afaceri și mai puțin pe construirea și întreținerea infrastructurii. În plus, SageMaker Pipelines oferă un set bogat de API-uri pentru a crea, actualiza și implementa fluxuri de lucru ML, ceea ce îl face ideal pentru MLOps.

În cele din urmă, MLOps oferă cele mai bune practici pentru implementarea și menținerea modelelor ML în producție în mod fiabil și eficient. Este esențial pentru echipele care creează și implementează soluții ML la scară pentru a implementa MLOps. În cazul lui Yara, MLOps reduce semnificativ efortul necesar pentru îmbarcarea unei noi fabrici, pentru a lansa actualizări la ELC și pentru a se asigura că modelele sunt monitorizate pentru calitate.

Pentru mai multe informații despre cum să implementați aplicații folosind ADF, consultați exemple.


Despre autori

Cum folosește Yara funcțiile MLOps ale Amazon SageMaker pentru a scala optimizarea energiei în plantele lor de amoniac PlatoBlockchain Data Intelligence. Căutare verticală. Ai. Shaheer Mansoor este Data Scientist la AWS. Se concentrează pe construirea de platforme de învățare automată care pot găzdui soluții AI la scară. Domeniile sale de interes sunt MLOps, magazine de caracteristici, găzduire model și monitorizare model.

Cum folosește Yara funcțiile MLOps ale Amazon SageMaker pentru a scala optimizarea energiei în plantele lor de amoniac PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Tim Becker este Senior Data Scientist la Yara International. În cadrul producției digitale, se concentrează pe optimizarea procesului de producție de amoniac și acid azotic. El deține un doctorat în termodinamică și este pasionat de a aduce împreună ingineria proceselor și învățarea automată.

Cum folosește Yara funcțiile MLOps ale Amazon SageMaker pentru a scala optimizarea energiei în plantele lor de amoniac PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Yongyos Kaewpitakkun este cercetător de date senior în echipa de producție digitală de la Yara International. El are un doctorat în AI/învățare automată și mulți ani de experiență practică în folosirea învățării automate, viziunea pe computer și modelele de procesare a limbajului natural pentru a rezolva probleme de afaceri provocatoare.

Timestamp-ul:

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