Διοικητικές πληροφορίες
Τίτλος | Σερβίρισμα Μοντέλα Παραγωγής |
Διάρκεια | 60 λεπτά |
Ενότητα | Β |
Είδος μαθήματος | Φροντιστήριο |
Εστίαση | Πρακτική — Οργανωτική ΤΝ |
Θέμα | Κατασκευαστικό μοντέλο παραγωγής API |
Λέξεις-κλειδιά
λειτουργία μηχανικής μάθησης, εμπορευματοκιβώτια,
Μαθησιακοί στόχοι
- Εξοικείωση με τα εμπορευματοκιβώτια
- Εκμάθηση TFX Serving
- Δυνατότητα εφαρμογής της υπηρεσίας σε τοπικό επίπεδο και σε εγκαταστάσεις εμπορευματοκιβωτίων Azure
Αναμενόμενη προετοιμασία
Μαθησιακές εκδηλώσεις που πρέπει να ολοκληρωθούν πριν
Καμία.
Υποχρεωτικό για τους φοιτητές
- Εγκαταστήστε το WSL 2 πριν από την εγκατάσταση του Docker
- Μπορείτε να χρησιμοποιήσετε την επιλογή Windows Hyper-V, αλλά αυτό δεν υποστηρίζει GPU
- Θα χρειαστεί να εγκαταστήσετε το Ubuntu (ή άλλες κατάλληλες παραλλαγές), με την εντολή WSL CLI wsl -εγκατάσταση -d ubuntu
- Για ορισμένα μηχανήματα το WSL θα πρέπει επίσης να ενημερώνεται με την εντολή wsl --ενημέρωση (Περισσότερες πληροφορίες σχετικά με αυτή την ενημερωμένη έκδοση)
- Θα χρειαστεί να έχετε εγκαταστήσει τα τελευταία προγράμματα οδήγησης NVIDIA/CUDA
- Εγκαταστήστε το Docker για τα Windows: https://docs.docker.com/desktop/install/windows-install/
- Δημιουργία λογαριασμού Azure με πρόσβαση για τη δημιουργία Azure Container Instances (ACI)
Προαιρετικό για Φοιτητές
Αναφορές και υπόβαθρο για τους μαθητές
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao και Li Fei-Fei. Νέο σύνολο δεδομένων για Fine-Grained Image Categorization. Πρώτο εργαστήριο για την ευανάγνωστη οπτική κατηγοριοποίηση (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
Συνιστάται για εκπαιδευτικούς
- Κάντε τις εργασίες που αναφέρονται ως υποχρεωτικές και προαιρετικές για τους μαθητές.
Υλικό μαθήματος
Οδηγίες για τους εκπαιδευτικούς
Μοντέλα παραγωγής που χρησιμοποιούν TFX Serving
- Αυτό το σεμινάριο θα εισαγάγει τους μαθητές να λάβουν ένα ανεπτυγμένο εκπαιδευμένο μοντέλο που αναπτύχθηκε σε ένα Jupyter Notebook (χρησιμοποιώντας Tensorflow 2.x και Keras) και αποθηκεύοντας το μοντέλο σε μορφή Tensorflow. Το σεμινάριο θα ξεκινήσει με την ανάπτυξη ενός βασικού CNN για την αναγνώριση του ψωμιού ενός σκύλου. Στη συνέχεια, θα αποθηκεύσουμε το μοντέλο ως μοντέλο Tensorflow. Το σεμινάριο στη συνέχεια θα χρησιμοποιήσει την προσέγγιση TFX (Tensorflow Extendedhttps://www.tensorflow.org/tfx/serving/docker ) για το MLOps, όπου θα επικεντρωθούμε σε αυτό το σεμινάριο στο στοιχείο εξυπηρέτησης TRX, που είναι η δημιουργία ξεκούραστων APIs για χρήση/ερώτηση σε περιβάλλοντα παραγωγής. Για να γίνει αυτό, θα δημιουργήσουμε μια εικόνα εξυπηρέτησης Docker TFX και θα αναπτύξουμε αυτήν την εικόνα:
- Τοπικά (localhost)
- Μέσω Azure Container Instances (ACI), όπου μπορεί να ζητηθεί δημόσια διεύθυνση IP
- Υπάρχουν προηγούμενες εγκαταστάσεις που απαιτούνται, παρακαλώ δείτε τις υποχρεωτικές προετοιμασίες για τους μαθητές παρακάτω.
- Το σύνολο δεδομένων είναι το σύνολο δεδομένων σκύλων του Στάνφορντ, στο οποίο χρησιμοποιούμε δύο κατηγορίες σκύλων, του Jack Russel και του Rhodesian Ridgeback, το πλήρες σύνολο δεδομένων μπορεί να βρεθεί εδώ, Έχουμε επίσης παράσχει το υποσύνολο που χρησιμοποιείται σε αυτό το σεμινάριο στην ενότητα δεδομένων παρακάτω.
- Έχουμε επίσης παράσχει όλες τις εντολές Docker CLI στο κάτω μέρος αυτής της σελίδας φροντιστήριο WIKI.
Σχεδιάγραμμα/χρονοδιάγραμμα
Διάρκεια (ελάχιστη) | Περιγραφή |
---|---|
20 | Πρόβλημα 1: Δημιουργία ενός μοντέλου CNN χρησιμοποιώντας ένα υποσύνολο του συνόλου δεδομένων σκύλων του Στάνφορντ, αποθηκεύοντας αυτό το μοντέλο ως μοντέλο Tensorflow |
10 | Πρόβλημα 2: Ανάπτυξη του μοντέλου Tensorflow σε ένα υπόλοιπο API τοπικά (χρησιμοποιώντας Docker) και αναζήτηση του μοντέλου |
20 | Πρόβλημα 3: Ανάπτυξη του μοντέλου Tensorflow σε ένα API υπόλοιπου χρησιμοποιώντας Azure Container Instances (ACI) (χρησιμοποιώντας Docker) και αναζήτηση του μοντέλου |
10 | Ανακεφαλαιοποίηση στη διαδικασία μπροστινής διέλευσης |
Εντολές Docker CLI
Οι ακόλουθες εντολές διεπαφής γραμμής εντολών χρησιμοποιούνται σε αυτό το σεμινάριο για την εκτέλεση των μοντέλων.
Εκτέλεση σε τοπικό επίπεδο
Βήμα 1: Τράβηγμα τανυσματικής ροής
Docker τραβήξτε τη ροή/εξυπηρέτηση:τελευταίος-gpu
Βήμα 2: Εκτελέστε την εικόνα
Docker run --gpus όλα -p 8501:8501 --όνομα tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
ή χωρίς GPU
Docker run -p 8501:8501 --όνομα tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
Εκτελέστε στο Azure χρησιμοποιώντας ACI
Βήμα 1: Τροποποιήστε την τοπική εικόνα για να συμπεριλάβετε το μοντέλο
Docker run -d --όνομα service_base tensorflow/serving:lastest-gpu Docker cp c:\production\server_base:/models/img_classifier Docker ps -aр р# για να πάρει id Docker υποβολή --αλλαγή «ENV MODEL_NAME img_classifier» <id πηγαίνει εδώ> tensorflow_dogs_gpu Docker Kill Σέρβις_base
Βήμα 2: Ανάπτυξη εικόνας στο Azure ACI
Docker login azure το πλαίσιο Docker δημιουργεί aci διαγραφή το περιβάλλον Docker χρησιμοποιεί διαγραφή Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Βήμα3 Πρόσβαση στα αρχεία καταγραφής ACI, διεύθυνση IP και, στη συνέχεια, διακοπή και κατάργηση της υπηρεσίας ACI =====
Docker κορμοτεμαχια jolly-ride Docker ps Docker stop jolly-ride Docker rm jolly-ride
Αναγνωρίσεις
Keith Quille (TU Dublin, Tallaght Campus)
Το πρόγραμμα Μάστερ τεχνητής νοημοσύνης με επίκεντρο τον άνθρωπο συγχρηματοδοτήθηκε από τον μηχανισμό «Συνδέοντας την Ευρώπη» της Ευρωπαϊκής Ένωσης στο πλαίσιο της επιχορήγησης CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.