Forutsigbart vedlikehold er kritisk i bilindustrien fordi det kan unngå helt klare mekaniske feil og reaktive vedlikeholdsaktiviteter som forstyrrer driften. Ved å forutsi kjøretøyfeil og planlegge vedlikehold og reparasjoner, vil du redusere nedetid, forbedre sikkerheten og øke produktivitetsnivået.
Hva om vi kunne bruke dyplæringsteknikker på vanlige områder som fører til kjøretøyfeil, uplanlagt nedetid og reparasjonskostnader?
I dette innlegget viser vi deg hvordan du trener og distribuerer en modell for å forutsi feilsannsynligheten for kjøretøyflåten ved å bruke Amazon SageMaker JumpStart. SageMaker Jumpstart er knutepunktet for maskinlæring (ML). Amazon SageMaker, som tilbyr forhåndsopplærte, offentlig tilgjengelige modeller for et bredt spekter av problemtyper for å hjelpe deg med å komme i gang med ML. Løsningen skissert i innlegget er tilgjengelig på GitHub.
SageMaker JumpStart løsningsmaler
SageMaker JumpStart tilbyr ende-til-ende-løsninger med ett klikk for mange vanlige ML-brukstilfeller. Utforsk følgende brukstilfeller for mer informasjon om tilgjengelige løsningsmaler:
SageMaker JumpStart løsningsmaler dekker en rekke brukstilfeller, under hver av disse tilbys flere forskjellige løsningsmaler (løsningen i dette innlegget, Prediktivt vedlikehold for kjøretøyflåter, er i den Solutions seksjon). Velg løsningsmalen som passer best for ditt bruksområde fra SageMaker JumpStart-landingssiden. For mer informasjon om spesifikke løsninger under hvert brukstilfelle og hvordan du lanserer en SageMaker JumpStart-løsning, se Løsningsmaler.
Løsningsoversikt
AWS-løsningen for prediktiv vedlikehold for bilflåter bruker dyplæringsteknikker på vanlige områder som fører til kjøretøyfeil, uplanlagt nedetid og reparasjonskostnader. Det fungerer som en innledende byggestein for at du skal komme til et proof of concept på kort tid. Denne løsningen inneholder dataforberedelse og visualiseringsfunksjonalitet i SageMaker og lar deg trene og optimalisere hyperparametrene til dyplæringsmodeller for datasettet ditt. Du kan bruke dine egne data eller prøve løsningen med et syntetisk datasett som en del av denne løsningen. Denne versjonen behandler kjøretøysensordata over tid. En påfølgende versjon vil behandle vedlikeholdsjournaldata.
Følgende diagram viser hvordan du kan bruke denne løsningen med SageMaker-komponenter. Som en del av løsningen benyttes følgende tjenester:
- Amazon S3 - Vi bruker Amazon enkel lagringstjeneste (Amazon S3) for å lagre datasett
- SageMaker-notatbok – Vi bruker en notatbok til å forhåndsbehandle og visualisere dataene, og til å trene dyplæringsmodellen
- SageMaker endepunkt – Vi bruker endepunktet til å distribuere den trente modellen
Arbeidsflyten inkluderer følgende trinn:
- Et utdrag av historiske data lages fra Fleet Management System som inneholder kjøretøydata og sensorlogger.
- Etter at ML-modellen er opplært, distribueres SageMaker-modellartefakten.
- Det tilkoblede kjøretøyet sender sensorlogger til AWS IoT-kjerne (alternativt via et HTTP-grensesnitt).
- Sensorlogger vedvares via Amazon Kinesis Data Firehose.
- Sensorlogger sendes til AWS Lambda for å spørre mot modellen for å lage spådommer.
- Lambda sender sensorlogger til Sagemaker-modellslutning for spådommer.
- Spådommer vedvares Amazonas Aurora.
- Samlede resultater vises på en Amazon QuickSight dashbordet.
- Sanntidsvarsler om forventet sannsynlighet for feil sendes til Amazon enkel varslingstjeneste (Amazon SNS).
- Amazon SNS sender varsler tilbake til det tilkoblede kjøretøyet.
Løsningen består av seks notatbøker:
- 0_demo.ipynb – En rask forhåndsvisning av løsningen vår
- 1_introduction.ipynb – Introduksjon og løsningsoversikt
- 2_data_preparation.ipynb – Forbered et eksempeldatasett
- 3_data_visualization.ipynb – Visualiser vårt eksempeldatasett
- 4_model_training.ipynb – Tren en modell på vårt eksempeldatasett for å oppdage feil
- 5_results_analysis.ipynb – Analyser resultatene fra modellen vi trente
Forutsetninger
Amazon SageMaker Studio er det integrerte utviklingsmiljøet (IDE) i SageMaker som gir oss alle ML-funksjonene vi trenger i en enkelt glassrute. Før vi kan kjøre SageMaker JumpStart, må vi sette opp SageMaker Studio. Du kan hoppe over dette trinnet hvis du allerede har din egen versjon av SageMaker Studio kjørende.
Det første vi må gjøre før vi kan bruke noen AWS-tjenester er å sørge for at vi har registrert oss for og opprettet en AWS-konto. Deretter oppretter vi en administrativ bruker og en gruppe. For instruksjoner om begge trinn, se Sett opp Amazon SageMaker-forutsetninger.
Det neste trinnet er å opprette et SageMaker-domene. Et domene setter opp all lagring og lar deg legge til brukere for å få tilgang til SageMaker. For mer informasjon, se Ombord på Amazon SageMaker Domain. Denne demoen er laget i AWS-regionen us-east-1.
Til slutt starter du SageMaker Studio. For dette innlegget anbefaler vi å starte en brukerprofilapp. For instruksjoner, se Start Amazon SageMaker Studio.
For å kjøre denne SageMaker JumpStart-løsningen og ha infrastrukturen distribuert til AWS-kontoen din, må du opprette en aktiv SageMaker Studio-forekomst (se Ombord på Amazon SageMaker Studio). Når forekomsten din er klar, bruk instruksjonene i SageMaker JumpStart for å lansere løsningen. Løsningsartefaktene er inkludert i dette GitHub repository for referanse.
Start SageMaker Jumpstart-løsningen
For å komme i gang med løsningen, fullfør følgende trinn:
- På SageMaker Studio-konsollen velger du tjuvstart.
- På Solutions kategorien, velg Prediktivt vedlikehold for kjøretøyflåter.
- Velg Start.
Det tar noen minutter å distribuere løsningen. - Etter at løsningen er distribuert, velg Åpne notatbok.
Hvis du blir bedt om å velge en kjerne, velg PyTorch 1.8 Python 3.6 for alle bærbare datamaskiner i denne løsningen.
Forhåndsvisning av løsning
Vi jobber først med 0_demo.ipynb
notisbok. I denne notatboken kan du få en rask forhåndsvisning av hvordan resultatet vil se ut når du fullfører hele notatboken for denne løsningen.
Velg Kjør og Kjør alle celler for å kjøre alle cellene i SageMaker Studio (eller Cell og Kjør alle i en SageMaker notatbok-forekomst). Du kan kjøre alle cellene i hver notatbok etter hverandre. Sørg for at alle cellene er ferdig behandlet før du går til neste notatbok.
Denne løsningen er avhengig av en konfigurasjonsfil for å kjøre de klargjorte AWS-ressursene. Vi genererer filen som følger:
Vi har noen eksempler på tidsserieinndata som består av et kjøretøys batterispenning og batteristrøm over tid. Deretter laster vi inn og visualiserer eksempeldataene. Som vist i de følgende skjermbildene, er spennings- og strømverdiene på Y-aksen og avlesningene (19 målinger registrert) er på X-aksen.
Vi har tidligere trent en modell på disse spennings- og strømdataene som forutsier sannsynligheten for kjøretøysvikt og har implementert modellen som et endepunkt i SageMaker. Vi vil kalle dette endepunktet med noen eksempeldata for å bestemme sannsynligheten for feil i neste tidsperiode.
Gitt prøveinndataene, er den anslåtte sannsynligheten for feil 45.73%.
For å gå til neste trinn, velg Klikk her for å fortsette.
Introduksjon og løsningsoversikt
De 1_introduction.ipynb
notebook gir en oversikt over løsningen og stadiene, og en titt inn i konfigurasjonsfilen som har innholdsdefinisjon, datasamplingsperiode, antall tog- og testprøver, parametere, plassering og kolonnenavn for generert innhold.
Etter at du har sett gjennom denne notatboken, kan du gå videre til neste trinn.
Forbered et eksempeldatasett
Vi utarbeider et eksempeldatasett i 2_data_preparation.ipynb
notisbok.
Vi genererer først konfigurasjonsfilen for denne løsningen:
Konfigurasjonsegenskapene er som følger:
Du kan definere ditt eget datasett eller bruke skriptene våre til å generere et eksempeldatasett:
Du kan slå sammen sensordata og flåtekjøretøydata:
Vi kan nå gå over til datavisualisering.
Visualiser vårt eksempeldatasett
Vi visualiserer vårt eksempeldatasett i 3_data_vizualization.ipynb
. Denne løsningen er avhengig av en konfigurasjonsfil for å kjøre de klargjorte AWS-ressursene. La oss generere filen som ligner på den forrige notatboken.
Følgende skjermbilde viser datasettet vårt.
La oss deretter bygge datasettet:
Nå som datasettet er klart, la oss visualisere datastatistikken. Følgende skjermbilde viser datafordelingen basert på kjøretøymerke, motortype, kjøretøyklasse og modell.
Ved å sammenligne loggdataene, la oss se på et eksempel på gjennomsnittlig spenning over forskjellige år for fabrikat E og C (tilfeldig).
Gjennomsnittet av spenning og strøm er på Y-aksen og antall avlesninger er på X-aksen.
- Mulige verdier for log_target: ['merke', 'modell', 'år', 'kjøretøyklasse', 'motortype']
- Tilfeldig tildelt verdi for
log_target: make
- Tilfeldig tildelt verdi for
- Mulige verdier for log_target_value1: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Tilfeldig tildelt verdi for
log_target_value1: Make B
- Tilfeldig tildelt verdi for
- Mulige verdier for log_target_value2: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Tilfeldig tildelt verdi for
log_target_value2: Make D
- Tilfeldig tildelt verdi for
Basert på ovenstående antar vi log_target: make
, log_target_value1: Make B
og log_target_value2: Make D
Følgende grafer bryter ned gjennomsnittet av loggdataene.
Følgende grafer visualiserer et eksempel på forskjellige sensorloggverdier mot spenning og strøm.
Tren en modell på vårt eksempeldatasett for å oppdage feil
på 4_model_training.ipynb
notebook, trener vi en modell på prøvedatasettet vårt for å oppdage feil.
La oss generere konfigurasjonsfilen som ligner på den forrige notatboken, og deretter fortsette med treningskonfigurasjonen:
Analyser resultatene fra modellen vi trente
på 5_results_analysis.ipynb
notebook, får vi data fra hyperparameterinnstillingsjobben vår, visualiserer beregninger for alle jobbene for å identifisere den beste jobben, og bygger et endepunkt for den beste treningsjobben.
La oss generere konfigurasjonsfilen som ligner på den forrige notatboken og visualisere beregningene for alle jobbene. Følgende plot visualiserer testnøyaktighet vs. epoke.
Følgende skjermbilde viser hyperparameterinnstillingsjobbene vi kjørte.
Du kan nå visualisere data fra den beste treningsjobben (av de fire treningsjobbene) basert på testnøyaktigheten (rød).
Som vi kan se i de følgende skjermbildene, avtar testtapet og AUC og nøyaktighet øker med epoker.
Basert på visualiseringene kan vi nå bygge et endepunkt for den beste treningsjobben:
Etter at vi har bygget endepunktet, kan vi teste prediktoren ved å sende prøvesensorloggene til den:
Gitt prøveinndataene, er den anslåtte sannsynligheten for feil 34.60%.
Rydd opp
Når du er ferdig med denne løsningen, sørg for at du sletter alle uønskede AWS-ressurser. På Prediktivt vedlikehold for kjøretøyflåter side, under Slett løsning, velg Slett alle ressurser for å slette alle ressursene knyttet til løsningen.
Du må manuelt slette eventuelle ekstra ressurser du kan ha opprettet i denne notatboken. Noen eksempler inkluderer de ekstra S3-bøttene (til løsningens standardbøtte) og de ekstra SageMaker-endepunktene (med et tilpasset navn).
Tilpass løsningen
Vår løsning er enkel å tilpasse. For å endre visualiseringer av inngangsdata, se sagemaker/3_data_visualization.ipynb. For å tilpasse maskinlæringen, se sagemaker/source/train.py og sagemaker/source/dl_utils/network.py. For å tilpasse datasettbehandlingen, se sagemaker/1_introduction.ipynb om hvordan du definerer konfigurasjonsfilen.
I tillegg kan du endre konfigurasjonen i konfigurasjonsfilen. Standardkonfigurasjonen er som følger:
Konfigurasjonsfilen har følgende parametere:
fleet_info_fn
,fleet_sensor_logs_fn
,fleet_dataset_fn
,train_dataset_fn
ogtest_dataset_fn
definere plasseringen av datasettfilervehicle_id_column
,timestamp_column
,target_column
ogperiod_column
definere overskriftene for kolonnerdataset_size
,chunksize
,processing_chunksize
,period_ms
ogwindow_length
definere egenskapene til datasettet
konklusjonen
I dette innlegget viste vi deg hvordan du trener og distribuerer en modell for å forutsi sannsynligheten for feil i kjøretøyflåten ved å bruke SageMaker JumpStart. Løsningen er basert på ML- og dyplæringsmodeller og tillater et bredt spekter av inndata, inkludert eventuelle tidsvarierende sensordata. Fordi hvert kjøretøy har forskjellig telemetri, kan du finjustere den medfølgende modellen til frekvensen og typen data du har.
For å lære mer om hva du kan gjøre med SageMaker JumpStart, se følgende:
Ressurser
Om forfatterne
Rajakumar Sampathkumar er en Principal Technical Account Manager hos AWS, og gir kundene veiledning om justering av forretningsteknologi og støtter gjenoppfinnelsen av deres skyoperasjonsmodeller og -prosesser. Han er lidenskapelig opptatt av sky og maskinlæring. Raj er også en maskinlæringsspesialist og jobber med AWS-kunder for å designe, distribuere og administrere AWS-arbeidsmengdene og -arkitekturene deres.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Bil / elbiler, Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- BlockOffsets. Modernisering av eierskap for miljøkompensasjon. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/predict-vehicle-fleet-failure-probability-using-amazon-sagemaker-jumpstart/
- : har
- :er
- ][s
- $OPP
- 1
- 10
- 100
- 11
- 12
- 13
- 15%
- 16
- 19
- 20
- 50
- 67
- 7
- 8
- a
- Om oss
- ovenfor
- adgang
- Ifølge
- Logg inn
- nøyaktighet
- tvers
- aktiv
- Aktiviteter
- legge til
- administrativ
- Etter
- mot
- innretting
- Alle
- tillater
- allerede
- også
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- analysere
- og
- noen
- app
- Påfør
- ER
- områder
- AS
- tildelt
- assosiert
- anta
- At
- automotive
- tilgjengelig
- unngå
- AWS
- Axis
- tilbake
- basert
- batteri
- fordi
- før du
- BEST
- Blokker
- kroppen
- øke
- både
- Break
- bygge
- Bygning
- by
- ring
- CAN
- Kan få
- saken
- saker
- Celler
- endring
- Velg
- klasse
- kunde
- Cloud
- Kolonne
- Felles
- fullføre
- komponenter
- konsept
- Konfigurasjon
- tilkoblet
- Består
- består
- Konsoll
- inneholder
- innhold
- Kostnader
- kunne
- dekke
- skape
- opprettet
- kritisk
- Gjeldende
- skikk
- Kunder
- tilpasse
- dashbord
- dato
- Dataklargjøring
- datavisualisering
- Reduksjoner
- dyp
- dyp læring
- Misligholde
- definisjon
- demo
- demonstrerer
- utplassere
- utplassert
- utforming
- Bestem
- Utvikling
- forskjellig
- vises
- Avbryte
- distribusjon
- do
- domene
- ned
- nedetid
- stasjonen
- e
- hver enkelt
- ellers
- ende til ende
- Endpoint
- Motor
- sikre
- Miljø
- epoke
- epoker
- Hver
- eksempel
- eksempler
- utforske
- ekstra
- trekke ut
- Failure
- falsk
- Egenskaper
- Noen få
- filet
- ferdig
- Først
- FLÅTE
- etter
- følger
- Til
- fire
- Frekvens
- fra
- fullt
- funksjonalitet
- generere
- generert
- generator
- få
- gitt
- glass
- GPU
- grafer
- Gruppe
- veiledning
- Ha
- he
- overskrifter
- hjelpe
- her.
- historisk
- Hvordan
- Hvordan
- HTML
- http
- HTTPS
- Hub
- Optimalisering av hyperparameter
- Innstilling av hyperparameter
- i
- identifisere
- if
- importere
- forbedre
- in
- inkludere
- inkludert
- inkluderer
- Inkludert
- Øke
- bransjer
- informasjon
- Infrastruktur
- innledende
- initiere
- inngang
- f.eks
- instruksjoner
- integrert
- Interface
- inn
- Introduksjon
- IOT
- IT
- Jobb
- Jobb
- jpg
- JSON
- nøkler
- landing
- lansere
- lansere
- LÆRE
- læring
- nivåer
- i likhet med
- laste
- lokal
- plassering
- logg
- Se
- ser ut som
- tap
- maskin
- maskinlæring
- vedlikehold
- gjøre
- administrer
- ledelse
- leder
- manuelt
- mange
- Maksimer
- Kan..
- bety
- mekanisk
- Flett
- Metrics
- minutter
- ML
- modell
- modeller
- modifisere
- mer
- flytte
- flytting
- navn
- navn
- Trenger
- neste
- bærbare
- varsling
- varslinger
- nå
- Antall
- of
- tilbudt
- on
- ONE
- bare
- åpen
- drift
- Drift
- optimalisering
- Optimalisere
- or
- OS
- Annen
- vår
- ut
- Utfallet
- skissert
- enn
- oversikt
- egen
- side
- brød
- parametere
- del
- Passerer
- lidenskapelig
- banen
- perioden
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- Post
- forutsi
- spådd
- forutsi
- Spådommer
- Predictor
- spår
- forberedelse
- Forbered
- Forhåndsvisning
- forrige
- tidligere
- Principal
- Problem
- prosess
- Prosesser
- prosessering
- produktivitet
- Profil
- bevis
- proof of concept
- egenskaper
- forutsatt
- gir
- gi
- offentlig
- Python
- pytorch
- Rask
- tilfeldig
- område
- klar
- anbefaler
- rekord
- registrert
- Rød
- redusere
- region
- reparasjon
- Ressurser
- svar
- Resultater
- retur
- anmeldelse
- Rolle
- Kjør
- rennende
- Sikkerhet
- sagemaker
- Eksempel på datasett
- planlegging
- skjermbilder
- skript
- Seksjon
- se
- sender
- sendt
- Serien
- serverer
- Tjenester
- Session
- sett
- sett
- flere
- Kort
- Vis
- viste
- vist
- Viser
- signert
- lignende
- Enkelt
- enkelt
- SIX
- løsning
- Solutions
- noen
- kilde
- spesialist
- spesifikk
- Scene
- stadier
- startet
- statistikk
- Trinn
- Steps
- lagring
- oppbevare
- studio
- senere
- Støtte
- sikker
- syntetisk
- system
- tar
- Teknisk
- teknikker
- mal
- maler
- test
- Det
- De
- deres
- deretter
- ting
- denne
- tid
- Tidsserier
- tidsstempel
- til
- sammen
- Tog
- trent
- Kurs
- prøve
- typen
- typer
- etter
- uønsket
- us
- bruke
- bruk sak
- brukt
- Bruker
- Brukere
- ved hjelp av
- verdi
- Verdier
- variasjon
- kjøretøy
- versjon
- av
- visualisering
- Volt
- Spenning
- vs
- W
- we
- web
- webtjenester
- Hva
- når
- hvilken
- bred
- Bred rekkevidde
- vil
- med
- innenfor
- Arbeid
- arbeidsflyt
- virker
- X
- yaml
- år
- Du
- Din
- zephyrnet