Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox

Prediktivt vedlikehold kan være en effektiv måte å forhindre feil på industrimaskiner og dyr nedetid ved å proaktivt overvåke tilstanden til utstyret ditt, slik at du kan bli varslet om eventuelle uregelmessigheter før utstyrsfeil oppstår. Installasjon av sensorer og nødvendig infrastruktur for datatilkobling, lagring, analyser og varsling er de grunnleggende elementene for å muliggjøre prediktive vedlikeholdsløsninger. Men selv etter å ha installert ad hoc-infrastrukturen, bruker mange selskaper grunnleggende dataanalyse og enkle modelleringsmetoder som ofte er ineffektive til å oppdage problemer tidlig nok til å unngå nedetid. Det kan også være vanskelig og tidkrevende å implementere en maskinlæringsløsning (ML) for utstyret ditt.

Med Amazon Lookout for utstyr, kan du automatisk analysere sensordata for industriutstyret ditt for å oppdage unormal maskinadferd – uten at det kreves erfaring med ML. Dette betyr at du kan oppdage utstyrsavvik med hastighet og presisjon, raskt diagnostisere problemer og iverksette tiltak for å redusere kostbar nedetid.

Lookout for Equipment analyserer dataene fra sensorene og systemene dine, for eksempel trykk, strømningshastighet, RPM, temperatur og effekt, for automatisk å trene en modell som er spesifikk for utstyret ditt basert på dataene dine. Den bruker din unike ML-modell til å analysere innkommende sensordata i sanntid og identifiserer tidlige advarselsskilt som kan føre til maskinfeil. For hvert varsel som oppdages, identifiserer Lookout for Equipment hvilke spesifikke sensorer som indikerer problemet, og omfanget av innvirkningen på den oppdagede hendelsen.

Med et oppdrag om å legge ML i hendene på alle utviklere, ønsker vi å presentere enda et tillegg til Lookout for Equipment: en åpen kildekode Python-verktøykasse som lar utviklere og dataforskere bygge, trene og distribuere Lookout for Equipment-modeller på samme måte som du er vant til med Amazon SageMaker. Dette biblioteket er en innpakning på toppen av Lookout for Equipment boto3 python API og er gitt for å starte reisen din med denne tjenesten. Skulle du ha forslag til forbedringer eller feil å rapportere, vennligst send inn et problem mot verktøykassen GitHub repository.

I dette innlegget gir vi en trinn-for-trinn-veiledning for bruk av Lookout for Equipment åpen kildekode Python-verktøykasse fra en SageMaker-notisbok.

Miljøoppsett

For å bruke åpen kildekode Lookout for Equipment-verktøykassen fra en SageMaker-notatbok, må vi gi SageMaker-notatboken de nødvendige tillatelsene for å kalle Lookout for Equipment APIer. For dette innlegget antar vi at du allerede har opprettet en SageMaker notatbokforekomst. For instruksjoner, se Kom i gang med Amazon SageMaker Notebook Instances. Notebook-forekomsten er automatisk knyttet til en utførelsesrolle.

  1. For å finne rollen som er knyttet til forekomsten, velg forekomsten på SageMaker-konsollen.
    Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  2. På neste skjerm, bla ned for å finne AWS identitets- og tilgangsadministrasjon (IAM) rolle knyttet til forekomsten i Tillatelser og kryptering seksjon.
  3. Velg rollen for å åpne IAM-konsollen.
    Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Deretter legger vi en integrert policy til SageMaker IAM-rollen vår.

  1. Tillatelser fanen for rollen du åpnet, velg Legg til retningslinjer.
    Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  2. JSON kategorien, skriv inn følgende kode. Vi bruker jokertegn (lookoutequipment:*) for tjenesten for demoformål. For reelle brukstilfeller, oppgi bare de nødvendige tillatelsene for å kjøre de riktige SDK API-kallene.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Velg Gjennomgå retningslinjene.
  4. Oppgi et navn for policyen og lag policyen.

I tillegg til den foregående integrerte policyen, for den samme IAM-rollen, må vi sette opp et tillitsforhold for å tillate Lookout for Equipment å påta seg denne rollen. SageMaker-rollen har allerede riktig datatilgang til Amazon enkel lagringstjeneste (Amazon S3); å tillate Lookout for Equipment å påta seg denne rollen sikrer at den har samme tilgang til dataene som den bærbare datamaskinen. I miljøet ditt har du kanskje allerede en spesifikk rolle som sikrer at Lookout for Equipment har tilgang til dataene dine, i så fall trenger du ikke justere tillitsforholdet til denne vanlige rollen.

  1. Inne i vår SageMaker IAM-rolle på Tillitsforhold kategorien, velg Rediger tillitsforhold.
  2. Under policydokumentet erstatter du hele policyen med følgende kode:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Velg Oppdater tillitspolitikken.

Nå er vi klare til å bruke Lookout for Equipment-verktøykassen i SageMaker bærbare miljø. Lookout for Equipment-verktøykassen er en åpen kildekode Python-pakke som lar dataforskere og programvareutviklere enkelt bygge og distribuere tidsserieavviksdeteksjonsmodeller ved hjelp av Lookout for Equipment. La oss se på hva du lettere kan oppnå takket være verktøykassen!

avhengig

I skrivende stund trenger verktøykassen følgende installert:

Etter at du har tilfredsstilt disse avhengighetene, kan du installere og starte Lookout for Equipment-verktøykassen med følgende kommando fra en Jupyter-terminal:

pip install lookoutequipment

Verktøykassen er nå klar til bruk. I dette innlegget viser vi hvordan du bruker verktøykassen ved å trene og distribuere en anomalideteksjonsmodell. En typisk ML-utviklingslivssyklus består av å bygge datasettet for opplæring, trene modellen, distribuere modellen og utføre slutninger om modellen. Verktøykassen er ganske omfattende når det gjelder funksjonaliteten den gir, men i dette innlegget fokuserer vi på følgende funksjoner:

  • Forbered datasettet
  • Tren en avviksdeteksjonsmodell ved å bruke Lookout for Equipment
  • Bygg visualiseringer for modellevalueringen din
  • Konfigurer og start en slutningsplanlegger
  • Visualiser resultater for planlegger-slutninger

La oss forstå hvordan vi kan bruke verktøykassen for hver av disse egenskapene.

Forbered datasettet

Lookout for Equipment krever at et datasett opprettes og tas inn. For å klargjøre datasettet, fullfør følgende trinn:

  1. Før vi oppretter datasettet, må vi laste et eksempeldatasett og laste det opp til en Amazon enkel lagringstjeneste (Amazon S3) bøtte. I dette innlegget bruker vi expander datasett:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

Den returnerte data objektet representerer en ordbok som inneholder følgende:

    • En treningsdata DataFrame
    • A merker DataFrame
    • Treningens start- og sluttdato
    • Evalueringens start- og sluttdato
    • En kodebeskrivelse DataFrame

Opplærings- og etikettdataene lastes opp fra målkatalogen til Amazon S3 ved bøtte/prefiksplassering.

  1. Etter å ha lastet opp datasettet i S3 lager vi et objekt av LookoutEquipmentDataset klasse som administrerer datasettet:
    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()

De access_role_arn som leveres må ha tilgang til S3-bøtten der dataene finnes. Du kan hente rollen ARN til SageMaker notatbokforekomsten fra forrige Miljøoppsett og legg til en IAM-policy for å gi tilgang til S3-bøtten din. For mer informasjon, se Skrive IAM-policyer: Hvordan gi tilgang til en Amazon S3 Bucket.

De component_root_dir parameteren skal indikere plasseringen i Amazon S3 hvor treningsdataene er lagret.

Etter at vi har lansert de foregående APIene, er datasettet vårt opprettet.

  1. Sett inn dataene i datasettet:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Nå som dataene dine er tilgjengelige på Amazon S3, er å lage et datasett og innta dataene i det bare et spørsmål om tre linjer med kode. Du trenger ikke bygge et langt JSON-skjema manuelt; verktøykassen oppdager filstrukturen og bygger den for deg. Etter at dataene dine er inntatt, er det på tide å gå over til trening!

Tren en anomalideteksjonsmodell

Etter at dataene er inntatt i datasettet, kan vi starte modelltreningsprosessen. Se følgende kode:

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)

Før vi lanserer opplæringen, må vi spesifisere opplærings- og evalueringsperiodene i datasettet. Vi angir også plasseringen i Amazon S3 der de merkede dataene lagres og setter samplingsfrekvensen til 5 minutter. Etter at vi har startet opplæringen, poll_model_training poller treningsjobbstatusen hvert 5. minutt til treningen er vellykket.

Treningsmodulen til Lookout for Equipment-verktøykassen lar deg trene en modell med mindre enn 10 linjer med kode. Den bygger alle forespørselsstrengene for lengdeoppretting som trengs av lavnivå-APIen på dine vegne, og fjerner behovet for å bygge lange, feilutsatte JSON-dokumenter.

Etter at modellen er opplært, kan vi enten sjekke resultatene i løpet av evalueringsperioden eller konfigurere en slutningsplanlegger ved hjelp av verktøykassen.

Vurder en opplært modell

Etter at en modell er trent opp Beskriv modell API fra Lookout for Equipment registrerer beregningene knyttet til opplæringen. Denne API-en returnerer et JSON-dokument med to interessefelt for å plotte evalueringsresultatene: labeled_ranges og predicted_ranges, som inneholder henholdsvis de kjente og forutsagte anomaliene i evalueringsområdet. Verktøykassen gir verktøy for å laste disse i en Pandas DataFrame i stedet:

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)

Fordelen med å laste inn områdene i en DataFrame er at vi kan lage fine visualiseringer ved å plotte et av de originale tidsseriesignalene og legge til et overlegg av merkede og forutsagte unormale hendelser ved å bruke TimeSeriesVisualization klasse av verktøykassen:

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()

Disse få kodelinjene genererer et plott med følgende funksjoner:

  • Et linjeplott for det valgte signalet; delen som brukes til å trene modellen vises i blått mens evalueringsdelen er i grått
  • Det rullende gjennomsnittet vises som en tynn rød linje over tidsserien
  • Etikettene vises i et grønt bånd merket "Kjente anomalier" (som standard)
  • De forutsagte hendelsene vises i et rødt bånd merket "Oppdagede hendelser"

Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Verktøykassen utfører alle de tunge løftene med å finne, laste og analysere JSON-filene, samtidig som den gir klare til bruk visualiseringer som ytterligere reduserer tiden det tar å få innsikt fra modellene dine for avviksdeteksjon. På dette stadiet lar verktøykassen deg fokusere på å tolke resultatene og iverksette tiltak for å levere direkte forretningsverdi til sluttbrukerne. I tillegg til disse tidsserievisualiseringene, gir SDK andre plott som en histogramsammenligning av verdiene til signalene dine mellom normale og unormale tider. For å lære mer om de andre visualiseringsmulighetene du kan bruke rett ut av esken, se Se etter dokumentasjon på utstyrsverktøykassen.

Planlegg slutning

La oss se hvordan vi kan planlegge slutninger ved å bruke verktøykassen:

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()

Denne koden oppretter en planlegger som behandler én fil hvert 5. minutt (tilsvarer opplastingsfrekvensen som er angitt når du konfigurerer planleggeren). Etter 15 minutter eller så, bør vi ha noen resultater tilgjengelig. For å få disse resultatene fra planleggeren i en Pandas DataFrame, må vi bare kjøre følgende kommando:

results_df = lookout_scheduler.get_predictions()

Herfra kan vi også plotte funksjonens betydning for en prediksjon ved å bruke visualiserings-API-ene til verktøykassen:

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

Den produserer følgende funksjonsviktighetsvisualisering på eksempeldataene.

Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Verktøykassen gir også en API for å stoppe planleggeren. Se følgende kodebit:

scheduler.stop()

Rydd opp

For å slette alle artefaktene som er opprettet tidligere, kan vi ringe til delete_dataset API med navnet på datasettet vårt:

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

konklusjonen

Når vi snakker med industri- og produksjonskunder, er en vanlig utfordring vi hører når det gjelder å dra nytte av AI og ML den store mengden tilpasning og spesifikt utviklings- og datavitenskapelig arbeid som trengs for å oppnå pålitelige og handlingsdyktige resultater. Opplæring av avviksdeteksjonsmodeller og å få handlingsdyktig forhåndsvarsling for mange forskjellige industrielle maskiner er en forutsetning for å redusere vedlikeholdsinnsatsen, redusere omarbeiding eller avfall, øke produktkvaliteten og forbedre den samlede utstyrseffektiviteten (OEE) eller produktlinjer. Til nå har dette krevd en enorm mengde spesifikt utviklingsarbeid, som er vanskelig å skalere og vedlikeholde over tid.

Amazon Applied AI-tjenester som Lookout for Equipment gjør det mulig for produsenter å bygge AI-modeller uten å ha tilgang til et allsidig team av dataforskere, dataingeniører og prosessingeniører. Nå, med Lookout for Equipment-verktøykassen, kan utviklerne ytterligere redusere tiden som trengs for å utforske innsikt i tidsseriedataene dine og iverksette tiltak. Denne verktøykassen gir et brukervennlig, utviklervennlig grensesnitt for raskt å bygge anomalideteksjonsmodeller ved å bruke Lookout for Equipment. Verktøykassen er åpen kildekode og all SDK-koden kan finnes på amazon-lookout-for-equipment-python-sdk GitHub repo. Den er også tilgjengelig som en PyPi-pakken.

Dette innlegget dekker bare noen få av de viktigste APIene. Interesserte lesere kan sjekke ut verktøykasse dokumentasjon for å se på mer avanserte funksjoner i verktøykassen. Prøv det, og la oss få vite hva du synes i kommentarfeltet!


Om forfatterne

Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Vikesh Pandey er en maskinlæringsspesialist spesialistløsningsarkitekt hos AWS, og hjelper kunder i Storbritannia og EMEA-regionen videre med å designe og bygge ML-løsninger. Utenom jobben liker Vikesh å prøve ut forskjellige retter og drive med utendørssport.

Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Ioan Catana er en spesialistløsningsarkitekt for kunstig intelligens og maskinlæring ved AWS. Han hjelper kunder med å utvikle og skalere sine ML-løsninger i AWS Cloud. Ioan har over 20 års erfaring, for det meste innen programvarearkitekturdesign og skyutvikling.

Bygg, tren og distribuer Amazon Lookout for Equipment-modeller ved å bruke Python Toolbox PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Michael Hoarau er en AI/ML Specialist Solutions Architect ved AWS som veksler mellom dataforsker og maskinlæringsarkitekt, avhengig av øyeblikket. Han er lidenskapelig opptatt av å bringe kraften til AI/ML til butikkgulvene til industrielle kunder og har jobbet med et bredt spekter av ML-brukstilfeller, alt fra avviksdeteksjon til prediktiv produktkvalitet eller produksjonsoptimalisering. Når han ikke hjelper kundene med å utvikle de nest beste maskinlæringsopplevelsene, liker han å observere stjernene, reise eller spille piano.

Tidstempel:

Mer fra AWS maskinlæring