Informazioni amministrative
Titolo | Servire modelli di produzione |
Durata | 60 minuti |
Modulo | B |
Tipo di lezione | Esercitazione |
Focus | Pratiche — AI organizzativa |
Argomento | Modello di produzione di costruzione API |
Parole chiave
opertion di apprendimento automatico, contenitori,
Obiettivi di apprendimento
- Acquisire familiarità con la containerizzazione
- Imparare il servizio di TFX
- Possibilità di applicare le istanze localmente e di Azure Container
Preparazione prevista
Eventi di apprendimento da completare prima
Nessuno.
Obbligatorio per gli studenti
- Installare WSL 2 prima di installare Docker
- È possibile utilizzare l'opzione Hyper-V di Windows, ma questo non supporta la GPU
- Sarà necessario installare Ubuntu (o altre varianti adatte), con il comando WSL CLI wsl --install -d ubuntu
- Per alcune macchine la WSL dovrà anche essere aggiornata con il comando wsl --update ( Maggiori informazioni su questo aggiornamento)
- Avrai bisogno di installare i driver NVIDIA/CUDA più recenti
- Installare Docker per Windows: https://docs.docker.com/desktop/install/windows-install/
- Creare un account Azure con accesso per creare istanze di contenitori di Azure (ACI)
Facoltativo per gli studenti
Referenze e background per gli studenti
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao e Li Fei-Fei. Nuovo set di dati per la categorizzazione dell'immagine Fine-Grained. Primo Workshop sulla Categorizzazione Visiva Fine-Grained (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
Consigliato per gli insegnanti
- Eseguire i compiti elencati come obbligatori e facoltativi per gli studenti.
Materiale didattico
Istruzioni per gli insegnanti
Modelli di produzione utilizzando TFX Serving
- Questo tutorial introdurrà gli studenti a prendere un modello addestrato sviluppato che è stato sviluppato in un Notebook Jupyter (utilizzando Tensorflow 2.x e Keras) e salvare il modello in formato Tensorflow. Il tutorial inizierà sviluppando una CNN di base per identificare il pane di un cane. Salveremo il modello come modello Tensorflow. Il tutorial utilizzerà quindi l'approccio TFX (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker) per MLOps dove ci concentreremo in questo tutorial sul componente di servizio TRX, che sta costruendo API riposanti da utilizzare/query in ambienti di produzione. Per fare questo costruiremo un'immagine Docker TFX che serve e distribuiremo questa immagine:
- Localmente (localhost)
- Tramite Azure Container instances (ACI), in cui è possibile interrogare un indirizzo IP pubblico
- Ci sono installazioni precedenti necessarie, si prega di vedere i preparativi obbligatori per gli studenti di seguito.
- Il set di dati è il dataset dei cani di Stanford, in cui usiamo due classi di cani, Jack Russel e Rhodesian Ridgeback, il set di dati completo può essere trovato qui, Abbiamo anche fornito il sottoinsieme utilizzato in questo tutorial nella sezione set di dati qui sotto.
- Abbiamo anche fornito tutti i comandi Docker CLI in fondo a questa pagina WIKI tutorial.
Schema/orario
Durata (min) | Descrizione |
---|---|
20 | Problema 1: Costruire un modello CNN utilizzando un sottoinsieme del set di dati dei cani di Stanford, salvando questo modello come modello Tensorflow |
10 | Problema 2: Distribuire il modello Tensorflow a un'API di riposo localmente (utilizzando Docker) e interrogare il modello |
20 | Problema 3: Distribuzione del modello Tensorflow in un'API di riposo utilizzando istanze di contenitore di Azure (ACI) (utilizzando Docker) e interrogare il modello |
10 | Riepilogo sul processo forward pass |
Comandi Docker CLI
I seguenti comandi a riga di comando sono utilizzati in questo tutorial per eseguire i modelli.
Esegui localmente
Fase 1: Tirare il tensorflow
Docker pull tensorflow/servire: ultima-gpu
Fase 2: Esegui l'immagine
Docker run --gpus all -p 8501:8501 --nome tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/servire:latest-gpu
o senza GPU
Docker run -p 8501:8501 --nome tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/servire:latest-gpu
Eseguire in Azure utilizzando ACI
Fase 1: Modificare l'immagine locale per avere il modello incluso
Docker run -d --nome serve_base tensorflow/servendo:latest-gpu Docker cp c:\produzione\ serving_base:/modelli/img_classifier Docker ps -a... # per ottenere l'ID Docker commit --change "ENV MODEL_NAME img_classifier" &id va qui> tensorflow_dogs_gpu Docker uccide servendo_base
Fase 2: Distribuire l'immagine in Azure ACI
Docker login azzurro Docker contesto crea aci deleteme Docker contesto usa deleteme Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Passo3 Accesso ai registri ACI, indirizzo IP, quindi arrestare e rimuovere il servizio ACI =====
Docker logs jolly-ride Docker ps Docker stop jolly-ride Docker rm jolly-ride
Riconoscimenti
Keith Quille (TU Dublino, Tallaght Campus)
Il programma Human-Centered AI Masters è stato co-finanziato dal meccanismo per collegare l'Europa dell'Unione europea nell'ambito della sovvenzione CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.