Förutsägande underhåll är avgörande i fordonsindustrin eftersom det kan undvika direkta mekaniska fel och reaktiva underhållsaktiviteter som stör verksamheten. Genom att förutsäga fordonsfel och schemalägga underhåll och reparationer kommer du att minska stilleståndstiden, förbättra säkerheten och öka produktiviteten.
Tänk om vi kunde tillämpa djupinlärningstekniker på vanliga områden som orsakar fordonsfel, oplanerade stillestånd och reparationskostnader?
I det här inlägget visar vi dig hur du tränar och distribuerar en modell för att förutsäga sannolikheten för fel på fordonsflottan med hjälp av Amazon SageMaker JumpStart. SageMaker Jumpstart är navet för maskininlärning (ML). Amazon SageMaker, tillhandahåller förutbildade, allmänt tillgängliga modeller för ett brett utbud av problemtyper för att hjälpa dig komma igång med ML. Lösningen som beskrivs i inlägget finns tillgänglig på GitHub.
SageMaker JumpStart lösning mallar
SageMaker JumpStart tillhandahåller end-to-end-lösningar med ett klick för många vanliga ML-användningsfall. Utforska följande användningsfall för mer information om tillgängliga lösningsmallar:
SageMaker JumpStart-lösningsmallarna täcker en mängd olika användningsfall, under vilka flera olika lösningsmallar erbjuds (lösningen i det här inlägget, Förutsägande underhåll för fordonsflottor, är i Lösningar sektion). Välj den lösningsmall som bäst passar ditt användningsfall från SageMaker JumpStarts målsida. För mer information om specifika lösningar under varje användningsfall och hur man lanserar en SageMaker JumpStart-lösning, se Lösningsmallar.
Lösningsöversikt
AWS förutsägande underhållslösning för fordonsflottor tillämpar djupinlärningstekniker på vanliga områden som leder till fordonsfel, oplanerade stillestånd och reparationskostnader. Det fungerar som en första byggsten för att du ska kunna nå ett proof of concept på kort tid. Denna lösning innehåller dataförberedelse och visualiseringsfunktioner inom SageMaker och låter dig träna och optimera hyperparametrarna för modeller för djupinlärning för din datauppsättning. Du kan använda din egen data eller prova lösningen med en syntetisk datauppsättning som en del av denna lösning. Denna version bearbetar fordonssensordata över tiden. En efterföljande version kommer att behandla underhållsdata.
Följande diagram visar hur du kan använda denna lösning med SageMaker-komponenter. Som en del av lösningen används följande tjänster:
- Amazon S3 - Vi använder Amazon enkel lagringstjänst (Amazon S3) för att lagra datamängder
- SageMaker anteckningsbok – Vi använder en anteckningsbok för att förbearbeta och visualisera data, och för att träna djupinlärningsmodellen
- SageMaker slutpunkt – Vi använder slutpunkten för att implementera den utbildade modellen
Arbetsflödet innehåller följande steg:
- Ett utdrag av historisk data skapas från Fleet Management System som innehåller fordonsdata och sensorloggar.
- Efter att ML-modellen har tränats, distribueras SageMaker-modellartefakten.
- Det anslutna fordonet skickar sensorloggar till AWS IoT Core (alternativt via ett HTTP-gränssnitt).
- Sensorloggar bevaras via Amazon Kinesis Data Firehose.
- Sensorloggar skickas till AWS Lambda för att fråga mot modellen för att göra förutsägelser.
- Lambda skickar sensorloggar till Sagemaker-modellinferens för förutsägelser.
- Förutsägelser finns kvar Amazon-Aurora.
- Sammanlagda resultat visas på en Amazon QuickSight instrumentbräda.
- Aviseringar i realtid om den förutsagda sannolikheten för fel skickas till Amazon enkel meddelandetjänst (Amazon SNS).
- Amazon SNS skickar meddelanden tillbaka till det anslutna fordonet.
Lösningen består av sex anteckningsböcker:
- 0_demo.ipynb – En snabb förhandsvisning av vår lösning
- 1_introduction.ipynb – Introduktion och lösningsöversikt
- 2_data_preparation.ipynb – Förbered en exempeldatauppsättning
- 3_data_visualization.ipynb – Visualisera vår exempeldatauppsättning
- 4_model_training.ipynb – Träna en modell på vår exempeldatauppsättning för att upptäcka fel
- 5_results_analysis.ipynb – Analysera resultaten från modellen vi tränade
Förutsättningar
Amazon SageMaker Studio är den integrerade utvecklingsmiljön (IDE) inom SageMaker som ger oss alla ML-funktioner som vi behöver i en enda glasruta. Innan vi kan köra SageMaker JumpStart måste vi konfigurera SageMaker Studio. Du kan hoppa över detta steg om du redan har din egen version av SageMaker Studio igång.
Det första vi behöver göra innan vi kan använda några AWS-tjänster är att se till att vi har registrerat oss för och skapat ett AWS-konto. Sedan skapar vi en administrativ användare och en grupp. För instruktioner om båda stegen, se Ställ in Amazon SageMaker-förutsättningar.
Nästa steg är att skapa en SageMaker-domän. En domän ställer in all lagring och låter dig lägga till användare för att komma åt SageMaker. För mer information, se Ombord på Amazon SageMaker Domain. Denna demo är skapad i AWS-regionen us-east-1.
Slutligen startar du SageMaker Studio. För det här inlägget rekommenderar vi att du startar en användarprofilapp. För instruktioner, se Starta Amazon SageMaker Studio.
För att köra den här SageMaker JumpStart-lösningen och ha infrastrukturen distribuerad till ditt AWS-konto måste du skapa en aktiv SageMaker Studio-instans (se Ombord på Amazon SageMaker Studio). När din instans är klar, använd instruktionerna i SageMaker JumpStart för att lansera lösningen. Lösningsartefakterna ingår i detta GitHub repository som referens.
Starta SageMaker Jumpstart-lösningen
Utför följande steg för att komma igång med lösningen:
- Välj på SageMaker Studio-konsolen Försprång.
- På Lösningar fliken, välj Förutsägande underhåll för fordonsflottor.
- Välja Starta.
Det tar några minuter att distribuera lösningen. - När lösningen har distribuerats väljer du Öppna anteckningsbok.
Om du uppmanas att välja en kärna, välj PyTorch 1.8 Python 3.6 för alla bärbara datorer i den här lösningen.
Förhandsgranskning av lösning
Vi arbetar först med 0_demo.ipynb
anteckningsbok. I den här anteckningsboken kan du få en snabb förhandsvisning av hur resultatet kommer att se ut när du slutför hela anteckningsboken för denna lösning.
Välja Körning och Kör alla celler för att köra alla celler i SageMaker Studio (eller Cell och Kör alla i en SageMaker-anteckningsbok-instans). Du kan köra alla celler i varje anteckningsbok efter varandra. Se till att alla celler är klara innan du går till nästa anteckningsbok.
Den här lösningen är beroende av en konfigurationsfil för att köra de tillhandahållna AWS-resurserna. Vi genererar filen enligt följande:
Vi har några exempel på tidsserieindata som består av ett fordons batterispänning och batteriström över tiden. Därefter laddar vi och visualiserar exempeldata. Som visas i följande skärmdumpar är spännings- och strömvärdena på Y-axeln och avläsningarna (19 avläsningar registrerade) är på X-axeln.
Vi har tidigare tränat en modell på denna spännings- och strömdata som förutsäger sannolikheten för fordonsfel och har implementerat modellen som en slutpunkt i SageMaker. Vi kommer att kalla denna endpoint med några exempeldata för att bestämma sannolikheten för fel under nästa tidsperiod.
Givet provinmatningsdata är den förutsagda sannolikheten för fel 45.73%.
För att gå till nästa steg, välj Klicka här för att fortsätta.
Introduktion och lösningsöversikt
Smakämnen 1_introduction.ipynb
notebook ger en översikt över lösningen och stegen och en titt i konfigurationsfilen som har innehållsdefinition, datasamplingsperiod, antal tåg- och testprov, parametrar, plats och kolumnnamn för genererat innehåll.
När du har granskat den här anteckningsboken kan du gå vidare till nästa steg.
Förbered en exempeldatauppsättning
Vi förbereder en exempeldatauppsättning i 2_data_preparation.ipynb
anteckningsbok.
Vi genererar först konfigurationsfilen för denna lösning:
Konfigurationsegenskaperna är följande:
Du kan definiera din egen datauppsättning eller använda våra skript för att generera en exempeldatauppsättning:
Du kan slå samman sensordata och fordonsflottans data:
Vi kan nu gå över till datavisualisering.
Visualisera vår exempeldatauppsättning
Vi visualiserar vårt exempeldataset i 3_data_vizualization.ipynb
. Den här lösningen är beroende av en konfigurationsfil för att köra de tillhandahållna AWS-resurserna. Låt oss skapa filen som liknar den föregående anteckningsboken.
Följande skärmdump visar vår datauppsättning.
Låt oss sedan bygga datamängden:
Nu när datasetet är klart, låt oss visualisera datastatistiken. Följande skärmdump visar datafördelningen baserat på fordonsmärke, motortyp, fordonsklass och modell.
Genom att jämföra loggdata, låt oss titta på ett exempel på medelspänningen över olika år för fabrikat E och C (slumpmässigt).
Medelvärdet av spänning och ström är på Y-axeln och antalet avläsningar är på X-axeln.
- Möjliga värden för log_target: ['fabrikat', 'modell', 'år', 'fordonsklass', 'motortyp']
- Slumpmässigt tilldelat värde för
log_target: make
- Slumpmässigt tilldelat värde för
- Möjliga värden för log_target_value1: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Slumpmässigt tilldelat värde för
log_target_value1: Make B
- Slumpmässigt tilldelat värde för
- Möjliga värden för log_target_value2: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Slumpmässigt tilldelat värde för
log_target_value2: Make D
- Slumpmässigt tilldelat värde för
Baserat på ovanstående antar vi log_target: make
, log_target_value1: Make B
och log_target_value2: Make D
Följande grafer bryter ned medelvärdet av loggdata.
Följande grafer visualiserar ett exempel på olika sensorloggvärden mot spänning och ström.
Träna en modell på vår exempeldatauppsättning för att upptäcka fel
I 4_model_training.ipynb
notebook tränar vi en modell på vår exempeldatauppsättning för att upptäcka fel.
Låt oss skapa en konfigurationsfil som liknar den föregående anteckningsboken och sedan fortsätta med träningskonfigurationen:
Analysera resultaten från modellen vi tränade
I 5_results_analysis.ipynb
notebook får vi data från vårt hyperparameterjusteringsjobb, visualiserar mätvärden för alla jobb för att identifiera det bästa jobbet och bygger en slutpunkt för det bästa träningsjobbet.
Låt oss skapa en konfigurationsfil som liknar den föregående anteckningsboken och visualisera mätvärdena för alla jobb. Följande plot visualiserar testnoggrannhet kontra epok.
Följande skärmdump visar de hyperparameterjusteringsjobb som vi körde.
Du kan nu visualisera data från det bästa träningsjobbet (av de fyra träningsjobben) baserat på testnoggrannheten (röd).
Som vi kan se i följande skärmdumpar minskar testförlusten och AUC och noggrannhet ökar med epoker.
Baserat på visualiseringarna kan vi nu bygga en slutpunkt för det bästa träningsjobbet:
När vi har byggt slutpunkten kan vi testa prediktorn genom att skicka den med provsensorloggar:
Givet provinmatningsdata är den förutsagda sannolikheten för fel 34.60%.
Städa upp
När du är klar med den här lösningen, se till att du tar bort alla oönskade AWS-resurser. På Förutsägande underhåll för fordonsflottor sida, under Ta bort lösningväljer Ta bort alla resurser för att ta bort alla resurser som är kopplade till lösningen.
Du måste manuellt ta bort eventuella extra resurser som du kan ha skapat i den här anteckningsboken. Några exempel inkluderar de extra S3-hinkarna (till lösningens standardhink) och de extra SageMaker-slutpunkterna (med ett anpassat namn).
Anpassa lösningen
Vår lösning är enkel att anpassa. För att ändra visualiseringarna av indata, se sagemaker/3_data_visualization.ipynb. För att anpassa maskininlärningen, se sagemaker/source/train.py och sagemaker/source/dl_utils/network.py. För att anpassa datauppsättningsbearbetningen, se sagemaker/1_introduction.ipynb om hur man definierar konfigurationsfilen.
Dessutom kan du ändra konfigurationen i konfigurationsfilen. Standardkonfigurationen är som följer:
Konfigurationsfilen har följande parametrar:
fleet_info_fn
,fleet_sensor_logs_fn
,fleet_dataset_fn
,train_dataset_fn
ochtest_dataset_fn
definiera platsen för datauppsättningsfilervehicle_id_column
,timestamp_column
,target_column
ochperiod_column
definiera rubrikerna för kolumnerdataset_size
,chunksize
,processing_chunksize
,period_ms
ochwindow_length
definiera datauppsättningens egenskaper
Slutsats
I det här inlägget visade vi dig hur du tränar och distribuerar en modell för att förutsäga sannolikheten för fel på fordonsflottan med SageMaker JumpStart. Lösningen är baserad på ML och djupinlärningsmodeller och tillåter ett brett utbud av indata inklusive eventuell tidsvarierande sensordata. Eftersom varje fordon har olika telemetri kan du finjustera den medföljande modellen till frekvensen och typen av data som du har.
För att lära dig mer om vad du kan göra med SageMaker JumpStart, se följande:
Resurser
Om författarna
Rajakumar Sampathkumar är en Principal Technical Account Manager på AWS, som ger kunder vägledning om affärsteknologisk anpassning och stödjer återuppfinnandet av deras molndriftsmodeller och -processer. Han brinner för moln och maskininlärning. Raj är också en maskininlärningsspecialist och arbetar med AWS-kunder för att designa, distribuera och hantera deras AWS-arbetsbelastningar och -arkitekturer.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Fordon / elbilar, Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- BlockOffsets. Modernisera miljökompensation ägande. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/predict-vehicle-fleet-failure-probability-using-amazon-sagemaker-jumpstart/
- : har
- :är
- ][s
- $UPP
- 1
- 10
- 100
- 11
- 12
- 13
- 15%
- 16
- 19
- 20
- 50
- 67
- 7
- 8
- a
- Om oss
- ovan
- tillgång
- Enligt
- Konto
- noggrannhet
- tvärs
- aktiv
- aktiviteter
- lägga till
- administrativa
- Efter
- mot
- uppriktning
- Alla
- tillåter
- redan
- också
- amason
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- analysera
- och
- vilken som helst
- app
- Ansök
- ÄR
- områden
- AS
- delad
- associerad
- utgå ifrån
- At
- fordonsindustrin
- tillgänglig
- undvika
- AWS
- Axis
- tillbaka
- baserat
- batteri
- därför att
- innan
- BÄST
- Blockera
- kropp
- lyft
- båda
- Ha sönder
- SLUTRESULTAT
- Byggnad
- by
- Ring
- KAN
- Kan få
- Vid
- fall
- Celler
- byta
- Välja
- klass
- klient
- cloud
- Kolumn
- Gemensam
- fullborda
- komponenter
- begrepp
- konfiguration
- anslutna
- Bestående
- består
- Konsol
- innehåller
- innehåll
- Kostar
- kunde
- täcka
- skapa
- skapas
- kritisk
- Aktuella
- beställnings
- Kunder
- skräddarsy
- instrumentbräda
- datum
- Förberedelse av data
- datavisualisering
- Minskar
- djup
- djupt lärande
- Standard
- definition
- demo
- demonstrerar
- distribuera
- utplacerade
- Designa
- Bestämma
- Utveckling
- olika
- visas
- Störa
- fördelning
- do
- domän
- ner
- stilleståndstid
- driv
- e
- varje
- annars
- början till slut
- Slutpunkt
- Motor
- säkerställa
- Miljö
- epok
- epoker
- Varje
- exempel
- exempel
- utforska
- extra
- extrahera
- Misslyckande
- falsk
- Funktioner
- få
- Fil
- slut
- Förnamn
- FLOTTA
- efter
- följer
- För
- fyra
- Frekvens
- från
- full
- funktionalitet
- generera
- genereras
- Generatorn
- skaffa sig
- ges
- glas
- GPU
- grafer
- Grupp
- vägleda
- Har
- he
- headers
- hjälpa
- här.
- historisk
- Hur ser din drömresa ut
- How To
- html
- http
- HTTPS
- Nav
- Hyperparameteroptimering
- Inställning av hyperparameter
- i
- identifiera
- if
- importera
- förbättra
- in
- innefattar
- ingår
- innefattar
- Inklusive
- Öka
- industrier
- informationen
- Infrastruktur
- inledande
- initiera
- ingång
- exempel
- instruktioner
- integrerade
- Gränssnitt
- in
- Beskrivning
- iot
- IT
- Jobb
- Lediga jobb
- jpg
- json
- nycklar
- landning
- lansera
- lansera
- LÄRA SIG
- inlärning
- nivåer
- tycka om
- läsa in
- lokal
- läge
- log
- se
- ser ut som
- förlust
- Maskinen
- maskininlärning
- underhåll
- göra
- hantera
- ledning
- chef
- manuellt
- många
- Maximera
- Maj..
- betyda
- mekanisk
- Sammanfoga
- Metrics
- minuter
- ML
- modell
- modeller
- modifiera
- mer
- flytta
- rörliga
- namn
- namn
- Behöver
- Nästa
- anteckningsbok
- anmälan
- anmälningar
- nu
- antal
- of
- erbjuds
- on
- ONE
- endast
- öppet
- drift
- Verksamhet
- optimering
- Optimera
- or
- OS
- Övriga
- vår
- ut
- Resultat
- skisse
- över
- Översikt
- egen
- sida
- panelen
- parametrar
- del
- Förbi
- brinner
- bana
- perioden
- plato
- Platon Data Intelligence
- PlatonData
- snälla du
- Inlägg
- förutse
- förutsagda
- förutsäga
- Förutsägelser
- Predictor
- Förutspår
- beredning
- Förbered
- Förhandsvisning
- föregående
- tidigare
- Principal
- Problem
- process
- processer
- bearbetning
- produktivitet
- Profil
- bevis
- bevis på koncept
- egenskaper
- förutsatt
- ger
- tillhandahålla
- publicly
- Python
- pytorch
- Snabbt
- slumpmässig
- område
- redo
- rekommenderar
- post
- registreras
- Red
- minska
- region
- reparation
- Resurser
- respons
- Resultat
- avkastning
- översyn
- Roll
- Körning
- rinnande
- Säkerhet
- sagemaker
- Exempeldatauppsättning
- schemaläggning
- skärmdumpar
- skript
- §
- se
- sänder
- skickas
- Serier
- serverar
- Tjänster
- session
- in
- uppsättningar
- flera
- Kort
- show
- visade
- visas
- Visar
- signerad
- liknande
- Enkelt
- enda
- SEX
- lösning
- Lösningar
- några
- Källa
- specialist
- specifik
- Etapp
- stadier
- igång
- statistik
- Steg
- Steg
- förvaring
- lagra
- studio
- senare
- Stödjande
- säker
- syntetisk
- system
- tar
- Teknisk
- tekniker
- mall
- mallar
- testa
- den där
- Smakämnen
- deras
- sedan
- sak
- detta
- tid
- Tidsföljder
- tidsstämpel
- till
- tillsammans
- Tåg
- tränad
- Utbildning
- prova
- Typ
- typer
- under
- oönskade
- us
- användning
- användningsfall
- Begagnade
- Användare
- användare
- med hjälp av
- värde
- Värden
- mängd
- vehikel
- version
- via
- visualisering
- Volt
- Spänning
- vs
- W
- we
- webb
- webbservice
- Vad
- när
- som
- bred
- Brett utbud
- kommer
- med
- inom
- Arbete
- arbetsflöde
- fungerar
- X
- jaml
- år
- Om er
- Din
- zephyrnet