Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox

Forudsigende vedligeholdelse kan være en effektiv måde at forhindre industrielle maskinfejl og dyr nedetid ved proaktivt at overvåge dit udstyrs tilstand, så du kan blive advaret om eventuelle uregelmæssigheder, før der opstår udstyrsfejl. Installation af sensorer og den nødvendige infrastruktur til dataforbindelse, lagring, analyse og alarmering er de grundlæggende elementer for at muliggøre forudsigende vedligeholdelsesløsninger. Men selv efter at have installeret ad hoc-infrastrukturen, bruger mange virksomheder grundlæggende dataanalyse og simple modelleringsmetoder, som ofte er ineffektive til at opdage problemer tidligt nok til at undgå nedetid. Det kan også være svært og tidskrævende at implementere en maskinlæringsløsning (ML) til dit udstyr.

Med Amazon Lookout for udstyr, kan du automatisk analysere sensordata for dit industrielle udstyr for at detektere unormal maskinadfærd – uden at kræve ML-erfaring. Det betyder, at du kan opdage udstyrsabnormiteter med hastighed og præcision, hurtigt diagnosticere problemer og træffe foranstaltninger for at reducere dyr nedetid.

Lookout for Equipment analyserer dataene fra dine sensorer og systemer, såsom tryk, flowhastighed, omdrejninger, temperatur og effekt, for automatisk at træne en model, der er specifik for dit udstyr baseret på dine data. Den bruger din unikke ML-model til at analysere indkommende sensordata i realtid og identificerer tidlige advarselstegn, der kan føre til maskinfejl. For hver registreret advarsel udpeger Lookout for Equipment, hvilke specifikke sensorer der indikerer problemet, og størrelsen af ​​påvirkningen af ​​den detekterede hændelse.

Med en mission om at lægge ML i hænderne på enhver udvikler, ønsker vi at præsentere endnu en tilføjelse til Lookout for Equipment: en open source Python-værktøjskasse der giver udviklere og datavidenskabsfolk mulighed for at bygge, træne og implementere Lookout for Equipment-modeller på samme måde som, hvad du er vant til med Amazon SageMaker. Dette bibliotek er en indpakning oven på Lookout for Equipment boto3 python API og leveres til at starte din rejse med denne service. Hvis du har forslag til forbedringer eller fejl at rapportere, bedes du indsende et problem mod værktøjskassen GitHub repository.

I dette indlæg giver vi en trin-for-trin guide til brug af Lookout for Equipment open source Python-værktøjskassen fra en SageMaker-notesbog.

Miljøopsætning

For at bruge open source Lookout for Equipment-værktøjskassen fra en SageMaker-notesbog skal vi give SageMaker-notebooken de nødvendige tilladelser til at kalde Lookout for Equipment API'er. For dette indlæg antager vi, at du allerede har oprettet en SageMaker notebook-instans. For instruktioner, se Kom godt i gang med Amazon SageMaker Notebook Instances. Notebook-forekomsten er automatisk knyttet til en udførelsesrolle.

  1. For at finde den rolle, der er knyttet til instansen, skal du vælge instansen på SageMaker-konsollen.
    Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. På den næste skærm skal du rulle ned for at finde AWS identitets- og adgangsstyring (IAM) rolle knyttet til instansen i Tilladelser og kryptering sektion.
  3. Vælg den rolle, der skal åbne IAM-konsollen.
    Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Dernæst knytter vi en inline-politik til vores SageMaker IAM-rolle.

  1. Tilladelser fanen for den rolle, du åbnede, skal du vælge Tilføj inline politik.
    Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. JSON fanen, skal du indtaste følgende kode. Vi bruger en joker-handling (lookoutequipment:*) for tjenesten til demoformål. I tilfælde af virkelig brug skal du kun angive de nødvendige tilladelser til at køre de relevante SDK API-kald.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. Vælg Gennemgå politik.
  4. Angiv et navn til politikken, og opret politikken.

Ud over den foregående inline-politik er vi i den samme IAM-rolle nødt til at oprette et tillidsforhold for at tillade Lookout for Equipment at påtage sig denne rolle. SageMaker-rollen har allerede den relevante dataadgang til Amazon Simple Storage Service (Amazon S3); at tillade Lookout for Equipment at påtage sig denne rolle sikrer, at den har samme adgang til dataene som din notebook. I dit miljø har du muligvis allerede en specifik rolle, der sikrer, at Lookout for Equipment har adgang til dine data, i hvilket tilfælde du ikke behøver at justere tillidsforholdet for denne fælles rolle.

  1. Inde i vores SageMaker IAM-rolle på Tillidsforhold fanebladet, vælg Rediger tillidsforhold.
  2. Under politikdokumentet skal du erstatte hele politikken med følgende kode:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. Vælg Opdater tillidspolitik.

Nu er vi klar til at bruge Lookout for Equipment-værktøjskassen i vores SageMaker notebook-miljø. Lookout for Equipment-værktøjskassen er en open-source Python-pakke, der gør det muligt for datavidenskabsmænd og softwareudviklere nemt at bygge og implementere tidsserieanomalidetektionsmodeller ved hjælp af Lookout for Equipment. Lad os se på, hvad du nemmere kan opnå takket være værktøjskassen!

Afhængigheder

I skrivende stund skal værktøjskassen have følgende installeret:

Når du har opfyldt disse afhængigheder, kan du installere og starte Lookout for Equipment-værktøjskassen med følgende kommando fra en Jupyter-terminal:

pip install lookoutequipment

Værktøjskassen er nu klar til brug. I dette indlæg demonstrerer vi, hvordan du bruger værktøjskassen ved at træne og implementere en anomalidetektionsmodel. En typisk ML-udviklingslivscyklus består af opbygning af datasættet til træning, træning af modellen, implementering af modellen og udførelse af inferens på modellen. Værktøjskassen er ret omfattende med hensyn til de funktionaliteter, den giver, men i dette indlæg fokuserer vi på følgende muligheder:

  • Forbered datasættet
  • Træn en anomalidetektionsmodel ved hjælp af Lookout for Equipment
  • Byg visualiseringer til din modelevaluering
  • Konfigurer og start en slutningsplanlægger
  • Visualiser resultater for planlægningsindledninger

Lad os forstå, hvordan vi kan bruge værktøjskassen til hver af disse muligheder.

Forbered datasættet

Lookout for Equipment kræver, at der oprettes og indlæses et datasæt. For at forberede datasættet skal du udføre følgende trin:

  1. Før du opretter datasættet, skal vi indlæse et eksempeldatasæt og uploade det til en Amazon Simple Storage Service (Amazon S3) spand. I dette indlæg bruger vi expander datasæt:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

Den vendte tilbage data objekt repræsenterer en ordbog, der indeholder følgende:

    • En træningsdata DataFrame
    • A mærker DataFrame
    • Uddannelsens start- og slutdato
    • Evalueringens start- og slutdato
    • En tags beskrivelse DataFrame

Trænings- og etiketdataene uploades fra målbiblioteket til Amazon S3 på bucket/præfikset-placeringen.

  1. Efter upload af datasættet i S3 opretter vi et objekt af LookoutEquipmentDataset klasse, der administrerer datasættet:
    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 leveret skal have adgang til S3-bøtten, hvor dataene er til stede. Du kan hente rollen ARN for SageMaker notebook-forekomsten fra den forrige Miljøopsætning sektion og tilføje en IAM-politik for at give adgang til din S3-bøtte. For mere information, se At skrive IAM-politikker: Sådan giver du adgang til en Amazon S3 Bucket.

component_root_dir parameter skal angive den placering i Amazon S3, hvor træningsdataene er gemt.

Efter at vi har lanceret de foregående API'er, er vores datasæt blevet oprettet.

  1. Indtag dataene i datasættet:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

Nu hvor dine data er tilgængelige på Amazon S3, er oprettelse af et datasæt og indlæsning af data i det kun et spørgsmål om tre linjer kode. Du behøver ikke bygge et langt JSON-skema manuelt; værktøjskassen registrerer din filstruktur og bygger den for dig. Når dine data er indtaget, er det tid til at gå til træning!

Træn en anomalidetektionsmodel

Efter dataene er blevet indtaget i datasættet, kan vi starte modeltræningsprocessen. 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 starter uddannelsen, skal vi specificere trænings- og evalueringsperioderne i datasættet. Vi indstiller også placeringen i Amazon S3, hvor de mærkede data gemmes, og indstiller samplinghastigheden til 5 minutter. Efter at vi har lanceret uddannelsen, poll_model_training poller træningsjobstatus hvert 5. minut, indtil træningen er vellykket.

Træningsmodulet i Lookout for Equipment-værktøjskassen giver dig mulighed for at træne en model med mindre end 10 linjer kode. Det opbygger alle de længdeoprettelsesanmodningsstrenge, der er nødvendige af lavniveau-API'en på dine vegne, og fjerner behovet for, at du skal bygge lange, fejltilbøjelige JSON-dokumenter.

Efter at modellen er trænet, kan vi enten kontrollere resultaterne i løbet af evalueringsperioden eller konfigurere en inferensplanlægning ved hjælp af værktøjskassen.

Evaluer en trænet model

Efter at en model er trænet, vil den Beskriv model API fra Lookout for Equipment registrerer de målinger, der er knyttet til træningen. Denne API returnerer et JSON-dokument med to interessefelter for at plotte evalueringsresultaterne: labeled_ranges , predicted_ranges, som indeholder de kendte og forudsagte anomalier i henholdsvis evalueringsområdet. Værktøjskassen indeholder værktøjer til at indlæse 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 ved at indlæse områderne i en DataFrame er, at vi kan skabe flotte visualiseringer ved at plotte et af de originale tidsseriesignaler og tilføje et overlay af de mærkede og forudsagte unormale hændelser ved at bruge TimeSeriesVisualization klasse af værktøjskassen:

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å linjer kode genererer et plot med følgende funktioner:

  • Et linjeplot for det valgte signal; den del, der bruges til træning af modellen, vises med blåt, mens evalueringsdelen er i gråt
  • Det rullende gennemsnit vises som en tynd rød linje over tidsserien
  • Etiketterne vises i et grønt bånd mærket "Kendte anomalier" (som standard)
  • De forudsagte hændelser vises i et rødt bånd mærket "Opdagede hændelser"

Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Værktøjskassen udfører alle de tunge løft med at lokalisere, indlæse og parse JSON-filerne, mens den leverer klar-til-brug visualiseringer, der yderligere reducerer tiden til at få indsigt fra dine anomalidetektionsmodeller. På dette stadium lader værktøjskassen dig fokusere på at fortolke resultaterne og tage handlinger for at levere direkte forretningsværdi til dine slutbrugere. Ud over disse tidsserievisualiseringer giver SDK'et andre plots, såsom en histogramsammenligning af værdierne af dine signaler mellem normale og unormale tider. For at lære mere om de andre visualiseringsfunktioner, du kan bruge lige fra kassen, se Hold øje med dokumentation for udstyrsværktøjskasse.

Planlæg slutning

Lad os se, hvordan vi kan planlægge slutninger ved hjælp af værktøjskassen:

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 kode opretter en skemalægger, der behandler én fil hvert 5. minut (matcher uploadfrekvensen, der er indstillet, når skemalæggeren konfigureres). Efter 15 minutter eller deromkring, skulle vi have nogle resultater tilgængelige. For at få disse resultater fra skemalæggeren i en Pandas DataFrame, skal vi bare køre følgende kommando:

results_df = lookout_scheduler.get_predictions()

Herfra kan vi også plotte funktionens betydning for en forudsigelse ved hjælp af visualiserings-API'erne i værktøjskassen:

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

Det producerer følgende visualisering af funktionsvigt på prøvedataene.

Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Værktøjskassen giver også en API til at stoppe skemalæggeren. Se følgende kodestykke:

scheduler.stop()

Ryd op

For at slette alle de tidligere oprettede artefakter kan vi kalde delete_dataset API med navnet på vores datasæt:

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

Konklusion

Når vi taler med industri- og produktionskunder, er en fælles udfordring, vi hører med hensyn til at udnytte AI og ML, den store mængde tilpasning og specifikt udviklings- og datavidenskabsarbejde, der er nødvendigt for at opnå pålidelige og handlingsrettede resultater. Det er en forudsætning for at reducere vedligeholdelsesindsatsen, reducere efterarbejde eller spild, øge produktkvaliteten og forbedre den overordnede udstyrseffektivitet (OEE) eller produktlinjer. Indtil nu har dette krævet en massiv mængde specifikt udviklingsarbejde, som er svært at skalere og vedligeholde over tid.

Amazon Applied AI-tjenester såsom Lookout for Equipment gør det muligt for producenter at bygge AI-modeller uden at have adgang til et alsidigt team af dataforskere, dataingeniører og procesingeniører. Nu, med Lookout for Equipment-værktøjskassen, kan dine udviklere yderligere reducere den tid, der er nødvendig for at udforske indsigt i dine tidsseriedata og handle. Denne værktøjskasse giver en brugervenlig, udviklervenlig grænseflade til hurtigt at bygge anomalidetektionsmodeller ved hjælp af Lookout for Equipment. Værktøjskassen er open source, og al SDK-koden kan findes på amazon-lookout-for-equipment-python-sdk GitHub repo. Den fås også som en PyPi-pakke.

Dette indlæg dækker kun få af de vigtigste API'er. Interesserede læsere kan se værktøjskasse dokumentation at se på mere avancerede funktioner i værktøjskassen. Prøv det, og lad os vide, hvad du synes i kommentarerne!


Om forfatterne

Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Vikesh Pandey er en Machine Learning Specialist Solutions Architect hos AWS, der hjælper kunder i Storbritannien og bredere EMEA-region med at designe og bygge ML-løsninger. Uden for arbejdet nyder Vikesh at prøve forskellige køkkener og dyrke udendørs sport.

Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Ioan Catana er en specialist i kunstig intelligens og maskinlæringsløsninger hos AWS. Han hjælper kunder med at udvikle og skalere deres ML-løsninger i AWS Cloud. Ioan har over 20 års erfaring, for det meste inden for softwarearkitekturdesign og cloud engineering.

Byg, træne og implementer Amazon Lookout for Equipment-modeller ved hjælp af Python Toolbox PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Michael Hoarau er en AI/ML Specialist Solutions Architect hos AWS, der veksler mellem dataforsker og maskinlæringsarkitekt, afhængigt af øjeblikket. Han brænder for at bringe kraften fra AI/ML til sine industrielle kunders butiksgulve og har arbejdet på en bred vifte af ML-brugssager, lige fra afsløring af anomalier til forudsigelig produktkvalitet eller produktionsoptimering. Når han ikke hjælper kunder med at udvikle de næstbedste maskinlæringsoplevelser, nyder han at observere stjernerne, rejse eller spille klaver.

Tidsstempel:

Mere fra AWS maskinindlæring