Il incorporato Amazon Sage Maker L'algoritmo XGBoost fornisce un contenitore gestito per eseguire il popolare XGBoost framework di machine learning (ML), con la comodità aggiuntiva di supportare funzionalità di formazione avanzata o di inferenza come formazione distribuita, partizionamento di set di dati per set di dati su larga scala, Test del modello A/B, o inferenza multimodello endpoint. Puoi anche estendere questo potente algoritmo per soddisfare requisiti diversi.
Il confezionamento del codice e delle dipendenze in un unico contenitore rappresenta un approccio conveniente e robusto per scopi di manutenzione, riproducibilità e controllo del codice a lungo termine. La modifica del contenitore segue direttamente fedelmente il contenitore di base ed evita di duplicare le funzioni esistenti già supportate dal contenitore di base. In questo post, esaminiamo il funzionamento interno del contenitore dell'algoritmo SageMaker XGBoost e forniamo script pragmatici per personalizzare direttamente il contenitore.
Struttura del contenitore SageMaker XGBoost
L'algoritmo XGBoost integrato di SageMaker è confezionato come contenitore autonomo, disponibili su GitHube può essere esteso con la licenza open source Apache 2.0 intuitiva per gli sviluppatori. Il contenitore confeziona il algoritmo XGBoost open source e strumenti ausiliari per eseguire l'algoritmo nell'ambiente SageMaker integrato con altri servizi AWS Cloud. Ciò ti consente di addestrare i modelli XGBoost su una varietà di Origine dei dati, rendere previsioni batch sui dati offline o ospita un punto finale dell'inferenza in tempo reale conduttura.
Il contenitore supporta operazioni di training e inferenza con diversi punti di ingresso. Per la modalità di inferenza la voce si trova nella funzione principale nel file servendo.py script. Per la fornitura di inferenze in tempo reale, il contenitore esegue a pallone-based web server che quando invocato, riceve una richiesta codificata HTTP contenente i dati, decodifica i dati in XGBoost DMatrice formato, carica il modello, e restituisce an Risposta con codifica HTTP. Questi metodi sono incapsulati sotto il Servizio di punteggio classe, che può anche essere ampiamente personalizzata tramite la modalità script (vedere l'Appendice di seguito).
Il punto di ingresso per la modalità training (modalità algoritmo) è la funzione principale in formazione.py. La funzione principale imposta l'ambiente di formazione e richiama la funzione del lavoro di formazione. È sufficientemente flessibile da consentire la formazione distribuita o a nodo singolo o utilità come la convalida incrociata. Il cuore del processo formativo si trova nel train_job funzione.
I file Docker che compongono il contenitore possono essere trovati nel file Repository GitHub. Tieni presente che il contenitore viene creato in due passaggi: a base il contenitore viene creato per primo, seguito dal file finale contenitore in alto.
Panoramica della soluzione
È possibile modificare e ricostruire il contenitore tramite il codice sorgente. Tuttavia, ciò implica la raccolta e la ricostruzione di tutte le dipendenze e i pacchetti da zero. In questo post, discutiamo di un approccio più diretto che modifica direttamente il contenitore sopra l'immagine del contenitore dell'algoritmo SageMaker XGBoost già creata e disponibile al pubblico.
In questo approccio, noi tirare una copia dell'immagine pubblica SageMaker XGBoost, modificare gli script o aggiungere pacchetti e ricostruire il contenitore sopra. Il contenitore modificato può essere archiviato in un repository privato. In questo modo, evitiamo di ricostruire le dipendenze intermedie e invece di costruire direttamente sulle librerie già compilate nel contenitore ufficiale.
La figura seguente mostra una panoramica dello script utilizzato per estrarre l'immagine di base pubblica, modificare e ricostruire l'immagine e caricarla su un'immagine privata Registro dei contenitori Amazon Elastic (Amazon ECR). IL script bash nel codice allegato a questo post esegue tutti i passaggi del flusso di lavoro mostrati nel diagramma. L'accompagnamento taccuino mostra un esempio in cui l'URI di una versione specifica dell'algoritmo SageMaker XGBoost viene prima recuperato e passato al script bash, che sostituisce due degli script Python nell'immagine, la ricostruisce e invia l'immagine modificata a un repository Amazon ECR privato. È possibile modificare il codice allegato in base alle proprie esigenze.
Prerequisiti
Il Repository GitHub contiene il codice che accompagna questo post. Puoi eseguire il file taccuino di esempio nel tuo account AWS oppure utilizza il file fornito AWS CloudFormazione stack per distribuire il notebook utilizzando un notebook SageMaker. Sono necessari i seguenti prerequisiti:
- Un account AWS.
- Autorizzazioni necessarie per eseguire processi di trasformazione e formazione in batch di SageMaker e privilegi Amazon ECR. Il modello CloudFormation crea sample Gestione dell'identità e dell'accesso di AWS (IAM) ruoli.
Distribuisci la soluzione
Per creare le risorse della tua soluzione utilizzando AWS CloudFormation, scegli Avvia Stack:
Lo stack distribuisce un notebook SageMaker preconfigurato per clonare il repository GitHub. La procedura dettagliata taccuino include i passaggi per estrarre l'immagine pubblica SageMaker XGBoost per una determinata versione, modificarla e inviare il contenitore personalizzato a un repository Amazon ECR privato. Il taccuino usa il pubblico Set di dati abalone come esempio, addestra un modello utilizzando la modalità di training integrata di SageMaker XGBoost e riutilizza questo modello nell'immagine personalizzata per eseguire processi di trasformazione batch che producono inferenza insieme ai valori SHAP.
Conclusione
Gli algoritmi integrati di SageMaker forniscono una varietà di caratteristiche e funzionalità e possono essere ulteriormente estesi con la licenza open source Apache 2.0. In questo post, abbiamo esaminato come estendere il contenitore integrato di produzione per l'algoritmo SageMaker XGBoost per soddisfare i requisiti di produzione come il codice con versioni precedenti e la compatibilità API.
Il quaderno campione e l'aiutante script fornisce un comodo punto di partenza per personalizzare l'immagine del contenitore SageMaker XGBoost nel modo desiderato. Provaci!
Appendice: modalità script
Modalità script fornisce un modo per modificare molti algoritmi integrati di SageMaker fornendo un'interfaccia per sostituire le funzioni responsabili della trasformazione degli input e del caricamento del modello. La modalità script non è flessibile quanto la modifica diretta del contenitore, ma fornisce un percorso completamente basato su Python per personalizzare l'algoritmo integrato senza la necessità di lavorare direttamente con docker.
Nella modalità script, a user-module
viene fornito per personalizzare la decodifica dei dati, il caricamento del modello e l'esecuzione di previsioni. Il modulo utente può definire a transformer_fn
che gestisce tutti gli aspetti dall'elaborazione della richiesta alla preparazione della risposta. O invece di definire transformer_fn
, puoi fornire metodi personalizzati model_fn
, input_fn
, predict_fn
e output_fn
individualmente per personalizzare il caricamento del modello, la decodifica e la preparazione dell'input per la previsione. Per una panoramica più approfondita della modalità script, vedere Porta il tuo modello con la modalità script SageMaker.
Informazioni sugli autori
Peyman Razzaghi è un data scientist presso AWS. Ha conseguito un dottorato di ricerca in teoria dell'informazione presso l'Università di Toronto ed è stato ricercatore post-dottorato presso l'Università della California del Sud (USC), Los Angeles. Prima di entrare in AWS, Peyman è stato ingegnere di sistema presso Qualcomm e ha contribuito a una serie di importanti standard internazionali di telecomunicazione. È autore di numerosi articoli di ricerca scientifica sottoposti a revisione paritaria nell'area della statistica e dell'ingegneria dei sistemi e ama essere genitoriale e andare in bicicletta su strada al di fuori del lavoro.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/customize-the-amazon-sagemaker-xgboost-algorithm-container/
- "
- 100
- accesso
- ospitare
- Il mio account
- Avanzate
- algoritmo
- Algoritmi
- Tutti
- già
- Amazon
- api
- approccio
- RISERVATA
- news
- AWS
- costruire
- incassato
- California
- Scegli
- classe
- Cloud
- servizi cloud
- codice
- Raccolta
- completamente
- Contenitore
- contiene
- comodità
- Comodo
- crea
- costume
- dati
- scienziato di dati
- schierare
- Distribuisce
- diverso
- direttamente
- discutere
- distribuito
- docker
- ingegnere
- Ambiente
- esempio
- estendere
- Caratteristiche
- figura
- Nome
- flessibile
- i seguenti
- formato
- essere trovato
- Contesto
- function
- ulteriormente
- GitHub
- grande
- detiene
- Come
- Tutorial
- HTTPS
- Identità
- Immagine
- informazioni
- ingresso
- integrato
- Interfaccia
- Internazionale
- IT
- Lavoro
- Offerte di lavoro
- apprendimento
- Licenza
- a lungo termine
- Los Angeles
- macchina
- machine learning
- FA
- Fare
- gestito
- ML
- modello
- modelli
- Scopri di più
- taccuino
- numero
- ufficiale
- offline
- Operazioni
- Altro
- proprio
- punto
- Popolare
- potente
- predizione
- Previsioni
- un bagno
- processi
- produrre
- Produzione
- fornire
- fornisce
- fornitura
- la percezione
- fini
- tempo reale
- deposito
- richiesta
- Requisiti
- riparazioni
- Risorse
- risposta
- responsabile
- problemi
- recensioni
- strada
- Correre
- Scienziato
- Servizi
- servizio
- sharding
- Software
- soluzione
- codice sorgente
- Meridionale
- pila
- standard
- statistica
- supportato
- Supporto
- supporti
- SISTEMI DI TRATTAMENTO
- L’ORIGINE
- Attraverso
- insieme
- strumenti
- top
- toronto
- Training
- forma
- Trasformare
- trasformazione
- Università
- uso
- varietà
- wikipedia
- Lavora
- sarebbe