Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ένα μοντέλο εκμάθησης μηχανής είναι ένα αρχείο που έχει εκπαιδευτεί για να αναγνωρίζει συγκεκριμένους τύπους μοτίβων. Εκπαιδεύετε ένα μοντέλο σε ένα σύνολο δεδομένων και του παρέχετε έναν αλγόριθμο που χρησιμοποιεί για να εξηγήσει περισσότερα και να μάθει από αυτό το σύνολο δεδομένων. Μετά την εκπαίδευση του μοντέλου, μπορείτε να το χρησιμοποιήσετε για να αιτιολόγησετε δεδομένα που δεν είδε ποτέ πριν και να κάνετε προβλέψεις σχετικά με αυτά τα δεδομένα.
Σε MLflow, ένα μοντέλο εκμάθησης μηχανής μπορεί να περιλαμβάνει πολλές εκδόσεις μοντέλου. Εδώ, κάθε έκδοση μπορεί να αντιπροσωπεύει μια επανάληψη μοντέλου. Σε αυτό το άρθρο, θα μάθετε πώς μπορείτε να αλληλεπιδράσετε με μοντέλα εκμάθησης μηχανής για να παρακολουθείτε και να συγκρίνετε επαναλήψεις μοντέλων.
Σε αυτό το άρθρο, θα μάθετε πώς μπορείτε να κάνετε τα εξής:
- Δημιουργία μοντέλων εκμάθησης μηχανής στο Microsoft Fabric
- Διαχείριση και παρακολούθηση εκδόσεων μοντέλων
- Συγκρίνετε την απόδοση του μοντέλου σε όλες τις εκδόσεις
- Εφαρμογή μοντέλων για βαθμολόγηση και εξαγωγή συμπερασμάτων
Δημιουργία μοντέλου εκμάθησης μηχανής
Μπορείτε να δημιουργήσετε ένα μοντέλο εκμάθησης μηχανής από το περιβάλλον εργασίας χρήστη Fabric ή μέσω προγραμματισμού με το API MLflow. Στο MLflow, τα μοντέλα χρησιμοποιούν μια τυπική μορφή συσκευασίας που λειτουργεί με διάφορα μεταγενέστερα εργαλεία, συμπεριλαμβανομένης της εξαγωγής συμπερασμάτων παρτίδας στο Apache Spark. Η μορφή αποθηκεύει ένα μοντέλο σε διαφορετικές «γεύσεις» που μπορούν να κατανοήσουν διαφορετικά μεταγενέστερα εργαλεία.
Για να δημιουργήσετε ένα μοντέλο εκμάθησης μηχανής από το περιβάλλον εργασίας χρήστη:
- Επιλέξτε έναν υπάρχοντα χώρο εργασίας επιστήμης δεδομένων ή δημιουργήστε έναν νέο χώρο εργασίας.
- Δημιουργήστε ένα νέο στοιχείο μέσω του χώρου εργασίας ή χρησιμοποιώντας το κουμπί Δημιουργία:
- Χώρο εργασίας:
- Κουμπί "Δημιουργία":
- Μετά τη δημιουργία του μοντέλου, μπορείτε να αρχίσετε να προσθέτετε εκδόσεις μοντέλου για να παρακολουθείτε τα μετρικά και τις παραμέτρους εκτέλεσης. Καταχωρήστε ή αποθηκεύστε εκτελέσεις πειραμάτων σε ένα υπάρχον μοντέλο.
Μπορείτε επίσης να δημιουργήσετε ένα μοντέλο εκμάθησης μηχανής απευθείας από την εμπειρία σύνταξης με το 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))
Διαχείριση εκδόσεων σε ένα μοντέλο εκμάθησης μηχανής
Ένα μοντέλο εκμάθησης μηχανής περιέχει μια συλλογή εκδόσεων μοντέλου για απλοποιημένη παρακολούθηση και σύγκριση. Μέσα σε ένα μοντέλο, ένας επιστήμονας δεδομένων μπορεί να περιηγηθεί σε διάφορες εκδόσεις μοντέλων για να εξερευνήσει τις υποκείμενες παραμέτρους και τα μετρικά. Οι επιστήμονες δεδομένων μπορούν επίσης να κάνουν συγκρίσεις σε όλες τις εκδόσεις μοντέλου για να προσδιορίσουν εάν νεότερα μοντέλα μπορεί να αποδώσουν καλύτερα αποτελέσματα.
Σημείωση
Με την υποστήριξη MLflow 3 στο Fabric, κάθε μοντέλο με το οποίο καταγράφετε το mlflow.<flavor>.log_model(model, name="...") δημιουργεί μια οντότητα LoggedModel που συνδέεται με την εκτέλεση προέλευσης, τις παραμέτρους, τα μετρικά, τα σύνολα δεδομένων και το περιβάλλον της. Μπορείτε να ανοίξετε ένα LoggedModel από τη σελίδα πειράματος και να το καταχωρίσετε ως νέο μοντέλο εκμάθησης μηχανής ή ως νέα έκδοση ενός υπάρχοντος μοντέλου. Για λεπτομέρειες, ανατρέξτε στο MLflow 3 στο Fabric Data Science.
Παρακολούθηση μοντέλων εκμάθησης μηχανής
Μια έκδοση μοντέλου εκμάθησης μηχανής αντιπροσωπεύει ένα μεμονωμένο μοντέλο που έχει καταχωρηθεί για παρακολούθηση.
Κάθε έκδοση του μοντέλου περιλαμβάνει τις ακόλουθες πληροφορίες:
| Ιδιοκτησία | Περιγραφή |
|---|---|
| Χρόνος που δημιουργήθηκε | Ημερομηνία και ώρα δημιουργίας μοντέλου. |
| Όνομα εκτέλεσης | Το αναγνωριστικό για την εκτέλεση του πειράματος που χρησιμοποιείται για τη δημιουργία αυτής της συγκεκριμένης έκδοσης μοντέλου. |
| Υπερπαράμετροι | Αποθηκεύονται ως ζεύγη κλειδιού-τιμής. Αμφότερα τα κλειδιά και οι τιμές είναι συμβολοσειρές. |
| Μετρήσεις | Εκτελέστε μετρήσεις που έχουν αποθηκευτεί ως ζεύγη κλειδιού-τιμής. Η τιμή είναι αριθμητική. |
| Σχήμα/Υπογραφή μοντέλου | Περιγραφή των εισόδων και εξόδων του μοντέλου. |
| Καταγεγραμμένα αρχεία | Καταγεγραμμένα αρχεία σε οποιαδήποτε μορφή. Για παράδειγμα, μπορείτε να καταγράψετε εικόνες, περιβάλλον, μοντέλα και αρχεία δεδομένων. |
| Ετικέτες | Προσαρμοσμένα μετα-δεδομένα ως ζεύγη κλειδιών-τιμών που συνδέονται με εκτελέσεις. Μάθετε πώς μπορείτε να εφαρμόσετε ετικέτες. |
Εφαρμογή ετικετών σε μοντέλα εκμάθησης μηχανής
Η προσθήκη ετικετών 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}")
Μετά την εφαρμογή των ετικετών, μπορείτε να τις προβάλετε απευθείας στη σελίδα λεπτομερειών έκδοσης μοντέλου. Επιπλέον, οι ετικέτες μπορούν να προστεθούν, να ενημερωθούν ή να καταργηθούν από αυτήν τη σελίδα ανά πάσα στιγμή.
Σύγκριση και φιλτράρισμα μοντέλων εκμάθησης μηχανής
Για να συγκρίνετε και να αξιολογήσετε την ποιότητα των εκδόσεων μοντέλου εκμάθησης μηχανής, μπορείτε να συγκρίνετε τις παραμέτρους, τα μετρικά και τα μετα-δεδομένα μεταξύ των επιλεγμένων εκδόσεων.
Οπτική σύγκριση μοντέλων εκμάθησης μηχανής
Μπορείτε να συγκρίνετε οπτικά εκτελέσεις σε ένα υπάρχον μοντέλο. Η οπτική σύγκριση επιτρέπει εύκολη περιήγηση μεταξύ και ταξινόμηση σε πολλές εκδόσεις.
Για να συγκρίνετε εκτελέσεις, μπορείτε να κάνετε τα εξής:
- Επιλέξτε ένα υπάρχον μοντέλο εκμάθησης μηχανής που περιέχει πολλές εκδόσεις.
- Επιλέξτε την καρτέλα
Προβολή και, στη συνέχεια, μεταβείτε στην προβολή λίστας μοντέλων. Μπορείτε επίσης να επιλέξετε να προβολή λίστας μοντέλων απευθείας από την προβολή λεπτομερειών. - Μπορείτε να προσαρμόσετε τις στήλες εντός του πίνακα. Αναπτύξτε το τμήμα παραθύρου Προσαρμογή στηλών
. Από εκεί, μπορείτε να επιλέξετε τις ιδιότητες, τα μετρικά, τις ετικέτες και τους υπερπαραμέτρους που θέλετε να δείτε. - Τέλος, μπορείτε να επιλέξετε πολλές εκδόσεις, για να συγκρίνετε τα αποτελέσματά τους, στο τμήμα παραθύρου σύγκρισης μετρικών. Από αυτό το τμήμα παραθύρου, μπορείτε να προσαρμόσετε τα γραφήματα με αλλαγές στον τίτλο του γραφήματος, τον τύπο απεικόνισης, τον άξονα Χ, τον άξονα Υ και πολλά άλλα.
Σύγκριση μοντέλων εκμάθησης μηχανής με χρήση του API MLflow
Οι επιστήμονες δεδομένων μπορούν επίσης να χρησιμοποιήσουν MLflow για να αναζητήσουν πολλά μοντέλα που αποθηκεύονται εντός του χώρου εργασίας. Επισκεφθείτε την τεκμηρίωση του MLflow για να εξερευνήσετε άλλα API MLflow για αλληλεπίδραση μοντέλου.
from pprint import pprint
from mlflow import MlflowClient
client = MlflowClient()
for rm in client.search_registered_models():
pprint(dict(rm), indent=4)
Εφαρμογή μοντέλων εκμάθησης μηχανής
Μετά την εκπαίδευση ενός μοντέλου σε ένα σύνολο δεδομένων, μπορείτε να εφαρμόσετε αυτό το μοντέλο σε δεδομένα που δεν είδε ποτέ για να δημιουργήσει προβλέψεις. Καλούμε αυτή την τεχνική χρήσης μοντέλου τη βαθμολόγηση ή συμπερασματικών.
Fabric υποστηρίζει πολλαπλές προσεγγίσεις για την εφαρμογή των εκπαιδευμένων μοντέλων σας:
- Μαζική βαθμολόγηση Εφαρμόστε το μοντέλο σας σε κλίμακα σε μεγάλα σύνολα δεδομένων χρησιμοποιώντας το Apache Spark. Αυτό είναι ιδανικό για τη δημιουργία προβλέψεων σε ιστορικά ή προγραμματισμένα δεδομένα.
- Βαθμολόγηση σε πραγματικό χρόνο Αναπτύξτε το μοντέλο σας σε ένα τελικό σημείο για προβλέψεις κατ' απαίτηση, χρήσιμο για εφαρμογές που χρειάζονται άμεσα αποτελέσματα.
Για να ξεκινήσετε με την εφαρμογή των μοντέλων σας, επιλέξτε την προσέγγιση που ταιριάζει στο σενάριό σας: