Επεκτείνετε τη σειρά μοντέλων για να συμπεριλάβετε λειτουργίες ML χρησιμοποιώντας το Amazon SageMaker Feature Store

Κόμβος πηγής: 1274480

Η μηχανική δυνατοτήτων είναι δαπανηρή και χρονοβόρα, γεγονός που μπορεί να σας οδηγήσει να υιοθετήσετε ένα κατάστημα δυνατοτήτων για τη διαχείριση λειτουργιών σε ομάδες και μοντέλα. Δυστυχώς, οι λύσεις της σειράς μηχανικής εκμάθησης (ML) δεν έχουν ακόμη προσαρμοστεί σε αυτή τη νέα έννοια της διαχείρισης χαρακτηριστικών. Για να επιτύχετε τα πλήρη πλεονεκτήματα ενός χώρου αποθήκευσης δυνατοτήτων ενεργοποιώντας την επαναχρησιμοποίηση λειτουργιών, πρέπει να είστε σε θέση να απαντάτε σε θεμελιώδεις ερωτήσεις σχετικά με τις λειτουργίες. Για παράδειγμα, πώς κατασκευάστηκαν αυτά τα χαρακτηριστικά; Ποια μοντέλα χρησιμοποιούν αυτές τις δυνατότητες; Από ποια χαρακτηριστικά εξαρτάται το μοντέλο μου; Ποιες δυνατότητες δημιουργούνται με αυτήν την πηγή δεδομένων;

Amazon Sage Maker παρέχει δύο σημαντικά δομικά στοιχεία που επιτρέπουν την απάντηση σε βασικές ερωτήσεις γενεαλογίας χαρακτηριστικών:

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

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

Γιατί είναι σημαντική η γενεαλογία χαρακτηριστικών;

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

Φανταστείτε να προσπαθείτε να παρακολουθείτε χειροκίνητα όλα αυτά για μια μεγάλη ομάδα, πολλές ομάδες ή ακόμα και πολλές επιχειρηματικές μονάδες. Η παρακολούθηση της γενεαλογίας και τα ερωτήματα βοηθούν να γίνει αυτό πιο διαχειρίσιμο και βοηθά τους οργανισμούς να μετακινηθούν σε ML σε κλίμακα. Τα παρακάτω είναι τέσσερα παραδείγματα για το πώς η γενεαλογία χαρακτηριστικών βοηθά στην κλίμακα της διαδικασίας ML:

  • Δημιουργήστε εμπιστοσύνη για την επαναχρησιμοποίηση των υπαρχόντων λειτουργιών – Ένας επιστήμονας δεδομένων μπορεί να αναζητήσει υπάρχουσες λειτουργίες, αλλά δεν θα τις χρησιμοποιήσει εάν δεν μπορεί να αναγνωρίσει εύκολα τις πηγές δεδομένων, τους μετασχηματισμούς που έχουν πραγματοποιηθεί και ποιος άλλος χρησιμοποιεί ήδη τις δυνατότητες σε άλλα μοντέλα.
  • Αποφύγετε την επανεφεύρεση λειτουργιών που βασίζονται στα ίδια ακατέργαστα δεδομένα με τα υπάρχοντα χαρακτηριστικά – Ας υποθέσουμε ότι ένας επιστήμονας δεδομένων σχεδιάζει να δημιουργήσει νέες δυνατότητες με βάση μια συγκεκριμένη πηγή δεδομένων. Η γενεαλογία χαρακτηριστικών μπορεί να τους βοηθήσει να βρουν εύκολα όλες τις δυνατότητες που εξαρτώνται ήδη από την ίδια πηγή δεδομένων και χρησιμοποιούνται από μοντέλα παραγωγής. Αντί να δημιουργήσουν και να διατηρήσουν ένα ακόμη χαρακτηριστικό, μπορούν να βρουν λειτουργίες για άμεση επαναχρησιμοποίηση.
  • Αντιμετώπιση προβλημάτων και έλεγχος μοντέλων και προβλέψεων μοντέλων – Εσφαλμένες προβλέψεις ή μεροληπτικές προβλέψεις μπορεί να συμβούν στην παραγωγή και οι ομάδες χρειάζονται απαντήσεις για το πώς συνέβη αυτό. Αυτή η αντιμετώπιση προβλημάτων μπορεί επίσης να προκύψει ως αποτέλεσμα μιας ρυθμιστικής αρχής που αναζητά στοιχεία για τον τρόπο κατασκευής των μοντέλων, συμπεριλαμβανομένων όλων των χαρακτηριστικών που οδηγούν τις προβλέψεις.
  • Διαχειριστείτε τις λειτουργίες προληπτικά – Καθώς όλο και περισσότερες επαναχρησιμοποιήσιμες λειτουργίες διατίθενται σε κεντρικά καταστήματα χαρακτηριστικών, οι κάτοχοι συγκεκριμένων λειτουργιών πρέπει να σχεδιάσουν την εξέλιξη των ομάδων χαρακτηριστικών και, τελικά, ακόμη και την κατάργηση των παλιών λειτουργιών. Αυτοί οι κάτοχοι λειτουργιών πρέπει να κατανοήσουν ποια μοντέλα χρησιμοποιούν τις δυνατότητές τους, προκειμένου να κατανοήσουν τον αντίκτυπο και με ποιους πρέπει να συνεργαστούν.

Ποιες σχέσεις είναι σημαντικό να παρακολουθούνται;

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

Αυτά τα συστατικά περιλαμβάνουν τα ακόλουθα:

  • Πηγή δεδομένων – Οι δυνατότητες ML εξαρτώνται από πηγές μη επεξεργασμένων δεδομένων, όπως μια αποθήκευση λειτουργικών δεδομένων ή ένα σύνολο αρχείων CSV σε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3).
  • Χαρακτηριστικός αγωγός – Τα χαρακτηριστικά που αξίζουν την παραγωγή συνήθως δημιουργούνται χρησιμοποιώντας μια διοχέτευση χαρακτηριστικών που λαμβάνει ένα σύνολο πηγών ακατέργαστων δεδομένων, εκτελεί μετασχηματισμούς χαρακτηριστικών και απορροφά τα χαρακτηριστικά που προκύπτουν στο χώρο αποθήκευσης χαρακτηριστικών. Η παρακολούθηση της γενεαλογίας μπορεί να βοηθήσει συσχετίζοντας αυτούς τους αγωγούς με τις πηγές δεδομένων τους και τις ομάδες χαρακτηριστικών στόχων τους.
  • Σύνολα χαρακτηριστικών – Όταν τα χαρακτηριστικά βρίσκονται σε ένα χώρο αποθήκευσης δυνατοτήτων, οι επιστήμονες δεδομένων ρωτούν για να ανακτήσουν δεδομένα για εκπαίδευση και επικύρωση μοντέλων. Μπορείτε να χρησιμοποιήσετε την παρακολούθηση γενεαλογίας για να συσχετίσετε το ερώτημα αποθήκευσης χαρακτηριστικών με το παραγόμενο σύνολο δεδομένων. Αυτό παρέχει λεπτομερείς λεπτομέρειες σχετικά με τα χαρακτηριστικά που χρησιμοποιήθηκαν και το ιστορικό χαρακτηριστικών που επιλέχθηκε σε πολλές ομάδες χαρακτηριστικών.
  • Εργασία εκπαίδευσης – Καθώς ο κύκλος ζωής του ML ωριμάζει για να υιοθετήσει τη χρήση ενός αποθηκευτικού χώρου, η σειρά μοντέλων μπορεί να συσχετίσει την εκπαίδευση με συγκεκριμένα χαρακτηριστικά και ομάδες χαρακτηριστικών.
  • Μοντέλο – Εκτός από τη συσχέτιση μοντέλων με τερματικά σημεία φιλοξενίας, μπορείτε να τα συνδέσετε με την αντίστοιχη εργασία εκπαίδευσης και έμμεσα με ομάδες χαρακτηριστικών.
  • Τελικό σημείο – Τέλος, για τα διαδικτυακά μοντέλα, μπορείτε να συσχετίσετε συγκεκριμένα τελικά σημεία με τα μοντέλα που φιλοξενούν, ολοκληρώνοντας την αλυσίδα από άκρο σε άκρο από πηγές δεδομένων σε τελικά σημεία που παρέχουν προβλέψεις.

Δεν υπάρχει προσέγγιση «ένα μέγεθος που ταιριάζει σε όλους» σε ένα συνολικό μοντέλο. Αυτό είναι απλώς ένα παράδειγμα και μπορείτε να το προσαρμόσετε για να καλύψετε τον τρόπο λειτουργίας των ομάδων σας για να ανταποκριθούν στις συγκεκριμένες απαιτήσεις της γενεαλογίας σας. Τα υποκείμενα API είναι αρκετά ευέλικτα ώστε να καλύπτουν ένα ευρύ φάσμα προσεγγίσεων.

Δημιουργία παρακολούθησης γενεαλογίας

Ας δούμε πώς να οργανώσετε τον κώδικά σας για να καταγράψετε εύκολα αυτές τις συσχετίσεις. Το παράδειγμά μας χρησιμοποιεί α προσαρμοσμένη βιβλιοθήκη περιτυλίγματος δημιουργήσαμε γύρω από το SageMaker ML Lineage Tracking. Αυτή η βιβλιοθήκη είναι ένα περιτύλιγμα γύρω από το SageMaker SDK για την υποστήριξη της ευκολίας παρακολούθησης της γενεαλογίας σε όλο τον κύκλο ζωής της ML. Τα τεχνουργήματα της σειράς περιλαμβάνουν δεδομένα, κώδικα, ομάδες χαρακτηριστικών, χαρακτηριστικά σε μια ομάδα χαρακτηριστικών, ερωτήματα ομάδας χαρακτηριστικών, εργασίες εκπαίδευσης και μοντέλα.

Πρώτα εισάγουμε τη βιβλιοθήκη:

from ml_lineage_helper import *

Στη συνέχεια, ιδανικά θέλετε η καταγωγή σας να παρακολουθεί ακόμη και τον κώδικα με τον οποίο χρησιμοποιήσατε την επεξεργασία των δεδομένων σας Επεξεργασία SageMaker εργασίες ή κωδικός που χρησιμοποιείται για την εκπαίδευση του μοντέλου σας στο SageMaker. Εάν αυτός ο κώδικας ελέγχεται από την έκδοση (το οποίο συνιστούμε ανεπιφύλακτα!), μπορούμε να ανακατασκευάσουμε ποιοι θα ήταν αυτοί οι σύνδεσμοι URL στην επιλεγμένη πλατφόρμα διαχείρισης git όπως το GitHub ή το GitLab:

processing_code_repo_url = get_repo_link(os.getcwd(), 'processing.py')
training_code_repo_url = get_repo_link(os.getcwd(), 'pytorch-model/train_deploy.py', processing_code=False)
repo_links = [processing_code_repo_url, training_code_repo_url]

Τέλος, δημιουργούμε τη γενεαλογία. Πολλές από τις εισόδους είναι προαιρετικές, αλλά σε αυτό το παράδειγμα, υποθέτουμε τα εξής:

  1. Ξεκινήσατε με μια ακατέργαστη πηγή δεδομένων
  2. Χρησιμοποιήσατε το SageMaker Processing για να επεξεργαστείτε τα ανεπεξέργαστα δεδομένα και να τα απορροφήσετε σε δύο διαφορετικές ομάδες χαρακτηριστικών
  3. Υποβάλατε ερώτημα στο Feature Store για τη δημιουργία συνόλων δεδομένων εκπαίδευσης και δοκιμής
  4. Εκπαιδεύσατε ένα μοντέλο στο SageMaker στα σύνολα δεδομένων εκπαίδευσης και δοκιμών
ml_lineage = MLLineageHelper()
lineage = ml_lineage.create_ml_lineage(estimator, model_name=model_name, query=query, sagemaker_processing_job_description=preprocessing_job_description, feature_group_names=['customers', 'claims'], repo_links=repo_links)
lineage

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

Η κλήση επιστρέφει ένα πλαίσιο δεδομένων pandas που αντιπροσωπεύει το γράφημα γενεαλογίας των τεχνουργημάτων που δημιουργήθηκαν και συσχετίστηκαν για λογαριασμό σας. Παρέχει ονόματα, συσχετισμούς (όπως π.χ Produced or ContributedTo), Και ARN που προσδιορίζουν μοναδικά τους πόρους.

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

Χρησιμοποιήστε τη γενεαλογία για να απαντήσετε σε βασικές ερωτήσεις και να αποκτήσετε γνώσεις

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

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

from ml_lineage_helper.query_lineage import QueryLineage query_lineage = QueryLineage()
query_lineage.get_feature_groups_from_data_source(artifact_arn_or_s3_uri)

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

Ή ίσως σκέφτεστε να χρησιμοποιήσετε μια συγκεκριμένη ομάδα χαρακτηριστικών και θέλετε να μάθετε ποιες πηγές δεδομένων σχετίζονται με αυτήν:

query_lineage.get_data_sources_from_feature_group(artifact_or_fg_arn, max_depth=3)

Παίρνουμε τα ακόλουθα αποτελέσματα.

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

ml_lineage = MLLineageHelper(sagemaker_model_name_or_model_s3_uri='my-sagemaker-model-name')
ml_lineage.df

Παίρνουμε τα ακόλουθα αποτελέσματα.

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

query_lineage.get_models_from_feature_group(artifact_or_fg_arn)

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

Μπορείτε επίσης να αντιστρέψετε την ερώτηση και να μάθετε ποιες ομάδες χαρακτηριστικών σχετίζονται με ένα συγκεκριμένο μοντέλο:

query_lineage.get_feature_groups_from_model(artifact_arn_or_model_name)

Συμπέρασμα

Σε αυτήν την ανάρτηση, συζητήσαμε τη σημασία της παρακολούθησης της γενεαλογίας ML, πτυχές του κύκλου ζωής ML που πρέπει να παρακολουθείτε και να προσθέσετε στη σειρά, και πώς να χρησιμοποιήσετε το SageMaker για την παροχή από άκρο σε άκρο γραμμή ML. Καλύψαμε επίσης πώς να ενσωματώσετε το Feature Store καθώς προχωράτε προς επαναχρησιμοποιήσιμες λειτουργίες σε ομάδες και μοντέλα και, τέλος, πώς να χρησιμοποιήσετε το βοηθητική βιβλιοθήκη για την επίτευξη παρακολούθησης γενεαλογίας ML από άκρο σε άκρο. Για να δοκιμάσετε τον κύκλο ζωής του Feature Store από άκρο σε άκρο, συμπεριλαμβανομένης μιας ενότητας για τη γενεαλογία, μπορείτε να το εξερευνήσετε Εργαστήριο καταστήματος χαρακτηριστικών και τα σημειωματάρια για όλες τις ενότητες GitHub. Επίσης, μπορείτε να επεκτείνετε αυτήν την προσέγγιση για να καλύψετε τις μοναδικές σας απαιτήσεις. Επισκεφτείτε τον βοηθό ML Lineage βιβλιοθήκη κατασκευάσαμε και δοκιμάσαμε παράδειγμα σημειωματάριο.


Σχετικά με τους Συγγραφείς

Μπόμπι Λίντσεϊ είναι ειδικός μηχανικής μάθησης στο Amazon Web Services. Ασχολείται με την τεχνολογία για πάνω από μια δεκαετία, με διάφορες τεχνολογίες και πολλούς ρόλους. Επί του παρόντος, επικεντρώνεται στο να συνδυάσει το υπόβαθρό του στη μηχανική λογισμικού, τα DevOps και τη μηχανική μάθηση για να βοηθήσει τους πελάτες να προσφέρουν ροές εργασιών μηχανικής εκμάθησης σε κλίμακα. Στον ελεύθερο χρόνο του, του αρέσει το διάβασμα, η έρευνα, η πεζοπορία, η ποδηλασία και το τρέξιμο στο μονοπάτι.

Μαρκ Ρόι είναι ένας κύριος αρχιτέκτονας μηχανικής μάθησης για AWS, βοηθώντας τους πελάτες να σχεδιάσουν και να κατασκευάσουν λύσεις AI / ML. Το έργο του Mark καλύπτει ένα ευρύ φάσμα περιπτώσεων χρήσης ML, με πρωταρχικό ενδιαφέρον για την όραση του υπολογιστή, τη βαθιά μάθηση και την κλιμάκωση του ML σε ολόκληρη την επιχείρηση. Έχει βοηθήσει εταιρείες σε πολλούς κλάδους, συμπεριλαμβανομένων των ασφαλίσεων, των χρηματοοικονομικών υπηρεσιών, των μέσων ενημέρωσης και της ψυχαγωγίας, της υγειονομικής περίθαλψης, των υπηρεσιών κοινής ωφέλειας και της κατασκευής. Ο Mark κατέχει έξι πιστοποιήσεις AWS, συμπεριλαμβανομένης της πιστοποίησης ML Speciality. Πριν από την ένταξή του στην AWS, ο Mark ήταν αρχιτέκτονας, προγραμματιστής και ηγέτης τεχνολογίας για πάνω από 25 χρόνια, συμπεριλαμβανομένων 19 ετών σε χρηματοοικονομικές υπηρεσίες.

Μοχάν Πασαππουλάτι είναι Senior Solutions Architect στην AWS, με έδρα το Σαν Φρανσίσκο των Η.Π.Α. Η Mohan βοηθά υψηλού προφίλ ανατρεπτικές startups και στρατηγικούς πελάτες να αρχιτεκτονήσουν και να αναπτύξουν κατανεμημένες εφαρμογές, συμπεριλαμβανομένων των φόρτων εργασίας μηχανικής εκμάθησης στην παραγωγή στο AWS. Έχει πάνω από 20 χρόνια εργασιακής εμπειρίας σε διάφορους ρόλους όπως ηγέτης μηχανικού, επικεφαλής αρχιτέκτονας και κύριος μηχανικός. Στον ελεύθερο χρόνο του, ο Mohan λατρεύει να επευφημεί την ομάδα ποδοσφαίρου του κολεγίου (LSU Tigers!), να παίζει πόκερ, να κάνει σκι, να παρακολουθεί τις χρηματοοικονομικές αγορές, να παίζει βόλεϊ και να περνά χρόνο σε εξωτερικούς χώρους.

Πηγή: https://aws.amazon.com/blogs/machine-learning/extend-model-lineage-to-include-ml-features-using-amazon-sagemaker-feature-store/

Σφραγίδα ώρας:

Περισσότερα από Ιστολόγιο μηχανικής εκμάθησης AWS