Puoi usare Bordo a palle di neve di AWS dispositivi in luoghi come navi da crociera, piattaforme petrolifere e stabilimenti con connettività di rete limitata o assente per un'ampia gamma di applicazioni di machine learning (ML) come sorveglianza, riconoscimento facciale e ispezione industriale. Tuttavia, data la natura remota e disconnessa di questi dispositivi, l’implementazione e la gestione dei modelli ML all’edge è spesso difficile. Con AWS IoT Greengrass ed Gestore perimetrale di Amazon SageMaker, puoi eseguire l'inferenza ML sui dati generati localmente sui dispositivi Snowball Edge utilizzando modelli ML addestrati nel cloud. Non solo potrai beneficiare della bassa latenza e del risparmio sui costi derivanti dall'esecuzione dell'inferenza locale, ma ridurrai anche il tempo e l'impegno necessari per portare in produzione i modelli ML. Puoi fare tutto questo monitorando e migliorando continuamente la qualità del modello nel tuo parco dispositivi Snowball Edge.
In questo post parliamo di come utilizzare AWS IoT Greengrass versione 2.0 o successiva e Edge Manager per ottimizzare, proteggere, monitorare e mantenere un semplice modello di classificazione TensorFlow per classificare i container di spedizione (connex) e le persone.
Per iniziare
Per iniziare, ordina un dispositivo Snowball Edge (per ulteriori informazioni, consulta Creazione di un processo AWS Snowball Edge). Puoi ordinare un dispositivo Snowball Edge con un'AMI convalidata AWS IoT Greengrass.
Dopo aver ricevuto il dispositivo, è possibile utilizzarlo AWS OpsHub per Snow Family o il Client Snowball Edge per sbloccare il dispositivo. Puoi avviare un Cloud di calcolo elastico di Amazon (Amazon EC2) con l'ultima versione di AWS IoT Greengrass installata oppure utilizza i comandi su AWS OpsHub per Snow Family.
Avvia e installa un'AMI con i seguenti requisiti oppure fornisci un riferimento AMI sulla console Snowball prima di ordinare e verrà spedito con tutte le librerie e i dati nell'AMI:
- Il framework ML di tua scelta, come TensorFlow, PyTorch o MXNet
- Docker (se intendi utilizzarlo)
- AWS IoT Greengrass
- Eventuali altre librerie di cui potresti aver bisogno
Prepara l'AMI al momento dell'ordine del dispositivo Snowball Edge sulla console AWS Snow Family. Per istruzioni, vedere Utilizzo delle istanze di calcolo di Amazon EC2... Hai anche la possibilità di farlo aggiorna l'AMI dopo la distribuzione di Snowball nella tua edge location.
Installa la versione più recente di AWS IoT Greengrass su Snowball Edge
Per installare AWS IoT Greengrass sul tuo dispositivo, completa i seguenti passaggi:
- Installa la versione più recente di AWS IoT Greengrass sul tuo dispositivo Snowball Edge. Assicurarsi
dev_tools=True
è destinato ad avereggv2 cli
Vedi il seguente codice:
Facciamo riferimento a --thing-name
hai scelto qui quando abbiamo configurato Edge Manager.
- Esegui il comando seguente per testare l'installazione:
- Nella console AWS IoT, convalida il dispositivo Snowball Edge registrato correttamente con il tuo account AWS IoT Greengrass.
Ottimizza i modelli ML con Edge Manager
Utilizziamo Edge Manger per distribuire e gestire il modello su Snowball Edge.
- Installa l'agente Edge Manager su Snowball Edge utilizzando la versione più recente di AWS IoT Greengrass.
- Addestra e archivia il tuo modello ML.
Puoi addestrare il tuo modello ML utilizzando qualsiasi framework di tua scelta e salvarlo in un file Servizio di archiviazione semplice Amazon (Amazon S3) secchio. Nello screenshot seguente, utilizziamo TensorFlow per addestrare un modello multi-etichetta per classificare i collegamenti e le persone in un'immagine. Il modello utilizzato qui viene salvato in un bucket S3 creando prima un file .tar.
Dopo aver salvato il modello (TensorFlow Lite in questo caso), è possibile avviare un file Amazon Sage Maker Neo lavoro di compilazione del modello e ottimizzazione del modello ML per Snowball Edge Compute (SBE_C
).
- Sulla console SageMaker, sotto Inferenza nel pannello di navigazione, scegli Lavori di compilazione.
- Scegli Crea un lavoro di compilazione.
- Assegna un nome al tuo lavoro e crea o utilizza un ruolo esistente.
Se stai creando un nuovo file Gestione dell'identità e dell'accesso di AWS (IAM), assicurati che SageMaker abbia accesso al bucket in cui è salvato il modello.
- Nel Configurazione degli ingressi sezione, per Posizione degli artefatti del modello, inserisci il percorso per
model.tar.gz
dove hai salvato il file (in questo caso,s3://feidemo/tfconnexmodel/connexmodel.tar.gz
). - Nel Configurazione input dati, inserisci il livello di input del modello ML (il suo nome e la sua forma). In questo caso si chiama
keras_layer_input
e la sua forma è [1,224,224,3], quindi entriamo{“keras_layer_input”:[1,224,224,3]}
.
- Nel Framework di machine learningscegli TFlite.
- Nel Dispositivo di destinazionescegli sbe_c.
- Lasciare Opzioni del compilatore
- Nel S3 Posizione di uscita, inserisci la stessa posizione in cui è salvato il tuo modello con il prefisso (cartella)
output
. Ad esempio, entriamos3://feidemo/tfconnexmodel/output
.
- Scegli Invio per avviare il lavoro di compilazione.
Ora creerai un pacchetto di distribuzione del modello che verrà utilizzato da Edge Manager.
- Sulla console SageMaker, sotto Gestore perimetralescegli Lavori di imballaggio sui bordi.
- Scegli Crea un processo di creazione del pacchetto Edge.
- Nel Proprietà del lavoro sezione, inserire i dettagli del lavoro.
- Nel Fonte del modello sezione, per Nome del lavoro di compilazione, inserisci il nome che hai fornito per il lavoro di compilazione Neo.
- Scegli Avanti.
- Nel Configurazione delle uscite sezione, per URI del bucket S3, inserisci dove desideri archiviare il pacchetto in Amazon S3.
- Nel Nome del componente, inserisci un nome per il componente AWS IoT Greengrass.
Questa fase crea un componente del modello AWS IoT Greengrass in cui il modello viene scaricato da Amazon S3 e decompresso nello storage locale su Snowball Edge.
- Crea un parco dispositivi per gestire un gruppo di dispositivi, in questo caso solo uno (SBE).
- Nel Ruolo IAM¸ immettere il ruolo generato in precedenza da AWS IoT Greengrass (–tes-role-name).
Assicurati che disponga delle autorizzazioni richieste accedendo alla console IAM, cercando il ruolo e aggiungendovi le policy richieste.
- Registra il dispositivo Snowball Edge nella flotta che hai creato.
- Nel Origine del dispositivo sezione, immettere il nome del dispositivo. Il nome IoT deve corrispondere al nome utilizzato in precedenza, in questo caso –thing-name MyGreengrassCore.
Puoi registrare ulteriori dispositivi Snowball sulla console SageMaker per aggiungerli al parco dispositivi, il che ti consente di raggruppare e gestire questi dispositivi insieme.
Distribuisci modelli ML a Snowball Edge utilizzando AWS IoT Greengrass
Nelle sezioni precedenti hai sbloccato e configurato il tuo dispositivo Snowball Edge. Il modello ML è ora compilato e ottimizzato per le prestazioni su Snowball Edge. Viene creato un pacchetto Edge Manager con il modello compilato e il dispositivo Snowball viene registrato in una flotta. In questa sezione verranno esaminati i passaggi necessari per distribuire il modello ML per l'inferenza su Snowball Edge con la versione più recente di AWS IoT Greengrass.
Componenti
AWS IoT Greengrass ti consente di eseguire la distribuzione su dispositivi edge come una combinazione di componenti e artefatti associati. I componenti sono documenti JSON che contengono i metadati, il ciclo di vita, cosa distribuire quando e cosa installare. I componenti definiscono inoltre quale sistema operativo utilizzare e quali elementi utilizzare durante l'esecuzione su diverse opzioni del sistema operativo.
Artifacts
Gli artefatti possono essere file di codice, modelli o immagini di contenitori. Ad esempio, è possibile definire un componente per installare una libreria Python Pandas ed eseguire un file di codice che trasformerà i dati oppure per installare una libreria TensorFlow ed eseguire il modello per l'inferenza. Di seguito sono riportati gli artefatti di esempio necessari per la distribuzione di un'applicazione di inferenza:
- gRPC proto e stub Python (questo può essere diverso in base al modello e al framework)
- Codice Python per caricare il modello ed eseguire l'inferenza
Questi due elementi vengono caricati in un bucket S3.
Distribuire i componenti
La distribuzione richiede i seguenti componenti:
- Agente Edge Manager (disponibile nei componenti pubblici su GA)
- Modello
- Applicazioni
Completare i seguenti passaggi per distribuire i componenti:
- Nella console AWS IoT, sotto Erba verdescegli Componentie creare il componente dell'applicazione.
- Trova il componente agente Edge Manager nell'elenco dei componenti pubblici e distribuiscilo.
- Distribuire un componente del modello creato da Edge Manager, che viene utilizzato come dipendenza nel componente dell'applicazione.
- Distribuisci il componente dell'applicazione sul dispositivo edge accedendo all'elenco delle distribuzioni AWS IoT Greengrass e creando una nuova distribuzione.
Se disponi di una distribuzione esistente, puoi modificarla per aggiungere il componente dell'applicazione.
Ora puoi testare il tuo componente.
- Nel codice di previsione o inferenza distribuito con il componente dell'applicazione, codificare la logica per accedere ai file localmente sul dispositivo Snowball Edge (ad esempio, nella cartella in entrata) e spostare le previsioni o i file elaborati in una cartella elaborata.
- Accedi al dispositivo per vedere se le previsioni sono state effettuate.
- Imposta il codice per l'esecuzione in loop, controllando la cartella in arrivo per nuovi file, elaborando i file e spostandoli nella cartella elaborata.
Lo screenshot seguente è un esempio di configurazione dei file prima della distribuzione all'interno di Snowball Edge.
Dopo la distribuzione, tutte le immagini di test presentano classi di interesse e pertanto vengono spostate nella cartella elaborata.
ripulire
Per ripulire tutto o reimplementare questa soluzione da zero, arresta tutte le istanze EC2 invocando il file TerminateInstance
API contro endpoint compatibili con EC2 in esecuzione sul tuo dispositivo Snowball Edge. Per restituire il tuo dispositivo Snowball Edge, consulta Spegnimento di Snowball Edge ed Restituzione del dispositivo Snowball Edge.
Conclusione
Questo post ti ha spiegato come ordinare un dispositivo Snowball Edge con un'AMI a tua scelta. Quindi compili un modello per l'edge utilizzando SageMaker, pacchettizzi il modello utilizzando Edge Manager e crei ed esegui componenti con artefatti per eseguire l'inferenza ML su Snowball Edge utilizzando la versione più recente di AWS IoT Greengrass. Con Edge Manager, puoi distribuire e aggiornare i tuoi modelli ML su una flotta di dispositivi Snowball Edge e monitorare le prestazioni all'edge con input salvati e dati di previsione su Amazon S3. È inoltre possibile eseguire questi componenti con esecuzione prolungata AWS Lambda funzioni che possono avviare un modello e attendere che i dati eseguano l'inferenza.
Combina diverse funzionalità di AWS IoT Greengrass per creare un client MQTT e utilizzare un modello pub/sub per richiamare altri servizi o microservizi. Le possibilità sono infinite.
Eseguendo l'inferenza ML su Snowball Edge con Edge Manager e AWS IoT Greengrass, puoi ottimizzare, proteggere, monitorare e mantenere i modelli ML su flotte di dispositivi Snowball Edge. Grazie per aver letto e non esitate a lasciare domande o commenti nella sezione commenti.
Per ulteriori informazioni su AWS Snow Family, AWS IoT Greengrass ed Edge Manager, consulta quanto segue:
Informazioni sugli autori
Raj Kadiyala è un Tech Business Development Manager di AI/ML in AWS WWPS Partner Organization. Raj ha oltre 12 anni di esperienza nell'apprendimento automatico e ama trascorrere il suo tempo libero esplorando l'apprendimento automatico per soluzioni pratiche quotidiane e rimanendo attivo nei grandi spazi aperti del Colorado.
Nida Beig è Senior Product Manager – Tech presso Amazon Web Services, dove lavora nel team AWS Snow Family. La sua passione è comprendere le esigenze dei clienti e utilizzare la tecnologia come conduttore del pensiero trasformativo per fornire prodotti di consumo. Oltre al lavoro, le piace viaggiare, fare escursioni e correre.
- 100
- 9
- accesso
- Il mio account
- attivo
- aggiuntivo
- Tutti
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Amazon Web Services
- api
- Applicazioni
- applicazioni
- AWS
- affari
- verifica
- classificazione
- codice
- Colorado
- Commenti
- componente
- Calcolare
- conduttore
- Connettività
- Consumer
- Prodotti di consumo
- Contenitore
- Tecnologie Container
- Creazione
- crociera
- dati
- giorno
- Mercato
- dispositivi
- documenti
- bordo
- esperienza
- riconoscimento facciale
- fabbrica
- famiglia
- Caratteristiche
- Nome
- FLOTTA
- pavimenti
- Contesto
- Gratis
- grande
- Vasto spazio all'aperto
- Gruppo
- qui
- escursionismo
- Come
- Tutorial
- HTTPS
- IAM
- Identità
- Immagine
- industriale
- informazioni
- interesse
- coinvolto
- IoT
- IT
- Java
- Lavoro
- con i più recenti
- IMPARARE
- apprendimento
- Biblioteca
- Limitato
- Lista
- caricare
- locale
- a livello locale
- località
- machine learning
- partita
- ML
- modello
- monitoraggio
- Navigazione
- NEO
- Rete
- Olio
- operativo
- sistema operativo
- Opzione
- Opzioni
- minimo
- Altro
- all'aperto
- imballaggio
- partner
- Persone
- performance
- Termini e Condizioni
- predizione
- Previsioni
- Prodotto
- Produzione
- Prodotti
- la percezione
- Python
- pytorch
- qualità
- gamma
- Lettura
- ridurre
- Requisiti
- Correre
- running
- sagemaker
- Servizi
- set
- Spedizione
- navi
- Un'espansione
- neve
- So
- Soluzioni
- spendere
- Spin
- inizia a
- iniziato
- conservazione
- Tornare al suo account
- sorveglianza
- sistema
- Tech
- Tecnologia
- tensorflow
- test
- Pensiero
- tempo
- Aggiornanento
- aspettare
- sito web
- servizi web
- Lavora
- lavori
- anni