Întreținerea predictivă este esențială în industriile auto, deoarece poate evita defecțiunile mecanice neprevăzute și activitățile de întreținere reactivă care perturbă operațiunile. Prevăzând defecțiunile vehiculului și programând întreținerea și reparațiile, veți reduce timpul de nefuncționare, veți îmbunătăți siguranța și veți crește nivelul de productivitate.
Ce-ar fi dacă am putea aplica tehnici de învățare profundă în zonele comune care provoacă defecțiuni ale vehiculului, timpi de oprire neplanificați și costuri de reparație?
În această postare, vă arătăm cum să antrenați și să implementați un model pentru a prezice probabilitatea de defecțiune a flotei de vehicule folosind Amazon SageMaker JumpStart. SageMaker Jumpstart este centrul de învățare automată (ML) al Amazon SageMaker, oferind modele pre-instruite, disponibile public pentru o gamă largă de tipuri de probleme, pentru a vă ajuta să începeți cu ML. Soluția prezentată în postare este disponibilă pe GitHub.
Șabloane de soluție SageMaker JumpStart
SageMaker JumpStart oferă soluții end-to-end cu un singur clic pentru multe cazuri comune de utilizare ML. Explorați următoarele cazuri de utilizare pentru mai multe informații despre șabloanele de soluții disponibile:
Șabloanele de soluție SageMaker JumpStart acoperă o varietate de cazuri de utilizare, sub fiecare dintre acestea fiind oferite mai multe șabloane de soluție diferite (soluția din această postare, Întreținere predictivă pentru parcurile de vehicule, este in soluţii secțiune). Alegeți șablonul de soluție care se potrivește cel mai bine cazului dvs. de utilizare din pagina de destinație SageMaker JumpStart. Pentru mai multe informații despre soluții specifice pentru fiecare caz de utilizare și despre cum să lansați o soluție SageMaker JumpStart, consultați Șabloane de soluții.
Prezentare generală a soluțiilor
Soluția de întreținere predictivă AWS pentru flotele de automobile aplică tehnici de învățare profundă în zonele comune care generează defecțiuni ale vehiculelor, timpi neplanificați de nefuncționare și costuri de reparație. Acesta servește ca element de bază inițial pentru a ajunge la o dovadă de concept într-o perioadă scurtă de timp. Această soluție conține funcționalitate de pregătire și vizualizare a datelor în cadrul SageMaker și vă permite să antrenați și să optimizați hiperparametrii modelelor de învățare profundă pentru setul dvs. de date. Puteți utiliza propriile date sau puteți încerca soluția cu un set de date sintetice ca parte a acestei soluții. Această versiune procesează datele senzorului vehiculului în timp. O versiune ulterioară va procesa datele înregistrate de întreținere.
Următoarea diagramă demonstrează cum puteți utiliza această soluție cu componentele SageMaker. Ca parte a soluției, sunt utilizate următoarele servicii:
- Amazon S3 - Folosim Serviciul Amazon de stocare simplă (Amazon S3) pentru a stoca seturi de date
- Caietul SageMaker – Folosim un notebook pentru a preprocesa și vizualiza datele și pentru a antrena modelul de deep learning
- Punct final SageMaker – Folosim punctul final pentru a implementa modelul antrenat
Fluxul de lucru include următorii pași:
- Un extras de date istorice este creat din sistemul de management al flotei, care conține date despre vehicul și jurnalele senzorilor.
- După ce modelul ML este antrenat, este implementat artefactul modelului SageMaker.
- Vehiculul conectat trimite jurnalele senzorilor către AWS IoT Core (alternativ, printr-o interfață HTTP).
- Jurnalele senzorilor sunt păstrate prin Firehose Amazon Kinesis Data.
- Jurnalele senzorilor sunt trimise către AWS Lambdas pentru interogare împotriva modelului pentru a face predicții.
- Lambda trimite jurnalele senzorilor către modelul Sagemaker pentru predicții.
- Previziunile persistă în Amazon Aurora.
- Rezultatele agregate sunt afișate pe un Amazon QuickSight tabloul de bord.
- Se trimit notificări în timp real despre probabilitatea estimată de eșec către Serviciul de notificare simplă Amazon (Amazon SNS).
- Amazon SNS trimite notificări înapoi la vehiculul conectat.
Soluția constă din șase caiete:
- 0_demo.ipynb – O previzualizare rapidă a soluției noastre
- 1_introduction.ipynb – Introducere și prezentare generală a soluției
- 2_data_preparation.ipynb – Pregătiți un set de date eșantion
- 3_data_visualization.ipynb – Vizualizați setul nostru de date eșantion
- 4_model_training.ipynb – Antrenați un model pe setul nostru de date eșantion pentru a detecta eșecurile
- 5_rezultate_analiza.ipynb – Analizați rezultatele din modelul pe care l-am antrenat
Cerințe preliminare
Amazon SageMaker Studio este mediul de dezvoltare integrat (IDE) din SageMaker care ne oferă toate caracteristicile ML de care avem nevoie într-un singur panou de sticlă. Înainte de a putea rula SageMaker JumpStart, trebuie să setăm SageMaker Studio. Puteți sări peste acest pas dacă aveți deja propria versiune de SageMaker Studio care rulează.
Primul lucru pe care trebuie să-l facem înainte de a putea folosi orice serviciu AWS este să ne asigurăm că ne-am înscris și am creat un cont AWS. Apoi creăm un utilizator administrativ și un grup. Pentru instrucțiuni privind ambii pași, consultați Configurați cerințele preliminare Amazon SageMaker.
Următorul pas este să creați un domeniu SageMaker. Un domeniu configurează toată spațiul de stocare și vă permite să adăugați utilizatori pentru a accesa SageMaker. Pentru mai multe informații, consultați Integrat la domeniul Amazon SageMaker. Această demonstrație este creată în regiunea AWS us-east-1.
În cele din urmă, lansați SageMaker Studio. Pentru această postare, vă recomandăm să lansați o aplicație de profil de utilizator. Pentru instrucțiuni, consultați Lansați Amazon SageMaker Studio.
Pentru a rula această soluție SageMaker JumpStart și a avea infrastructura implementată în contul dvs. AWS, trebuie să creați o instanță activă SageMaker Studio (consultați Integrat la Amazon SageMaker Studio). Când instanța dvs. este gata, utilizați instrucțiunile din SageMaker JumpStart pentru a lansa soluția. Artefactele soluției sunt incluse în aceasta GitHub depozit pentru trimitere.
Lansați soluția SageMaker Jumpstart
Pentru a începe cu soluția, parcurgeți următorii pași:
- Pe consola SageMaker Studio, alegeți pornire.
- Pe soluţii fila, alegeți Întreținere predictivă pentru parcurile de vehicule.
- Alege Lansa.
Este nevoie de câteva minute pentru a implementa soluția. - După ce soluția este implementată, alegeți Open Notebook.
Dacă vi se solicită să selectați un nucleu, alegeți PyTorch 1.8 Python 3.6 pentru toate notebook-urile din această soluție.
Previzualizare soluție
Mai întâi lucrăm la 0_demo.ipynb
caiet. În acest blocnotes, puteți obține o previzualizare rapidă a cum va arăta rezultatul când completați blocnotesul complet pentru această soluție.
Alege Alerga și Rulați toate celulele pentru a rula toate celulele în SageMaker Studio (sau Celulă și Rulați toate într-o instanță de notebook SageMaker). Puteți rula toate celulele din fiecare caiet una după alta. Asigurați-vă că toate celulele au terminat procesarea înainte de a trece la următorul blocnotes.
Această soluție se bazează pe un fișier de configurare pentru a rula resursele AWS furnizate. Generăm fișierul după cum urmează:
Avem câteva exemple de date de intrare în serie cronologică care constau în tensiunea bateriei unui vehicul și curentul bateriei în timp. În continuare, încărcăm și vizualizăm datele eșantionului. După cum se arată în următoarele capturi de ecran, valorile tensiunii și curentului sunt pe axa Y, iar citirile (19 citiri înregistrate) sunt pe axa X.
Am instruit anterior un model pe aceste date de tensiune și curent care prezice probabilitatea defecțiunii vehiculului și am implementat modelul ca punct final în SageMaker. Vom numi acest punct final cu câteva date eșantion pentru a determina probabilitatea de eșec în următoarea perioadă de timp.
Având în vedere eșantionul de date de intrare, probabilitatea estimată de eșec este 45.73%.
Pentru a trece la etapa următoare, alegeți Apasa aici pentru a continua.
Introducere și prezentare generală a soluției
1_introduction.ipynb
Notebook-ul oferă o privire de ansamblu asupra soluției și etapelor și o privire asupra fișierului de configurare care conține definiția conținutului, perioada de eșantionare a datelor, numărul de probe de antrenare și de testare, parametri, locație și nume de coloane pentru conținutul generat.
După ce revizuiți acest caiet, puteți trece la etapa următoare.
Pregătiți un set de date eșantion
Pregătim un set de date eșantion în 2_data_preparation.ipynb
caiet.
Mai întâi generăm fișierul de configurare pentru această soluție:
Proprietățile de configurare sunt după cum urmează:
Vă puteți defini propriul set de date sau puteți utiliza scripturile noastre pentru a genera un exemplu de set de date:
Puteți îmbina datele senzorului și datele vehiculului flotei împreună:
Acum putem trece la vizualizarea datelor.
Vizualizați setul nostru de date exemplu
Vizualizam setul nostru de date eșantion în 3_data_vizualization.ipynb
. Această soluție se bazează pe un fișier de configurare pentru a rula resursele AWS furnizate. Să generăm fișierul similar cu caietul anterior.
Următoarea captură de ecran arată setul nostru de date.
În continuare, să construim setul de date:
Acum că setul de date este gata, să vizualizăm statisticile datelor. Următoarea captură de ecran arată distribuția datelor în funcție de marca vehiculului, tipul de motor, clasa vehiculului și modelul.
Comparând datele de jurnal, să ne uităm la un exemplu de tensiune medie în diferiți ani pentru Make E și C (aleatoriu).
Media tensiunii și curentului este pe axa Y, iar numărul de citiri este pe axa X.
- Valori posibile pentru log_target: ['make', 'model', 'year', 'vehicle_class', 'engine_type']
- Valoare atribuită aleatoriu pentru
log_target: make
- Valoare atribuită aleatoriu pentru
- Valori posibile pentru log_target_value1: ['Face A', 'Face B', 'Face E', 'Face C', 'Face D']
- Valoare atribuită aleatoriu pentru
log_target_value1: Make B
- Valoare atribuită aleatoriu pentru
- Valori posibile pentru log_target_value2: ['Face A', 'Face B', 'Face E', 'Face C', 'Face D']
- Valoare atribuită aleatoriu pentru
log_target_value2: Make D
- Valoare atribuită aleatoriu pentru
Pe baza celor de mai sus, presupunem log_target: make
, log_target_value1: Make B
și log_target_value2: Make D
Următoarele grafice descompun media datelor din jurnal.
Următoarele grafice vizualizează un exemplu de diferite valori log ale senzorului în raport cu tensiunea și curentul.
Antrenați un model pe setul nostru de date eșantion pentru a detecta eșecurile
În 4_model_training.ipynb
notebook, antrenăm un model pe setul nostru de date eșantion pentru a detecta eșecurile.
Să generăm fișierul de configurare similar cu caietul anterior, apoi să continuăm cu configurarea antrenamentului:
Analizați rezultatele din modelul pe care l-am antrenat
În 5_results_analysis.ipynb
notebook, obținem date din jobul nostru de ajustare a hiperparametrilor, vizualizăm valorile tuturor joburilor pentru a identifica cel mai bun job și construim un punct final pentru cel mai bun job de instruire.
Să generăm fișierul de configurare similar cu caietul anterior și să vizualizăm metrica tuturor joburilor. Următorul diagramă vizualizează acuratețea testului în funcție de epoca.
Următoarea captură de ecran arată lucrările de reglare a hiperparametrului pe care le-am executat.
Acum puteți vizualiza datele de la cea mai bună lucrare de antrenament (din cele patru joburi de antrenament) pe baza preciziei testului (roșu).
După cum putem vedea în următoarele capturi de ecran, pierderea testului scade și AUC și precizia cresc cu epocile.
Pe baza vizualizărilor, acum putem construi un punct final pentru cea mai bună muncă de instruire:
După ce construim punctul final, putem testa predictorul trecându-i probe de jurnalele senzorului:
Având în vedere eșantionul de date de intrare, probabilitatea estimată de eșec este 34.60%.
A curăța
Când ați terminat cu această soluție, asigurați-vă că ștergeți toate resursele AWS nedorite. Pe Întreținere predictivă pentru parcurile de vehicule pagina, sub Ștergeți soluția, alege Ștergeți toate resursele pentru a șterge toate resursele asociate cu soluția.
Trebuie să ștergeți manual orice resurse suplimentare pe care le-ați creat în acest blocnotes. Unele exemple includ compartimentele S3 suplimentare (la compartimentul implicit al soluției) și punctele finale suplimentare SageMaker (folosind un nume personalizat).
Personalizați soluția
Soluția noastră este ușor de personalizat. Pentru a modifica vizualizările datelor de intrare, consultați sagemaker/3_data_visualization.ipynb. Pentru a personaliza învățarea automată, consultați sagemaker/source/train.py și sagemaker/source/dl_utils/network.py. Pentru a personaliza procesarea setului de date, consultați sagemaker/1_introduction.ipynb despre cum să definiți fișierul de configurare.
În plus, puteți modifica configurația în fișierul de configurare. Configurația implicită este următoarea:
Fișierul de configurare are următorii parametri:
fleet_info_fn
,fleet_sensor_logs_fn
,fleet_dataset_fn
,train_dataset_fn
, șitest_dataset_fn
definiți locația fișierelor setului de datevehicle_id_column
,timestamp_column
,target_column
, șiperiod_column
definiți anteturile pentru coloanedataset_size
,chunksize
,processing_chunksize
,period_ms
, șiwindow_length
definiți proprietățile setului de date
Concluzie
În această postare, v-am arătat cum să antrenați și să implementați un model pentru a prezice probabilitatea de defecțiune a flotei de vehicule folosind SageMaker JumpStart. Soluția se bazează pe modele ML și de deep learning și permite o mare varietate de date de intrare, inclusiv orice date ale senzorului care variază în timp. Deoarece fiecare vehicul are telemetrie diferită, puteți ajusta modelul furnizat la frecvența și tipul de date pe care le aveți.
Pentru a afla mai multe despre ce puteți face cu SageMaker JumpStart, consultați următoarele:
Resurse
Despre Autori
Rajakumar Sampathkumar este manager principal de cont tehnic la AWS, oferind clienților îndrumări cu privire la alinierea tehnologiei de afaceri și sprijinind reinventarea modelelor și proceselor lor de operare în cloud. Este pasionat de cloud și machine learning. Raj este, de asemenea, un specialist în învățarea automată și lucrează cu clienții AWS pentru a proiecta, implementa și gestiona sarcinile de lucru și arhitecturile lor AWS.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/predict-vehicle-fleet-failure-probability-using-amazon-sagemaker-jumpstart/
- :are
- :este
- ][p
- $UP
- 1
- 10
- 100
- 11
- 12
- 13
- 15%
- 16
- 19
- 20
- 50
- 67
- 7
- 8
- a
- Despre Noi
- mai sus
- acces
- Conform
- Cont
- precizie
- peste
- activ
- activităţi de
- adăuga
- administrativ
- După
- împotriva
- aliniere
- TOATE
- permite
- deja
- de asemenea
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- analiza
- și
- Orice
- aplicaţia
- Aplică
- SUNT
- domenii
- AS
- alocate
- asociate
- asuma
- At
- auto
- disponibil
- evita
- AWS
- Axă
- înapoi
- bazat
- acumulator
- deoarece
- înainte
- CEL MAI BUN
- Bloca
- corp
- a stimula
- atât
- Pauză
- construi
- Clădire
- by
- apel
- CAN
- Poate obține
- caz
- cazuri
- Celule
- Schimbare
- Alege
- clasă
- client
- Cloud
- Coloană
- Comun
- Completă
- componente
- concept
- Configuraţie
- legat
- Constând
- constă
- Consoleze
- conține
- conţinut
- Cheltuieli
- ar putea
- acoperi
- crea
- a creat
- critic
- Curent
- personalizat
- clienţii care
- personaliza
- tablou de bord
- de date
- Pregătirea datelor
- vizualizarea datelor
- Scăderile
- adânc
- învățare profundă
- Mod implicit
- definiție
- Demo
- demonstrează
- implementa
- dislocate
- Amenajări
- Determina
- Dezvoltare
- diferit
- afișat
- distruge
- distribuire
- do
- domeniu
- jos
- nefuncționare
- conduce
- e
- fiecare
- altfel
- un capăt la altul
- Punct final
- Motor
- asigura
- Mediu inconjurator
- epocă
- epoci
- Fiecare
- exemplu
- exemple
- explora
- suplimentar
- extrage
- Eșec
- fals
- DESCRIERE
- puțini
- Fișier
- termina
- First
- FLOTA
- următor
- urmează
- Pentru
- patru
- Frecvență
- din
- Complet
- funcționalitate
- genera
- generată
- generator
- obține
- dat
- de sticlă
- GPU
- grafice
- grup
- îndrumare
- Avea
- he
- anteturile
- ajutor
- aici
- istoric
- Cum
- Cum Pentru a
- HTML
- http
- HTTPS
- Butuc
- Optimizarea hiperparametrului
- Reglarea hiperparametrului
- i
- identifica
- if
- import
- îmbunătăţi
- in
- include
- inclus
- include
- Inclusiv
- Crește
- industrii
- informații
- Infrastructură
- inițială
- iniția
- intrare
- instanță
- instrucțiuni
- integrate
- interfaţă
- în
- Introducere
- IoT
- IT
- Loc de munca
- Locuri de munca
- jpg
- JSON
- chei
- aterizare
- lansa
- lansare
- AFLAȚI
- învăţare
- nivelurile de
- ca
- încărca
- local
- locaţie
- log
- Uite
- arată ca
- de pe
- maşină
- masina de învățare
- întreținere
- face
- administra
- administrare
- manager
- manual
- multe
- Maximaliza
- Mai..
- însemna
- mecanic
- Îmbina
- Metrici
- minute
- ML
- model
- Modele
- modifica
- mai mult
- muta
- în mişcare
- nume
- nume
- Nevoie
- următor
- caiet
- notificare
- notificări
- acum
- număr
- of
- oferit
- on
- ONE
- afară
- deschide
- operaţie
- Operațiuni
- optimizare
- Optimizați
- or
- OS
- Altele
- al nostru
- afară
- Rezultat
- a subliniat
- peste
- Prezentare generală
- propriu
- pagină
- pâine
- parametrii
- parte
- Care trece
- pasionat
- cale
- perioadă
- Plato
- Informații despre date Platon
- PlatoData
- "vă rog"
- Post
- prezice
- a prezis
- estimarea
- Predictii
- Predictor
- prezice
- pregătire
- Pregăti
- Anunţ
- precedent
- în prealabil
- Principal
- Problemă
- proces
- procese
- prelucrare
- productivitate
- Profil
- dovadă
- dovada de concept
- proprietăţi
- prevăzut
- furnizează
- furnizarea
- public
- Piton
- pirtorh
- Rapid
- aleator
- gamă
- gata
- recomanda
- record
- inregistrata
- Roșu
- reduce
- regiune
- repara
- Resurse
- răspuns
- REZULTATE
- reveni
- revizuiască
- Rol
- Alerga
- funcţionare
- Siguranţă
- sagemaker
- Exemplu de set de date
- programare
- capturi de ecran
- script-uri
- Secțiune
- vedea
- trimite
- trimis
- serie
- servește
- Servicii
- sesiune
- set
- Seturi
- câteva
- Pantaloni scurți
- Arăta
- a arătat
- indicat
- Emisiuni
- semnat
- asemănător
- simplu
- singur
- SIX
- soluţie
- soluţii
- unele
- Sursă
- specialist
- specific
- Etapă
- Stadiile
- început
- statistică
- Pas
- paşi
- depozitare
- stoca
- studio
- ulterior
- De sprijin
- sigur
- sintetic
- sistem
- ia
- Tehnic
- tehnici de
- șablon
- şabloane
- test
- acea
- lor
- apoi
- lucru
- acest
- timp
- Seria de timp
- timestamp-ul
- la
- împreună
- Tren
- dresat
- Pregătire
- încerca
- tip
- Tipuri
- în
- nedorit
- us
- utilizare
- carcasa de utilizare
- utilizat
- Utilizator
- utilizatorii
- folosind
- valoare
- Valori
- varietate
- vehicul
- versiune
- de
- vizualizare
- Volt
- Voltaj
- vs
- W
- we
- web
- servicii web
- Ce
- cand
- care
- larg
- Gamă largă
- voi
- cu
- în
- Apartamente
- flux de lucru
- fabrică
- X
- yaml
- ani
- Tu
- Ta
- zephyrnet