Οι επιστήμονες δεδομένων συχνά εργάζονται για την κατανόηση των επιπτώσεων διαφόρων στρατηγικών προεπεξεργασίας δεδομένων και χαρακτηριστικών μηχανικής σε συνδυασμό με διαφορετικές αρχιτεκτονικές μοντέλων και υπερπαραμέτρους. Για να το κάνετε αυτό, απαιτείται να καλύπτετε μεγάλους χώρους παραμέτρων επαναληπτικά και μπορεί να είναι συντριπτικό να παρακολουθείτε τις διαμορφώσεις και τα αποτελέσματα που εκτελέστηκαν προηγουμένως, διατηρώντας παράλληλα τα πειράματα αναπαραγώγιμα.
Αυτή η ανάρτηση σάς καθοδηγεί σε ένα παράδειγμα για το πώς να παρακολουθείτε τα πειράματά σας σε κώδικα, δεδομένα, τεχνουργήματα και μετρήσεις χρησιμοποιώντας Πειράματα Amazon SageMaker σε συνδυασμό με Έλεγχος έκδοσης δεδομένων (DVC). Δείχνουμε πώς μπορείτε να χρησιμοποιήσετε το DVC δίπλα-δίπλα Amazon Sage Maker εργασίες επεξεργασίας και κατάρτισης. Εκπαιδεύουμε διαφορετικά μοντέλα CatBoost στο σύνολο δεδομένων κατοικιών της Καλιφόρνια από το Αποθετήριο StatLibκαι αλλάξτε τις στρατηγικές διατήρησης, ενώ παρακολουθείτε την έκδοση δεδομένων με το DVC. Σε κάθε μεμονωμένο πείραμα, παρακολουθούμε τεχνουργήματα εισόδου και εξόδου, κώδικα και μετρήσεις χρησιμοποιώντας τα πειράματα SageMaker.
Πειράματα SageMaker
Το SageMaker Experiments είναι μια υπηρεσία AWS για την παρακολούθηση πειραμάτων μηχανικής μάθησης (ML). ο SageMaker Experiments Python SDK είναι μια διεπαφή υψηλού επιπέδου για αυτήν την υπηρεσία που σας βοηθά να παρακολουθείτε πληροφορίες πειράματος χρησιμοποιώντας Python.
Ο στόχος του SageMaker Experiments είναι να διευκολύνει όσο το δυνατόν περισσότερο τη δημιουργία πειραμάτων, τη συμπλήρωσή τους με δοκιμές, την προσθήκη πληροφοριών παρακολούθησης και γενεαλογίας και την εκτέλεση αναλυτικών στοιχείων σε δοκιμές και πειράματα.
Όταν συζητάμε τα πειράματα SageMaker, αναφερόμαστε στις ακόλουθες έννοιες:
- Πείραμα – Μια συλλογή σχετικών δοκιμών. Προσθέτετε δοκιμές σε ένα πείραμα που θέλετε να συγκρίνετε μαζί.
- Δίκη – Μια περιγραφή μιας ροής εργασίας ML πολλαπλών βημάτων. Κάθε βήμα στη ροή εργασίας περιγράφεται από ένα δοκιμαστικό στοιχείο.
- Δοκιμαστικό συστατικό – Περιγραφή ενός μόνο βήματος σε μια ροή εργασίας ML, όπως καθαρισμός δεδομένων, εξαγωγή χαρακτηριστικών, εκπαίδευση μοντέλων ή αξιολόγηση μοντέλου.
- Ιχνηλάτης – Ένας διαχειριστής περιβάλλοντος Python για την καταγραφή πληροφοριών σχετικά με ένα μόνο δοκιμαστικό στοιχείο (για παράδειγμα, παραμέτρους, μετρήσεις ή τεχνουργήματα).
Έλεγχος έκδοσης δεδομένων
Το Data Version Control (DVC) είναι ένας νέος τύπος λογισμικού διαχείρισης εκδόσεων δεδομένων, ροής εργασιών και πειραμάτων που βασίζεται σε Git (αν και μπορεί να λειτουργήσει αυτόνομα). Το DVC μειώνει το χάσμα μεταξύ των καθιερωμένων εργαλείων μηχανικής και των αναγκών της επιστήμης δεδομένων, επιτρέποντάς σας να επωφεληθείτε από νέα χαρακτηριστικά ενώ επαναχρησιμοποιεί τις υπάρχουσες δεξιότητες και τη διαίσθηση.
Η κοινή χρήση και η συνεργασία πειραμάτων επιστήμης δεδομένων μπορεί να γίνει μέσω μιας κανονικής ροής Git (δεσμεύσεις, διακλάδωση, προσθήκη ετικετών, αιτήματα έλξης) με τον ίδιο τρόπο που λειτουργεί για τους μηχανικούς λογισμικού. Με το Git και το DVC, οι ομάδες επιστήμης δεδομένων και ML μπορούν να εκδίδουν πειράματα, να διαχειρίζονται μεγάλα σύνολα δεδομένων και να κάνουν τα έργα αναπαραγώγιμα.
Το DVC έχει τα ακόλουθα χαρακτηριστικά:
- Το DVC είναι α δωρεάν, ανοιχτή πηγή γραμμή εντολών εργαλείο.
- Το DVC λειτουργεί πάνω από τα αποθετήρια Git και έχει παρόμοια διεπαφή γραμμής εντολών και ροή με το Git. Το DVC μπορεί επίσης να λειτουργήσει αυτόνομα, αλλά χωρίς εκδόσεων δυνατότητες.
- Η έκδοση εκδόσεων δεδομένων ενεργοποιείται αντικαθιστώντας μεγάλα αρχεία, καταλόγους δεδομένων, μοντέλα ML και ούτω καθεξής με μικρά μετααρχεία (εύκολος χειρισμός με το Git). Αυτά τα σύμβολα κράτησης θέσης δείχνουν τα αρχικά δεδομένα, τα οποία είναι αποσυνδεδεμένα από τη διαχείριση πηγαίου κώδικα.
- Μπορείτε να χρησιμοποιήσετε εσωτερική αποθήκευση ή αποθήκευση στο cloud για να αποθηκεύσετε τα δεδομένα του έργου ξεχωριστά από τη βάση του κώδικά του. Αυτός είναι ο τρόπος με τον οποίο οι επιστήμονες δεδομένων μπορούν να μεταφέρουν μεγάλα σύνολα δεδομένων ή να μοιραστούν ένα μοντέλο εκπαιδευμένο σε GPU με άλλους.
- Το DVC κάνει τα έργα επιστήμης δεδομένων αναπαραγώγιμα δημιουργώντας ελαφριά αγωγών χρησιμοποιώντας σιωπηρά γραφήματα εξάρτησης και κωδικοποιώντας τα δεδομένα και τα αντικείμενα που εμπλέκονται.
- Το DVC είναι αγνωστικιστής πλατφόρμας. Εκτελείται σε όλα τα μεγάλα λειτουργικά συστήματα (Linux, macOS και Windows) και λειτουργεί ανεξάρτητα από τις γλώσσες προγραμματισμού (Python, R, Julia, shell scripts κ.λπ.) ή τις βιβλιοθήκες ML (Keras, TensorFlow, PyTorch, Scipy και ούτω καθεξής) περισσότερα) που χρησιμοποιούνται στο έργο.
- Το DVC είναι γρήγορο εγκαθιστώ και δεν απαιτεί ειδική υποδομή, ούτε εξαρτάται από API ή εξωτερικές υπηρεσίες. Είναι ένα αυτόνομο εργαλείο CLI.
SageMaker Experiments και δείγμα DVC
Ο ακόλουθος Δείγμα GitHub δείχνει πώς να χρησιμοποιήσετε το DVC στο περιβάλλον του SageMaker. Συγκεκριμένα, εξετάζουμε πώς να δημιουργήσετε μια προσαρμοσμένη εικόνα με βιβλιοθήκες DVC εγκατεστημένες από προεπιλογή για να παρέχετε ένα συνεπές περιβάλλον ανάπτυξης στους επιστήμονες δεδομένων σας στο Στούντιο Amazon SageMakerκαι πώς να τρέξετε το DVC παράλληλα με τη διαχειριζόμενη υποδομή του SageMaker για επεξεργασία και εκπαίδευση. Επιπλέον, δείχνουμε πώς να εμπλουτίσετε τις πληροφορίες παρακολούθησης του SageMaker με πληροφορίες έκδοσης δεδομένων από το DVC και να τις οπτικοποιήσετε στην κονσόλα του Studio.
Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύση και τη ροή εργασίας.
Δημιουργήστε μια προσαρμοσμένη εικόνα Studio με ήδη εγκατεστημένο DVC
Σε αυτή τη Αποθετήριο GitHub, εξηγούμε πώς να δημιουργήσετε μια προσαρμοσμένη εικόνα για το Studio που έχει ήδη εγκαταστήσει το DVC. Το πλεονέκτημα της δημιουργίας μιας εικόνας και της διάθεσης της σε όλους τους χρήστες του Studio είναι ότι δημιουργεί ένα συνεπές περιβάλλον για τους χρήστες του Studio, το οποίο θα μπορούσαν επίσης να εκτελούν τοπικά. Αν και το δείγμα βασίζεται σε AWS Cloud9, μπορείτε επίσης να δημιουργήσετε το κοντέινερ στον τοπικό σας υπολογιστή, αρκεί να έχετε εγκαταστήσει και να λειτουργεί το Docker. Αυτό το δείγμα βασίζεται στα ακόλουθα Dockerfile και περιβάλλον.yml. Η προκύπτουσα εικόνα Docker αποθηκεύεται στο Μητρώο εμπορευματοκιβωτίων Amazon Elastic (Amazon EMR) στον λογαριασμό σας AWS. Δείτε τον παρακάτω κώδικα:
Μπορείτε τώρα να δημιουργήστε έναν νέο τομέα Studio or ενημερώστε έναν υπάρχοντα τομέα Studio που έχει πρόσβαση στη νέα εικόνα Docker.
Χρησιμοποιούμε Κιτ ανάπτυξης AWS Cloud (AWS CDK) για να δημιουργήσετε τους ακόλουθους πόρους μέσω AWS CloudFormation:
- Ένας ρόλος εκτέλεσης του SageMaker με τα σωστά δικαιώματα στον νέο ή τον υπάρχοντα τομέα Studio σας
- Μια εικόνα SageMaker και μια έκδοση εικόνας SageMaker από την εικόνα Docker
conda-env-dvc-kernel
που δημιουργήσαμε νωρίτερα - An
AppImageConfig
που καθορίζει πώς πρέπει να ρυθμιστεί η πύλη του πυρήνα - Ένας χρήστης Studio (
data-scientist-dvc
) με τον σωστό ρόλο εκτέλεσης του SageMaker και την προσαρμοσμένη εικόνα Studio που είναι διαθέσιμη σε αυτό
Για αναλυτικές οδηγίες, ανατρέξτε στο Συσχετίστε μια προσαρμοσμένη εικόνα με το SageMaker Studio.
Τρέξτε το εργαστήριο
Για να εκτελέσετε το εργαστήριο, ολοκληρώστε τα ακόλουθα βήματα:
- Στον τομέα Studio, εκκινήστε το Studio για το
data-scientist-dvc
χρήστη. - Επιλέξτε το εικονίδιο Git και μετά επιλέξτε Κλωνοποιήστε ένα αποθετήριο.
- Εισαγάγετε τη διεύθυνση URL του αποθετηρίου (
https://github.com/aws-samples/amazon-sagemaker-experiments-dvc-demo
) και επιλέξτε Κλώνος. - Στο πρόγραμμα περιήγησης αρχείων, επιλέξτε το
amazon-sagemaker-experiments-dvc-demo
αποθήκη. - Ανοίξτε το
dvc_sagemaker_script_mode.ipynb
σημειωματάριο. - Για Προσαρμοσμένη εικόνα, επιλέξτε την εικόνα conda-env-dvc-kernel.
- Επιλέξτε Αγορά.
Διαμορφώστε το DVC για έκδοση δεδομένων
Δημιουργούμε έναν υποκατάλογο όπου προετοιμάζουμε τα δεδομένα: sagemaker-dvc-sample. Μέσα σε αυτόν τον υποκατάλογο, αρχικοποιούμε ένα νέο αποθετήριο Git και ορίζουμε το τηλεχειριστήριο σε ένα αποθετήριο που δημιουργούμε στο AWS CodeCommit. Ο στόχος είναι να έχουμε διαμορφώσεις και αρχεία DVC για παρακολούθηση δεδομένων σε έκδοση σε αυτό το αποθετήριο. Ωστόσο, το Git προσφέρει εγγενείς δυνατότητες διαχείρισης υποέργων μέσω, για παράδειγμα, υπομονάδων git και υποδέντρων git και μπορείτε να επεκτείνετε αυτό το δείγμα για να χρησιμοποιήσετε οποιοδήποτε από τα προαναφερθέντα εργαλεία που ταιριάζουν καλύτερα στη ροή εργασίας σας.
Το κύριο πλεονέκτημα της χρήσης του CodeCommit με το SageMaker στην περίπτωσή μας είναι η ενσωμάτωσή του με Διαχείριση ταυτότητας και πρόσβασης AWS (IAM) για έλεγχο ταυτότητας και εξουσιοδότηση, που σημαίνει ότι μπορούμε να χρησιμοποιήσουμε ρόλους IAM για να προωθήσουμε και να τραβήξουμε δεδομένα χωρίς να χρειάζεται να ανακτήσουμε διαπιστευτήρια (ή κλειδιά SSH). Ο ορισμός των κατάλληλων δικαιωμάτων στον ρόλο εκτέλεσης του SageMaker επιτρέπει επίσης στο σημειωματάριο Studio και στην εργασία εκπαίδευσης και επεξεργασίας του SageMaker να αλληλεπιδρούν με ασφάλεια με το CodeCommit.
Αν και μπορείτε να αντικαταστήσετε το CodeCommit με οποιαδήποτε άλλη υπηρεσία ελέγχου πηγής, όπως το GitHub, το Gitlab ή το Bitbucket, πρέπει να σκεφτείτε πώς να χειριστείτε τα διαπιστευτήρια για το σύστημά σας. Μια δυνατότητα είναι να αποθηκεύσετε αυτά τα διαπιστευτήρια Διευθυντής μυστικών AWS και ανακτήστε τα κατά την εκτέλεση από το σημειωματάριο Studio καθώς και από τις εργασίες επεξεργασίας και εκπαίδευσης του SageMaker.
Επεξεργαστείτε και εκπαιδεύστε με το DVC και το SageMaker
Σε αυτήν την ενότητα, διερευνούμε δύο διαφορετικές προσεγγίσεις για να αντιμετωπίσουμε το πρόβλημά μας και πώς μπορούμε να παρακολουθούμε τις δύο δοκιμές χρησιμοποιώντας τα πειράματα SageMaker σύμφωνα με την εννοιολογική αρχιτεκτονική υψηλού επιπέδου που σας δείξαμε νωρίτερα.
Ρυθμίστε ένα πείραμα SageMaker
Για να παρακολουθήσουμε αυτήν τη δοκιμή στο SageMaker, πρέπει να δημιουργήσουμε ένα πείραμα. Πρέπει επίσης να ορίσουμε τη δοκιμή εντός του πειράματος. Για λόγους απλότητας, εξετάζουμε απλώς μία δοκιμή για το πείραμα, αλλά μπορείτε να έχετε οποιονδήποτε αριθμό δοκιμών σε ένα πείραμα, για παράδειγμα, εάν θέλετε να δοκιμάσετε διαφορετικούς αλγόριθμους.
Δημιουργούμε ένα πείραμα με το όνομα DEMO-sagemaker-experiments-dvc
με δύο δοκιμασίες, dvc-trial-single-file
και dvc-trial-multi-files
, το καθένα αντιπροσωπεύει μια διαφορετική έκδοση του συνόλου δεδομένων.
Ας δημιουργήσουμε το DEMO-sagemaker-experiments-dvc
πείραμα:
Δοκιμή 1: Δημιουργήστε μεμονωμένα αρχεία για εκπαίδευση και επικύρωση
Σε αυτήν την ενότητα, δημιουργούμε ένα σενάριο επεξεργασίας που ανακτά τα ακατέργαστα δεδομένα απευθείας από Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) ως είσοδος. το επεξεργάζεται για να δημιουργήσει τα σύνολα δεδομένων αμαξοστοιχίας, επικύρωσης και δοκιμής· και αποθηκεύει τα αποτελέσματα πίσω στο Amazon S3 χρησιμοποιώντας DVC. Επιπλέον, δείχνουμε πώς μπορείτε να παρακολουθείτε τα τεχνουργήματα εξόδου που δημιουργούνται από το DVC με το SageMaker κατά την εκτέλεση εργασιών επεξεργασίας και εκπαίδευσης και μέσω των πειραμάτων SageMaker.
Αρχικά, δημιουργούμε το dvc-trial-single-file
δοκιμή και προσθέστε το στο DEMO-sagemaker-experiments-dvc
πείραμα. Με αυτόν τον τρόπο, διατηρούμε όλα τα δοκιμαστικά στοιχεία που σχετίζονται με αυτό το τεστ οργανωμένα με ουσιαστικό τρόπο.
Χρησιμοποιήστε το DVC σε μια εργασία επεξεργασίας του SageMaker για να δημιουργήσετε την έκδοση ενός αρχείου
Σε αυτήν την ενότητα, δημιουργούμε ένα σενάριο επεξεργασίας που λαμβάνει τα ακατέργαστα δεδομένα απευθείας από το Amazon S3 ως είσοδο χρησιμοποιώντας τη δυνατότητα φόρτωσης διαχειριζόμενων δεδομένων του SageMaker. το επεξεργάζεται για να δημιουργήσει τα σύνολα δεδομένων αμαξοστοιχίας, επικύρωσης και δοκιμής· και αποθηκεύει τα αποτελέσματα πίσω στο Amazon S3 χρησιμοποιώντας DVC. Είναι πολύ σημαντικό να κατανοήσουμε ότι όταν χρησιμοποιούμε DVC για αποθήκευση δεδομένων στο Amazon S3 (ή αντλούμε δεδομένα από το Amazon S3), χάνουμε τις δυνατότητες φόρτωσης διαχειριζόμενων δεδομένων του SageMaker, οι οποίες ενδέχεται να έχουν αντίκτυπο στην απόδοση και το κόστος των εργασιών επεξεργασίας και εκπαίδευσης , ειδικά όταν εργάζεστε με πολύ μεγάλα σύνολα δεδομένων. Για περισσότερες πληροφορίες σχετικά με τις διαφορετικές δυνατότητες λειτουργίας εγγενούς εισαγωγής του SageMaker, ανατρέξτε στο Πρόσβαση στα δεδομένα εκπαίδευσης.
Τέλος, ενοποιούμε τις δυνατότητες παρακολούθησης DVC με τις δυνατότητες παρακολούθησης του SageMaker κατά την εκτέλεση εργασιών επεξεργασίας μέσω του SageMaker Experiments.
Το σενάριο επεξεργασίας αναμένει τη διεύθυνση του αποθετηρίου Git και του κλάδου που θέλουμε να δημιουργήσουμε για την αποθήκευση των μεταδεδομένων DVC που διαβιβάζονται μέσω περιβαλλοντικών μεταβλητών. Τα ίδια τα σύνολα δεδομένων αποθηκεύονται στο Amazon S3 από το DVC. Αν και οι περιβαλλοντικές μεταβλητές παρακολουθούνται αυτόματα στα πειράματα SageMaker και είναι ορατές στις παραμέτρους του δοκιμαστικού στοιχείου, ίσως θέλουμε να εμπλουτίσουμε τα δοκιμαστικά στοιχεία με περαιτέρω πληροφορίες, οι οποίες στη συνέχεια θα είναι διαθέσιμες για οπτικοποίηση στη διεπαφή χρήστη του Studio χρησιμοποιώντας ένα αντικείμενο παρακολούθησης. Στην περίπτωσή μας, οι παράμετροι των δοκιμαστικών στοιχείων περιλαμβάνουν τα ακόλουθα:
DVC_REPO_URL
DVC_BRANCH
USER
data_commit_hash
train_test_split_ratio
Το σενάριο προεπεξεργασίας κλωνοποιεί το αποθετήριο Git. δημιουργεί τα σύνολα δεδομένων αμαξοστοιχίας, επικύρωσης και δοκιμής. και το συγχρονίζει χρησιμοποιώντας DVC. Όπως αναφέρθηκε προηγουμένως, όταν χρησιμοποιούμε DVC, δεν μπορούμε να εκμεταλλευτούμε τις εγγενείς δυνατότητες φόρτωσης δεδομένων του SageMaker. Εκτός από τις ποινές απόδοσης που μπορεί να υποστούμε σε μεγάλα σύνολα δεδομένων, χάνουμε επίσης τις δυνατότητες αυτόματης παρακολούθησης για τα τεχνουργήματα εξόδου. Ωστόσο, χάρη στον ιχνηλάτη και το DVC Python API, μπορούμε να αντισταθμίσουμε αυτές τις ελλείψεις, να ανακτήσουμε τέτοιες πληροφορίες κατά τη διάρκεια της εκτέλεσης και να τις αποθηκεύσουμε στο δοκιμαστικό στοιχείο με λίγη προσπάθεια. Η προστιθέμενη αξία με αυτόν τον τρόπο είναι να έχετε σε ενιαία προβολή των τεχνουργημάτων εισόδου και εξόδου που ανήκουν σε αυτή τη συγκεκριμένη εργασία επεξεργασίας.
Το πλήρες σενάριο Python προεπεξεργασίας είναι διαθέσιμο στο GitHub repo.
Το SageMaker μας δίνει τη δυνατότητα να εκτελούμε το σενάριο επεξεργασίας μας σε εικόνες κοντέινερ που διαχειρίζεται η AWS και οι οποίες είναι βελτιστοποιημένες για εκτέλεση στην υποδομή AWS. Εάν το σενάριό μας απαιτεί πρόσθετες εξαρτήσεις, μπορούμε να παρέχουμε ένα requirements.txt
αρχείο. Όταν ξεκινάμε την εργασία επεξεργασίας, το SageMaker χρησιμοποιεί pip-install
για να εγκαταστήσουμε όλες τις βιβλιοθήκες που χρειαζόμαστε (για παράδειγμα, βιβλιοθήκες που σχετίζονται με DVC). Εάν χρειάζεται να έχετε αυστηρότερο έλεγχο όλων των βιβλιοθηκών που είναι εγκατεστημένες στα κοντέινερ, μπορείτε να φέρετε το δικό σας κοντέινερ στο SageMaker, για παράδειγμα για μεταποίηση και εκπαίδευση.
Έχουμε τώρα όλα τα συστατικά για να εκτελέσουμε την εργασία επεξεργασίας του SageMaker:
- Ένα σενάριο επεξεργασίας που μπορεί να επεξεργαστεί πολλά ορίσματα (
--train-test-split-ratio
) και δύο περιβαλλοντικές μεταβλητές (DVC_REPO_URL
καιDVC_BRANCH
) - A
requiremets.txt
φιλέτο - Ένα αποθετήριο Git (στο CodeCommit)
- Ένα πείραμα και δοκιμή του SageMaker
Στη συνέχεια, εκτελούμε την εργασία επεξεργασίας με το preprocessing-experiment.py
γραφή, experiment_config
, dvc_repo_url
, να dvc_branch
ορίσαμε νωρίτερα.
Η εργασία επεξεργασίας διαρκεί περίπου 5 λεπτά για να ολοκληρωθεί. Τώρα μπορείτε να δείτε τις δοκιμαστικές λεπτομέρειες για το σύνολο δεδομένων ενός αρχείου.
Το παρακάτω στιγμιότυπο οθόνης δείχνει πού μπορείτε να βρείτε τις αποθηκευμένες πληροφορίες στο Studio. Σημειώστε τις τιμές για dvc-trial-single-file
in DVC_BRANCH
, DVC_REPO_URL
, να data_commit_hash
σχετικά με την παράμετροι Tab.
Σημειώστε επίσης τις λεπτομέρειες εισόδου και εξόδου στο Αντικείμενα Tab.
Δημιουργήστε έναν εκτιμητή και προσαρμόστε το μοντέλο με την έκδοση δεδομένων ενός αρχείου
Για να χρησιμοποιήσουμε την ενσωμάτωση DVC σε μια εργασία εκπαίδευσης του SageMaker, περνάμε α dvc_repo_url
και dvc_branch
ως περιβαλλοντικές μεταβλητές όταν δημιουργείτε το αντικείμενο Εκτιμητής.
Προπονούμαστε στο dvc-trial-single-file
υποκατάστημα πρώτα.
Όταν τραβάουμε δεδομένα με DVC, χρησιμοποιούμε την ακόλουθη δομή δεδομένων:
Τώρα δημιουργούμε έναν Εκτιμητή Scikit-learn χρησιμοποιώντας το SDK SageMaker Python. Αυτό μας επιτρέπει να καθορίσουμε τα ακόλουθα:
- Η διαδρομή προς το αρχείο πηγής Python, το οποίο θα πρέπει να εκτελείται ως σημείο εισόδου στην εκπαίδευση.
- Ο ρόλος IAM που ελέγχει τα δικαιώματα πρόσβασης σε δεδομένα Amazon S3 και CodeCommit και εκτέλεση λειτουργιών SageMaker.
- Μια λίστα με λεξικά που καθορίζουν τις μετρήσεις που χρησιμοποιούνται για την αξιολόγηση των εργασιών κατάρτισης.
- Ο αριθμός και το είδος των περιπτώσεων εκπαίδευσης. Χρησιμοποιούμε ένα ml.m5.μεγάλο παράδειγμα.
- Υπερπαράμετροι που χρησιμοποιούνται για προπόνηση.
- Μεταβλητές περιβάλλοντος για χρήση κατά τη διάρκεια της εργασίας εκπαίδευσης. Χρησιμοποιούμε
DVC_REPO_URL
,DVC_BRANCH
, ναUSER
.
Καλούμε τη μέθοδο προσαρμογής του Εκτιμητή με το experiment_config που ορίσαμε νωρίτερα για να ξεκινήσει η εκπαίδευση.
Η εργασία εκπαίδευσης διαρκεί περίπου 5 λεπτά για να ολοκληρωθεί. Τα αρχεία καταγραφής δείχνουν αυτές τις γραμμές, υποδεικνύοντας τα αρχεία που τραβήχτηκαν από το DVC:
Δοκιμή 2: Δημιουργία πολλαπλών αρχείων για εκπαίδευση και επικύρωση
Δημιουργούμε ένα νέο dvc-trial-multi-files
δοκιμή και προσθέστε το στο τρέχον DEMO-sagemaker-experiments-dvc
πείραμα.
Διαφορετικά από το πρώτο σενάριο επεξεργασίας, δημιουργούμε τώρα από το αρχικό σύνολο δεδομένων πολλαπλά αρχεία για εκπαίδευση και επικύρωση και αποθηκεύουμε τα μεταδεδομένα DVC σε διαφορετικό κλάδο.
Μπορείτε να εξερευνήσετε το δεύτερο σενάριο προεπεξεργασίας Python στο GitHub.
Η εργασία επεξεργασίας διαρκεί περίπου 5 λεπτά για να ολοκληρωθεί. Τώρα μπορείτε να δείτε τις δοκιμαστικές λεπτομέρειες για το σύνολο δεδομένων πολλών αρχείων.
Τα ακόλουθα στιγμιότυπα οθόνης δείχνουν πού μπορείτε να βρείτε τις αποθηκευμένες πληροφορίες στο SageMaker Experiments στο Δοκιμαστικά εξαρτήματα ενότητα στη διεπαφή χρήστη του Studio. Σημειώστε τις τιμές για dvc-trial-multi-files
in DVC_BRANCH
, DVC_REPO_URL
, να data_commit_hash
σχετικά με την παράμετροι Tab.
Μπορείτε επίσης να ελέγξετε τις λεπτομέρειες εισόδου και εξόδου στο Αντικείμενα Tab.
Τώρα προπονούμαστε στο dvc-trial-multi-files
κλαδί. Όταν τραβάουμε δεδομένα με DVC, χρησιμοποιούμε την ακόλουθη δομή δεδομένων:
Παρόμοια όπως κάναμε πριν, δημιουργούμε ένα νέο Scikit-learn Estimator με το δοκιμαστικό όνομα dvc-trial-multi-files
και ξεκινήστε τη δουλειά της εκπαίδευσης.
Η εργασία εκπαίδευσης διαρκεί περίπου 5 λεπτά για να ολοκληρωθεί. Στην έξοδο των αρχείων καταγραφής εργασιών εκπαίδευσης στο σημειωματάριο, μπορείτε να δείτε αυτές τις γραμμές, που υποδεικνύουν τα αρχεία που τραβήχτηκαν από το DVC:
Φιλοξενήστε το μοντέλο σας στο SageMaker
Αφού εκπαιδεύσετε το μοντέλο ML, μπορείτε να το αναπτύξετε χρησιμοποιώντας το SageMaker. Για να αναπτύξουμε ένα μόνιμο τελικό σημείο σε πραγματικό χρόνο που κάνει μία πρόβλεψη κάθε φορά, χρησιμοποιούμε Υπηρεσίες φιλοξενίας SageMaker σε πραγματικό χρόνο.
Αρχικά, λαμβάνουμε το πιο πρόσφατο σύνολο δεδομένων δοκιμής τοπικά στο σημειωματάριο ανάπτυξης στο Studio. Για το σκοπό αυτό, μπορούμε να χρησιμοποιήσουμε dvc.api.read()
για να φορτώσετε τα ανεπεξέργαστα δεδομένα που είχαν αποθηκευτεί στο Amazon S3 από την εργασία επεξεργασίας του SageMaker.
Στη συνέχεια προετοιμάζουμε τα δεδομένα χρησιμοποιώντας το Pandas, φορτώνουμε ένα δοκιμαστικό αρχείο CSV και καλούμε predictor.predict
για να καλέσετε το τελικό σημείο του SageMaker που δημιουργήθηκε νωρίτερα, με δεδομένα και να λάβετε προβλέψεις.
Διαγράψτε το τελικό σημείο
Θα πρέπει να διαγράψετε τα τελικά σημεία όταν δεν χρησιμοποιούνται πλέον, επειδή χρεώνονται κατά τη στιγμή που θα αναπτυχθεί (για περισσότερες πληροφορίες, βλ. Τιμολόγηση του Amazon SageMaker). Φροντίστε να διαγράψετε το τελικό σημείο για να αποφύγετε μη αναμενόμενο κόστος.
εκκαθάριση
Πριν καταργήσετε όλους τους πόρους που δημιουργήσατε, βεβαιωθείτε ότι όλες οι εφαρμογές έχουν διαγραφεί από το data-scientist-dvc
χρήστη, συμπεριλαμβανομένων όλων των εφαρμογών KernelGateway, καθώς και της προεπιλεγμένης εφαρμογής JupiterServer.
Στη συνέχεια, μπορείτε να καταστρέψετε τη στοίβα AWS CDK εκτελώντας την ακόλουθη εντολή:
Εάν χρησιμοποιήσατε έναν υπάρχοντα τομέα, εκτελέστε επίσης τις ακόλουθες εντολές:
Συμπέρασμα
Σε αυτήν την ανάρτηση, διαβάσατε ένα παράδειγμα για το πώς να παρακολουθείτε τα πειράματά σας σε κώδικα, δεδομένα, τεχνουργήματα και μετρήσεις χρησιμοποιώντας τα πειράματα SageMaker και τις εργασίες επεξεργασίας και εκπαίδευσης του SageMaker σε συνδυασμό με το DVC. Δημιουργήσαμε μια εικόνα Docker που περιέχει DVC, η οποία ήταν απαραίτητη για το Studio ως σημειωματάριο ανάπτυξης, και δείξαμε πώς μπορείτε να χρησιμοποιήσετε εργασίες επεξεργασίας και εκπαίδευσης με το DVC. Ετοιμάσαμε δύο εκδόσεις των δεδομένων και χρησιμοποιήσαμε DVC για να τα διαχειριστούμε με το Git. Στη συνέχεια χρησιμοποιήσατε το SageMaker Experiments για να παρακολουθείτε την επεξεργασία και την εκπαίδευση με τις δύο εκδόσεις των δεδομένων, προκειμένου να έχετε μια ενοποιημένη προβολή παραμέτρων, τεχνουργημάτων και μετρήσεων σε ένα μόνο τζάμι. Τέλος, αναπτύξατε το μοντέλο σε ένα τελικό σημείο του SageMaker και χρησιμοποιήσατε ένα δοκιμαστικό σύνολο δεδομένων από τη δεύτερη έκδοση δεδομένων για να καλέσετε το τελικό σημείο του SageMaker και να λάβετε προβλέψεις.
Ως επόμενο βήμα, μπορείτε να επεκτείνετε το υπάρχον σημειωματάριο και να εισαγάγετε τη δική σας στρατηγική μηχανικής λειτουργιών και να χρησιμοποιήσετε το DVC και το SageMaker για να εκτελέσετε τα πειράματά σας. Πάμε να φτιάξουμε!
Για περαιτέρω ανάγνωση, ανατρέξτε στις ακόλουθες πηγές:
Σχετικά με τους Συγγραφείς
Πάολο Ντι Φραντσέσκο είναι αρχιτέκτονας λύσεων στην AWS. Έχει εμπειρία στον τομέα των τηλεπικοινωνιών και της μηχανικής λογισμικού. Είναι παθιασμένος με τη μηχανική μάθηση και επί του παρόντος εστιάζει στη χρήση της εμπειρίας του για να βοηθήσει τους πελάτες να επιτύχουν τους στόχους τους στο AWS, ιδιαίτερα σε συζητήσεις γύρω από τα MLOps. Εκτός δουλειάς, του αρέσει να παίζει ποδόσφαιρο και να διαβάζει.
Εϊτάν Σέλα είναι Αρχιτέκτονας λύσεων Specialist Machine Learning με τις Υπηρεσίες Ιστού της Amazon. Συνεργάζεται με πελάτες AWS για να παρέχει καθοδήγηση και τεχνική βοήθεια, βοηθώντας τους να δημιουργήσουν και να λειτουργήσουν λύσεις μηχανικής εκμάθησης στο AWS. Στον ελεύθερο χρόνο του, ο Eitan απολαμβάνει το τζόκινγκ και την ανάγνωση των πιο πρόσφατων άρθρων μηχανικής εκμάθησης.
- AI
- αι τέχνη
- ι γεννήτρια τέχνης
- ρομπότ ai
- Amazon Sage Maker
- τεχνητή νοημοσύνη
- πιστοποίηση τεχνητής νοημοσύνης
- τεχνητή νοημοσύνη στον τραπεζικό τομέα
- ρομπότ τεχνητής νοημοσύνης
- ρομπότ τεχνητής νοημοσύνης
- λογισμικό τεχνητής νοημοσύνης
- Μηχανική εκμάθηση AWS
- blockchain
- συνέδριο blockchain ai
- Coingenius
- συνομιλητική τεχνητή νοημοσύνη
- κρυπτοσυνεδριο αι
- του νταλ
- Έλεγχος έκδοσης δεδομένων
- βαθιά μάθηση
- DVC
- έχεις google
- μάθηση μηχανής
- Πλάτων
- πλάτων αι
- Πληροφορία δεδομένων Plato
- Παιχνίδι Πλάτωνας
- Πλάτωνα δεδομένα
- platogaming
- κλίμακα αι
- σύνταξη
- Τεχνικός τρόπος
- zephyrnet