Όλοι όσοι έχουν δοκιμάσει την ανάπτυξη μηχανικής μάθησης καταλαβαίνουν πόσο δύσκολο είναι. Εκτός από τα τυπικά προβλήματα στην ανάπτυξη λογισμικού, η ανάπτυξη μηχανικής μάθησης (ML) εισάγει μια σειρά από πρόσθετα εμπόδια.
Εκατοντάδες εργαλεία ανοιχτού κώδικα είναι διαθέσιμα για να βοηθήσουν σε κάθε στάδιο του κύκλου ζωής της ML, από την προετοιμασία δεδομένων έως την εκπαίδευση μοντέλων.
Σε αντίθεση με την παραδοσιακή ανάπτυξη λογισμικού, όταν οι ομάδες επιλέγουν ένα εργαλείο για κάθε βήμα, με την ML γενικά θέλετε να εξερευνήσετε κάθε διαθέσιμο εργαλείο (π.χ. αλγόριθμο) για να δείτε εάν βελτιώνει τα αποτελέσματα.
Ως αποτέλεσμα, οι προγραμματιστές ML πρέπει να χρησιμοποιούν και να παράγουν εκατοντάδες βιβλιοθήκες.
Οι αλγόριθμοι μηχανικής μάθησης περιέχουν χιλιάδες προσαρμόσιμες παραμέτρους και είναι δύσκολο να προσδιοριστούν ποιες παράμετροι, κώδικας και δεδομένα χρησιμοποιήθηκαν σε κάθε πείραμα για τη δημιουργία ενός μοντέλου, είτε εργάζεστε μόνοι είτε σε ομάδα.
Χωρίς την κατάλληλη παρακολούθηση, οι ομάδες συχνά δυσκολεύονται να πάρουν τον ίδιο κωδικό για να λειτουργήσουν ξανά. Είτε είστε επιστήμονας δεδομένων που μεταφέρει τον εκπαιδευτικό σας κώδικα σε έναν μηχανικό για χρήση παραγωγής, είτε επιστρέφετε στην προηγούμενη εργασία σας για να διαγνώσετε ένα πρόβλημα, η υποχώρηση των βημάτων της ροής εργασίας ML είναι ζωτικής σημασίας.
Η μεταφορά ενός μοντέλου στην παραγωγή μπορεί να είναι δύσκολη λόγω των πολυάριθμων μεθόδων ανάπτυξης και των περιβαλλόντων που πρέπει να χρησιμοποιηθούν (π.χ. υπηρεσία REST, συμπέρασμα παρτίδας ή εφαρμογές για κινητά). Δεν υπάρχει κοινή μέθοδος για τη μετακίνηση μοντέλων από οποιαδήποτε βιβλιοθήκη σε οποιοδήποτε από αυτά τα εργαλεία, και έτσι κάθε νέα ανάπτυξη εισάγει έναν κίνδυνο.
Εξαιτίας αυτών των ζητημάτων, είναι προφανές ότι η ανάπτυξη ML πρέπει να βελτιωθεί σημαντικά για να γίνει τόσο σταθερή, προβλέψιμη και ευρέως χρησιμοποιούμενη όσο η παραδοσιακή ανάπτυξη λογισμικού.
Προκλήσεις ML
- Υπάρχει μια πληθώρα διαφορετικών εργαλείων. Εκατοντάδες λύσεις λογισμικού είναι διαθέσιμες για να βοηθήσουν σε κάθε στάδιο του κύκλου ζωής της μηχανικής εκμάθησης, από την προετοιμασία δεδομένων έως την εκπαίδευση μοντέλων. Επιπλέον, σε αντίθεση με την παραδοσιακή ανάπτυξη λογισμικού, όταν οι ομάδες επιλέγουν ένα εργαλείο για κάθε βήμα, στη μηχανική μάθηση (ML), συχνά θέλετε να εξερευνήσετε κάθε διαθέσιμο εργαλείο (π.χ. αλγόριθμος) για να δείτε εάν βελτιώνει τα αποτελέσματα. Ως αποτέλεσμα, οι προγραμματιστές ML πρέπει να χρησιμοποιούν και να παράγουν εκατοντάδες βιβλιοθήκες.
- Είναι δύσκολο να παρακολουθείς τα πειράματα. Οι αλγόριθμοι μηχανικής μάθησης περιέχουν χιλιάδες προσαρμόσιμες παραμέτρους και είναι δύσκολο να προσδιοριστούν ποιες παράμετροι, κώδικας και δεδομένα χρησιμοποιήθηκαν σε κάθε πείραμα για τη δημιουργία ενός μοντέλου, είτε εργάζεστε μόνοι είτε σε ομάδα.
- Είναι δύσκολο να εφαρμοστεί η μηχανική μάθηση. Η μεταφορά ενός μοντέλου στην παραγωγή μπορεί να είναι δύσκολη λόγω των πολυάριθμων μεθόδων ανάπτυξης και των περιβαλλόντων που πρέπει να χρησιμοποιηθούν (π.χ. υπηρεσία REST, συμπέρασμα παρτίδας ή εφαρμογές για κινητά). Δεν υπάρχει κοινή μέθοδος για τη μετακίνηση μοντέλων από οποιαδήποτε βιβλιοθήκη σε οποιοδήποτε από αυτά τα εργαλεία. Έτσι, κάθε νέα ανάπτυξη εισάγει έναν κίνδυνο.
Τι είναι Ροή ML?
Το MLflow είναι μια πλατφόρμα ανοιχτού κώδικα για τον κύκλο ζωής μηχανικής μάθησης. Βασίζεται σε μια ιδέα ανοιχτής διεπαφής, προτείνοντας πολλές βασικές αφαιρέσεις που επιτρέπουν την άμεση ενσωμάτωση της τρέχουσας υποδομής και των αλγορίθμων μηχανικής μάθησης στο σύστημα.
Αυτό σημαίνει ότι εάν είστε προγραμματιστής που θέλει να χρησιμοποιήσει το MLflow αλλά χρησιμοποιεί ένα μη υποστηριζόμενο πλαίσιο, ο σχεδιασμός ανοιχτής διεπαφής καθιστά σχετικά απλή την ενσωμάτωση αυτού του πλαισίου και την έναρξη εργασίας με την πλατφόρμα. Στην πράξη, αυτό σημαίνει ότι η MLflow προορίζεται να λειτουργεί με οποιαδήποτε μάθηση μηχανής βιβλιοθήκη ή γλώσσα.
Επιπλέον, το MLflow προωθεί την επαναληψιμότητα, πράγμα που σημαίνει ότι ο ίδιος κώδικας μηχανικής εκμάθησης εκπαίδευσης ή παραγωγής προορίζεται να εκτελείται με τα ίδια αποτελέσματα ανεξάρτητα από το περιβάλλον, είτε στο cloud, σε έναν τοπικό σταθμό εργασίας ή σε ένα notebook.
Τέλος, το MLflow έχει κατασκευαστεί για επεκτασιμότητα, ώστε να μπορεί να χρησιμοποιηθεί από μια μικρή ομάδα επιστημόνων δεδομένων καθώς και από μια μεγάλη εταιρεία με εκατοντάδες επαγγελματίες μηχανικής μάθησης.
Το MLflow είναι συμβατό με οποιαδήποτε βιβλιοθήκη μηχανικής εκμάθησης, αλγόριθμο, εργαλείο ανάπτυξης ή γλώσσα. Έχει επίσης τα ακόλουθα πλεονεκτήματα:
- Σχεδιασμένο για να λειτουργεί με οποιαδήποτε υπηρεσία cloud.
- Κλίμακα σε τεράστια δεδομένα με το Apache Spark.
- Το MLflow είναι συμβατό με μια ποικιλία πλαισίων μηχανικής μάθησης ανοιχτού κώδικα, συμπεριλαμβανομένου του Apache Spark, TensorFlow, να SciKit-Learn.
Εάν έχετε ήδη κώδικα, το MLflow μπορεί να χρησιμοποιηθεί μαζί του. Μπορείτε ακόμη και να μοιραστείτε το πλαίσιο και τα μοντέλα σας μεταξύ επιχειρήσεων επειδή είναι ανοικτού κώδικα.
Στοιχεία MLflow: Πώς λειτουργούν;
Το MLflow είναι μια δωρεάν και ανοιχτού κώδικα πλατφόρμα για τη διαχείριση του κύκλου ζωής ML, ο οποίος περιλαμβάνει πειραματισμό, αναπαραγωγιμότητα, ανάπτυξη και ένα ενιαίο μητρώο μοντέλου. Επί του παρόντος, το MLflow έχει τέσσερα στοιχεία:
1. Παρακολούθηση MLflow
Θα ξεκινήσω με την παρακολούθηση MLflow. Το MLflow υποστηρίζει τη συλλογή διαφόρων βασικών εννοιών που συνδέονται με ένα κεντρικό αποθετήριο παρακολούθησης μεταδεδομένων εκπαίδευσης. Η πρώτη ιδέα είναι μια συλλογή κρίσιμων υπερπαραμέτρων ή κουμπιών διαμόρφωσης που επηρεάζουν την απόδοση του μοντέλου. Η χρήση των API του MLflow και μιας κεντρικής υπηρεσίας παρακολούθησης μπορεί να διατηρήσει όλα αυτά.
Οι χρήστες μπορούν επίσης να καταγράφουν δεδομένα απόδοσης για να λάβουν πληροφορίες για την επιτυχία των μοντέλων μηχανικής εκμάθησης τους. Επιπλέον, για επαναληψιμότητα, το MLflow επιτρέπει στους χρήστες να καταγράφουν τον συγκεκριμένο πηγαίο κώδικα που χρησιμοποιήθηκε για τη δημιουργία ενός μοντέλου καθώς και την έκδοσή του, ενσωματώνοντας στενά με το Git για να συνδέσουν κάθε μοντέλο με ένα συγκεκριμένο κατακερματισμό δέσμευσης.
Το MLflow μπορεί να χρησιμοποιηθεί για την καταγραφή τεχνουργημάτων, τα οποία είναι τυχόν αυθαίρετα αρχεία, συμπεριλαμβανομένης της εκπαίδευσης, των δεδομένων δοκιμής και των ίδιων των μοντέλων για αναπαραγωγιμότητα.
Αυτό σημαίνει ότι αν είμαι προγραμματιστής που μόλις εκπαίδευσε ένα μοντέλο, μπορώ να το επιμείνω στην κεντρική υπηρεσία παρακολούθησης και ένας από τους συναδέλφους μου μπορεί να το φορτώσει αργότερα και είτε να συνεχίσει να εκπαιδεύει και να πειραματίζεται είτε να παράγει αυτό το μοντέλο για να καλύψει μια συγκεκριμένη ανάγκη .
Κατά την εκτέλεση του κώδικα μηχανικής εκμάθησης και μετά την προβολή των αποτελεσμάτων, η παρακολούθηση είναι ένα API που σας επιτρέπει να καταγράφετε παραμέτρους, εκδόσεις κώδικα, μετρήσεις και αρχεία εξόδου. Είναι γραμμένο σε Python, R και Java, μεταξύ άλλων γλωσσών. Είναι επίσης προσβάσιμο ως REST API, το οποίο μπορεί να χρησιμοποιηθεί για τη δημιουργία εφαρμογών πάνω από αυτό.
Βασικά χαρακτηριστικά
- Πολλοί προγραμματιστές χρησιμοποιούν το MLflow στον τοπικό τους υπολογιστή, όπου το backend και η αποθήκευση τεχνουργημάτων μοιράζονται έναν κατάλογο στο δίσκο.
- Πολλοί χρήστες χρησιμοποιούν επίσης το SQLite, μια βάση δεδομένων συμβατή με SQLAlchemy, για την εκτέλεση του MLflow στους τοπικούς υπολογιστές τους.
- Το MLflow υποστηρίζει επίσης κατανεμημένες αρχιτεκτονικές. Ο διακομιστής παρακολούθησης, το κατάστημα υποστήριξης και το κατάστημα αντικειμένων φιλοξενούνται όλα σε διαφορετικούς διακομιστές σε αυτούς.
- Εάν η εκτέλεση ξεκίνησε από ένα έργο MLflow, χρησιμοποιήθηκε ο κατακερματισμός δέσμευσης git. Τα API MLflow Python, R, Java και REST μπορούν να χρησιμοποιηθούν για την καταγραφή δεδομένων για εκτέλεση.
Για περισσότερες πληροφορίες, μπορείτε να ανατρέξετε στον επίσημο τεκμηρίωση.
2. Έργα MLFlow
Αφού περάσαμε από τα στοιχεία παρακολούθησης, θα ήθελα να μιλήσω για έργα MLflow, τα οποία είναι μια επαναλαμβανόμενη δομή συσκευασίας για εκπαιδευτικές συνεδρίες μοντέλων ανεξάρτητα από το πλαίσιο εκτέλεσης.
Οι επιχειρήσεις χρησιμοποιούν ένα ευρύ φάσμα τεχνολογιών εκπαίδευσης μηχανικής μάθησης, αλλά χρησιμοποιούν επίσης αυτά τα εκπαιδευτικά εργαλεία σε ποικίλα πλαίσια. Για παράδειγμα, μπορεί να εκτελούν τον εκπαιδευτικό τους κώδικα στο cloud, σε τοπικό υπολογιστή ή σε σημειωματάριο.
Αυτό οδηγεί στο πρόβλημα ότι τα αποτελέσματα μηχανικής μάθησης είναι δύσκολο να αναπαραχθούν. Συχνά, ο ίδιος πανομοιότυπος κώδικας εκπαίδευσης δεν εκτελεί ή δεν αποδίδει τα ίδια αποτελέσματα σε δύο ξεχωριστές τοποθεσίες.
Η λύση που παρέχεται από το MLflow είναι ένας αυτόνομος ορισμός έργου κώδικα εκπαίδευσης που περιλαμβάνει όλο τον εκπαιδευτικό κώδικα μηχανικής εκμάθησης, καθώς και τις εξαρτήσεις της βιβλιοθήκης της έκδοσης, τις ρυθμίσεις και τα δεδομένα εκπαίδευσης και δοκιμής.
Η MLflow διασφαλίζει την αναπαραγωγιμότητα σε όλα τα πλαίσια εκτέλεσης, περιγράφοντας με σαφήνεια ολόκληρο το σύνολο των απαιτήσεων για μια διαδικασία εκπαίδευσης μηχανικής μάθησης. Αυτό το επιτυγχάνει εγκαθιστώντας όλες αυτές τις βιβλιοθήκες και ολοκληρώνοντας την ίδια κατάσταση συστήματος στην οποία εκτελείται ο κώδικας.
Το έργο MLflow δεν είναι τίποτα άλλο παρά ένας κατάλογος. Είναι ένας κατάλογος που περιλαμβάνει τον κώδικα εκπαίδευσης, τον ορισμό της εξάρτησης της βιβλιοθήκης και άλλα δεδομένα που είναι απαραίτητα για την εκπαίδευση, καθώς και αυτό το προαιρετικό αρχείο διαμόρφωσης.
Αυτές οι απαιτήσεις βιβλιοθήκης μπορούν να οριστούν με διάφορους τρόπους. Οι χρήστες μπορούν, για παράδειγμα, να παρέχουν μια προδιαγραφή περιβάλλοντος anaconda με μορφοποίηση YAML για να παραθέσουν τις απαιτήσεις βιβλιοθήκης κώδικα εκπαίδευσης τους. Το MLflow θα εκτελέσει τον εκπαιδευτικό κώδικα μέσα στο κοντέινερ. Σε μια τέτοια περίπτωση, μπορούν επίσης να περιλαμβάνουν ένα κοντέινερ Docker.
Τέλος, το MLflow διαθέτει διεπαφή γραμμής εντολών (CLI) για την εκτέλεση αυτών των έργων, καθώς και Python και Java API. Αυτά τα έργα μπορούν να εκτελεστούν στο τοπικό σύστημα του χρήστη καθώς και σε μια ποικιλία απομακρυσμένων ρυθμίσεων, όπως ο προγραμματιστής εργασιών Databricks και το Kubernetes. Τα έργα MLflow σάς επιτρέπουν να συσκευάζετε τον κώδικα της επιστήμης δεδομένων με επαναλαμβανόμενο και επαναχρησιμοποιήσιμο τρόπο, κυρίως βάσει προτύπων.
Το στοιχείο έργων περιλαμβάνει ένα API καθώς και βοηθητικά προγράμματα γραμμής εντολών για τη διαχείριση έργων. Αυτές οι δυνατότητες εγγυώνται ότι τα έργα μπορούν να συνδεθούν μεταξύ τους για να σχηματίσουν διαδικασίες μηχανικής μάθησης.
Βασικά χαρακτηριστικά
- Το MLflow υποστηρίζει περιβάλλοντα έργου, συμπεριλαμβανομένου του περιβάλλοντος κοντέινερ Docker, του περιβάλλοντος Conda και του περιβάλλοντος συστήματος.
- Οποιοδήποτε αποθετήριο Git ή τοπικός κατάλογος μπορεί να θεωρηθεί ως έργο MLflow. από προεπιλογή; μπορείτε να χρησιμοποιήσετε οποιοδήποτε κέλυφος ή Σενάριο Python στον κατάλογο ως σημείο εισόδου του έργου.
- Οι εξαρτήσεις που δεν είναι Python, όπως οι βιβλιοθήκες Java, μπορούν να καταγραφούν χρησιμοποιώντας κοντέινερ Docker.
- Μπορείτε να αποκτήσετε μεγαλύτερο έλεγχο σε ένα Έργο MLflow προσθέτοντας ένα αρχείο έργου στον ριζικό κατάλογο του έργου, που είναι ένα αρχείο κειμένου στη σύνταξη YAML.
Για περισσότερες πληροφορίες, μπορείτε να ανατρέξετε στον επίσημο τεκμηρίωση.
3. Μοντέλα MLflow
Τώρα, θα ήθελα να συζητήσω τα μοντέλα MLflow, μια μορφή μοντέλου γενικής χρήσης που υποστηρίζει ένα ευρύ φάσμα πλαισίων παραγωγής. Ο λόγος για τα μοντέλα MLflow είναι πλέον αρκετά παρόμοιος με αυτόν των έργων.
Και πάλι, βλέπουμε ότι τα μοντέλα μπορεί να δημιουργηθούν χρησιμοποιώντας ένα ευρύ φάσμα εργαλείων, αλλά μπορούν επίσης να παραχθούν ή να αναπτυχθούν σε ένα μεγάλο εύρος καταστάσεων, σε αντίθεση με τα περιβάλλοντα εκπαίδευσης.
Αυτές οι ρυθμίσεις περιλαμβάνουν εργαλεία για προβολή σε πραγματικό χρόνο, όπως το Kubernetes ή το Amazon SageMaker, καθώς και τη ροή και τη βαθμολογία δέσμης, όπως το Spark. Επιπλέον, ορισμένες επιχειρήσεις μπορεί να επιλέξουν να αναπτύξουν μοντέλα ως υπηρεσία ιστού RESTful που εκτελείται σε μια προρυθμισμένη παρουσία cloud.
Ένα μοντέλο MLflow, όπως ένα έργο, είναι μια δομή καταλόγου. Περιλαμβάνει ένα αρχείο διαμόρφωσης και, αυτή τη φορά, ένα σειριακό τεχνούργημα μοντέλου αντί για κώδικα εκπαίδευσης. Περιλαμβάνει επίσης αυτό το σύνολο εξαρτήσεων για επαναληψιμότητα ως έργο. Αυτή τη φορά, θα εξετάσουμε τις εξαρτήσεις αξιολόγησης στο πλαίσιο ενός περιβάλλοντος Conda.
Επιπλέον, το MLflow περιλαμβάνει εργαλεία δημιουργίας μοντέλων για σειριοποίηση μοντέλων σε μορφή MLflow από μια σειρά δημοφιλών πλαισίων. Τέλος, το MLflow προσθέτει αναπτύξεις, API για την παραγωγή και τη σύνδεση οποιουδήποτε μοντέλου MLflow σε μια σειρά υπηρεσιών και αυτά τα API είναι προσβάσιμα σε Python, Java, R και σε μορφή CLI.
Τα μοντέλα είναι ένα στοιχείο με τυπική δομή για μοντέλα συσκευασίας που μπορούν να χρησιμοποιηθούν και να κατανοηθούν από μεταγενέστερα εργαλεία όπως οι διακομιστές συμπερασμάτων ή οι Βάσεις δεδομένων πλατφόρμα συμπερασμάτων παρτίδας. Αυτό το στοιχείο εξοικονομεί ώρες προσαρμοσμένου κώδικα κατά τη συσκευασία ενός μοντέλου για παραγωγή.
Το μοντέλο MLflow είναι ένα πρότυπο για τη συσκευασία μοντέλων μηχανικής εκμάθησης σε μια ποικιλία μορφών γνωστών ως "γεύσεις". Το MLflow παρέχει πολλά εργαλεία για να σας βοηθήσει στην ανάπτυξη διαφόρων τύπων μοντέλων. Κάθε μοντέλο MLflow διατηρείται ως κατάλογος που περιέχει αυθαίρετα αρχεία καθώς και ως αρχείο περιγραφής μοντέλου ML με μια λίστα με τις γεύσεις στις οποίες μπορεί να χρησιμοποιηθεί.
Βασικά χαρακτηριστικά
- Όλα τα ενσωματωμένα εργαλεία ανάπτυξης του MLflow προσφέρουν πολλαπλές «τυποποιημένες» γεύσεις, όπως μια γεύση «Python function» που εξηγεί πώς να εκτελέσετε το μοντέλο ως συνάρτηση Python.
- Κάθε μοντέλο MLflow αποτελείται από έναν κατάλογο που περιέχει αυθαίρετα αρχεία, καθώς και από ένα αρχείο μοντέλου ML στη ρίζα του καταλόγου που καθορίζει τις πολυάριθμες γεύσεις του μοντέλου.
- Κατά την αποθήκευση ενός μοντέλου, το MLflow σάς επιτρέπει να καθορίσετε μια παράμετρο περιβάλλοντος Conda που περιέχει τις εξαρτήσεις του μοντέλου. Εάν δεν έχει καθοριστεί περιβάλλον Conda, δημιουργείται ένα προεπιλεγμένο περιβάλλον με βάση τη γεύση του μοντέλου. Μετά από αυτό, το περιβάλλον Conda αποθηκεύεται στο conda.yaml.
Για περισσότερες πληροφορίες, μπορείτε να ανατρέξετε στον επίσημο τεκμηρίωση.
4. Μητρώο μοντέλων MLflow
Ένα μητρώο μοντέλων είναι ένα αποθετήριο για μοντέλα εκμάθησης μηχανικής μάθησης (ML). Το Μητρώο Μοντέλων αποτελείται από API και μια διαδικτυακή εφαρμογή που χρησιμοποιείται για τη διατήρηση μοντέλων σε διάφορες φάσεις ως ομάδα. Model Lineage, Model Versioning, Easy Stage Transition και Annotation είναι μερικές μόνο από τις δυνατότητες που είναι διαθέσιμες στο Model Registry.
Ένα μητρώο μοντέλων, εκτός από τα ίδια τα μοντέλα, περιέχει πληροφορίες (μεταδεδομένα) σχετικά με τα δεδομένα και τις εκπαιδευτικές εργασίες που χρησιμοποιούνται για την κατασκευή του μοντέλου. Είναι κρίσιμο να παρακολουθείτε αυτές τις απαιτούμενες εισόδους για να δημιουργήσετε σειρά για μοντέλα ML. Από αυτή την άποψη, ένα μητρώο μοντέλων λειτουργεί παρόμοια με το συμβατικό λογισμικό Έλεγχος έκδοσης συστήματα (π.χ. Git, SVN) και αποθετήρια τεχνουργημάτων (π.χ. Artifactory, PyPI).
Το Μητρώο Μοντέλων είναι ένα πλαίσιο που επιτρέπει σε επιστήμονες δεδομένων και μηχανικούς μηχανικής μάθησης να δημοσιεύουν, να δοκιμάζουν, να παρακολουθούν, να διαχειρίζονται και να διανέμουν τα μοντέλα τους για συνεργασία με άλλες ομάδες. Ουσιαστικά, το μητρώο μοντέλων χρησιμοποιείται μόλις ολοκληρώσετε τη φάση δοκιμών και είστε έτοιμοι να μοιραστείτε τα ευρήματά σας με την ομάδα και τους ενδιαφερόμενους φορείς.
Το Μητρώο Μοντέλων MLflow παρέχει ένα API και μια διεπαφή χρήστη για τη διαχείριση των μοντέλων σας και της διάρκειας ζωής τους από μια κεντρική τοποθεσία. Η σειρά μοντέλων, η έκδοση μοντέλων, οι σχολιασμοί και οι μεταβάσεις σταδίων είναι όλα διαθέσιμα μέσω του μητρώου.
Στο MLflow, ένα καταχωρημένο μοντέλο είναι αυτό με μοναδικό όνομα και μεταδεδομένα, εκδόσεις μοντέλου, μεταβατικές φάσεις και γραμμή μοντέλου. Μία ή περισσότερες εκδόσεις μοντέλου μπορούν να βρεθούν σε ένα καταχωρημένο μοντέλο. Ένα νέο μοντέλο θεωρείται έκδοση 1 όταν είναι καταχωρημένο στο μητρώο. Η ακόλουθη έκδοση προστίθεται σε οποιοδήποτε νέο μοντέλο με το ίδιο όνομα.
Μπορείτε να αντιστοιχίσετε ένα βήμα σε οποιαδήποτε έκδοση μοντέλου ανά πάσα στιγμή. Ωστόσο, τα στάδια πρέπει να εκχωρηθούν στις φάσεις MLflow που έχουν καθοριστεί επίσημα, όπως η σταδιοποίηση, η παραγωγή και η αρχειοθέτηση. Μια έκδοση μοντέλου μπορεί να μεταφερθεί από το ένα στάδιο στο άλλο.
Το MLflow σάς επιτρέπει να χρησιμοποιείτε τη σήμανση για να σχολιάσετε τόσο το μοντέλο ανώτατου επιπέδου όσο και κάθε συγκεκριμένη έκδοση. Μπορείτε να συμπεριλάβετε περιγραφές καθώς και άλλες σχετικές πληροφορίες, όπως επεξηγήσεις αλγορίθμων, μεθοδολογία και σύνολα δεδομένων που χρησιμοποιούνται.
Βασικά χαρακτηριστικά
- Για να αποκτήσετε πρόσβαση στο μητρώο μοντέλων μέσω του UI ή του API όταν φιλοξενείτε τον δικό σας διακομιστή MLflow, πρέπει να χρησιμοποιήσετε ένα backend store που υποστηρίζεται από βάση δεδομένων.
- Το Μητρώο Μοντέλων μπορεί επίσης να προσπελαστεί μέσω της γεύσης μοντέλου MLflow ή της διεπαφής API παρακολούθησης πελάτη MLflow. Μπορείτε, για παράδειγμα, να καταχωρήσετε ένα μοντέλο κατά τη διάρκεια μιας εκτέλεσης πειράματος MLflow ή μετά την εκτέλεση όλων των πειραμάτων σας.
- Δεν θα αρχίσουν όλοι να εκπαιδεύουν τα μοντέλα τους χρησιμοποιώντας το MLflow. Ως αποτέλεσμα, μπορεί να έχετε εκπαιδεύσει ορισμένα μοντέλα πριν χρησιμοποιήσετε το MLflow. Αντί να επανεκπαιδεύσετε τα μοντέλα, θέλετε απλώς να καταχωρήσετε τα αποθηκευμένα μοντέλα σας στο Μητρώο Μοντέλων.
Για περισσότερες πληροφορίες, μπορείτε να ανατρέξετε στον επίσημο τεκμηρίωση.
Συμπέρασμα
Το MLflow είναι ένα εξαιρετικό και συνεχώς αναπτυσσόμενο εργαλείο κύκλου ζωής ML. Μπορείτε να το χρησιμοποιήσετε μαζί με τα τρέχοντα εργαλεία και τις πλατφόρμες σας.
Υποστηρίζει πολλές γλώσσες προγραμματισμού, συμπεριλαμβανομένων των Python, Java και R. Μπορείτε επίσης να παρακολουθείτε γρήγορα, να αποθηκεύετε και να συγκρίνετε διαφορετικές εκδόσεις μοντέλων χάρη στον φιλικό προς τον χρήστη σχεδιασμό του.
Δοκιμάστε το MLflow και πείτε μας την εμπειρία σας!
Αφήστε μια απάντηση