Share via


Πειράματα εκμάθησης μηχανής στο Microsoft Fabric

Ένα πείραμα εκμάθησης μηχανής είναι η κύρια μονάδα οργανισμού και ελέγχου για όλες τις σχετικές εκτελέσεις εκμάθησης μηχανής. Μια εκτέλεση αντιστοιχεί σε μία μόνο εκτέλεση κώδικα μοντέλου. Στο MLflow, η παρακολούθηση βασίζεται σε πειράματα και εκτελέσεις.

Τα πειράματα εκμάθησης μηχανής επιτρέπουν στους επιστήμονες δεδομένων να καταγράφουν παραμέτρους, εκδόσεις κώδικα, μετρικά και αρχεία εξόδου κατά την εκτέλεση του κώδικα εκμάθησης μηχανής. Τα πειράματα σάς επιτρέπουν επίσης να απεικονίζετε, να αναζητάτε και να συγκρίνετε εκτελέσεις, καθώς και να κάνετε λήψη αρχείων εκτέλεσης και μετα-δεδομένων για ανάλυση σε άλλα εργαλεία.

Σε αυτό το άρθρο, θα μάθετε περισσότερα σχετικά με τον τρόπο με τον οποίο οι επιστήμονες δεδομένων μπορούν να αλληλεπιδράσουν και να χρησιμοποιήσουν πειράματα εκμάθησης μηχανής για να οργανώσουν τη διαδικασία ανάπτυξής τους και να παρακολουθούν πολλές εκτελέσεις.

Προαπαιτούμενα στοιχεία

Δημιουργία πειράματος

Μπορείτε να δημιουργήσετε ένα πείραμα εκμάθησης μηχανής απευθείας από την αρχική σελίδα επιστήμης δεδομένων στο περιβάλλον εργασίας χρήστη του Power BI (UI) ή γράφοντας κώδικα που χρησιμοποιεί το API MLflow.

Δημιουργία πειράματος με χρήση του περιβάλλοντος εργασίας χρήστη

Για να δημιουργήσετε ένα πείραμα εκμάθησης μηχανής από το περιβάλλον εργασίας χρήστη:

  1. Δημιουργήστε έναν νέο χώρο εργασίας επιστήμης δεδομένων ή επιλέξτε έναν υπάρχοντα.

  2. Επιλέξτε Πείραμα από την ενότητα "Νέο".

  3. Εισαγάγετε ένα όνομα πειράματος και επιλέξτε Δημιουργία. Αυτή η ενέργεια δημιουργεί ένα κενό πείραμα εντός του χώρου εργασίας σας.

    Screenshot showing where to select Experiment in the New menu.

Μετά τη δημιουργία του πειράματος, μπορείτε να αρχίσετε να προσθέτετε εκτελέσεις για την παρακολούθηση μετρικών και παραμέτρων εκτέλεσης.

Δημιουργία πειράματος με χρήση του API MLflow

Μπορείτε επίσης να δημιουργήσετε ένα πείραμα εκμάθησης μηχανής απευθείας από την εμπειρία σύνταξης, χρησιμοποιώντας τα mlflow.create_experiment() API ή mlflow.set_experiment() . Στον παρακάτω κώδικα, αντικαταστήστε <EXPERIMENT_NAME> το με το όνομα του πειράματος σας.

import mlflow
 
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")

# This will set the given experiment as the active experiment. 
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")

Διαχείριση εκτελέσεων σε ένα πείραμα

Ένα πείραμα εκμάθησης μηχανής περιέχει μια συλλογή εκτελέσεων για απλοποιημένη παρακολούθηση και σύγκριση. Στο πλαίσιο ενός πειράματος, ένας επιστήμονας δεδομένων μπορεί να περιηγηθεί σε διάφορες εκτελέσεις και να εξερευνήσει τις υποκείμενες παραμέτρους και τα μετρικά. Οι επιστήμονες δεδομένων μπορούν επίσης να συγκρίνουν εκτελέσεις μέσα σε ένα πείραμα εκμάθησης μηχανής για να προσδιορίσουν ποιο υποσύνολο παραμέτρων αποδίδει μια επιθυμητή απόδοση μοντέλου.

Παρακολούθηση εκτελέσεων

Μια εκτέλεση εκμάθησης μηχανής αντιστοιχεί σε μία μόνο εκτέλεση κώδικα μοντέλου.

Screenshot of machine learning run detail page.

Κάθε εκτέλεση περιλαμβάνει τις ακόλουθες πληροφορίες:

  • Προέλευση: Το όνομα του σημειωματάριου που δημιούργησε την εκτέλεση.
  • Καταχωρημένη έκδοση: Υποδεικνύει εάν η εκτέλεση αποθηκεύτηκε ως μοντέλο εκμάθησης μηχανής.
  • Ημερομηνία έναρξης: Ώρα έναρξης της εκτέλεσης.
  • Κατάσταση: Πρόοδος της εκτέλεσης.
  • Hyperparameters: Οι υπερπαραμετήρες αποθηκεύονται ως ζεύγη κλειδιού-τιμής. Αμφότερα τα κλειδιά και οι τιμές είναι συμβολοσειρές.
  • Μετρικά: Εκτελέστε τα μετρικά που έχουν αποθηκευτεί ως ζεύγη κλειδιού-τιμής. Η τιμή είναι αριθμητική.
  • Αρχεία εξόδου: Αρχεία εξόδου σε οποιαδήποτε μορφή. Για παράδειγμα, μπορείτε να καταγράψετε εικόνες, περιβάλλον, μοντέλα και αρχεία δεδομένων.

Προβολή πρόσφατων εκτελέσεων

Μπορείτε επίσης να προβάλετε πρόσφατες εκτελέσεις για ένα πείραμα απευθείας από την προβολή λίστας χώρων εργασίας. Αυτή η προβολή σάς επιτρέπει να παρακολουθείτε την πρόσφατη δραστηριότητα, να μεταβείτε γρήγορα στη σχετική εφαρμογή Spark και να εφαρμόσετε φίλτρα με βάση την κατάσταση εκτέλεσης.

Screenshot of machine learning recent runs and Spark application view.

Σύγκριση και φιλτράρισμα εκτελέσεων

Για να συγκρίνετε και να αξιολογήσετε την ποιότητα των εκτελέσεων εκμάθησης μηχανής, μπορείτε να συγκρίνετε τις παραμέτρους, τα μετρικά και τα μετα-δεδομένα μεταξύ των επιλεγμένων εκτελέσεων σε ένα πείραμα.

Οπτική σύγκριση εκτελέσεων

Μπορείτε να συγκρίνετε και να φιλτράρετε οπτικά εκτελέσεις σε ένα υπάρχον πείραμα. Η οπτική σύγκριση σάς επιτρέπει να περιηγηθείτε εύκολα μεταξύ πολλών εκτελέσεων και ταξινόμησης σε αυτές.

Screenshot showing a list of runs and the chart view.

Για τη σύγκριση εκτελέσεων:

  1. Επιλέξτε ένα υπάρχον πείραμα εκμάθησης μηχανής που περιέχει πολλές εκτελέσεις.
  2. Επιλέξτε την καρτέλα Προβολή και, στη συνέχεια, μεταβείτε στην προβολή Λίστα εκτέλεσης. Εναλλακτικά, μπορείτε να επιλέξετε Προβολή λίστας εκτέλεσης απευθείας από την προβολή Λεπτομέρειες εκτέλεσης .
  3. Προσαρμόστε τις στήλες μέσα στον πίνακα αναπτύσσοντας το τμήμα παραθύρου Προσαρμογή στηλών . Εδώ, μπορείτε να επιλέξετε τις ιδιότητες, τα μετρικά και τα υπερπαραμέτρους που θα θέλατε να δείτε.
  4. Αναπτύξτε το τμήμα παραθύρου Φίλτρα για να περιορίσετε τα αποτελέσματά σας με βάση ορισμένα επιλεγμένα κριτήρια.
  5. Επιλέξτε πολλές εκτελέσεις για να συγκρίνετε τα αποτελέσματά τους στο τμήμα παραθύρου σύγκρισης μετρικών. Από αυτό το τμήμα παραθύρου, μπορείτε να προσαρμόσετε τα γραφήματα αλλάζοντας τον τίτλο γραφήματος, τον τύπο απεικόνισης, τον άξονα Χ, τον άξονα Υ και πολλά άλλα.

Σύγκριση εκτελέσεων με χρήση του API MLflow

Οι επιστήμονες δεδομένων μπορούν επίσης να χρησιμοποιήσουν MLflow για να υποβάλλουν ερωτήματα και να αναζητήσουν μεταξύ εκτελέσεων σε ένα πείραμα. Μπορείτε να εξερευνήσετε περισσότερα API MLflow για αναζήτηση, φιλτράρισμα και σύγκριση εκτελέσεων, μεταβαίνοντας στην τεκμηρίωση της MLflow.

Λήψη όλων των εκτελέσεων

Μπορείτε να χρησιμοποιήσετε το API mlflow.search_runs() αναζήτησης MLflow για να λάβετε όλες τις εκτελέσεις σε ένα πείραμα, αντικαθιστώντας <EXPERIMENT_NAME> το όνομα του πειράματος ή <EXPERIMENT_ID> με το αναγνωριστικό πειραματισμού σας στον ακόλουθο κώδικα:

import mlflow

# Get runs by experiment name: 
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])

# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])

Φιλοδώρημα

Μπορείτε να κάνετε αναζήτηση σε πολλά πειράματα, παρέχοντας μια λίστα με αναγνωριστικά πειραμάτων στην experiment_ids παράμετρο. Παρομοίως, η παροχή μιας λίστας ονομάτων πειραμάτων στην παράμετρο θα επιτρέψει στη experiment_names MLflow την αναζήτηση σε πολλά πειράματα. Αυτό μπορεί να είναι χρήσιμο εάν θέλετε να κάνετε σύγκριση μεταξύ εκτελέσεων σε διαφορετικά πειράματα.

Παραγγελίες και περιορισμός εκτελέσεων

Χρησιμοποιήστε την παράμετρο από search_runs το max_results για να περιορίσετε τον αριθμό των εκτελέσεων που επιστρέφονται. Η order_by παράμετρος σάς επιτρέπει να παρατίθενται οι στήλες προς ταξινόμηση κατά και μπορεί να περιέχει μια προαιρετική DESC τιμή ή ASC . Για παράδειγμα, το παρακάτω παράδειγμα επιστρέφει την τελευταία εκτέλεση ενός πειράματος.

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Σύγκριση εκτελέσεων σε ένα σημειωματάριο Fabric

Μπορείτε να χρησιμοποιήσετε το γραφικό στοιχείο σύνταξης MLFlow στα σημειωματάρια Fabric για να παρακολουθείτε τις εκτελέσεις MLflow που δημιουργούνται σε κάθε κελί σημειωματάριου. Το γραφικό στοιχείο σάς επιτρέπει να παρακολουθείτε τις εκτελέσεις σας, συσχετισμένα μετρικά, παραμέτρους και ιδιότητες μέχρι το επίπεδο του μεμονωμένου κελιού.

Για να λάβετε μια οπτική σύγκριση, μπορείτε επίσης να μεταβείτε στην προβολή σύγκρισης Εκτέλεση. Αυτή η προβολή παρουσιάζει τα δεδομένα γραφικά, βοηθώντας στη γρήγορη αναγνώριση μοτίβων ή αποκλίσεων μεταξύ διαφορετικών εκτελέσεων.

Screenshot showing how to use the MLFlow authoring widget.

Αποθήκευση εκτέλεσης ως μοντέλου εκμάθησης μηχανής

Όταν μια εκτέλεση αποδώσει το επιθυμητό αποτέλεσμα, μπορείτε να αποθηκεύσετε την εκτέλεση ως μοντέλο για βελτιωμένη παρακολούθηση μοντέλου και για ανάπτυξη μοντέλου, επιλέγοντας Αποθήκευση ως μοντέλο εκμάθησης μηχανής.

Screenshot showing where to select Create a new model.