Man mano che l'apprendimento automatico (ML) diventa sempre più diffuso in una vasta gamma di settori, le organizzazioni stanno riscontrando la necessità di addestrare e servire un gran numero di modelli ML per soddisfare le diverse esigenze dei propri clienti. In particolare, per i fornitori di software come servizio (SaaS), la capacità di addestrare e servire migliaia di modelli in modo efficiente ed economico è fondamentale per rimanere competitivi in un mercato in rapida evoluzione.
La formazione e il servizio di migliaia di modelli richiedono un'infrastruttura robusta e scalabile, che è dove Amazon Sage Maker può aiutare. SageMaker è una piattaforma completamente gestita che consente a sviluppatori e data scientist di creare, addestrare e distribuire rapidamente modelli ML, offrendo al contempo i vantaggi in termini di risparmio dei costi derivanti dall'utilizzo dell'infrastruttura AWS Cloud.
In questo post, esploriamo come utilizzare le funzionalità di SageMaker, tra cui Elaborazione di Amazon SageMaker, i lavori di formazione SageMaker e gli endpoint multi-modello (MME) SageMaker, per addestrare e servire migliaia di modelli in modo conveniente. Per iniziare con la soluzione descritta, puoi fare riferimento al taccuino allegato su GitHub.
Caso d'uso: previsione energetica
Per questo post, assumiamo il ruolo di un'azienda ISV che aiuta i propri clienti a diventare più sostenibili monitorando il loro consumo energetico e fornendo previsioni. La nostra azienda ha 1,000 clienti che desiderano comprendere meglio il proprio consumo di energia e prendere decisioni informate su come ridurre il proprio impatto ambientale. Per fare ciò, utilizziamo un set di dati sintetico e addestriamo un modello ML basato su Profeta per ogni cliente per fare previsioni di consumo energetico. Con SageMaker, possiamo addestrare e servire in modo efficiente questi 1,000 modelli, fornendo ai nostri clienti informazioni accurate e fruibili sul loro consumo energetico.
Ci sono tre funzionalità nel set di dati generato:
- identificativo del cliente – Si tratta di un identificatore intero per ciascun cliente, compreso tra 0 e 999.
- timestamp – Questo è un valore di data/ora che indica l'ora in cui è stato misurato il consumo di energia. I timestamp vengono generati casualmente tra le date di inizio e di fine specificate nel codice.
- consumo – Questo è un valore float che indica il consumo di energia, misurato in qualche unità arbitraria. I valori di consumo sono generati casualmente tra 0 e 1,000 con stagionalità sinusoidale.
Panoramica della soluzione
Per addestrare e servire in modo efficiente migliaia di modelli ML, possiamo utilizzare le seguenti funzionalità di SageMaker:
- Elaborazione di SageMaker – SageMaker Processing è un servizio di preparazione dei dati completamente gestito che consente di eseguire attività di elaborazione dei dati e valutazione del modello sui dati di input. Puoi utilizzare SageMaker Processing per trasformare i dati grezzi nel formato necessario per l'addestramento e l'inferenza, nonché per eseguire valutazioni in batch e online dei tuoi modelli.
- Lavori di formazione SageMaker – Puoi utilizzare i processi di addestramento di SageMaker per addestrare i modelli su una varietà di algoritmi e tipi di dati di input e specificare le risorse di calcolo necessarie per l'addestramento.
- MME SageMaker – Gli endpoint multi-modello consentono di ospitare più modelli su un singolo endpoint, il che semplifica la fornitura di previsioni da più modelli utilizzando un'unica API. Gli MME SageMaker possono risparmiare tempo e risorse riducendo il numero di endpoint necessari per fornire previsioni da più modelli. Gli MME supportano l'hosting di entrambi i modelli supportati da CPU e GPU. Tieni presente che nel nostro scenario utilizziamo 1,000 modelli, ma questa non è una limitazione del servizio stesso.
Il diagramma seguente illustra l'architettura della soluzione.
Il flusso di lavoro include i seguenti passaggi:
- Utilizziamo SageMaker Processing per preelaborare i dati e creare un singolo file CSV per cliente e memorizzarlo Servizio di archiviazione semplice Amazon (Amazon S3).
- Il processo di addestramento SageMaker è configurato per leggere l'output del processo di elaborazione SageMaker e distribuirlo in modalità round robin alle istanze di addestramento. Si noti che questo può essere ottenuto anche con Pipeline di Amazon SageMaker.
- Gli artefatti del modello vengono archiviati in Amazon S3 dal processo di addestramento e vengono forniti direttamente da SageMaker MME.
Adatta l'addestramento a migliaia di modelli
Scalare l'addestramento di migliaia di modelli è possibile tramite il distribution
parametro del Ingresso di formazione class in SageMaker Python SDK, che consente di specificare in che modo i dati vengono distribuiti su più istanze di addestramento per un processo di addestramento. Ci sono tre opzioni per il distribution
parametro: FullyReplicated
, ShardedByS3Key
e ShardedByRecord
. ShardedByS3Key
L'opzione indica che i dati di addestramento sono partizionati dalla chiave dell'oggetto S3, con ogni istanza di addestramento che riceve un sottoinsieme univoco dei dati, evitando la duplicazione. Dopo che i dati sono stati copiati da SageMaker nei contenitori di addestramento, possiamo leggere la struttura delle cartelle e dei file per addestrare un modello univoco per file del cliente. Di seguito è riportato un frammento di codice di esempio:
Ogni processo di addestramento SageMaker memorizza il modello salvato nel file /opt/ml/model
cartella del contenitore di formazione prima di archiviarlo in a model.tar.gz
file, quindi lo carica su Amazon S3 al completamento del processo di addestramento. Gli utenti esperti possono anche automatizzare questo processo con SageMaker Pipelines. Quando si memorizzano più modelli tramite lo stesso lavoro di addestramento, SageMaker ne crea uno singolo model.tar.gz
file contenente tutti i modelli addestrati. Ciò significherebbe quindi che, per servire il modello, dovremmo prima decomprimere l'archivio. Per evitare questo, usiamo posti di blocco per salvare lo stato dei singoli modelli. SageMaker fornisce la funzionalità per copiare i checkpoint creati durante il processo di addestramento in Amazon S3. Qui, i checkpoint devono essere salvati in una posizione pre-specificata, con l'impostazione predefinita /opt/ml/checkpoints
. Questi punti di controllo possono essere utilizzati per riprendere l'addestramento in un secondo momento o come modello da distribuire su un endpoint. Per un riepilogo di alto livello su come la piattaforma di formazione SageMaker gestisce i percorsi di archiviazione per i set di dati di formazione, gli artefatti del modello, i checkpoint e gli output tra lo storage AWS Cloud e i processi di formazione in SageMaker, fare riferimento a Cartelle di storage per la formazione di Amazon SageMaker per set di dati di formazione, checkpoint, artefatti del modello e output.
Il codice seguente utilizza un file fittizio model.save()
funzione all'interno di train.py
script contenente la logica di addestramento:
Adatta l'inferenza a migliaia di modelli con gli MME di SageMaker
Gli MME SageMaker ti consentono di servire più modelli contemporaneamente creando una configurazione dell'endpoint che include un elenco di tutti i modelli da servire e quindi creando un endpoint utilizzando quella configurazione dell'endpoint. Non è necessario ridistribuire l'endpoint ogni volta che aggiungi un nuovo modello perché l'endpoint servirà automaticamente tutti i modelli archiviati nei percorsi S3 specificati. Questo si ottiene con Server multimodello (MMS), un framework open source per servire modelli ML che possono essere installati nei container per fornire il front-end che soddisfa i requisiti per le nuove API del container MME. Inoltre, è possibile utilizzare altri server modello inclusi Torcia Servire ed tritone. MMS può essere installato nel tuo contenitore personalizzato tramite il file SageMaker Toolkit di inferenza. Per saperne di più su come configurare il tuo Dockerfile per includere MMS e usarlo per servire i tuoi modelli, fai riferimento a Crea il tuo container per endpoint multi-modello SageMaker.
Il seguente frammento di codice mostra come creare un MME utilizzando SageMaker Python SDK:
Quando l'MME è attivo, possiamo invocarlo per generare previsioni. Le chiamate possono essere eseguite in qualsiasi SDK AWS e con SageMaker Python SDK, come mostrato nel seguente frammento di codice:
Quando si chiama un modello, il modello viene inizialmente caricato da Amazon S3 sull'istanza, il che può comportare un avvio a freddo quando si chiama un nuovo modello. I modelli utilizzati di frequente vengono memorizzati nella cache in memoria e su disco per fornire inferenza a bassa latenza.
Conclusione
SageMaker è una piattaforma potente ed economica per la formazione e la gestione di migliaia di modelli ML. Le sue funzionalità, tra cui SageMaker Processing, i processi di formazione e gli MME, consentono alle organizzazioni di addestrare e servire in modo efficiente migliaia di modelli su larga scala, beneficiando anche dei vantaggi in termini di risparmio dei costi derivanti dall'utilizzo dell'infrastruttura AWS Cloud. Per ulteriori informazioni su come utilizzare SageMaker per addestrare e servire migliaia di modelli, fare riferimento a Dati di processo, Addestra un modello con Amazon SageMaker ed Ospita più modelli in un contenitore dietro un endpoint.
Informazioni sugli autori
Davide Gallitelli è uno Specialist Solutions Architect per AI/ML nella regione EMEA. Ha sede a Bruxelles e lavora a stretto contatto con i clienti in tutto il Benelux. È uno sviluppatore sin da quando era molto giovane, iniziando a programmare all'età di 7 anni. Ha iniziato a studiare AI/ML all'università e da allora se ne è innamorato.
Maurizio de Groot è un Solutions Architect presso Amazon Web Services, con sede ad Amsterdam. Gli piace lavorare su argomenti legati al machine learning e ha una predilezione per le startup. Nel tempo libero ama sciare e giocare a squash.
- 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/scale-training-and-inference-of-thousands-of-ml-models-with-amazon-sagemaker/
- :ha
- :È
- :non
- :Dove
- 000
- 000 clienti
- 1
- 10
- 100
- 12
- 15%
- 20
- 7
- a
- capacità
- WRI
- preciso
- raggiunto
- operanti in
- aggiungere
- aggiunta
- vantaggi
- Dopo shavasana, sedersi in silenzio; saluti;
- AI / ML
- Algoritmi
- Tutti
- consentire
- consente
- già
- anche
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- amsterdam
- an
- ed
- in qualsiasi
- api
- API
- architettura
- Archivio
- SONO
- argomento
- AS
- assumere
- At
- automatizzare
- automaticamente
- evitare
- evitando
- AWS
- basato
- BE
- perché
- diventare
- diventa
- stato
- prima
- dietro
- essendo
- beneficiando
- vantaggi
- Meglio
- fra
- entrambi
- Bruxelles
- costruire
- ma
- by
- chiamata
- Materiale
- Custodie
- classe
- strettamente
- Cloud
- infrastruttura cloud
- Cloud Storage
- codice
- freddo
- azienda
- competitivo
- completamento
- Calcolare
- Configurazione
- configurato
- consumo
- Contenitore
- Tecnologie Container
- costo effettivo
- creare
- creato
- crea
- Creazione
- cruciale
- costume
- cliente
- Clienti
- dati
- Preparazione dei dati
- elaborazione dati
- dataset
- Date
- decisioni
- Predefinito
- definire
- definizione
- schierare
- descritta
- Costruttori
- sviluppatori
- direttamente
- display
- distribuire
- distribuito
- paesaggio differenziato
- do
- fatto
- durante
- ogni
- facile
- in modo efficiente
- enable
- Abilita
- fine
- endpoint
- energia
- Consumo di energia
- ambientale
- valutazione
- valutazioni
- Ogni
- evoluzione
- esempio
- esplora
- Caduto
- Moda
- Caratteristiche
- Compila il
- File
- ricerca
- Nome
- galleggiante
- i seguenti
- Nel
- Per le startup
- le previsioni
- formato
- Contesto
- frequentemente
- da
- anteriore
- Fine frontale
- completamente
- function
- funzionalità
- generare
- generato
- ottenere
- GitHub
- he
- Aiuto
- aiuta
- qui
- alto livello
- il suo
- host
- di hosting
- Come
- Tutorial
- HTML
- http
- HTTPS
- identificatore
- illustra
- Impact
- importare
- in
- includere
- inclusi
- Compreso
- sempre più
- indica
- individuale
- industrie
- informati
- Infrastruttura
- inizialmente
- ingresso
- Ingressi
- interno
- intuizioni
- installato
- esempio
- ai miglioramenti
- IT
- SUO
- stessa
- Lavoro
- Offerte di lavoro
- jpg
- json
- Le
- grandi
- dopo
- IMPARARE
- apprendimento
- piace
- limitazione
- Lista
- vivere
- a livello locale
- località
- logica
- amore
- macchina
- machine learning
- make
- FA
- gestito
- gestisce
- Rappresentanza
- significare
- si intende
- Soddisfare
- Memorie
- ML
- modello
- modelli
- momento
- Scopri di più
- multiplo
- Nome
- Bisogno
- di applicazione
- esigenze
- New
- no
- taccuino
- numero
- numeri
- oggetto
- of
- offerta
- on
- ONE
- online
- open source
- Opzione
- Opzioni
- or
- minimo
- organizzazioni
- OS
- Altro
- nostro
- Azienda
- su
- produzione
- proprio
- parametro
- particolare
- passare
- sentiero
- per
- Eseguire
- periodo
- immagine
- piattaforma
- Platone
- Platone Data Intelligence
- PlatoneDati
- gioco
- possibile
- Post
- energia
- potente
- Previsioni
- Predictor
- preparazione
- atleta
- processi
- lavorazione
- fornire
- fornitori
- fornisce
- fornitura
- Python
- rapidamente
- generato in modo casuale
- gamma
- che vanno
- rapidamente
- Crudo
- Leggi
- tempo reale
- ricevente
- ridurre
- riducendo
- regione
- Requisiti
- richiede
- Risorse
- colpevole
- curriculum vitae
- robusto
- Ruolo
- Correre
- SaaS
- sagemaker
- Pipeline SageMaker
- stesso
- Risparmi
- scalabile
- Scala
- scenario
- scienziati
- sdk
- servire
- Server
- servizio
- Servizi
- servizio
- set
- scheggiato
- mostrato
- Spettacoli
- Un'espansione
- da
- singolo
- frammento
- Software
- software come un servizio
- soluzione
- Soluzioni
- alcuni
- specialista
- specificato
- inizia a
- iniziato
- Di partenza
- Startup
- Regione / Stato
- Passi
- conservazione
- Tornare al suo account
- memorizzati
- negozi
- memorizzare
- La struttura
- SOMMARIO
- supporto
- sostenibile
- sintetico
- Target
- task
- che
- Il
- Lo Stato
- loro
- poi
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- questo
- migliaia
- tre
- per tutto
- tempo
- a
- Argomenti
- Tracking
- Treni
- allenato
- Training
- Trasformare
- Tipi di
- capire
- unico
- unità
- Università
- su
- Impiego
- uso
- utilizzato
- utenti
- usa
- utilizzando
- APPREZZIAMO
- Valori
- varietà
- molto
- via
- W
- volere
- Prima
- Modo..
- we
- sito web
- servizi web
- WELL
- quando
- quale
- while
- OMS
- largo
- Vasta gamma
- volere
- con
- entro
- Lavora
- flusso di lavoro
- lavori
- sarebbe
- Tu
- giovane
- Trasferimento da aeroporto a Sharm
- zefiro