La manutenzione predittiva è fondamentale nelle industrie automobilistiche perché può evitare guasti meccanici improvvisi e attività di manutenzione reattiva che interrompono le operazioni. Prevedendo i guasti dei veicoli e programmando la manutenzione e le riparazioni, ridurrai i tempi di inattività, migliorerai la sicurezza e aumenterai i livelli di produttività.
E se potessimo applicare tecniche di deep learning ad aree comuni che causano guasti ai veicoli, tempi di fermo non pianificati e costi di riparazione?
In questo post, ti mostriamo come addestrare e distribuire un modello per prevedere la probabilità di guasto della flotta di veicoli utilizzando JumpStart di Amazon SageMaker. SageMaker Jumpstart è l'hub di machine learning (ML) di Amazon Sage Maker, fornendo modelli pre-addestrati e pubblicamente disponibili per un'ampia gamma di tipi di problemi per aiutarti a iniziare con il machine learning. La soluzione delineata nel post è disponibile su GitHub.
Modelli di soluzione SageMaker JumpStart
SageMaker JumpStart fornisce soluzioni end-to-end con un solo clic per molti casi d'uso comuni di ML. Esplora i seguenti casi d'uso per ulteriori informazioni sui modelli di soluzione disponibili:
I modelli di soluzione SageMaker JumpStart coprono una varietà di casi d'uso, in ciascuno dei quali vengono offerti diversi modelli di soluzione (la soluzione in questo post, Manutenzione predittiva per flotte di veicoli, è nel Soluzioni sezione). Scegli il modello di soluzione che meglio si adatta al tuo caso d'uso dalla pagina di destinazione JumpStart di SageMaker. Per ulteriori informazioni su soluzioni specifiche in ogni caso d'uso e su come avviare una soluzione SageMaker JumpStart, vedere Modelli di soluzione.
Panoramica della soluzione
La soluzione di manutenzione predittiva di AWS per le flotte automobilistiche applica tecniche di deep learning ad aree comuni che causano guasti ai veicoli, tempi di inattività non pianificati e costi di riparazione. Serve come elemento iniziale per arrivare a una prova di concetto in un breve periodo di tempo. Questa soluzione contiene funzionalità di preparazione e visualizzazione dei dati all'interno di SageMaker e ti consente di addestrare e ottimizzare gli iperparametri dei modelli di deep learning per il tuo set di dati. Puoi utilizzare i tuoi dati o provare la soluzione con un set di dati sintetico come parte di questa soluzione. Questa versione elabora i dati dei sensori del veicolo nel tempo. Una versione successiva elaborerà i dati del registro di manutenzione.
Il diagramma seguente mostra come utilizzare questa soluzione con i componenti SageMaker. Come parte della soluzione, vengono utilizzati i seguenti servizi:
- Amazon S3 - Noi usiamo Servizio di archiviazione semplice Amazon (Amazon S3) per archiviare set di dati
- Taccuino SageMaker – Utilizziamo un notebook per pre-elaborare e visualizzare i dati e per addestrare il modello di deep learning
- Endpoint di SageMaker – Utilizziamo l'endpoint per distribuire il modello addestrato
Il flusso di lavoro include i seguenti passaggi:
- Viene creato un estratto dei dati storici dal sistema di gestione della flotta contenente i dati del veicolo e i registri dei sensori.
- Dopo che il modello ML è stato addestrato, viene distribuito l'artefatto del modello SageMaker.
- Il veicolo connesso invia i registri del sensore a AWS IoT Core (in alternativa, tramite un'interfaccia HTTP).
- I registri dei sensori vengono mantenuti tramite Firehose dati Amazon Kinesis.
- I registri del sensore vengono inviati a AWS Lambda per interrogare il modello per fare previsioni.
- Lambda invia i log dei sensori all'inferenza del modello Sagemaker per le previsioni.
- Le previsioni sono persistenti Amazon Aurora.
- I risultati aggregati vengono visualizzati su un file Amazon QuickSight cruscotto.
- Vengono inviate notifiche in tempo reale sulla probabilità di guasto prevista Servizio di notifica semplice Amazon (SNS Amazon).
- Amazon SNS invia le notifiche al veicolo connesso.
La soluzione è composta da sei notebook:
- 0_demo.ipynb – Una rapida anteprima della nostra soluzione
- 1_introduzione.ipynb – Introduzione e panoramica della soluzione
- 2_data_preparation.ipynb – Preparare un set di dati di esempio
- 3_visualizzazione_dati.ipynb – Visualizza il nostro set di dati di esempio
- 4_model_training.ipynb – Addestra un modello sul nostro set di dati di esempio per rilevare i guasti
- 5_risultati_analisi.ipynb – Analizza i risultati del modello che abbiamo addestrato
Prerequisiti
Amazon Sage Maker Studio è l'ambiente di sviluppo integrato (IDE) all'interno di SageMaker che ci fornisce tutte le funzionalità ML di cui abbiamo bisogno in un unico pannello di controllo. Prima di poter eseguire SageMaker JumpStart, dobbiamo configurare SageMaker Studio. Puoi saltare questo passaggio se hai già la tua versione di SageMaker Studio in esecuzione.
La prima cosa che dobbiamo fare prima di poter utilizzare qualsiasi servizio AWS è assicurarci di aver effettuato la registrazione e di aver creato un account AWS. Quindi creiamo un utente amministrativo e un gruppo. Per istruzioni su entrambi i passaggi, fare riferimento a Configura i prerequisiti di Amazon SageMaker.
Il passaggio successivo consiste nel creare un dominio SageMaker. Un dominio configura tutto lo spazio di archiviazione e ti consente di aggiungere utenti per accedere a SageMaker. Per ulteriori informazioni, fare riferimento a Integrazione nel dominio Amazon SageMaker. Questa demo viene creata nella regione AWS us-east-1.
Infine, avvia SageMaker Studio. Per questo post, ti consigliamo di avviare un'app per il profilo utente. Per le istruzioni, fare riferimento a Avvia Amazon SageMaker Studio.
Per eseguire questa soluzione SageMaker JumpStart e distribuire l'infrastruttura sul tuo account AWS, devi creare un'istanza SageMaker Studio attiva (vedi Effettua l'onboarding in Amazon SageMaker Studio). Quando la tua istanza è pronta, utilizza le istruzioni in SageMaker JumpStart per lanciare la soluzione. Gli artefatti della soluzione sono inclusi in this Repository GitHub per riferimento.
Avvia la soluzione SageMaker Jumpstart
Per iniziare con la soluzione, completare i seguenti passaggi:
- Nella console di SageMaker Studio, scegli inizio di salto.
- Sulla Soluzioni scheda, scegliere Manutenzione predittiva per flotte di veicoli.
- Scegli Lancio.
Sono necessari alcuni minuti per distribuire la soluzione. - Dopo aver distribuito la soluzione, scegli Open Notebook.
Se ti viene chiesto di selezionare un kernel, scegli PyTorch 1.8 Python 3.6 per tutti i notebook in questa soluzione.
Anteprima della soluzione
Per prima cosa lavoriamo sul 0_demo.ipynb
taccuino. In questo taccuino è possibile ottenere una rapida anteprima di come sarà il risultato una volta completato l'intero taccuino per questa soluzione.
Scegli Correre ed Esegui tutte le celle per eseguire tutte le celle in SageMaker Studio (o Cella ed Esegui tutto in un'istanza notebook SageMaker). Puoi eseguire tutte le celle in ogni notebook una dopo l'altra. Assicurarsi che tutte le celle finiscano l'elaborazione prima di passare al notebook successivo.
Questa soluzione si basa su un file di configurazione per eseguire le risorse AWS di cui è stato eseguito il provisioning. Generiamo il file come segue:
Disponiamo di alcuni dati di input di serie temporali di esempio costituiti dalla tensione della batteria di un veicolo e dalla corrente della batteria nel tempo. Successivamente, carichiamo e visualizziamo i dati di esempio. Come mostrato nelle seguenti schermate, i valori di tensione e corrente sono sull'asse Y e le letture (19 letture registrate) sono sull'asse X.
In precedenza abbiamo addestrato un modello su questi dati di tensione e corrente che prevede la probabilità di guasto del veicolo e abbiamo implementato il modello come endpoint in SageMaker. Chiameremo questo endpoint con alcuni dati di esempio per determinare la probabilità di errore nel prossimo periodo di tempo.
Dati i dati di input del campione, la probabilità prevista di guasto è 45.73%.
Per passare alla fase successiva, scegli Clicca qui per continuare.
Introduzione e panoramica della soluzione
Il 1_introduction.ipynb
notebook fornisce una panoramica della soluzione e delle fasi e uno sguardo al file di configurazione che include la definizione del contenuto, il periodo di campionamento dei dati, il conteggio dei campioni di addestramento e test, i parametri, la posizione e i nomi delle colonne per il contenuto generato.
Dopo aver esaminato questo taccuino, puoi passare alla fase successiva.
Preparare un set di dati di esempio
Prepariamo un set di dati di esempio in formato 2_data_preparation.ipynb
taccuino.
Per prima cosa generiamo il file di configurazione per questa soluzione:
Le proprietà di configurazione sono le seguenti:
Puoi definire il tuo set di dati o utilizzare i nostri script per generare un set di dati di esempio:
Puoi unire i dati del sensore e i dati del veicolo della flotta insieme:
Ora possiamo passare alla visualizzazione dei dati.
Visualizza il nostro set di dati di esempio
Visualizziamo il nostro set di dati di esempio in 3_data_vizualization.ipynb
. Questa soluzione si basa su un file di configurazione per eseguire le risorse AWS di cui è stato eseguito il provisioning. Generiamo il file simile al taccuino precedente.
Lo screenshot seguente mostra il nostro set di dati.
Quindi, costruiamo il set di dati:
Ora che il set di dati è pronto, visualizziamo le statistiche dei dati. Lo screenshot seguente mostra la distribuzione dei dati in base alla marca del veicolo, al tipo di motore, alla classe del veicolo e al modello.
Confrontando i dati di registro, diamo un'occhiata a un esempio della tensione media in diversi anni per Make E e C (casuale).
La media di tensione e corrente è sull'asse Y e il numero di letture è sull'asse X.
- Valori possibili per log_target: ['make', 'model', 'year', 'vehicle_class', 'engine_type']
- Valore assegnato casualmente per
log_target: make
- Valore assegnato casualmente per
- Possibili valori per log_target_value1: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Valore assegnato casualmente per
log_target_value1: Make B
- Valore assegnato casualmente per
- Possibili valori per log_target_value2: ['Make A', 'Make B', 'Make E', 'Make C', 'Make D']
- Valore assegnato casualmente per
log_target_value2: Make D
- Valore assegnato casualmente per
Sulla base di quanto sopra, assumiamo log_target: make
, log_target_value1: Make B
ed log_target_value2: Make D
I seguenti grafici analizzano la media dei dati di registro.
I seguenti grafici visualizzano un esempio di diversi valori di log del sensore rispetto a tensione e corrente.
Addestra un modello sul nostro set di dati di esempio per rilevare i guasti
Nel 4_model_training.ipynb
notebook, addestriamo un modello sul nostro set di dati di esempio per rilevare i guasti.
Generiamo il file di configurazione simile al notebook precedente, quindi procediamo con la configurazione dell'addestramento:
Analizza i risultati del modello che abbiamo addestrato
Nel 5_results_analysis.ipynb
notebook, otteniamo i dati dal nostro lavoro di ottimizzazione degli iperparametri, visualizziamo le metriche di tutti i lavori per identificare il lavoro migliore e creiamo un endpoint per il miglior lavoro di formazione.
Generiamo il file di configurazione simile al notebook precedente e visualizziamo le metriche di tutti i job. Il grafico seguente visualizza l'accuratezza del test rispetto all'epoca.
Lo screenshot seguente mostra i processi di ottimizzazione degli iperparametri che abbiamo eseguito.
Ora puoi visualizzare i dati dal miglior lavoro di addestramento (tra i quattro lavori di addestramento) in base all'accuratezza del test (rosso).
Come possiamo vedere nelle seguenti schermate, la perdita del test diminuisce e l'AUC e l'accuratezza aumentano con le epoche.
Sulla base delle visualizzazioni, ora possiamo creare un endpoint per il miglior lavoro di formazione:
Dopo aver creato l'endpoint, possiamo testare il predittore passandogli i registri dei sensori di esempio:
Dati i dati di input del campione, la probabilità prevista di guasto è 34.60%.
ripulire
Quando hai finito con questa soluzione, assicurati di eliminare tutte le risorse AWS indesiderate. Sul Manutenzione predittiva per flotte di veicoli pagina, sotto Elimina soluzionescegli Elimina tutte le risorse per eliminare tutte le risorse associate alla soluzione.
Devi eliminare manualmente eventuali risorse extra che potresti aver creato in questo notebook. Alcuni esempi includono i bucket S3 aggiuntivi (nel bucket predefinito della soluzione) e gli endpoint SageMaker aggiuntivi (utilizzando un nome personalizzato).
Personalizza la soluzione
La nostra soluzione è semplice da personalizzare. Per modificare le visualizzazioni dei dati di input, fare riferimento a sagemaker/3_data_visualization.ipynb. Per personalizzare l'apprendimento automatico, fare riferimento a sagemaker/source/train.py ed sagemaker/source/dl_utils/network.py. Per personalizzare l'elaborazione del set di dati, fare riferimento a sagemaker/1_introduction.ipynb su come definire il file di configurazione.
Inoltre, puoi modificare la configurazione nel file config. La configurazione predefinita è la seguente:
Il file di configurazione ha i seguenti parametri:
fleet_info_fn
,fleet_sensor_logs_fn
,fleet_dataset_fn
,train_dataset_fn
etest_dataset_fn
definire la posizione dei file del set di dativehicle_id_column
,timestamp_column
,target_column
eperiod_column
definire le intestazioni per le colonnedataset_size
,chunksize
,processing_chunksize
,period_ms
ewindow_length
definire le proprietà del set di dati
Conclusione
In questo post, ti abbiamo mostrato come addestrare e implementare un modello per prevedere la probabilità di guasto della flotta di veicoli utilizzando SageMaker JumpStart. La soluzione si basa su ML e modelli di deep learning e consente un'ampia varietà di dati di input, inclusi eventuali dati di sensori variabili nel tempo. Poiché ogni veicolo ha una telemetria diversa, puoi ottimizzare il modello fornito in base alla frequenza e al tipo di dati di cui disponi.
Per ulteriori informazioni su cosa puoi fare con SageMaker JumpStart, fai riferimento a quanto segue:
Risorse
Informazioni sugli autori
Rajakumar Sampathkumar è un Principal Technical Account Manager presso AWS, che fornisce ai clienti una guida sull'allineamento della tecnologia aziendale e supporta la reinvenzione dei loro modelli e processi operativi cloud. È appassionato di cloud e machine learning. Raj è anche uno specialista dell'apprendimento automatico e collabora con i clienti AWS per progettare, distribuire e gestire i carichi di lavoro e le architetture AWS.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Automobilistico/VE, Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- BlockOffset. Modernizzare la proprietà della compensazione ambientale. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/predict-vehicle-fleet-failure-probability-using-amazon-sagemaker-jumpstart/
- :ha
- :È
- ][P
- $ SU
- 1
- 10
- 100
- 11
- 12
- 13
- 15%
- 16
- 19
- 20
- 50
- 67
- 7
- 8
- a
- WRI
- sopra
- accesso
- Secondo
- Il mio account
- precisione
- operanti in
- attivo
- attività
- aggiungere
- amministrativo
- Dopo shavasana, sedersi in silenzio; saluti;
- contro
- allineamento
- Tutti
- consente
- già
- anche
- Amazon
- Amazon Sage Maker
- JumpStart di Amazon SageMaker
- Amazon Web Services
- an
- analizzare
- ed
- in qualsiasi
- App
- APPLICA
- SONO
- aree
- AS
- addetto
- associato
- assumere
- At
- settore automobilistico
- disponibile
- evitare
- AWS
- Axis
- precedente
- basato
- batteria
- perché
- prima
- MIGLIORE
- Bloccare
- stile di vita
- Incremento
- entrambi
- Rompere
- costruire
- Costruzione
- by
- chiamata
- Materiale
- Può ottenere
- Custodie
- casi
- Celle
- il cambiamento
- Scegli
- classe
- cliente
- Cloud
- Colonna
- Uncommon
- completamento di una
- componenti
- concetto
- Configurazione
- collegato
- Consistente
- consiste
- consolle
- contiene
- contenuto
- Costi
- potuto
- coprire
- creare
- creato
- critico
- Corrente
- costume
- Clienti
- personalizzare
- cruscotto
- dati
- Preparazione dei dati
- visualizzazione dati
- Cali
- deep
- apprendimento profondo
- Predefinito
- definizione
- dimostrazione
- dimostra
- schierare
- schierato
- Design
- Determinare
- Mercato
- diverso
- visualizzati
- disturbare
- distribuzione
- do
- dominio
- giù
- i tempi di inattività
- guidare
- e
- ogni
- altro
- da un capo all'altro
- endpoint
- motore
- garantire
- Ambiente
- epoca
- epoche
- Ogni
- esempio
- Esempi
- esplora
- extra
- estratto
- Fallimento
- falso
- Caratteristiche
- pochi
- Compila il
- finire
- Nome
- FLOTTA
- i seguenti
- segue
- Nel
- quattro
- Frequenza
- da
- pieno
- funzionalità
- generare
- generato
- generatore
- ottenere
- dato
- vetro.
- GPU
- grafici
- Gruppo
- guida
- Avere
- he
- intestazioni
- Aiuto
- qui
- storico
- Come
- Tutorial
- HTML
- http
- HTTPS
- Hub
- Ottimizzazione dell'iperparametro
- Sintonia iperparametro
- i
- identificare
- if
- importare
- competenze
- in
- includere
- incluso
- inclusi
- Compreso
- Aumento
- industrie
- informazioni
- Infrastruttura
- inizialmente
- avviare
- ingresso
- esempio
- istruzioni
- integrato
- Interfaccia
- ai miglioramenti
- Introduzione
- IoT
- IT
- Lavoro
- Offerte di lavoro
- jpg
- json
- Tasti
- atterraggio
- lanciare
- lancio
- IMPARARE
- apprendimento
- livelli
- piace
- caricare
- locale
- località
- ceppo
- Guarda
- una
- spento
- macchina
- machine learning
- manutenzione
- make
- gestire
- gestione
- direttore
- manualmente
- molti
- Massimizzare
- Maggio..
- significare
- meccanico
- Unire
- Metrica
- Minuti
- ML
- modello
- modelli
- modificare
- Scopri di più
- cambiano
- in movimento
- Nome
- nomi
- Bisogno
- GENERAZIONE
- taccuino
- notifica
- notifiche
- adesso
- numero
- of
- offerto
- on
- ONE
- esclusivamente
- aprire
- operazione
- Operazioni
- ottimizzazione
- OTTIMIZZA
- or
- OS
- Altro
- nostro
- su
- Risultato
- delineato
- ancora
- panoramica
- proprio
- pagina
- vetro
- parametri
- parte
- Di passaggio
- appassionato
- sentiero
- periodo
- Platone
- Platone Data Intelligence
- PlatoneDati
- per favore
- Post
- predire
- previsto
- previsione
- Previsioni
- Predictor
- predice
- preparazione
- Preparare
- Anteprima
- precedente
- in precedenza
- Direttore
- Problema
- processi
- i processi
- lavorazione
- della produttività
- Profilo
- prova
- prova del concetto
- proprietà
- purché
- fornisce
- fornitura
- pubblicamente
- Python
- pytorch
- Presto
- casuale
- gamma
- pronto
- raccomandare
- record
- registrato
- Rosso
- ridurre
- regione
- riparazione
- Risorse
- risposta
- Risultati
- ritorno
- recensioni
- Ruolo
- Correre
- running
- Sicurezza
- sagemaker
- Set di dati di esempio
- programmazione
- screenshot
- script
- Sezione
- vedere
- invia
- inviato
- Serie
- serve
- Servizi
- Sessione
- set
- Set
- alcuni
- Corti
- mostrare attraverso le sue creazioni
- ha mostrato
- mostrato
- Spettacoli
- firmato
- simile
- Un'espansione
- singolo
- SIX
- soluzione
- Soluzioni
- alcuni
- Fonte
- specialista
- specifico
- Stage
- tappe
- iniziato
- statistica
- step
- Passi
- conservazione
- Tornare al suo account
- studio
- successivo
- Supporto
- sicuro
- sintetico
- sistema
- prende
- Consulenza
- tecniche
- modello
- modelli
- test
- che
- Il
- loro
- poi
- cosa
- questo
- tempo
- Serie storiche
- timestamp
- a
- insieme
- Treni
- allenato
- Training
- prova
- Digitare
- Tipi di
- per
- non desiderato
- us
- uso
- caso d'uso
- utilizzato
- Utente
- utenti
- utilizzando
- APPREZZIAMO
- Valori
- varietà
- veicolo
- versione
- via
- visualizzazione
- Volt
- Tensione
- vs
- W
- we
- sito web
- servizi web
- Che
- quando
- quale
- largo
- Vasta gamma
- volere
- con
- entro
- Lavora
- flusso di lavoro
- lavori
- X
- YAML
- anni
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro