Κοινή χρήση μέσω


Μοντέλο εκμάθησης μηχανής στο Microsoft Fabric

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

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

Δημιουργία μοντέλου εκμάθησης μηχανής

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

Μπορείτε να δημιουργήσετε απευθείας ένα μοντέλο εκμάθησης μηχανής από το περιβάλλον εργασίας χρήστη Fabric. Το API MLflow μπορεί επίσης να δημιουργήσει απευθείας το μοντέλο.

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

  1. Δημιουργήστε έναν νέο χώρο εργασίας επιστήμης δεδομένων ή επιλέξτε έναν υπάρχοντα χώρο εργασίας επιστήμης δεδομένων.
  2. Δημιουργήστε έναν νέο χώρο εργασίας ή επιλέξτε έναν υπάρχοντα.
  3. Μπορείτε να δημιουργήσετε ένα νέο στοιχείο μέσω του χώρου εργασίας ή χρησιμοποιώντας τη Δημιουργία.
    1. Χώρο εργασίας:
      1. Επιλέξτε τον χώρο εργασίας σας.
      2. Επιλέξτε νέο στοιχείο.
      3. Επιλέξτε μοντέλου εκμάθησης μηχανής στην περιοχή Ανάλυση και εκπαίδευση δεδομένων. στιγμιότυπο οθόνης που εμφανίζει πού μπορείτε να επιλέξετε Πείραμα στον χώρο εργασίας σας.
    2. Κουμπί "Δημιουργία":
      1. Επιλέξτε Δημιουργία, που μπορείτε να βρείτε στο ... από το κατακόρυφο μενού. Στιγμιότυπο οθόνης του κουμπιού δημιουργίας.
      2. Επιλέξτε μοντέλου εκμάθησης μηχανής στην περιοχή Data Science. Στιγμιότυπο οθόνης που εμφανίζει πού μπορείτε να επιλέξετε Πειραματισμό μετά την επιλογή δημιουργίας.
  4. Μετά τη δημιουργία του μοντέλου, μπορείτε να αρχίσετε να προσθέτετε εκδόσεις μοντέλου για να παρακολουθείτε τα μετρικά και τις παραμέτρους εκτέλεσης. Καταχωρήστε ή αποθηκεύστε εκτελέσεις πειραμάτων σε ένα υπάρχον μοντέλο.

Μπορείτε επίσης να δημιουργήσετε ένα μοντέλο εκμάθησης μηχανής απευθείας από την εμπειρία σύνταξης με το mlflow.register_model() API. Εάν δεν υπάρχει ένα καταχωρημένο μοντέλο εκμάθησης μηχανής με το δεδομένο όνομα, το API το δημιουργεί αυτόματα.

import mlflow

model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")

print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))

Διαχείριση εκδόσεων σε ένα μοντέλο εκμάθησης μηχανής

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

Παρακολούθηση μοντέλων εκμάθησης μηχανής

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

Στιγμιότυπο οθόνης που εμφανίζει την οθόνη λεπτομερειών ενός μοντέλου.

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

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

Εφαρμογή ετικετών σε μοντέλα εκμάθησης μηχανής

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

Αυτός ο κώδικας παρουσιάζει τον τρόπο εκπαίδευσης ενός μοντέλου RandomForestRegressor χρησιμοποιώντας το Scikit-learn, την καταγραφή του μοντέλου και των παραμέτρων με το MLflow και, στη συνέχεια, την καταχώρηση του μοντέλου στο μητρώο μοντέλων MLflow με προσαρμοσμένες ετικέτες. Αυτές οι ετικέτες παρέχουν χρήσιμα μετα-δεδομένα, όπως το όνομα έργου, το τμήμα, την ομάδα και το τρίμηνο έργου, διευκολύνοντας τη διαχείριση και παρακολούθηση της έκδοσης του μοντέλου.

import mlflow.sklearn
from mlflow.models import infer_signature
from sklearn.datasets import make_regression
from sklearn.ensemble import RandomForestRegressor

# Generate synthetic regression data
X, y = make_regression(n_features=4, n_informative=2, random_state=0, shuffle=False)

# Model parameters
params = {"n_estimators": 3, "random_state": 42}

# Model tags for MLflow
model_tags = {
    "project_name": "grocery-forecasting",
    "store_dept": "produce",
    "team": "stores-ml",
    "project_quarter": "Q3-2023"
}

# Log MLflow entities
with mlflow.start_run() as run:
    # Train the model
    model = RandomForestRegressor(**params).fit(X, y)
    
    # Infer the model signature
    signature = infer_signature(X, model.predict(X))
    
    # Log parameters and the model
    mlflow.log_params(params)
    mlflow.sklearn.log_model(model, artifact_path="sklearn-model", signature=signature)

# Register the model with tags
model_uri = f"runs:/{run.info.run_id}/sklearn-model"
model_version = mlflow.register_model(model_uri, "RandomForestRegressionModel", tags=model_tags)

# Output model registration details
print(f"Model Name: {model_version.name}")
print(f"Model Version: {model_version.version}")

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

Στιγμιότυπο οθόνης που εμφανίζει ετικέτες που έχουν εφαρμοστεί σε μια εκτέλεση στη σελίδα λεπτομερειών.

Σύγκριση και φιλτράρισμα μοντέλων εκμάθησης μηχανής

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

Οπτική σύγκριση μοντέλων εκμάθησης μηχανής

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

Στιγμιότυπο οθόνης που εμφανίζει μια λίστα εκτελέσεων για σύγκριση.

Για να συγκρίνετε εκτελέσεις, μπορείτε να κάνετε τα εξής:

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

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

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

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

Εφαρμογή μοντέλων εκμάθησης μηχανής

Μετά την εκπαίδευση ενός μοντέλου σε ένα σύνολο δεδομένων, μπορείτε να εφαρμόσετε αυτό το μοντέλο σε δεδομένα που δεν είδε ποτέ για να δημιουργήσει προβλέψεις. Καλούμε αυτή την τεχνική χρήσης μοντέλου τη βαθμολόγηση ή συμπερασματικών. Για περισσότερες πληροφορίες σχετικά με τη βαθμολόγηση μοντέλου Microsoft Fabric, ανατρέξτε στην επόμενη ενότητα.