Forudsigende vedligeholdelse er kritisk i bilindustrien, fordi det kan undgå helt almindelige mekaniske fejl og reaktive vedligeholdelsesaktiviteter, der forstyrrer driften. Ved at forudsige køretøjsfejl og planlægge vedligeholdelse og reparationer reducerer du nedetiden, forbedrer sikkerheden og øger produktivitetsniveauerne.
Hvad hvis vi kunne anvende deep learning-teknikker på fælles områder, der forårsager køretøjsfejl, uplanlagt nedetid og reparationsomkostninger?
I dette indlæg viser vi dig, hvordan du træner og implementerer en model til at forudsige fejlsandsynlighed for køretøjsflåden ved hjælp af Amazon SageMaker JumpStart. SageMaker Jumpstart er maskinlærings (ML) hub for Amazon SageMaker, der leverer forudtrænede, offentligt tilgængelige modeller til en lang række problemtyper for at hjælpe dig med at komme i gang med ML. Løsningen skitseret i indlægget er tilgængelig på GitHub.
SageMaker JumpStart løsningsskabeloner
SageMaker JumpStart giver et-klik, end-to-end-løsninger til mange almindelige ML-brugssager. Udforsk følgende use cases for at få flere oplysninger om tilgængelige løsningsskabeloner:
SageMaker JumpStart-løsningsskabelonerne dækker en række forskellige brugsskabeloner, hvorunder hver af dem tilbydes flere forskellige løsningsskabeloner (løsningen i dette indlæg, Forudsigende vedligeholdelse for bilflåder, er i Løsninger afsnit). Vælg den løsningsskabelon, der passer bedst til din brugssituation, fra SageMaker JumpStart-landingssiden. For mere information om specifikke løsninger under hver use case, og hvordan man starter en SageMaker JumpStart-løsning, se Løsningsskabeloner.
Løsningsoversigt
AWS's forudsigende vedligeholdelsesløsning til bilflåder anvender deep learning-teknikker til fælles områder, der forårsager køretøjsfejl, uplanlagt nedetid og reparationsomkostninger. Det fungerer som en indledende byggesten, så du kan nå et proof of concept på kort tid. Denne løsning indeholder dataforberedelse og visualiseringsfunktionalitet i SageMaker og giver dig mulighed for at træne og optimere hyperparametrene for deep learning-modeller til dit datasæt. Du kan bruge dine egne data eller prøve løsningen med et syntetisk datasæt som en del af denne løsning. Denne version behandler køretøjssensordata over tid. En efterfølgende version vil behandle vedligeholdelsesdata.
Følgende diagram viser, hvordan du kan bruge denne løsning med SageMaker-komponenter. Som en del af løsningen anvendes følgende tjenester:
- Amazon S3 - Vi bruger Amazon Simple Storage Service (Amazon S3) til at gemme datasæt
- SageMaker notesbog – Vi bruger en notesbog til at forbehandle og visualisere dataene og til at træne deep learning-modellen
- SageMaker slutpunkt – Vi bruger endepunktet til at implementere den trænede model
Arbejdsgangen omfatter følgende trin:
- Et uddrag af historiske data oprettes fra Fleet Management System, der indeholder køretøjsdata og sensorlogfiler.
- Efter at ML-modellen er trænet, implementeres SageMaker-modelartefakten.
- Det tilsluttede køretøj sender sensorlogfiler til AWS IoT Core (alternativt via en HTTP-grænseflade).
- Sensorlogfiler fortsættes via Amazon Kinesis Data Firehose.
- Sensorlogs sendes til AWS Lambda for at forespørge mod modellen for at lave forudsigelser.
- Lambda sender sensorlogfiler til Sagemaker modelinferens for forudsigelser.
- Forudsigelser er fastholdt Amazon Aurora.
- Samlede resultater vises på en Amazon QuickSight instrumentbræt.
- Realtidsmeddelelser om den forudsagte sandsynlighed for fejl sendes til Amazon Simple Notification Service (Amazon SNS).
- Amazon SNS sender meddelelser tilbage til det tilsluttede køretøj.
Løsningen består af seks notesbøger:
- 0_demo.ipynb – En hurtig forhåndsvisning af vores løsning
- 1_introduction.ipynb – Introduktion og løsningsoverblik
- 2_data_preparation.ipynb – Forbered et eksempeldatasæt
- 3_data_visualization.ipynb – Visualiser vores eksempeldatasæt
- 4_model_training.ipynb – Træn en model på vores prøvedatasæt til at opdage fejl
- 5_resultater_analyse.ipynb – Analyser resultaterne fra den model, vi trænede
Forudsætninger
Amazon SageMaker Studio er det integrerede udviklingsmiljø (IDE) i SageMaker, der giver os alle de ML-funktioner, som vi har brug for i en enkelt rude. Før vi kan køre SageMaker JumpStart, skal vi konfigurere SageMaker Studio. Du kan springe dette trin over, hvis du allerede har din egen version af SageMaker Studio kørende.
Den første ting, vi skal gøre, før vi kan bruge nogen AWS-tjenester, er at sikre, at vi har tilmeldt os og oprettet en AWS-konto. Så opretter vi en administrativ bruger og en gruppe. For instruktioner om begge trin, se Konfigurer Amazon SageMaker-forudsætninger.
Det næste trin er at oprette et SageMaker-domæne. Et domæne opsætter al lagerpladsen og giver dig mulighed for at tilføje brugere for at få adgang til SageMaker. For mere information, se Ombord på Amazon SageMaker Domain. Denne demo er oprettet i AWS-regionen us-east-1.
Til sidst starter du SageMaker Studio. Til dette indlæg anbefaler vi at starte en brugerprofil-app. For instruktioner, se Start Amazon SageMaker Studio.
For at køre denne SageMaker JumpStart-løsning og få infrastrukturen installeret på din AWS-konto, skal du oprette en aktiv SageMaker Studio-instans (se Ombord på Amazon SageMaker Studio). Når din instans er klar, skal du bruge instruktionerne i SageMaker JumpStart at lancere løsningen. Løsningsartefakter er inkluderet heri GitHub repository til reference.
Start SageMaker Jumpstart-løsningen
For at komme i gang med løsningen skal du udføre følgende trin:
- Vælg på SageMaker Studio-konsollen Forspring.
- På Løsninger fanebladet, vælg Forudsigende vedligeholdelse for bilflåder.
- Vælg Launch.
Det tager et par minutter at implementere løsningen. - Når løsningen er implementeret, skal du vælge Åbn notesbog.
Hvis du bliver bedt om at vælge en kerne, skal du vælge PyTorch 1.8 Python 3.6 for alle notebooks i denne løsning.
Forhåndsvisning af løsning
Vi arbejder først på 0_demo.ipynb
notesbog. I denne notesbog kan du få en hurtig forhåndsvisning af, hvordan resultatet vil se ud, når du færdiggør den fulde notesbog for denne løsning.
Vælg Kør , Kør alle celler for at køre alle celler i SageMaker Studio (eller Cell , Kør alle i en SageMaker notebook-forekomst). Du kan køre alle cellerne i hver notesbog efter hinanden. Sørg for, at alle celler er færdige med at behandle, før du går videre til den næste notesbog.
Denne løsning er afhængig af en konfigurationsfil til at køre de klargjorte AWS-ressourcer. Vi genererer filen som følger:
Vi har nogle eksempler på tidsserie-inputdata, der består af et køretøjs batterispænding og batteristrøm over tid. Dernæst indlæser og visualiserer vi prøvedataene. Som vist på de følgende skærmbilleder er spændings- og strømværdierne på Y-aksen, og aflæsningerne (19 aflæsninger registreret) er på X-aksen.
Vi har tidligere trænet en model på disse spændings- og strømdata, der forudsiger sandsynligheden for køretøjsfejl, og har implementeret modellen som et endepunkt i SageMaker. Vi vil kalde dette endepunkt med nogle eksempeldata for at bestemme sandsynligheden for fejl i den næste tidsperiode.
Givet prøveinputdataene er den forudsagte sandsynlighed for fejl 45.73%.
Vælg for at gå til næste fase Klik her for at fortsætte.
Introduktion og løsningsoversigt
1_introduction.ipynb
notebook giver et overblik over løsningen og faserne og et kig i konfigurationsfilen, der har indholdsdefinition, datasamplingperiode, antal tog- og testprøver, parametre, placering og kolonnenavne for genereret indhold.
Når du har gennemgået denne notesbog, kan du gå videre til næste trin.
Forbered et eksempeldatasæt
Vi udarbejder et eksempeldatasæt i 2_data_preparation.ipynb
notesbog.
Vi genererer først konfigurationsfilen til denne løsning:
Konfigurationsegenskaberne er som følger:
Du kan definere dit eget datasæt eller bruge vores scripts til at generere et eksempeldatasæt:
Du kan flette sensordataene og flådens køretøjsdata sammen:
Vi kan nu gå over til datavisualisering.
Visualiser vores eksempeldatasæt
Vi visualiserer vores eksempeldatasæt i 3_data_vizualization.ipynb
. Denne løsning er afhængig af en konfigurationsfil til at køre de klargjorte AWS-ressourcer. Lad os generere filen svarende til den forrige notesbog.
Følgende skærmbillede viser vores datasæt.
Lad os derefter bygge datasættet:
Nu hvor datasættet er klar, lad os visualisere datastatistikken. Følgende skærmbillede viser datafordelingen baseret på køretøjsmærke, motortype, køretøjsklasse og model.
Ved at sammenligne logdataene, lad os se på et eksempel på middelspændingen over forskellige år for mærke E og C (tilfældig).
Middelværdien af spænding og strøm er på Y-aksen, og antallet af aflæsninger er på X-aksen.
- Mulige værdier for log_target: ['make', 'model', 'year', 'vehicle_class', 'engine_type']
- Tilfældigt tildelt værdi for
log_target: make
- Tilfældigt tildelt værdi for
- Mulige værdier for log_target_value1: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Tilfældigt tildelt værdi for
log_target_value1: Make B
- Tilfældigt tildelt værdi for
- Mulige værdier for log_target_value2: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Tilfældigt tildelt værdi for
log_target_value2: Make D
- Tilfældigt tildelt værdi for
Ud fra ovenstående antager vi log_target: make
, log_target_value1: Make B
, log_target_value2: Make D
Følgende grafer nedbryder middelværdien af logdataene.
Følgende grafer visualiserer et eksempel på forskellige sensorlogværdier i forhold til spænding og strøm.
Træn en model på vores prøvedatasæt for at opdage fejl
I 4_model_training.ipynb
notebook træner vi en model på vores eksempeldatasæt til at opdage fejl.
Lad os generere konfigurationsfilen svarende til den forrige notesbog og derefter fortsætte med træningskonfigurationen:
Analyser resultaterne fra den model, vi trænede
I 5_results_analysis.ipynb
notebook, får vi data fra vores hyperparameter tuning job, visualiserer metrics for alle jobs for at identificere det bedste job og opbygger et slutpunkt for det bedste træningsjob.
Lad os generere konfigurationsfilen svarende til den forrige notesbog og visualisere metrikken for alle jobs. Følgende plot visualiserer testnøjagtighed vs. epoke.
Følgende skærmbillede viser de hyperparameterindstillingsjob, vi kørte.
Du kan nu visualisere data fra det bedste træningsjob (ud af de fire træningsjob) baseret på testnøjagtigheden (rød).
Som vi kan se i de følgende skærmbilleder, falder testtabet, og AUC og nøjagtighed stiger med epoker.
Baseret på visualiseringerne kan vi nu bygge et slutpunkt til det bedste træningsjob:
Efter at vi har bygget endepunktet, kan vi teste forudsigeren ved at sende den prøvesensorlogfiler:
Givet prøveinputdataene er den forudsagte sandsynlighed for fejl 34.60 %.
Ryd op
Når du er færdig med denne løsning, skal du sørge for at slette alle uønskede AWS-ressourcer. På den Forudsigende vedligeholdelse for bilflåder side, under Slet løsning, vælg Slet alle ressourcer at slette alle de ressourcer, der er knyttet til løsningen.
Du skal manuelt slette eventuelle ekstra ressourcer, som du måtte have oprettet i denne notesbog. Nogle eksempler inkluderer de ekstra S3-buckets (til løsningens standard-bucket) og de ekstra SageMaker-endepunkter (ved hjælp af et brugerdefineret navn).
Tilpas løsningen
Vores løsning er enkel at tilpasse. For at ændre inputdatavisualiseringerne, se sagemaker/3_data_visualization.ipynb. Se for at tilpasse maskinlæringen sagemaker/source/train.py , sagemaker/source/dl_utils/network.py. Se for at tilpasse datasætbehandlingen sagemaker/1_introduction.ipynb hvordan man definerer konfigurationsfilen.
Derudover kan du ændre konfigurationen i konfigurationsfilen. Standardkonfigurationen er som følger:
Konfigurationsfilen har følgende parametre:
fleet_info_fn
,fleet_sensor_logs_fn
,fleet_dataset_fn
,train_dataset_fn
ogtest_dataset_fn
definere placeringen af datasætfilervehicle_id_column
,timestamp_column
,target_column
ogperiod_column
definere overskrifterne for kolonnerdataset_size
,chunksize
,processing_chunksize
,period_ms
ogwindow_length
definere datasættets egenskaber
Konklusion
I dette indlæg viste vi dig, hvordan du træner og implementerer en model til at forudsige sandsynlighed for fejl i køretøjsflåden ved hjælp af SageMaker JumpStart. Løsningen er baseret på ML- og deep learning-modeller og tillader en bred vifte af inputdata, herunder alle tidsvarierende sensordata. Fordi hvert køretøj har forskellig telemetri, kan du finjustere den medfølgende model til den frekvens og type data, du har.
For at lære mere om, hvad du kan gøre med SageMaker JumpStart, se følgende:
Ressourcer
Om forfatterne
Rajakumar Sampathkumar er en Principal Technical Account Manager hos AWS, der giver kunderne vejledning om forretningsteknologisk tilpasning og understøtter genopfindelsen af deres cloud-driftsmodeller og -processer. Han brænder for cloud og machine learning. Raj er også maskinlæringsspecialist og arbejder med AWS-kunder for at designe, implementere og administrere deres AWS-arbejdsbelastninger og -arkitekturer.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Automotive/elbiler, Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- BlockOffsets. Modernisering af miljømæssig offset-ejerskab. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/predict-vehicle-fleet-failure-probability-using-amazon-sagemaker-jumpstart/
- :har
- :er
- ][s
- $OP
- 1
- 10
- 100
- 11
- 12
- 13
- 15 %
- 16
- 19
- 20
- 50
- 67
- 7
- 8
- a
- Om
- over
- adgang
- Ifølge
- Konto
- nøjagtighed
- tværs
- aktiv
- aktiviteter
- tilføje
- administrative
- Efter
- mod
- tilpasning
- Alle
- tillader
- allerede
- også
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- analysere
- ,
- enhver
- app
- Indløs
- ER
- områder
- AS
- tildelt
- forbundet
- antage
- At
- automotive
- til rådighed
- undgå
- AWS
- Axis
- tilbage
- baseret
- batteri
- fordi
- før
- BEDSTE
- Bloker
- krop
- boost
- både
- Pause
- bygge
- Bygning
- by
- ringe
- CAN
- Kan få
- tilfælde
- tilfælde
- Celler
- lave om
- Vælg
- klasse
- kunde
- Cloud
- Kolonne
- Fælles
- fuldføre
- komponenter
- Konceptet
- Konfiguration
- tilsluttet
- Bestående
- består
- Konsol
- indeholder
- indhold
- Omkostninger
- kunne
- dæksel
- skabe
- oprettet
- kritisk
- Nuværende
- skik
- Kunder
- tilpasse
- instrumentbræt
- data
- Dataforberedelse
- datavisualisering
- Falder
- dyb
- dyb læring
- Standard
- definition
- demo
- demonstrerer
- indsætte
- indsat
- Design
- Bestem
- Udvikling
- forskellige
- vises
- Afbryde
- fordeling
- do
- domæne
- ned
- nedetid
- køre
- e
- hver
- andet
- ende til ende
- Endpoint
- Engine (Motor)
- sikre
- Miljø
- epoke
- epoker
- Hver
- eksempel
- eksempler
- udforske
- ekstra
- ekstrakt
- Manglende
- falsk
- Funktionalitet
- få
- File (Felt)
- slut
- Fornavn
- FLÅDE
- efter
- følger
- Til
- fire
- Frekvens
- fra
- fuld
- funktionalitet
- generere
- genereret
- generator
- få
- given
- glas
- GPU
- grafer
- gruppe
- vejledning
- Have
- he
- headers
- hjælpe
- link.
- historisk
- Hvordan
- How To
- HTML
- http
- HTTPS
- Hub
- Hyperparameter optimering
- Tuning af hyperparameter
- i
- identificere
- if
- importere
- Forbedre
- in
- omfatter
- medtaget
- omfatter
- Herunder
- Forøg
- industrier
- oplysninger
- Infrastruktur
- initial
- indlede
- indgang
- instans
- anvisninger
- integreret
- grænseflade
- ind
- Introduktion
- tingenes internet
- IT
- Job
- Karriere
- jpg
- json
- nøgler
- landing
- lancere
- lancering
- LÆR
- læring
- niveauer
- ligesom
- belastning
- lokale
- placering
- log
- Se
- ligner
- off
- maskine
- machine learning
- vedligeholdelse
- lave
- administrere
- ledelse
- leder
- manuelt
- mange
- Maksimer
- Kan..
- betyde
- mekanisk
- Flet
- Metrics
- minutter
- ML
- model
- modeller
- ændre
- mere
- bevæge sig
- flytning
- navn
- navne
- Behov
- næste
- notesbog
- underretning
- meddelelser
- nu
- nummer
- of
- tilbydes
- on
- ONE
- kun
- åbent
- drift
- Produktion
- optimering
- Optimer
- or
- OS
- Andet
- vores
- ud
- Resultat
- skitseret
- i løbet af
- oversigt
- egen
- side
- brød
- parametre
- del
- Passing
- lidenskabelige
- sti
- periode
- plato
- Platon Data Intelligence
- PlatoData
- Vær venlig
- Indlæg
- forudsige
- forudsagde
- forudsige
- Forudsigelser
- Predictor
- forudser
- forberedelse
- Forbered
- Eksempel
- tidligere
- tidligere
- Main
- Problem
- behandle
- Processer
- forarbejdning
- produktivitet
- Profil
- bevis
- Bevis for koncept
- egenskaber
- forudsat
- giver
- leverer
- offentligt
- Python
- pytorch
- Hurtig
- tilfældig
- rækkevidde
- klar
- anbefaler
- optage
- registreres
- Rød
- reducere
- region
- reparere
- Ressourcer
- svar
- Resultater
- afkast
- gennemgå
- roller
- Kør
- kører
- Sikkerhed
- sagemaker
- Eksempeldatasæt
- planlægning
- screenshots
- scripts
- Sektion
- se
- sender
- sendt
- Series
- tjener
- Tjenester
- Session
- sæt
- sæt
- flere
- Kort
- Vis
- viste
- vist
- Shows
- underskrevet
- lignende
- Simpelt
- enkelt
- SIX
- løsninger
- Løsninger
- nogle
- Kilde
- specialist
- specifikke
- Stage
- etaper
- påbegyndt
- statistik
- Trin
- Steps
- opbevaring
- butik
- Studio
- efterfølgende
- Støtte
- sikker
- syntetisk
- systemet
- tager
- Teknisk
- teknikker
- skabelon
- skabeloner
- prøve
- at
- deres
- derefter
- ting
- denne
- tid
- Tidsserier
- tidsstempel
- til
- sammen
- Tog
- uddannet
- Kurser
- prøv
- typen
- typer
- under
- uønsket
- us
- brug
- brug tilfælde
- anvendte
- Bruger
- brugere
- ved brug af
- værdi
- Værdier
- række
- køretøj
- udgave
- via
- visualisering
- Volt
- Spænding
- vs
- W
- we
- web
- webservices
- Hvad
- hvornår
- som
- bred
- Bred rækkevidde
- vilje
- med
- inden for
- Arbejde
- workflow
- virker
- X
- yaml
- år
- Du
- Din
- zephyrnet