AutoML σας επιτρέπει να αντλήσετε γρήγορες, γενικές πληροφορίες από τα δεδομένα σας ακριβώς στην αρχή ενός κύκλου ζωής έργου μηχανικής εκμάθησης (ML). Η εκ των προτέρων κατανόηση των τεχνικών προεπεξεργασίας και των τύπων αλγορίθμων που παρέχουν τα καλύτερα αποτελέσματα μειώνει τον χρόνο ανάπτυξης, εκπαίδευσης και ανάπτυξης του σωστού μοντέλου. Διαδραματίζει κρίσιμο ρόλο στη διαδικασία ανάπτυξης κάθε μοντέλου και επιτρέπει στους επιστήμονες δεδομένων να επικεντρωθούν στις πιο υποσχόμενες τεχνικές ML. Επιπλέον, η AutoML παρέχει μια βασική απόδοση του μοντέλου που μπορεί να χρησιμεύσει ως σημείο αναφοράς για την ομάδα επιστήμης δεδομένων.
Ένα εργαλείο AutoML εφαρμόζει έναν συνδυασμό διαφορετικών αλγορίθμων και διαφόρων τεχνικών προεπεξεργασίας στα δεδομένα σας. Για παράδειγμα, μπορεί να κλιμακώσει τα δεδομένα, να εκτελέσει μονομεταβλητή επιλογή χαρακτηριστικών, να πραγματοποιήσει PCA σε διαφορετικά επίπεδα κατωφλίου διακύμανσης και να εφαρμόσει ομαδοποίηση. Τέτοιες τεχνικές προεπεξεργασίας θα μπορούσαν να εφαρμοστούν μεμονωμένα ή να συνδυαστούν σε έναν αγωγό. Στη συνέχεια, ένα εργαλείο AutoML θα εκπαιδεύσει διαφορετικούς τύπους μοντέλων, όπως Γραμμική παλινδρόμηση, Elastic-Net ή Random Forest, σε διαφορετικές εκδόσεις του προεπεξεργασμένου συνόλου δεδομένων σας και θα εκτελούσε βελτιστοποίηση υπερπαραμέτρων (HPO). Αυτόματος πιλότος Amazon SageMaker εξαλείφει τη βαριά ανύψωση των μοντέλων κατασκευής ML. Μετά την παροχή του συνόλου δεδομένων, το SageMaker Autopilot εξερευνά αυτόματα διαφορετικές λύσεις για να βρει το καλύτερο μοντέλο. Τι γίνεται όμως αν θέλετε να αναπτύξετε την προσαρμοσμένη έκδοση μιας ροής εργασίας AutoML;
Αυτή η ανάρτηση δείχνει πώς να δημιουργήσετε μια προσαρμοσμένη ροή εργασίας AutoML Amazon Sage Maker χρησιμοποιώντας Αυτόματος συντονισμός μοντέλων Amazon SageMaker με δείγμα κώδικα διαθέσιμο σε α Repo GitHub.
Επισκόπηση λύσεων
Για αυτήν την περίπτωση χρήσης, ας υποθέσουμε ότι είστε μέλος μιας ομάδας επιστήμης δεδομένων που αναπτύσσει μοντέλα σε έναν εξειδικευμένο τομέα. Έχετε αναπτύξει ένα σύνολο προσαρμοσμένων τεχνικών προεπεξεργασίας και επιλέξατε έναν αριθμό αλγορίθμων που συνήθως περιμένετε να λειτουργούν καλά με το πρόβλημά σας ML. Όταν εργάζεστε σε νέες περιπτώσεις χρήσης ML, θα θέλατε πρώτα να εκτελέσετε μια εκτέλεση AutoML χρησιμοποιώντας τις τεχνικές προεπεξεργασίας και τους αλγόριθμους σας για να περιορίσετε το εύρος των πιθανών λύσεων.
Για αυτό το παράδειγμα, δεν χρησιμοποιείτε εξειδικευμένο σύνολο δεδομένων. Αντίθετα, εργάζεστε με το σύνολο δεδομένων California Housing από το οποίο θα εισαγάγετε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3). Η εστίαση είναι να επιδειχθεί η τεχνική υλοποίηση της λύσης χρησιμοποιώντας το SageMaker HPO, το οποίο αργότερα μπορεί να εφαρμοστεί σε οποιοδήποτε σύνολο δεδομένων και τομέα.
Το παρακάτω διάγραμμα παρουσιάζει τη συνολική ροή εργασιών λύσης.
Προϋποθέσεις
Τα ακόλουθα είναι προαπαιτούμενα για την ολοκλήρωση της αναλυτικής παρουσίασης σε αυτήν την ανάρτηση:
Εφαρμόστε τη λύση
Ο πλήρης κωδικός είναι διαθέσιμος στο GitHub repo.
Τα βήματα για την υλοποίηση της λύσης (όπως σημειώνεται στο διάγραμμα ροής εργασιών) είναι τα εξής:
- Δημιουργήστε μια παρουσία σημειωματάριου και διευκρινίστε τα εξής:
- Για Τύπος παρουσίας σημειωματάριου, επιλέξτε ml.t3. ενδιάμεσο.
- Για Ελαστική συναγωγή, επιλέξτε κανένας.
- Για Αναγνωριστικό πλατφόρμας, επιλέξτε Amazon Linux 2, Jupyter Lab 3.
- Για IAM ρόλο, επιλέξτε την προεπιλογή
AmazonSageMaker-ExecutionRole
. Εάν δεν υπάρχει, δημιουργήστε ένα νέο Διαχείριση ταυτότητας και πρόσβασης AWS (IAM) ρόλο και επισυνάψτε το Πολιτική IAM του AmazonSageMakerFullAccess.
Σημειώστε ότι θα πρέπει να δημιουργήσετε έναν ρόλο και πολιτική εκτέλεσης ελάχιστης εμβέλειας στην παραγωγή.
- Ανοίξτε τη διεπαφή JupyterLab για την παρουσία του φορητού υπολογιστή σας και κλωνοποιήστε το αποθετήριο GitHub.
Μπορείτε να το κάνετε αυτό ξεκινώντας μια νέα συνεδρία τερματικού και εκτελώντας το git clone <REPO>
εντολή ή χρησιμοποιώντας τη λειτουργία διεπαφής χρήστη, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
- Ανοίξτε το
automl.ipynb
αρχείο σημειωματάριου, επιλέξτε τοconda_python3
πυρήνα και ακολουθήστε τις οδηγίες για να ενεργοποιήσετε το a σύνολο εργασιών HPO.
Για να εκτελέσετε τον κωδικό χωρίς αλλαγές, πρέπει να αυξήσετε το όριο υπηρεσίας για ml.m5.large για χρήση εργασίας εκπαίδευσης και Αριθμός περιπτώσεων σε όλες τις εργασίες κατάρτισης. Το AWS επιτρέπει από προεπιλογή μόνο 20 παράλληλες εργασίες εκπαίδευσης του SageMaker και για τις δύο ποσοστώσεις. Πρέπει να ζητήσετε αύξηση ποσόστωσης σε 30 και για τα δύο. Και οι δύο αλλαγές ποσοστώσεων θα πρέπει συνήθως να εγκρίνονται μέσα σε λίγα λεπτά. Αναφέρομαι σε Αίτημα αύξησης ποσόστωσης Για περισσότερες πληροφορίες.
Εάν δεν θέλετε να αλλάξετε το όριο, μπορείτε απλώς να τροποποιήσετε την τιμή του MAX_PARALLEL_JOBS
μεταβλητή στο σενάριο (για παράδειγμα, σε 5).
- Κάθε εργασία HPO θα ολοκληρώσει ένα σύνολο εκπαιδευτική δουλειά δοκιμές και υποδεικνύουν το μοντέλο με τις βέλτιστες υπερπαραμέτρους.
- Αναλύστε τα αποτελέσματα και αναπτύξτε το μοντέλο με τις καλύτερες επιδόσεις.
Αυτή η λύση θα επιφέρει κόστος στον λογαριασμό σας AWS. Το κόστος αυτής της λύσης θα εξαρτηθεί από τον αριθμό και τη διάρκεια των εργασιών εκπαίδευσης HPO. Όσο αυτά αυξάνονται, τόσο θα αυξάνεται και το κόστος. Μπορείτε να μειώσετε το κόστος περιορίζοντας τον χρόνο εκπαίδευσης και ρυθμίζοντας τις παραμέτρους TuningJobCompletionCriteriaConfig
σύμφωνα με τις οδηγίες που θα συζητηθούν αργότερα σε αυτήν την ανάρτηση. Για πληροφορίες τιμολόγησης, ανατρέξτε στο Τιμολόγηση του Amazon SageMaker.
Στις επόμενες ενότητες, θα συζητήσουμε το σημειωματάριο με περισσότερες λεπτομέρειες με παραδείγματα κώδικα και τα βήματα για την ανάλυση των αποτελεσμάτων και την επιλογή του καλύτερου μοντέλου.
Αρχική εγκατάσταση
Ας ξεκινήσουμε με την εκτέλεση του Εισαγωγές & Ρύθμιση στο τμήμα custom-automl.ipynb
σημειωματάριο. Εγκαθιστά και εισάγει όλες τις απαιτούμενες εξαρτήσεις, δημιουργεί μια περίοδο λειτουργίας και πελάτη SageMaker και ορίζει τον προεπιλεγμένο κάδο Region και S3 για την αποθήκευση δεδομένων.
Προετοιμασία δεδομένων
Κατεβάστε το σύνολο δεδομένων California Housing και προετοιμάστε το εκτελώντας το Λήψη δεδομένων τμήμα του σημειωματάριου. Το σύνολο δεδομένων χωρίζεται σε πλαίσια δεδομένων εκπαίδευσης και δοκιμής και αποστέλλεται στον προεπιλεγμένο κάδο συνεδρίας SageMaker S3.
Ολόκληρο το σύνολο δεδομένων έχει 20,640 εγγραφές και 9 στήλες συνολικά, συμπεριλαμβανομένου του στόχου. Ο στόχος είναι να προβλέψουμε τη διάμεση αξία ενός σπιτιού (medianHouseValue
στήλη). Το ακόλουθο στιγμιότυπο οθόνης δείχνει τις επάνω σειρές του συνόλου δεδομένων.
Πρότυπο σεναρίου εκπαίδευσης
Η ροή εργασίας AutoML σε αυτήν την ανάρτηση βασίζεται σε scikit-μάθετε προεπεξεργασία αγωγών και αλγορίθμων. Ο στόχος είναι να δημιουργηθεί ένας μεγάλος συνδυασμός διαφορετικών αγωγών προεπεξεργασίας και αλγορίθμων για να βρεθεί η ρύθμιση με την καλύτερη απόδοση. Ας ξεκινήσουμε με τη δημιουργία ενός γενικού σεναρίου εκπαίδευσης, το οποίο διατηρείται τοπικά στην παρουσία του σημειωματάριου. Σε αυτό το σενάριο, υπάρχουν δύο κενά μπλοκ σχολίων: ένα για την έγχυση υπερπαραμέτρων και το άλλο για το αντικείμενο διοχέτευσης μοντέλου προεπεξεργασίας. Θα εγχέονται δυναμικά για κάθε υποψήφιο μοντέλο προεπεξεργασίας. Ο σκοπός της ύπαρξης ενός γενικού σεναρίου είναι να διατηρήσετε την υλοποίηση DRY (μην επαναλάβετε τον εαυτό σας).
Δημιουργήστε συνδυασμούς προεπεξεργασίας και μοντέλων
Η preprocessors
Το λεξικό περιέχει μια προδιαγραφή τεχνικών προεπεξεργασίας που εφαρμόζονται σε όλα τα χαρακτηριστικά εισόδου του μοντέλου. Κάθε συνταγή ορίζεται χρησιμοποιώντας ένα Pipeline
ή ένα FeatureUnion
αντικείμενο από το scikit-learn, το οποίο ενώνει μεμονωμένους μετασχηματισμούς δεδομένων και τους στοιβάζει μαζί. Για παράδειγμα, mean-imp-scale
είναι μια απλή συνταγή που διασφαλίζει ότι οι τιμές που λείπουν καταλογίζονται χρησιμοποιώντας τις μέσες τιμές των αντίστοιχων στηλών και ότι όλα τα χαρακτηριστικά κλιμακώνονται χρησιμοποιώντας το StandardScaler. Σε αντίθεση, το mean-imp-scale-pca
αλυσίδες συνταγών μαζί μερικές ακόμη λειτουργίες:
- Υπολογίστε τις τιμές που λείπουν στις στήλες με τον μέσο όρο τους.
- Εφαρμόστε κλιμάκωση χαρακτηριστικών χρησιμοποιώντας τη μέση και τυπική απόκλιση.
- Υπολογίστε το PCA πάνω από τα δεδομένα εισόδου σε μια καθορισμένη τιμή κατωφλίου διακύμανσης και συγχωνεύστε το μαζί με τις τεκμαρτές και κλιμακούμενες δυνατότητες εισόδου.
Σε αυτήν την ανάρτηση, όλες οι δυνατότητες εισαγωγής είναι αριθμητικές. Εάν έχετε περισσότερους τύπους δεδομένων στο σύνολο δεδομένων εισόδου, θα πρέπει να καθορίσετε μια πιο περίπλοκη διοχέτευση όπου εφαρμόζονται διαφορετικοί κλάδοι προεπεξεργασίας σε διαφορετικά σύνολα τύπων χαρακτηριστικών.
Η models
Το λεξικό περιέχει προδιαγραφές διαφορετικών αλγορίθμων στους οποίους προσαρμόζετε το σύνολο δεδομένων. Κάθε τύπος μοντέλου συνοδεύεται από τις ακόλουθες προδιαγραφές στο λεξικό:
- script_output – Υποδεικνύει τη θέση του σεναρίου εκπαίδευσης που χρησιμοποιείται από τον εκτιμητή. Αυτό το πεδίο συμπληρώνεται δυναμικά όταν το
models
λεξικό συνδυάζεται με τοpreprocessors
λεξικό. - εισαγωγές – Καθορίζει τον κώδικα που θα εισαχθεί στο
script_draft.py
και στη συνέχεια αποθηκεύτηκε κάτω απόscript_output
. Το κλειδί“preprocessor”
αφήνεται σκόπιμα κενή επειδή αυτή η θέση είναι γεμάτη με έναν από τους προεπεξεργαστές προκειμένου να δημιουργηθούν πολλαπλοί συνδυασμοί μοντέλου-προεπεξεργαστή. - υπερπαραμέτρους – Ένα σύνολο υπερπαραμέτρων που βελτιστοποιούνται από την εργασία HPO.
- include_cls_metadata – Απαιτούνται περισσότερες λεπτομέρειες διαμόρφωσης από το SageMaker
Tuner
τάξη.
Ένα πλήρες παράδειγμα του models
Το λεξικό είναι διαθέσιμο στο αποθετήριο GitHub.
Στη συνέχεια, ας επαναλάβουμε το preprocessors
και models
λεξικά και να δημιουργήσετε όλους τους πιθανούς συνδυασμούς. Για παράδειγμα, εάν σας preprocessors
Το λεξικό περιέχει 10 συνταγές και έχετε 5 ορισμούς μοντέλων στο models
λεξικό, το λεξικό αγωγών που δημιουργήθηκε πρόσφατα περιέχει 50 αγωγούς προεπεξεργαστή-μοντέλων που αξιολογούνται κατά τη διάρκεια του HPO. Σημειώστε ότι σε αυτό το σημείο δεν έχουν δημιουργηθεί ακόμη μεμονωμένα σενάρια διοχέτευσης. Το επόμενο μπλοκ κώδικα (κελί 9) του σημειωματάριου Jupyter επαναλαμβάνεται μέσω όλων των αντικειμένων του μοντέλου προεπεξεργαστή στο pipelines
λεξικό, εισάγει όλα τα σχετικά κομμάτια κώδικα και διατηρεί μια έκδοση του σεναρίου για συγκεκριμένη γραμμή τοπικά στο σημειωματάριο. Αυτά τα σενάρια χρησιμοποιούνται στα επόμενα βήματα κατά τη δημιουργία μεμονωμένων εκτιμητών που συνδέετε στην εργασία HPO.
Ορίστε τους εκτιμητές
Τώρα μπορείτε να εργαστείτε για τον καθορισμό των εκτιμητών SageMaker που χρησιμοποιεί η εργασία HPO αφού είναι έτοιμα τα σενάρια. Ας ξεκινήσουμε με τη δημιουργία μιας κλάσης περιτυλίγματος που ορίζει ορισμένες κοινές ιδιότητες για όλους τους εκτιμητές. Κληρονομεί από το SKLearn
κλάση και καθορίζει τον ρόλο, τον αριθμό παρουσιών και τον τύπο, καθώς και ποιες στήλες χρησιμοποιούνται από το σενάριο ως χαρακτηριστικά και ως στόχο.
Ας χτίσουμε το estimators
λεξικό επαναλαμβάνοντας όλα τα σενάρια που δημιουργήθηκαν πριν και βρίσκονται στο scripts
Ευρετήριο. Δημιουργείτε ένα νέο εκτιμητή χρησιμοποιώντας το SKLearnBase
class, με ένα μοναδικό όνομα εκτιμητή και ένα από τα σενάρια. Σημειώστε ότι το estimators
Το λεξικό έχει δύο επίπεδα: το ανώτερο επίπεδο ορίζει α pipeline_family
. Αυτή είναι μια λογική ομαδοποίηση που βασίζεται στον τύπο των μοντέλων προς αξιολόγηση και ισούται με το μήκος του models
λεξικό. Το δεύτερο επίπεδο περιέχει μεμονωμένους τύπους προεπεξεργαστή σε συνδυασμό με τους δεδομένους pipeline_family
. Αυτή η λογική ομαδοποίηση απαιτείται κατά τη δημιουργία της εργασίας HPO.
Ορίστε ορίσματα δέκτη HPO
Για να βελτιστοποιήσετε τη μετάδοση ορισμάτων στο HPO Tuner
τάξη, η HyperparameterTunerArgs
Η κλάση δεδομένων αρχικοποιείται με ορίσματα που απαιτούνται από την κλάση HPO. Έρχεται με ένα σύνολο συναρτήσεων, οι οποίες διασφαλίζουν ότι τα ορίσματα HPO επιστρέφονται σε μια μορφή που αναμένεται κατά την ανάπτυξη πολλαπλών ορισμών μοντέλων ταυτόχρονα.
Το επόμενο μπλοκ κώδικα χρησιμοποιεί τον προηγουμένως εισαγόμενο HyperparameterTunerArgs
κλάση δεδομένων. Δημιουργείτε ένα άλλο λεξικό που ονομάζεται hp_args
και να δημιουργήσετε ένα σύνολο παραμέτρων εισαγωγής ειδικών για το καθένα estimator_family
από το estimators
λεξικό. Αυτά τα ορίσματα χρησιμοποιούνται στο επόμενο βήμα κατά την προετοιμασία εργασιών HPO για κάθε οικογένεια μοντέλων.
Δημιουργία αντικειμένων δέκτη HPO
Σε αυτό το βήμα, δημιουργείτε μεμονωμένους δέκτες για κάθε ένα estimator_family
. Γιατί δημιουργείτε τρεις ξεχωριστές θέσεις εργασίας HPO αντί να ξεκινήσετε μόνο μία σε όλους τους εκτιμητές; ο HyperparameterTuner
Η κλάση περιορίζεται σε 10 ορισμούς μοντέλων που επισυνάπτονται σε αυτήν. Επομένως, κάθε HPO είναι υπεύθυνο για την εύρεση του προεπεξεργαστή με τις καλύτερες επιδόσεις για μια δεδομένη οικογένεια μοντέλων και τον συντονισμό των υπερπαραμέτρων αυτής της οικογένειας μοντέλων.
Ακολουθούν μερικά ακόμη σημεία σχετικά με τη ρύθμιση:
- Η στρατηγική βελτιστοποίησης είναι Bayesian, πράγμα που σημαίνει ότι το HPO παρακολουθεί ενεργά την απόδοση όλων των δοκιμών και κατευθύνει τη βελτιστοποίηση προς πιο πολλά υποσχόμενους συνδυασμούς υπερπαραμέτρων. Η πρόωρη διακοπή πρέπει να ρυθμιστεί σε Εκτός or AUTO όταν εργάζεστε με μια Μπεϋζιανή στρατηγική, η οποία χειρίζεται αυτή τη λογική.
- Κάθε εργασία HPO εκτελείται για έως και 100 εργασίες και εκτελεί 10 εργασίες παράλληλα. Εάν έχετε να κάνετε με μεγαλύτερα σύνολα δεδομένων, ίσως θελήσετε να αυξήσετε τον συνολικό αριθμό εργασιών.
- Επιπλέον, μπορεί να θέλετε να χρησιμοποιήσετε ρυθμίσεις που ελέγχουν πόσο καιρό εκτελείται μια εργασία και πόσες εργασίες ενεργοποιεί το HPO σας. Ένας τρόπος για να γίνει αυτό είναι να ορίσετε τον μέγιστο χρόνο εκτέλεσης σε δευτερόλεπτα (για αυτήν την ανάρτηση, τον ορίσαμε σε 1 ώρα). Ένα άλλο είναι να χρησιμοποιήσετε το πρόσφατα κυκλοφορήσει
TuningJobCompletionCriteriaConfig
. Προσφέρει ένα σύνολο ρυθμίσεων που παρακολουθούν την πρόοδο των εργασιών σας και αποφασίζουν εάν είναι πιθανό περισσότερες εργασίες να βελτιώσουν το αποτέλεσμα. Σε αυτήν την ανάρτηση, ορίσαμε τον μέγιστο αριθμό εργασιών εκπαίδευσης που δεν βελτιώνονται σε 20. Με αυτόν τον τρόπο, εάν η βαθμολογία δεν βελτιώνεται (για παράδειγμα, από την τεσσαρακοστή δοκιμή), δεν θα χρειαστεί να πληρώσετε για τις υπόλοιπες δοκιμές μέχριmax_jobs
επιτευχθεί.
Τώρα ας επαναλάβουμε το tuners
και hp_args
λεξικά και ενεργοποιούν όλες τις εργασίες HPO στο SageMaker. Σημειώστε τη χρήση του ορίσματος αναμονής που έχει οριστεί σε False
, πράγμα που σημαίνει ότι ο πυρήνας δεν θα περιμένει μέχρι να ολοκληρωθούν τα αποτελέσματα και μπορείτε να ενεργοποιήσετε όλες τις εργασίες ταυτόχρονα.
Είναι πιθανό ότι δεν θα ολοκληρωθούν όλες οι εργασίες κατάρτισης και ορισμένες από αυτές μπορεί να σταματήσουν από την εργασία HPO. Ο λόγος για αυτό είναι η TuningJobCompletionCriteriaConfig
— η βελτιστοποίηση τελειώνει εάν πληρούται κάποιο από τα καθορισμένα κριτήρια. Σε αυτήν την περίπτωση, όταν τα κριτήρια βελτιστοποίησης δεν βελτιώνονται για 20 συνεχόμενες θέσεις εργασίας.
Αναλύστε τα αποτελέσματα
Το κελί 15 του σημειωματάριου ελέγχει εάν όλες οι εργασίες HPO έχουν ολοκληρωθεί και συνδυάζει όλα τα αποτελέσματα με τη μορφή πλαισίου δεδομένων pandas για περαιτέρω ανάλυση. Πριν αναλύσουμε τα αποτελέσματα λεπτομερώς, ας ρίξουμε μια ματιά σε υψηλό επίπεδο στην κονσόλα SageMaker.
Στην κορυφή της η Εργασίες συντονισμού υπερπαραμέτρων σελίδα, μπορείτε να δείτε τις τρεις θέσεις εργασίας HPO που ξεκινήσατε. Όλοι τους τελείωσαν νωρίς και δεν έκαναν και τις 100 εργασίες εκπαίδευσης. Στο παρακάτω στιγμιότυπο οθόνης, μπορείτε να δείτε ότι η οικογένεια μοντέλων Elastic-Net ολοκλήρωσε τον υψηλότερο αριθμό δοκιμών, ενώ άλλες δεν χρειάζονταν τόσες πολλές εργασίες εκπαίδευσης για να βρουν το καλύτερο αποτέλεσμα.
Μπορείτε να ανοίξετε την εργασία HPO για να αποκτήσετε πρόσβαση σε περισσότερες λεπτομέρειες, όπως μεμονωμένες εργασίες εκπαίδευσης, διαμόρφωση εργασίας και πληροφορίες και απόδοση της καλύτερης εργασίας εκπαίδευσης.
Ας δημιουργήσουμε μια οπτικοποίηση με βάση τα αποτελέσματα για να λάβουμε περισσότερες πληροφορίες σχετικά με την απόδοση της ροής εργασίας AutoML σε όλες τις οικογένειες μοντέλων.
Από το παρακάτω γράφημα, μπορείτε να συμπεράνετε ότι το Elastic-Net
η απόδοση του μοντέλου κυμαινόταν μεταξύ 70,000 και 80,000 RMSE και τελικά σταμάτησε, καθώς ο αλγόριθμος δεν ήταν σε θέση να βελτιώσει την απόδοσή του παρά τη δοκιμή διαφόρων τεχνικών προεπεξεργασίας και τιμών υπερπαραμέτρων. Φαίνεται επίσης ότι RandomForest
Η απόδοση διέφερε πολύ ανάλογα με το σύνολο υπερπαραμέτρων που διερευνήθηκε από το HPO, αλλά παρά τις πολλές δοκιμές δεν μπορούσε να πάει κάτω από το σφάλμα 50,000 RMSE. GradientBoosting
πέτυχε την καλύτερη απόδοση ήδη από την αρχή κάτω από τις 50,000 RMSE. Το HPO προσπάθησε να βελτιώσει περαιτέρω αυτό το αποτέλεσμα, αλλά δεν μπόρεσε να επιτύχει καλύτερη απόδοση σε άλλους συνδυασμούς υπερπαραμέτρων. Ένα γενικό συμπέρασμα για όλες τις εργασίες HPO είναι ότι δεν απαιτήθηκαν τόσες πολλές εργασίες για να βρεθεί το σύνολο υπερπαραμέτρων με την καλύτερη απόδοση για κάθε αλγόριθμο. Για να βελτιώσετε περαιτέρω το αποτέλεσμα, θα χρειαστεί να πειραματιστείτε με τη δημιουργία περισσότερων λειτουργιών και την εκτέλεση πρόσθετων μηχανικών χαρακτηριστικών.
Μπορείτε επίσης να εξετάσετε μια πιο λεπτομερή άποψη του συνδυασμού μοντέλου-προεπεξεργαστή για να βγάλετε συμπεράσματα σχετικά με τους πιο πολλά υποσχόμενους συνδυασμούς.
Επιλέξτε το καλύτερο μοντέλο και αναπτύξτε το
Το παρακάτω απόσπασμα κώδικα επιλέγει το καλύτερο μοντέλο με βάση τη χαμηλότερη τιμή στόχου που έχει επιτευχθεί. Στη συνέχεια, μπορείτε να αναπτύξετε το μοντέλο ως τελικό σημείο του SageMaker.
εκκαθάριση
Για να αποτρέψετε ανεπιθύμητες χρεώσεις στον λογαριασμό σας AWS, συνιστούμε να διαγράψετε τους πόρους AWS που χρησιμοποιήσατε σε αυτήν την ανάρτηση:
- Στην κονσόλα Amazon S3, αδειάστε τα δεδομένα από τον κάδο S3 όπου ήταν αποθηκευμένα τα δεδομένα εκπαίδευσης.
- Στην κονσόλα SageMaker, σταματήστε την παρουσία του σημειωματαρίου.
- Διαγράψτε το τελικό σημείο του μοντέλου εάν το αναπτύξατε. Τα τελικά σημεία θα πρέπει να διαγράφονται όταν δεν χρησιμοποιούνται πλέον, επειδή χρεώνονται με βάση τον χρόνο ανάπτυξης.
Συμπέρασμα
Σε αυτήν την ανάρτηση, παρουσιάσαμε πώς να δημιουργήσετε μια προσαρμοσμένη εργασία HPO στο SageMaker χρησιμοποιώντας μια προσαρμοσμένη επιλογή αλγορίθμων και τεχνικών προεπεξεργασίας. Συγκεκριμένα, αυτό το παράδειγμα δείχνει πώς να αυτοματοποιήσετε τη διαδικασία δημιουργίας πολλών σεναρίων εκπαίδευσης και πώς να χρησιμοποιήσετε δομές προγραμματισμού Python για αποτελεσματική ανάπτυξη πολλαπλών παράλληλων εργασιών βελτιστοποίησης. Ελπίζουμε ότι αυτή η λύση θα αποτελέσει τη σκαλωσιά οποιωνδήποτε εργασιών συντονισμού προσαρμοσμένων μοντέλων που θα αναπτύξετε χρησιμοποιώντας το SageMaker για να επιτύχετε υψηλότερη απόδοση και να επιταχύνετε τις ροές εργασίας σας ML.
Δείτε τους παρακάτω πόρους για να εμβαθύνετε περαιτέρω τις γνώσεις σας σχετικά με τον τρόπο χρήσης του SageMaker HPO:
Σχετικά με τους Συγγραφείς
Κόνραντ Σέμς είναι Senior ML Solutions Architect στην ομάδα του Amazon Web Services Data Lab. Βοηθά τους πελάτες να χρησιμοποιούν μηχανική εκμάθηση για να λύσουν τις επιχειρηματικές τους προκλήσεις με το AWS. Του αρέσει να εφευρίσκει και να απλοποιεί για να παρέχει στους πελάτες απλές και ρεαλιστικές λύσεις για τα έργα τους AI/ML. Είναι πιο παθιασμένος με τα MlOps και την παραδοσιακή επιστήμη δεδομένων. Εκτός δουλειάς, είναι μεγάλος λάτρης του windsurfing και του kitesurfing.
Τόνος Ερσόι είναι Senior Solutions Architect στην AWS. Η κύρια εστίασή της είναι να βοηθά τους πελάτες του Δημόσιου Τομέα να υιοθετήσουν τεχνολογίες cloud για τον φόρτο εργασίας τους. Έχει ένα υπόβαθρο στην ανάπτυξη εφαρμογών, την αρχιτεκτονική επιχειρήσεων και τις τεχνολογίες κέντρων επαφής. Τα ενδιαφέροντά της περιλαμβάνουν αρχιτεκτονικές χωρίς διακομιστή και AI/ML.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/implement-a-custom-automl-job-using-pre-selected-algorithms-in-amazon-sagemaker-automatic-model-tuning/
- :έχει
- :είναι
- :δεν
- :που
- $UP
- 000
- 1
- 10
- 100
- 12
- 13
- 14
- 15%
- 20
- 2000
- 22
- 25
- 28
- 30
- 39
- 50
- 7
- 70
- 8
- 80
- 9
- a
- Ικανός
- Σχετικα
- πρόσβαση
- Σύμφωνα με
- Λογαριασμός
- Κατορθώνω
- επιτευχθεί
- απέναντι
- δραστήρια
- Πρόσθετος
- Επιπλέον
- ενστερνίζομαι
- Μετά το
- AI / ML
- στοχεύουν
- αλγόριθμος
- αλγόριθμοι
- Όλα
- Επιτρέποντας
- επιτρέπει
- ήδη
- Επίσης
- Amazon
- Amazon Sage Maker
- Amazon υπηρεσίες Web
- an
- ανάλυση
- αναλύσει
- αναλύοντας
- και
- Άλλος
- κάθε
- Εφαρμογή
- Ανάπτυξη Εφαρμογών
- εφαρμοσμένος
- ισχύει
- Εφαρμογή
- εγκεκριμένη
- αρχιτεκτονική
- ΕΙΝΑΙ
- επιχείρημα
- επιχειρήματα
- AS
- υποθέτω
- At
- αποδίδουν
- αυτόματη
- αυτοματοποίηση
- Αυτόματο
- αυτομάτως
- AutoML
- διαθέσιμος
- AWS
- φόντο
- βάση
- βασίζονται
- Baseline
- Bayesian
- BE
- επειδή
- πριν
- Αρχή
- παρακάτω
- ΚΑΛΎΤΕΡΟΣ
- Καλύτερα
- μεταξύ
- Μεγάλος
- Αποκλεισμός
- Μπλοκ
- και οι δύο
- υποκαταστήματα
- χτίζω
- Κτίριο
- επιχείρηση
- αλλά
- κουμπί
- by
- Καλιφόρνια
- κλήση
- που ονομάζεται
- CAN
- υποψήφιος
- περίπτωση
- περιπτώσεις
- Κέντρο
- αλυσίδες
- προκλήσεις
- αλλαγή
- Αλλαγές
- φορτία
- έλεγχοι
- Επιλέξτε
- τάξη
- CLF
- πελάτης
- Backup
- συστάδα
- ομαδοποίηση
- κωδικός
- Στήλη
- Στήλες
- συνδυασμός
- συνδυασμοί
- σε συνδυασμό
- συνδυάζει
- έρχεται
- σχόλιο
- Κοινός
- πλήρης
- Ολοκληρώθηκε το
- ολοκληρώνοντας
- περίπλοκος
- καταλήγω
- συμπέρασμα
- Διεξαγωγή
- διαμόρφωση
- συνεχής
- πρόξενος
- επικοινωνήστε μαζί μας
- κέντρο επαφών
- Περιέχει
- αντίθεση
- έλεγχος
- Κόστος
- Δικαστικά έξοδα
- θα μπορούσε να
- δημιουργία
- δημιουργήθηκε
- δημιουργία
- κριτήρια
- κρίσιμος
- Τη στιγμή
- έθιμο
- Πελάτες
- ημερομηνία
- επιστημονικά δεδομένα
- σύνολα δεδομένων
- μοιρασιά
- αποφασίζει
- Βαθύνω
- Προεπιλογή
- ορίζεται
- Ορίζει
- καθορίζοντας
- ορισμοί
- αποδεικνύουν
- καταδεικνύει
- εξαρτηθεί
- εξαρτήσεις
- Σε συνάρτηση
- παρατάσσω
- αναπτυχθεί
- ανάπτυξη
- ανάπτυξη
- τάση
- Παρά
- λεπτομέρεια
- λεπτομερής
- καθέκαστα
- ανάπτυξη
- αναπτύχθηκε
- Ανάπτυξη
- αναπτύσσεται
- απόκλιση
- DICT
- διαφορετικές
- Κατάλογοι
- συζητήσουν
- συζήτηση
- do
- Όχι
- τομέα
- Μην
- κάτω
- σχεδιάζω
- στεγνώσει
- διάρκεια
- κατά την διάρκεια
- δυναμικά
- κάθε
- Νωρίς
- αποτελεσματικός
- εξαλείφει
- ενεργοποιήσετε
- Τελικό σημείο
- Μηχανική
- εξασφαλίζω
- εξασφαλίζει
- Εταιρεία
- Ολόκληρος
- εξ ολοκλήρου
- ίσος
- σφάλμα
- αξιολογήσει
- αξιολόγηση
- τελικά
- Κάθε
- εξετάζω
- παράδειγμα
- παραδείγματα
- εκτέλεση
- υπάρχουν
- αναμένω
- αναμένεται
- πείραμα
- εξήγησε
- Εξερευνήθηκε
- διερευνά
- ψευδής
- οικογένειες
- οικογένεια
- ανεμιστήρας
- Χαρακτηριστικό
- Χαρακτηριστικά
- λίγοι
- πεδίο
- Αρχεία
- γεμάτο
- Εύρεση
- εύρεση
- Όνομα
- ταιριάζουν
- πέντε
- Συγκέντρωση
- ακολουθήστε
- Εξής
- εξής
- Για
- δάσος
- μορφή
- μορφή
- ΠΛΑΙΣΙΟ
- από
- εμπρός
- πλήρη
- λειτουργία
- λειτουργικότητα
- λειτουργίες
- περαιτέρω
- General
- παράγουν
- παράγεται
- παραγωγής
- παίρνω
- Git
- GitHub
- δεδομένου
- Go
- γκολ
- μετάβαση
- γραφική παράσταση
- χέρι
- Handles
- Έχω
- που έχει
- he
- βαριά
- βαριά ανύψωση
- βοήθεια
- βοηθά
- αυτήν
- υψηλού επιπέδου
- υψηλότερο
- υψηλότερο
- ελπίζω
- ώρα
- Σπίτι
- νοικοκυριά
- στέγαση
- Πως
- Πώς να
- HTML
- http
- HTTPS
- Βελτιστοποίηση υπερπαραμέτρων
- Ρύθμιση υπερπαραμέτρων
- Ταυτότητα
- if
- εφαρμογή
- εκτέλεση
- εισαγωγή
- εισαγωγές
- βελτίωση
- βελτίωση
- in
- περιλαμβάνουν
- Συμπεριλαμβανομένου
- Αυξάνουν
- υποδεικνύω
- ατομικές
- Μεμονωμένα
- πληροφορίες
- εισαγωγή
- είσοδοι
- Ένθετα
- ιδέες
- παράδειγμα
- αντί
- οδηγίες
- ολοκλήρωση
- εκ προθέσεως
- συμφέροντα
- περιβάλλον λειτουργίας
- σε
- εισήγαγε
- IT
- ΤΟΥ
- εαυτό
- Δουλειά
- Θέσεις εργασίας
- jpg
- μόλις
- μόνο ένα
- Διατήρηση
- Κλειδί
- γνώση
- εργαστήριο
- large
- μεγαλύτερος
- αργότερα
- ξεκίνησε
- δρομολόγηση
- μάθηση
- αριστερά
- Μήκος
- Επίπεδο
- επίπεδα
- κύκλος ζωής
- ανύψωση
- Μου αρέσει
- Πιθανός
- περιορίζοντας
- linux
- φορτίο
- τοπικά
- που βρίσκεται
- τοποθεσία
- λογική
- λογικός
- Μακριά
- πλέον
- ματιά
- Παρτίδα
- χαμηλότερο
- μηχανή
- μάθηση μηχανής
- πολοί
- ανώτατο όριο
- Ενδέχεται..
- εννοώ
- μέσα
- πηγαίνω
- πληρούνται
- Metrics
- ενδέχεται να
- Λεπτ.
- Λείπει
- ML
- MLOps
- μοντέλο
- μοντέλα
- τροποποιήσει
- Παρακολούθηση
- οθόνες
- περισσότερο
- πλέον
- πολλαπλούς
- όνομα
- στενός
- πλοηγεί
- Ανάγκη
- Νέα
- πρόσφατα
- επόμενη
- Όχι.
- Ν/Α
- σημειωματάριο
- Σημειώνεται
- τώρα
- αριθμός
- πολλοί
- αντικείμενο
- σκοπός
- αντικειμένων
- of
- off
- προσφορές
- on
- μια φορά
- ONE
- αποκλειστικά
- ανοίξτε
- λειτουργίες
- βέλτιστη
- βελτιστοποίηση
- Βελτιστοποίηση
- βελτιστοποιημένη
- or
- τάξη
- OS
- ΑΛΛΑ
- Άλλα
- έξω
- παραγωγή
- εκτός
- επί
- φόρμες
- σελίδα
- Πάντα
- Παράλληλο
- παράμετροι
- μέρος
- Ειδικότερα
- Πέρασμα
- παθιασμένος
- μονοπάτι
- Πληρωμή
- Εκτελέστε
- επίδοση
- εκτέλεση
- επιμένει
- κομμάτια
- αγωγού
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- παίζει
- βύσμα
- Σημείο
- σημεία
- πολιτική
- πληθυσμός
- δυνατός
- Θέση
- δυναμικού
- πραγματιστική
- προβλέψει
- Predictor
- Προετοιμάστε
- προαπαιτούμενα
- δώρα
- πρόληψη
- προηγουμένως
- τιμολόγηση
- πρωταρχικός
- Πρόβλημα
- διαδικασια μας
- παράγει
- παραγωγή
- Προγραμματισμός
- Πρόοδος
- σχέδιο
- έργα
- υποσχόμενος
- ιδιότητες
- παρέχουν
- παρέχει
- χορήγηση
- δημόσιο
- σκοπός
- Python
- τυχαίος
- γρήγορα
- φθάσει
- έτοιμος
- λόγος
- πρόσφατα
- συνταγή
- συνιστώ
- αρχεία
- μείωση
- μειώνει
- παραπέμπω
- αναφορά
- σχετικά με
- ρεγεξ
- περιοχή
- κυκλοφόρησε
- υπόλοιπα
- αφαιρέστε
- επαναλαμβάνω
- Αποθήκη
- ζητήσει
- απαιτούν
- απαιτείται
- Υποστηρικτικό υλικό
- εκείνοι
- υπεύθυνος
- περιορισμένος
- αποτέλεσμα
- Αποτελέσματα
- απόδοση
- δεξιά
- Ρόλος
- τρέξιμο
- τρέξιμο
- τρέχει
- runtime
- σοφός
- Αυτόματος συντονισμός μοντέλων SageMaker
- αποθηκεύονται
- Κλίμακα
- απολέπιση
- Επιστήμη
- επιστήμονες
- scikit-μάθετε
- έκταση
- σκορ
- γραφή
- Εφαρμογές
- Δεύτερος
- δευτερόλεπτα
- Τμήμα
- τμήματα
- τομέας
- δείτε
- φαίνεται
- επιλέγονται
- επιλογή
- ΕΑΥΤΟΣ
- αρχαιότερος
- ξεχωριστό
- εξυπηρετούν
- Χωρίς διακομιστή
- υπηρεσία
- Υπηρεσίες
- Συνεδρίαση
- σειρά
- Σέτς
- ρυθμίσεις
- setup
- αυτή
- θα πρέπει να
- παρουσιάστηκε
- παρουσιάζεται
- Δείχνει
- Απλούς
- απλουστεύοντας
- απλά
- Απόσπασμα
- So
- λύση
- Λύσεις
- SOLVE
- μερικοί
- ειδικευμένος
- συγκεκριμένες
- προσδιορισμός
- προδιαγραφές
- καθορίζεται
- ταχύτητα
- διαίρεση
- σωρός
- πρότυπο
- Εκκίνηση
- Ξεκινήστε
- Κατάσταση
- Βήμα
- Βήματα
- στάση
- σταμάτησε
- στάθμευση
- χώρος στο δίσκο
- αποθηκεύονται
- εναποθήκευση
- Στρατηγική
- δομή
- δομές
- Ακολούθως
- τέτοιος
- υποστηριζόνται!
- τραπέζι
- επειξειργασμένος από ραπτήν
- Πάρτε
- στόχος
- Τεχνικός
- τεχνικές
- Τεχνολογίες
- τερματικό
- δοκιμή
- Δοκιμές
- ότι
- Η
- τους
- Τους
- τότε
- Εκεί.
- επομένως
- Αυτοί
- αυτοί
- αυτό
- εκείνοι
- τρία
- κατώφλι
- Μέσω
- ώρα
- προς την
- μαζι
- εργαλείο
- κορυφή
- Σύνολο
- προς
- παραδοσιακός
- Τρένο
- Εκπαίδευση
- μετασχηματισμούς
- δίκη
- δοκιμές
- Προσπάθησα
- ενεργοποιούν
- ενεργοποιήθηκε
- ενεργοποίηση
- προσπαθώντας
- βραχυχρόνιων διακυμάνσεων της ρευστότητας
- δύο
- τύπος
- τύποι
- συνήθως
- ui
- υπό
- κατανόηση
- μοναδικός
- μέχρι
- ανεπιθύμητος
- Φορτώθηκε
- Χρήση
- χρήση
- περίπτωση χρήσης
- μεταχειρισμένος
- χρησιμοποιεί
- χρησιμοποιώντας
- ΕΠΙΚΥΡΩΝΩ
- αξία
- Αξίες
- μεταβλητή
- ποικίλος
- διάφορα
- εκδοχή
- εκδόσεις
- Δες
- οραματισμός
- W
- περιμένετε
- περιδιάβαση
- θέλω
- ήταν
- Τρόπος..
- we
- ιστός
- διαδικτυακές υπηρεσίες
- ΛΟΙΠΌΝ
- ήταν
- Τι
- πότε
- ενώ
- αν
- Ποιό
- WHY
- θα
- με
- εντός
- χωρίς
- Εργασία
- ροής εργασίας
- ροές εργασίας
- εργαζόμενος
- θα
- γράφω
- ακόμη
- Εσείς
- Σας
- τον εαυτό σας
- zephyrnet