Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox

Întreținerea predictivă poate fi o modalitate eficientă de a preveni defecțiunile utilajelor industriale și timpii de nefuncționare costisitoare prin monitorizarea proactivă a stării echipamentului dvs., astfel încât să puteți fi alertat cu privire la orice anomalie înainte de apariția defecțiunilor echipamentului. Instalarea senzorilor și a infrastructurii necesare pentru conectivitate de date, stocare, analiză și alertă sunt elementele de bază pentru activarea soluțiilor de întreținere predictivă. Cu toate acestea, chiar și după instalarea infrastructurii ad-hoc, multe companii folosesc analiza de bază a datelor și abordări simple de modelare, care sunt adesea ineficiente în detectarea problemelor suficient de devreme pentru a evita timpul de nefuncționare. De asemenea, implementarea unei soluții de învățare automată (ML) pentru echipamentele dvs. poate fi dificilă și consumatoare de timp.

cu Amazon Lookout pentru echipamente, puteți analiza automat datele senzorilor pentru echipamentul dvs. industrial pentru a detecta comportamentul anormal al mașinii, fără a fi necesară experiența ML. Aceasta înseamnă că puteți detecta anormalitățile echipamentelor cu viteză și precizie, puteți diagnostica rapid problemele și puteți lua măsuri pentru a reduce timpul de nefuncționare costisitor.

Lookout for Equipment analizează datele de la senzorii și sistemele dvs., cum ar fi presiunea, debitul, RPM, temperatura și puterea, pentru a antrena automat un model specific echipamentului dvs. pe baza datelor dvs. Utilizează modelul dvs. unic ML pentru a analiza datele senzorilor primite în timp real și pentru a identifica semnele de avertizare timpurie care ar putea duce la defecțiuni ale mașinii. Pentru fiecare alertă detectată, Lookout for Equipment identifică senzorii specifici care indică problema și amploarea impactului asupra evenimentului detectat.

Cu misiunea de a pune ML în mâinile fiecărui dezvoltator, dorim să prezentăm un alt add-on la Lookout for Equipment: un cutie de instrumente Python cu sursă deschisă care permite dezvoltatorilor și cercetătorilor de date să construiască, să antreneze și să implementeze modele Lookout for Equipment în mod similar cu ceea ce v-ați obișnuit Amazon SageMaker. Această bibliotecă este un înveliș peste API-ul python Lookout for Equipment boto3 și este furnizată pentru a începe călătoria cu acest serviciu. Dacă aveți sugestii de îmbunătățire sau erori de raportat, trimiteți o problemă împotriva casetei de instrumente GitHub depozit.

În această postare, oferim un ghid pas cu pas pentru utilizarea setului de instrumente Python open-source Lookout for Equipment dintr-un blocnotes SageMaker.

Configurarea mediului

Pentru a folosi setul de instrumente Open-source Lookout for Equipment dintr-un blocnotes SageMaker, trebuie să acordăm blocnotesului SageMaker permisiunile necesare pentru apelarea API-urilor Lookout for Equipment. Pentru această postare, presupunem că ați creat deja o instanță de notebook SageMaker. Pentru instrucțiuni, consultați Începeți cu Amazon SageMaker Notebook Instanțe. Instanța de notebook este asociată automat cu un rol de execuție.

  1. Pentru a găsi rolul care este atașat instanței, selectați instanța pe consola SageMaker.
    Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  2. Pe următorul ecran, derulați în jos pentru a găsi Gestionarea identității și accesului AWS (IAM) rol atașat instanței în Permisiuni și criptare secţiune.
  3. Alegeți rolul pentru a deschide consola IAM.
    Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Apoi, atașăm o politică integrată rolului nostru IAM SageMaker.

  1. Pe Permisiuni fila rolului pe care l-ați deschis, alegeți Adăugați politica în linie.
    Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  2. Pe JSON fila, introduceți următorul cod. Folosim o acțiune wild card (lookoutequipment:*) pentru serviciul în scopuri demonstrative. Pentru cazuri reale de utilizare, furnizați numai permisiunile necesare pentru a rula apelurile API SDK corespunzătoare.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Alege Revizuiți politica.
  4. Furnizați un nume pentru politică și creați politica.

În plus față de politica inline anterioară, pe același rol IAM, trebuie să stabilim o relație de încredere pentru a permite Lookout for Equipment să își asume acest rol. Rolul SageMaker are deja accesul adecvat la date Serviciul Amazon de stocare simplă (Amazon S3); Permițând Lookout for Equipment să-și asume acest rol, se asigură că are același acces la date decât blocnotesul dvs. În mediul dvs., este posibil să aveți deja un rol specific care să vă asigurați că Lookout for Equipment are acces la datele dvs., caz în care nu trebuie să ajustați relația de încredere a acestui rol comun.

  1. În cadrul rolului nostru SageMaker IAM pe Relații de încredere fila, alegeți Editați relația de încredere.
  2. În documentul de politică, înlocuiți întreaga politică cu următorul cod:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Alege Actualizați politica de încredere.

Acum suntem pregătiți să folosim setul de instrumente Lookout for Equipment în mediul nostru de notebook SageMaker. Setul de instrumente Lookout for Equipment este un pachet Python open-source care permite cercetătorilor de date și dezvoltatorilor de software să construiască și să implementeze cu ușurință modele de detectare a anomaliilor în serie de timp folosind Lookout for Equipment. Să ne uităm la ce poți realiza mai ușor datorită casetei de instrumente!

dependenţe

La momentul scrierii, setul de instrumente necesită următoarele instalate:

După ce îndepliniți aceste dependențe, puteți instala și lansa caseta de instrumente Lookout for Equipment cu următoarea comandă dintr-un terminal Jupyter:

pip install lookoutequipment

Cutia de instrumente este acum gata de utilizare. În această postare, demonstrăm cum să folosiți setul de instrumente prin antrenarea și implementarea unui model de detectare a anomaliilor. Un ciclu de viață tipic de dezvoltare ML constă în construirea setului de date pentru instruire, antrenamentul modelului, implementarea modelului și efectuarea de inferențe asupra modelului. Setul de instrumente este destul de cuprinzător în ceea ce privește funcționalitățile pe care le oferă, dar în această postare ne concentrăm pe următoarele capabilități:

  • Pregătiți setul de date
  • Antrenați un model de detectare a anomaliilor folosind Lookout for Equipment
  • Creați vizualizări pentru evaluarea modelului dvs
  • Configurați și porniți un planificator de inferențe
  • Vizualizați rezultatele inferențelor planificatorului

Să înțelegem cum putem folosi setul de instrumente pentru fiecare dintre aceste capabilități.

Pregătiți setul de date

Lookout for Equipment necesită crearea și ingerarea unui set de date. Pentru a pregăti setul de date, parcurgeți următorii pași:

  1. Înainte de a crea setul de date, trebuie să încărcăm un set de date eșantion și să-l încărcăm într-un Serviciul Amazon de stocare simplă (Amazon S3) găleată. În această postare, folosim expander Set de date:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

Cei întors data obiect reprezintă un dicționar care conține următoarele:

    • Un DataFrame de date de antrenament
    • A etichetează DataFrame
    • Datele de începere și de sfârșit ale antrenamentului
    • Datele de început și de sfârșit ale evaluării
    • O descriere a etichetelor DataFrame

Datele de instruire și etichete sunt încărcate din directorul țintă în Amazon S3 la locația compartimentului/prefixului.

  1. După încărcarea setului de date în S3, creăm un obiect de LookoutEquipmentDataset clasa care gestionează setul de date:
    lookout_dataset = dataset.LookoutEquipmentDataset( dataset_name='my_dataset', access_role_arn=role_arn, component_root_dir=f's3://{bucket}/{prefix}training-data'
    ) # creates the dataset
    lookout_dataset.create()

access_role_arn furnizate trebuie să aibă acces la compartimentul S3 unde sunt prezente datele. Puteți prelua ARN-ul de rol al instanței de blocnotes SageMaker din cea anterioară Configurarea mediului și adăugați o politică IAM pentru a acorda acces la compartimentul dvs. S3. Pentru mai multe informații, vezi Scrierea politicilor IAM: Cum se acordă acces la o bucket Amazon S3.

component_root_dir parametrul ar trebui să indice locația din Amazon S3 în care sunt stocate datele de antrenament.

După ce lansăm API-urile precedente, setul nostru de date a fost creat.

  1. Ingerați datele în setul de date:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Acum că datele dvs. sunt disponibile pe Amazon S3, crearea unui set de date și ingerarea datelor din acesta este doar o chestiune de trei linii de cod. Nu trebuie să construiți manual o schemă JSON lungă; caseta de instrumente detectează structura fișierelor și o creează pentru dvs. După ce datele dvs. sunt ingerate, este timpul să treceți la antrenament!

Antrenează un model de detectare a anomaliilor

După ce datele au fost ingerate în setul de date, putem începe procesul de formare a modelului. Vezi următorul cod:

from lookoutequipment import model lookout_model = model.LookoutEquipmentModel(model_name='my_model', dataset_name='my_dataset') lookout_model.set_time_periods(data['evaluation_start'],data['evaluation_end'],data['training_start'],data['training_end'])
lookout_model.set_label_data(bucket=bucket,prefix=prefix + 'label-data/',access_role_arn=role_arn)
lookout_model.set_target_sampling_rate(sampling_rate='PT5M') #trigger training job
response = lookout_model.train() #poll every 5 minutes to check the status of the training job
lookout_model.poll_model_training(sleep_time=300)

Înainte de a lansa instruirea, trebuie să specificăm perioadele de instruire și evaluare din setul de date. De asemenea, setăm locația în Amazon S3 în care sunt stocate datele etichetate și setăm rata de eșantionare la 5 minute. După ce lansăm antrenamentul, poll_model_training sondajează starea postului de formare la fiecare 5 minute până când antrenamentul are succes.

Modulul de instruire al casetei de instrumente Lookout for Equipment vă permite să antrenați un model cu mai puțin de 10 linii de cod. Acesta creează toate șirurile de solicitare de creare a lungimii necesare API-ului de nivel scăzut în numele dvs., eliminând nevoia de a crea documente JSON lungi, predispuse la erori.

După ce modelul este antrenat, putem fie să verificăm rezultatele pe perioada de evaluare, fie să configuram un planificator de inferențe folosind caseta de instrumente.

Evaluați un model antrenat

După ce un model este antrenat, acesta DescrieModel API de la Lookout for Equipment înregistrează valorile asociate antrenamentului. Acest API returnează un document JSON cu două câmpuri de interes pentru a reprezenta rezultatele evaluării: labeled_ranges și predicted_ranges, care conțin anomaliile cunoscute și, respectiv, prezise în intervalul de evaluare. Cutia de instrumente oferă utilitare pentru a le încărca într-un Pandas DataFrame:

from lookoutequipment import evaluation LookoutDiagnostics = evaluation.LookoutEquipmentAnalysis(model_name='my_model', tags_df=data['data']) predicted_ranges = LookoutDiagnostics.get_predictions()
labels_fname = os.path.join('expander-data', 'labels.csv')
labeled_range = LookoutDiagnostics.get_labels(labels_fname)

Avantajul încărcării intervalelor într-un DataFrame este că putem crea vizualizări frumoase prin trasarea unuia dintre semnalele originale ale seriei temporale și adăugarea unei suprapuneri a evenimentelor anomale etichetate și prezise utilizând TimeSeriesVisualization clasa cutiei de instrumente:

from lookoutequipment import plot TSViz = plot.TimeSeriesVisualization(timeseries_df=data['data'], data_format='tabular')
TSViz.add_signal(['signal-001'])
TSViz.add_labels(labeled_range)
TSViz.add_predictions([predicted_ranges])
TSViz.add_train_test_split(data['evaluation_start'])
TSViz.add_rolling_average(60*24)
TSViz.legend_format = {'loc': 'upper left', 'framealpha': 0.4, 'ncol': 3}
fig, axis = TSViz.plot()

Aceste câteva linii de cod generează o diagramă cu următoarele caracteristici:

  • Un grafic de linii pentru semnalul selectat; partea folosită pentru antrenamentul modelului apare în albastru, în timp ce partea de evaluare este în gri
  • Media rulantă apare ca o linie roșie subțire suprapusă peste seria de timp
  • Etichetele sunt afișate într-o panglică verde etichetată „anomalii cunoscute” (în mod implicit)
  • Evenimentele prezise sunt afișate într-o panglică roșie etichetată „Evenimente detectate”

Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Setul de instrumente realizează toate sarcinile grele de localizare, încărcare și analizare a fișierelor JSON, oferind în același timp vizualizări gata de utilizare care reduc și mai mult timpul necesar pentru a obține informații de la modelele dvs. de detectare a anomaliilor. În această etapă, setul de instrumente vă permite să vă concentrați pe interpretarea rezultatelor și pe luarea de acțiuni pentru a oferi valoare comercială directă utilizatorilor dvs. finali. Pe lângă aceste vizualizări în serii de timp, SDK-ul oferă alte grafice, cum ar fi o comparație cu histogramă a valorilor semnalelor dvs. între timpii normali și anormali. Pentru a afla mai multe despre celelalte capacități de vizualizare pe care le puteți utiliza imediat din cutie, consultați Căutați documentația cutiei de instrumente pentru echipamente.

Programează inferența

Să vedem cum putem programa inferențe folosind caseta de instrumente:

from lookout import scheduler #prepare dummy inference data
dataset.prepare_inference_data( root_dir='expander-data', sample_data_dict=data, bucket=bucket, prefix=prefix
) #setup the scheduler
lookout_scheduler = scheduler.LookoutEquipmentScheduler(scheduler_name='my_scheduler',model_name='my_model')
scheduler_params = { 'input_bucket': bucket, 'input_prefix': prefix + 'inference-data/input/', 'output_bucket': bucket, 'output_prefix': prefix + 'inference-data/output/', 'role_arn': role_arn, 'upload_frequency': 'PT5M', 'delay_offset': None, 'timezone_offset': '+00:00', 'component_delimiter': '_', 'timestamp_format': 'yyyyMMddHHmmss' } lookout_scheduler.set_parameters(**scheduler_params)
response = lookout_scheduler.create()

Acest cod creează un planificator care procesează un fișier la fiecare 5 minute (potrivire cu frecvența de încărcare setată la configurarea programatorului). După aproximativ 15 minute, ar trebui să avem câteva rezultate disponibile. Pentru a obține aceste rezultate de la planificatorul într-un Pandas DataFrame, trebuie doar să rulăm următoarea comandă:

results_df = lookout_scheduler.get_predictions()

De aici, putem reprezenta și importanța caracteristicii pentru o predicție folosind API-urile de vizualizare ale casetei de instrumente:

event_details = pd.DataFrame(results_df.iloc[0, 1:]).reset_index()
fig, ax = plot.plot_event_barh(event_details)

Produce următoarea vizualizare a importanței caracteristicilor pe datele eșantionului.

Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Caseta de instrumente oferă, de asemenea, un API pentru a opri programatorul. Vedeți următorul fragment de cod:

scheduler.stop()

A curăța

Pentru a șterge toate artefactele create anterior, putem apela delete_dataset API cu numele setului nostru de date:

dataset.delete_dataset(dataset_name='my_dataset', delete_children=True, verbose=True)

Concluzie

Când vorbim cu clienții industriali și de producție, o provocare comună pe care o auzim în ceea ce privește profitarea de AI și ML este cantitatea mare de personalizare și dezvoltarea specifică și munca de știință a datelor necesare pentru a obține rezultate fiabile și acționabile. Antrenarea modelelor de detectare a anomaliilor și obținerea de avertismente prealabile acționabile pentru multe utilaje industriale diferite este o condiție prealabilă pentru a reduce efortul de întreținere, a reduce repetarea sau risipa, a crește calitatea produsului și a îmbunătăți eficiența generală a echipamentelor (OEE) sau liniile de produse. Până acum, acest lucru a necesitat o cantitate masivă de muncă de dezvoltare specifică, care este greu de scalat și de menținut în timp.

Serviciile Amazon Applied AI, cum ar fi Lookout for Equipment, permit producătorilor să construiască modele AI fără a avea acces la o echipă versatilă de cercetători de date, ingineri de date și ingineri de proces. Acum, cu setul de instrumente Lookout for Equipment, dezvoltatorii dvs. pot reduce și mai mult timpul necesar pentru a explora informații despre datele din seria dvs. cronologică și pentru a lua măsuri. Această cutie de instrumente oferă o interfață ușor de utilizat, prietenoasă pentru dezvoltatori, pentru a construi rapid modele de detectare a anomaliilor folosind Lookout for Equipment. Setul de instrumente este open source și tot codul SDK poate fi găsit pe amazon-lookout-for-equipment-python-sdk Repoziție GitHub. Este disponibil și ca a Pachetul PyPi.

Această postare acoperă doar câteva dintre cele mai importante API-uri. Cititorii interesați pot consulta documentația cutiei de instrumente pentru a analiza capabilitățile mai avansate ale casetei de instrumente. Încercați și spuneți-ne ce credeți în comentarii!


Despre Autori

Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Vikesh Pandey este un specialist în învățare automată, specialist arhitect în soluții la AWS, ajutând clienții din Marea Britanie și din regiunea EMEA mai largă să proiecteze și să construiască soluții ML. În afara serviciului, lui Vikesh îi place să încerce diferite bucătării și să facă sporturi în aer liber.

Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Ioan Catana este arhitect de soluții specializat în inteligență artificială și învățare automată la AWS. El îi ajută pe clienți să-și dezvolte și să-și scaleze soluțiile ML în AWS Cloud. Ioan are peste 20 de ani de experiență, mai ales în proiectarea arhitecturii software și inginerie în cloud.

Creați, antrenați și implementați modele Amazon Lookout for Equipment folosind Python Toolbox PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Michael Hoarau este arhitect de soluții de specialitate AI/ML la AWS, care alternează între cercetătorul de date și arhitectul de învățare automată, în funcție de moment. Este pasionat de a aduce puterea AI/ML în atelierele clienților săi industriali și a lucrat la o gamă largă de cazuri de utilizare ML, de la detectarea anomaliilor la calitatea predictivă a produsului sau optimizarea producției. Când nu îi ajută pe clienți să dezvolte următoarele experiențe de învățare automată, îi place să observe stelele, să călătorească sau să cânte la pian.

Timestamp-ul:

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