Ενσωματώστε το Amazon SageMaker Data Wrangler με τις ροές εργασίας MLOps PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ενσωματώστε το Amazon SageMaker Data Wrangler με ροές εργασίας MLOps

Καθώς οι επιχειρήσεις μετακινούνται από την εκτέλεση μοντέλων ad hoc μηχανικής μάθησης (ML) στη χρήση AI/ML για να μεταμορφώσουν την επιχείρησή τους σε κλίμακα, η υιοθέτηση των Λειτουργιών ML (MLOps) γίνεται αναπόφευκτη. Όπως φαίνεται στο παρακάτω σχήμα, ο κύκλος ζωής του ML ξεκινά με τη διαμόρφωση ενός επιχειρηματικού προβλήματος ως περίπτωση χρήσης ML που ακολουθείται από μια σειρά φάσεων, όπως η προετοιμασία δεδομένων, η μηχανική χαρακτηριστικών, η κατασκευή μοντέλων, η ανάπτυξη, η συνεχής παρακολούθηση και η επανεκπαίδευση. Για πολλές επιχειρήσεις, πολλά από αυτά τα βήματα εξακολουθούν να είναι χειροκίνητα και χαλαρά ενσωματωμένα μεταξύ τους. Επομένως, είναι σημαντικό να αυτοματοποιηθεί ο κύκλος ζωής του ML από άκρο σε άκρο, ο οποίος επιτρέπει τα συχνά πειράματα να οδηγούν σε καλύτερα επιχειρηματικά αποτελέσματα. Η προετοιμασία δεδομένων είναι ένα από τα κρίσιμα βήματα σε αυτόν τον κύκλο ζωής, επειδή η ακρίβεια του μοντέλου ML εξαρτάται από την ποιότητα του συνόλου δεδομένων εκπαίδευσης.

Οι επιστήμονες δεδομένων και οι μηχανικοί ML ξοδεύουν περίπου το 70-80% του χρόνου τους συλλέγοντας, αναλύοντας, καθαρίζοντας και μεταμορφώνοντας δεδομένα που απαιτούνται για την εκπαίδευση μοντέλων. Amazon SageMaker Data Wrangler είναι μια πλήρως διαχειριζόμενη ικανότητα του Amazon Sage Maker Αυτό καθιστά πιο γρήγορο για τους επιστήμονες δεδομένων και τους μηχανικούς ML να αναλύουν και να προετοιμάζουν δεδομένα για τα έργα τους ML με ελάχιστο έως καθόλου κώδικα. Όταν πρόκειται για τη λειτουργία ενός κύκλου ζωής ML από άκρο σε άκρο, η προετοιμασία δεδομένων είναι σχεδόν πάντα το πρώτο βήμα στη διαδικασία. Δεδομένου ότι υπάρχουν πολλοί τρόποι για τη δημιουργία ενός αγωγού ML από άκρο σε άκρο, σε αυτήν την ανάρτηση συζητάμε πώς μπορείτε να ενσωματώσετε εύκολα το Data Wrangler με μερικές από τις γνωστές τεχνολογίες αυτοματισμού και ενορχήστρωσης ροής εργασιών.

Επισκόπηση λύσεων

Σε αυτήν την ανάρτηση, δείχνουμε πώς οι χρήστες μπορούν να ενσωματώσουν την προετοιμασία δεδομένων χρησιμοποιώντας το Data Wrangler με Αγωγοί Amazon SageMaker, Λειτουργίες βημάτων AWS, να Ροή αέρα Apache με Διαχειριζόμενη ροή εργασίας της Amazon για ροή αέρα Apache (Amazon MWAA). Το Pipelines είναι μια δυνατότητα SageMaker που είναι μια ειδικά σχεδιασμένη και εύχρηστη υπηρεσία συνεχούς ενοποίησης και συνεχούς παράδοσης (CI/CD) για ML. Το Step Functions είναι μια υπηρεσία οπτικής ροής εργασιών χωρίς διακομιστή, χαμηλού κώδικα που χρησιμοποιείται για την ενορχήστρωση υπηρεσιών AWS και την αυτοματοποίηση των επιχειρηματικών διαδικασιών. Το Amazon MWAA είναι μια υπηρεσία διαχειριζόμενης ενορχήστρωσης για το Apache Airflow που διευκολύνει τον χειρισμό δεδομένων από άκρο σε άκρο και αγωγούς ML.

Για λόγους επίδειξης, εξετάζουμε μια περίπτωση χρήσης για την προετοιμασία δεδομένων για την εκπαίδευση ενός μοντέλου ML με το ενσωματωμένο SageMaker Αλγόριθμος XGBoost που θα μας βοηθήσουν να εντοπίσουμε δόλιες αξιώσεις ασφάλισης οχημάτων. Χρησιμοποιήσαμε ένα συνθετικά δημιουργημένο σύνολο δειγμάτων δεδομένων για να εκπαιδεύσουμε το μοντέλο και να δημιουργήσουμε ένα μοντέλο SageMaker χρησιμοποιώντας τα τεχνουργήματα του μοντέλου από τη διαδικασία εκπαίδευσης. Στόχος μας είναι να θέσουμε σε λειτουργία αυτή τη διαδικασία από άκρο σε άκρο δημιουργώντας μια ροή εργασίας ML. Αν και οι ροές εργασίας ML μπορεί να είναι πιο περίπλοκες, χρησιμοποιούμε μια ελάχιστη ροή εργασίας για σκοπούς επίδειξης. Το πρώτο βήμα της ροής εργασιών είναι η προετοιμασία δεδομένων με το Data Wrangler, ακολουθούμενο από ένα βήμα εκπαίδευσης μοντέλου και, τέλος, ένα βήμα δημιουργίας μοντέλου. Το παρακάτω διάγραμμα απεικονίζει τη ροή εργασιών επίλυσης.

MLO ροές εργασίας με το SageMaker Data Wrangler

Στις επόμενες ενότητες, σας καθοδηγούμε πώς να ρυθμίσετε μια ροή δεδομένων Wrangler και να ενσωματώσετε το Data Wrangler με Pipelines, Step Functions και Apache Airflow.

Ρυθμίστε μια ροή δεδομένων Wrangler

Ξεκινάμε δημιουργώντας μια ροή δεδομένων Wrangler, που ονομάζεται επίσης α ροή δεδομένων, Με τη χρήση του διεπαφή χρήστη ροής δεδομένων μέσω του Στούντιο Amazon SageMaker IDE. Το δείγμα δεδομένων μας αποτελείται από δύο αρχεία δεδομένων: αξιώσεις.csv και πελάτες.csv, τα οποία αποθηκεύονται σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος. Χρησιμοποιούμε τη διεπαφή χρήστη ροής δεδομένων για την εφαρμογή του Data Wrangler's ενσωματωμένους μετασχηματισμούς τέτοια κατηγορική κωδικοποίηση, μορφοποίηση συμβολοσειρών και καταλογισμός στις στήλες χαρακτηριστικών σε καθένα από αυτά τα αρχεία. Εφαρμόζουμε και εμείς προσαρμοσμένος μετασχηματισμός σε μερικές στήλες χαρακτηριστικών χρησιμοποιώντας μερικές γραμμές προσαρμοσμένου κώδικα Python με Pandas DataFrame. Το ακόλουθο στιγμιότυπο οθόνης δείχνει τους μετασχηματισμούς που εφαρμόζονται στο αρχείο pretends.csv στη διεπαφή χρήστη ροής δεδομένων.

Μετασχηματισμοί που εφαρμόστηκαν στο αρχείο δεδομένων requests.csv

Τέλος, ενώνουμε τα αποτελέσματα των εφαρμοζόμενων μετασχηματισμών των δύο αρχείων δεδομένων για να δημιουργήσουμε ένα ενιαίο σύνολο δεδομένων εκπαίδευσης για το μοντέλο εκπαίδευσης μας. Χρησιμοποιούμε το ενσωματωμένο Data Wrangler ενώστε σύνολα δεδομένων δυνατότητα, η οποία μας επιτρέπει να εκτελούμε λειτουργίες σύνδεσης τύπου SQL σε δεδομένα πίνακα. Το ακόλουθο στιγμιότυπο οθόνης δείχνει τη ροή δεδομένων στη διεπαφή χρήστη ροής δεδομένων στο Studio. Για οδηγίες βήμα προς βήμα για τη δημιουργία της ροής δεδομένων χρησιμοποιώντας το Data Wrangler, ανατρέξτε στο Αποθετήριο GitHub.

Ροή δεδομένων SageMaker Data Wrangler στη διεπαφή χρήστη ροής δεδομένων στο SageMaker Studio.

Τώρα μπορείτε να χρησιμοποιήσετε το αρχείο ροής δεδομένων (.flow) για να εκτελέσετε μετασχηματισμούς δεδομένων στα αρχεία ακατέργαστων δεδομένων μας. Η διεπαφή χρήστη ροής δεδομένων μπορεί να δημιουργήσει αυτόματα σημειωματάρια Python για να τα χρησιμοποιήσουμε και να τα ενσωματώσουμε απευθείας με το Pipelines χρησιμοποιώντας το SageMaker SDK. Για τις Λειτουργίες Βήματος, χρησιμοποιούμε το AWS Step Functions Data Science Python SDK για να ενσωματώσετε την επεξεργασία δεδομένων Wrangler με μια διοχέτευση Step Functions. Για το Amazon MWAA, χρησιμοποιούμε α προσαρμοσμένος χειριστής ροής αέρα και την Χειριστής Airflow SageMaker. Αναλύουμε κάθε μία από αυτές τις προσεγγίσεις λεπτομερώς στις επόμενες ενότητες.

Ενσωματώστε το Data Wrangler με Pipelines

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

Μια ροή εργασίας που έχει δημιουργηθεί με αγωγούς SageMaker αποτελείται από μια ακολουθία βημάτων που σχηματίζουν ένα Κατευθυνόμενο Ακυκλικό Γράφημα (DAG). Σε αυτό το παράδειγμα, ξεκινάμε με α βήμα επεξεργασίας, το οποίο εκτελεί α Εργασία επεξεργασίας SageMaker με βάση το αρχείο ροής του Data Wrangler για τη δημιουργία ενός συνόλου δεδομένων εκπαίδευσης. Στη συνέχεια συνεχίζουμε με α βήμα εκπαίδευσης, όπου εκπαιδεύουμε ένα μοντέλο XGBoost χρησιμοποιώντας τον ενσωματωμένο αλγόριθμο XGBoost του SageMaker και το σύνολο δεδομένων εκπαίδευσης που δημιουργήθηκε στο προηγούμενο βήμα. Αφού εκπαιδευτεί ένα μοντέλο, τερματίζουμε αυτή τη ροή εργασίας με ένα Βήμα RegisterModel για να καταχωρήσετε το εκπαιδευμένο μοντέλο στο μητρώο μοντέλων SageMaker.

Ροή εργασιών MLOps που δημιουργήθηκε με το SageMaker Pipelines

Εγκατάσταση και αναλυτική περιγραφή

Για να εκτελέσουμε αυτό το δείγμα, χρησιμοποιούμε ένα σημειωματάριο Jupyter που εκτελεί το Python3 σε μια εικόνα πυρήνα Data Science σε περιβάλλον Studio. Μπορείτε επίσης να το εκτελέσετε σε μια παρουσία σημειωματάριου Jupyter τοπικά στον υπολογιστή σας, ρυθμίζοντας τα διαπιστευτήρια για να αναλάβετε τον ρόλο εκτέλεσης του SageMaker. Ο φορητός υπολογιστής είναι ελαφρύς και μπορεί να εκτελεστεί σε στιγμιότυπο ml.t3.medium. Λεπτομερείς οδηγίες βήμα προς βήμα μπορείτε να βρείτε στο Αποθετήριο GitHub.

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

  1. Δημιουργήστε ένα αρχείο ροής από το Data Wrangler ή χρησιμοποιήστε το σενάριο εγκατάστασης για να δημιουργήσετε ένα αρχείο ροής από ένα προρυθμισμένο πρότυπο.
  2. Δημιουργία ενός Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) βάλτε τον κάδο και μεταφορτώστε το αρχείο ροής και τα αρχεία εισόδου στον κάδο. Στο δείγμα του σημειωματάριου μας, χρησιμοποιούμε τον προεπιλεγμένο κάδο S3 του SageMaker.
  3. Ακολουθήστε τις οδηγίες στο σημειωματάριο για να δημιουργήσετε ένα αντικείμενο Processor με βάση το αρχείο ροής Data Wrangler και ένα αντικείμενο Εκτιμητής με τις παραμέτρους της εργασίας εκπαίδευσης.
    1. Στο παράδειγμά μας, επειδή χρησιμοποιούμε μόνο τις δυνατότητες του SageMaker και τον προεπιλεγμένο κάδο S3, μπορούμε να χρησιμοποιήσουμε τον προεπιλεγμένο ρόλο εκτέλεσης του Studio. Το ίδιο Διαχείριση ταυτότητας και πρόσβασης AWS Ο ρόλος (IAM) αναλαμβάνεται από τη λειτουργία του αγωγού, την εργασία επεξεργασίας και την εργασία εκπαίδευσης. Μπορείτε να προσαρμόσετε περαιτέρω τον ρόλο εκτέλεσης σύμφωνα με τα ελάχιστα δικαιώματα.
  4. Συνεχίστε με τις οδηγίες για να δημιουργήσετε μια διοχέτευση με βήματα που αναφέρονται στα αντικείμενα Επεξεργαστής και Εκτιμητής και, στη συνέχεια, εκτελέστε τη διοχέτευση. Οι εργασίες επεξεργασίας και εκπαίδευσης εκτελούνται σε περιβάλλοντα διαχείρισης του SageMaker και χρειάζονται λίγα λεπτά για να ολοκληρωθούν.
  5. Στο Studio, μπορείτε να δείτε τις λεπτομέρειες του αγωγού να παρακολουθούν την εκτέλεση του αγωγού. Μπορείτε επίσης να παρακολουθείτε τις υποκείμενες εργασίες επεξεργασίας και εκπαίδευσης από την κονσόλα SageMaker ή από amazoncloudwatch.

Ενσωματώστε το Data Wrangler με τις λειτουργίες Step

Με τις Step Functions, μπορείτε να εκφράσετε πολύπλοκη επιχειρηματική λογική ως ροές εργασιών χαμηλού κώδικα, βασισμένες σε συμβάντα που συνδέουν διαφορετικές υπηρεσίες AWS. ο Βήμα Λειτουργίες Data Science SDK είναι μια βιβλιοθήκη ανοιχτού κώδικα που επιτρέπει στους επιστήμονες δεδομένων να δημιουργούν ροές εργασίας που μπορούν να προεπεξεργάζονται σύνολα δεδομένων και να δημιουργούν, να αναπτύσσουν και να παρακολουθούν μοντέλα ML χρησιμοποιώντας το SageMaker και το Step Functions. Το Step Functions βασίζεται σε μηχανές και εργασίες κατάστασης. Το Step Functions δημιουργεί ροές εργασίας από τα βήματα που ονομάζονται κράτη, και εκφράζει αυτή τη ροή εργασίας στο Γλώσσα του Αμαζονίου. Όταν δημιουργείτε μια ροή εργασίας χρησιμοποιώντας το Step Functions Data Science SDK, δημιουργεί ένα μηχάνημα κατάστασης που αντιπροσωπεύει τη ροή εργασιών και τα βήματα σας στις Step Functions.

Για αυτήν την περίπτωση χρήσης, δημιουργήσαμε μια ροή εργασίας Step Functions με βάση το κοινό μοτίβο που χρησιμοποιείται σε αυτήν την ανάρτηση που περιλαμβάνει ένα βήμα επεξεργασίας, ένα βήμα εκπαίδευσης και RegisterModel βήμα. Σε αυτήν την περίπτωση, εισάγουμε αυτά τα βήματα από το Step Functions Data Science Python SDK. Συνδυάζουμε αυτά τα βήματα με την ίδια σειρά για να δημιουργήσουμε μια ροή εργασίας Step Functions. Η ροή εργασίας χρησιμοποιεί το αρχείο ροής που δημιουργήθηκε από το Data Wrangler, αλλά μπορείτε επίσης να χρησιμοποιήσετε το δικό σας αρχείο ροής δεδομένων Wrangler. Χρησιμοποιούμε ξανά κάποιο κώδικα από το Data Wrangler δυνατότητα εξαγωγής για απλότητα. Εκτελούμε τη λογική προεπεξεργασίας δεδομένων που δημιουργείται από το αρχείο ροής Data Wrangler για να δημιουργήσουμε ένα σύνολο δεδομένων εκπαίδευσης, να εκπαιδεύσουμε ένα μοντέλο χρησιμοποιώντας τον αλγόριθμο XGBoost και να αποθηκεύσουμε το εκπαιδευμένο τεχνούργημα του μοντέλου ως μοντέλο SageMaker. Επιπλέον, στο αποθετήριο GitHub, δείχνουμε επίσης πώς το Step Functions μας επιτρέπει να προσπαθούμε να εντοπίζουμε σφάλματα και να χειριζόμαστε αποτυχίες και επαναλήψεις με FailStateStep και CatchStateStep.

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

Ροή εργασιών MLOps που έχει δημιουργηθεί με Λειτουργίες Βήματος

Εγκατάσταση και αναλυτική περιγραφή

Για να εκτελέσουμε αυτό το δείγμα, χρησιμοποιούμε ένα σημειωματάριο Python που εκτελείται με πυρήνα Data Science σε περιβάλλον Studio. Μπορείτε επίσης να το εκτελέσετε σε μια παρουσία σημειωματάριου Python τοπικά στον υπολογιστή σας, ρυθμίζοντας τα διαπιστευτήρια για να αναλάβετε τον ρόλο εκτέλεσης του SageMaker. Ο φορητός υπολογιστής είναι ελαφρύς και μπορεί να εκτελεστεί σε μεσαία περίπτωση t3, για παράδειγμα. Λεπτομερείς οδηγίες βήμα προς βήμα μπορείτε να βρείτε στο Αποθετήριο GitHub.

Μπορείτε είτε να χρησιμοποιήσετε τη δυνατότητα εξαγωγής στο Data Wrangler για να δημιουργήσετε τον κώδικα Pipelines και να τον τροποποιήσετε για τις λειτουργίες Step ή να δημιουργήσετε το δικό σας σενάριο από την αρχή. Στο αποθετήριο δειγμάτων μας, χρησιμοποιούμε έναν συνδυασμό και των δύο προσεγγίσεων για απλότητα. Σε υψηλό επίπεδο, τα ακόλουθα είναι τα βήματα για τη δημιουργία και την εκτέλεση της ροής εργασίας Βήμα Λειτουργίες:

  1. Δημιουργήστε ένα αρχείο ροής από το Data Wrangler ή χρησιμοποιήστε το σενάριο εγκατάστασης για να δημιουργήσετε ένα αρχείο ροής από ένα προρυθμισμένο πρότυπο.
  2. Δημιουργήστε έναν κάδο S3 και μεταφορτώστε το αρχείο ροής και τα αρχεία εισόδου στον κάδο.
  3. Διαμορφώστε τον ρόλο εκτέλεσης του SageMaker με τα απαιτούμενα δικαιώματα όπως αναφέρθηκε προηγουμένως. Ανατρέξτε στο αποθετήριο GitHub για λεπτομερείς οδηγίες.
  4. Ακολουθήστε τις οδηγίες για να εκτελέσετε το σημειωματάριο στο χώρο αποθήκευσης για να ξεκινήσετε μια ροή εργασίας. Η εργασία επεξεργασίας εκτελείται σε περιβάλλον Spark που διαχειρίζεται το SageMaker και μπορεί να χρειαστούν λίγα λεπτά για να ολοκληρωθεί.
  5. Μεταβείτε στην κονσόλα Step Functions και παρακολουθήστε οπτικά τη ροή εργασίας. Μπορείτε επίσης να πλοηγηθείτε στα συνδεδεμένα αρχεία καταγραφής του CloudWatch για τον εντοπισμό σφαλμάτων.

Ας εξετάσουμε εδώ μερικές σημαντικές ενότητες του κώδικα. Για να ορίσουμε τη ροή εργασίας, ορίζουμε πρώτα τα βήματα στη ροή εργασίας για τη μηχανή κατάστασης της συνάρτησης βήματος. Το πρώτο βήμα είναι το data_wrangler_step για επεξεργασία δεδομένων, η οποία χρησιμοποιεί το αρχείο ροής Data Wrangler ως είσοδο για να μετασχηματίσει τα αρχεία πρωτογενών δεδομένων. Ορίζουμε επίσης ένα βήμα εκπαίδευσης μοντέλου και ένα βήμα δημιουργίας μοντέλου με το όνομα training_step και model_step, αντίστοιχα. Τέλος, δημιουργούμε μια ροή εργασιών συνδέοντας όλα τα βήματα που δημιουργήσαμε, όπως φαίνεται στον παρακάτω κώδικα:

from stepfunctions.steps import Chain 
from stepfunctions.workflow import Workflow 
import uuid 

workflow_graph = Chain([data_wrangler_step, training_step,model_step ]) 
branching_workflow = Workflow( name = "Wrangler-SF-Run-{}".format(uuid.uuid1().hex),definition = workflow_graph, role = iam_role ) 
branching_workflow.create()

Στο παράδειγμά μας, δημιουργήσαμε τη ροή εργασίας για να λαμβάνουμε τα ονόματα εργασιών ως παραμέτρους, επειδή είναι μοναδικά και πρέπει να δημιουργούνται τυχαία κατά τη διάρκεια κάθε εκτέλεσης αγωγού. Διαβιβάζουμε αυτά τα ονόματα όταν εκτελείται η ροή εργασίας. Μπορείτε επίσης να προγραμματίσετε τη ροή εργασίας Βήμα Λειτουργίες για εκτέλεση χρησιμοποιώντας το CloudWatch (βλ Προγραμματίστε μια ροή εργασίας χωρίς διακομιστή με AWS Step Functions και Amazon CloudWatch), που επικαλείται χρησιμοποιώντας Εκδηλώσεις Amazon S3, ή επικαλείται από Amazon EventBridge (Βλ. Δημιουργήστε έναν κανόνα EventBridge που ενεργοποιεί μια ροή εργασίας Step Functions). Για λόγους επίδειξης, μπορούμε να καλέσουμε τη ροή εργασίας Step Functions από τη διεπαφή χρήστη της κονσόλας Step Functions ή χρησιμοποιώντας τον ακόλουθο κώδικα από το σημειωματάριο.

# Execute workflow 
execution = branching_workflow.execute( 
			inputs=  { “ProcessingJobName”: processing_job_name, # Unique processing job name, 
				   “TrainingJobName”: training_job_name, # Unique training job name, 
				   “ModelName” : model_name # Unique model name 
				 } 
	) 
execution_output = execution.get_output(wait=True)

Ενσωματώστε το Data Wrangler με το Apache Airflow

Ένας άλλος δημοφιλής τρόπος δημιουργίας ροών εργασίας ML είναι η χρήση του Apache Airflow. Το Apache Airflow είναι μια πλατφόρμα ανοιχτού κώδικα που σας επιτρέπει να συντάσσετε, να προγραμματίζετε και να παρακολουθείτε μέσω προγραμματισμού ροές εργασίας. Το Amazon MWAA διευκολύνει τη ρύθμιση και τη λειτουργία αγωγών ML από άκρο σε άκρο με ροή αέρα Apache στο cloud σε κλίμακα. Ένας αγωγός ροής αέρα αποτελείται από μια ακολουθία εργασιών, που αναφέρεται επίσης ως α ροής εργασίας. Μια ροή εργασίας ορίζεται ως ένα DAG που ενσωματώνει τις εργασίες και τις εξαρτήσεις μεταξύ τους, καθορίζοντας τον τρόπο με τον οποίο πρέπει να εκτελούνται στη ροή εργασίας.

Δημιουργήσαμε ένα Airflow DAG σε περιβάλλον Amazon MWAA για να εφαρμόσουμε τη ροή εργασίας MLOps. Κάθε εργασία στη ροή εργασίας είναι μια εκτελέσιμη μονάδα, γραμμένη σε γλώσσα προγραμματισμού Python, η οποία εκτελεί κάποια ενέργεια. Μια εργασία μπορεί να είναι είτε χειριστής ή ένα αισθητήρα. Στην περίπτωσή μας, χρησιμοποιούμε ένα Χειριστής Airflow Python μαζί με SDK SageMaker Python για να εκτελέσετε το σενάριο Data Wrangler Python και να χρησιμοποιήσετε την εγγενή υποστήριξη του Airflow Χειριστές SageMaker για να εκπαιδεύσετε τον ενσωματωμένο αλγόριθμο XGBoost του SageMaker και να δημιουργήσετε το μοντέλο από τα τεχνουργήματα που προκύπτουν. Δημιουργήσαμε επίσης έναν χρήσιμο προσαρμοσμένο τελεστή Data Wrangler (SageMakerDataWranglerOperator) για το Apache Airflow, το οποίο μπορείτε να χρησιμοποιήσετε για να επεξεργαστείτε αρχεία ροής Data Wrangler για επεξεργασία δεδομένων χωρίς την ανάγκη πρόσθετου κωδικού.

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

Ενσωματώστε το Amazon SageMaker Data Wrangler με τις ροές εργασίας MLOps PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Το βήμα Έναρξη χρησιμοποιεί έναν τελεστή Python για την προετοιμασία των διαμορφώσεων για τα υπόλοιπα βήματα στη ροή εργασίας. SageMaker_DataWrangler_Step χρησιμοποιεί SageMakerDataWranglerOperator και το αρχείο ροής δεδομένων που δημιουργήσαμε νωρίτερα. SageMaker_training_step και SageMaker_create_model_step χρησιμοποιήστε τους ενσωματωμένους τελεστές SageMaker για εκπαίδευση μοντέλων και δημιουργία μοντέλων, αντίστοιχα. Το περιβάλλον Amazon MWAA χρησιμοποιεί τον μικρότερο τύπο παρουσίας (mw1.small), επειδή το μεγαλύτερο μέρος της επεξεργασίας πραγματοποιείται μέσω εργασιών επεξεργασίας, το οποίο χρησιμοποιεί τον δικό του τύπο παρουσίας που μπορεί να οριστεί ως παράμετροι διαμόρφωσης στη ροή εργασίας.

Εγκατάσταση και αναλυτική περιγραφή

Μπορείτε να βρείτε αναλυτικές οδηγίες εγκατάστασης βήμα προς βήμα για την ανάπτυξη αυτής της λύσης Αποθετήριο GitHub. Χρησιμοποιήσαμε ένα σημειωματάριο Jupyter με κελιά κώδικα Python για να ρυθμίσουμε το Airflow DAG. Υποθέτοντας ότι έχετε ήδη δημιουργήσει το αρχείο ροής δεδομένων, ακολουθεί μια επισκόπηση υψηλού επιπέδου των βημάτων εγκατάστασης:

  1. Δημιουργήστε έναν κάδο S3 και τους επόμενους φακέλους που απαιτούνται από το Amazon MWAA.
  2. Δημιουργήστε ένα περιβάλλον Amazon MWAA. Σημειώστε ότι χρησιμοποιήσαμε Airflow έκδοση 2.0.2 για αυτήν τη λύση.
  3. Δημιουργία και αποστολή α requirements.txt αρχείο με όλες τις εξαρτήσεις Python που απαιτούνται από τις εργασίες Airflow και ανεβάστε το στο /requirements κατάλογο εντός του πρωτεύοντος κάδου S3 του Amazon MWAA. Αυτό χρησιμοποιείται από το περιβάλλον διαχείρισης Airflow για την εγκατάσταση των εξαρτήσεων Python.
  4. Ανεβάστε το SMDataWranglerOperator.py αρχείο στο /dags Ευρετήριο. Αυτό το σενάριο Python περιέχει κώδικα για τον προσαρμοσμένο τελεστή ροής αέρα για το Data Wrangler. Αυτός ο τελεστής μπορεί να χρησιμοποιηθεί για εργασίες επεξεργασίας οποιουδήποτε αρχείου .flow.
  5. Δημιουργήστε και ανεβάστε το config.py σενάριο στο /dags Ευρετήριο. Αυτό το σενάριο Python χρησιμοποιείται για το πρώτο βήμα του DAG μας για τη δημιουργία αντικειμένων διαμόρφωσης που απαιτούνται από τα υπόλοιπα βήματα της ροής εργασίας.
  6. Τέλος, δημιουργήστε και ανεβάστε το ml_pipelines.py αρχείο στο /dags Ευρετήριο. Αυτό το σενάριο περιέχει τον ορισμό DAG για τη ροή εργασίας Airflow. Εδώ ορίζουμε καθεμία από τις εργασίες και ορίζουμε εξαρτήσεις μεταξύ τους. Το Amazon MWAA πραγματοποιεί περιοδικά δημοσκοπήσεις στο /dags κατάλογο για να εκτελέσετε αυτό το σενάριο για να δημιουργήσετε το DAG ή να ενημερώσετε το υπάρχον με τυχόν τελευταίες αλλαγές.

Ακολουθεί ο κωδικός για SageMaker_DataWrangler_step, το οποίο χρησιμοποιεί το έθιμο SageMakerDataWranglerOperator. Με λίγες μόνο γραμμές κώδικα στο σενάριο Python ορισμού DAG, μπορείτε να υποδείξετε το SageMakerDataWranglerOperator στη θέση του αρχείου ροής δεδομένων Wrangler (η οποία είναι θέση S3). Πίσω από τις σκηνές, αυτός ο χειριστής χρησιμοποιεί Εργασίες επεξεργασίας SageMaker για να επεξεργαστείτε το αρχείο .flow προκειμένου να εφαρμόσετε τους καθορισμένους μετασχηματισμούς στα αρχεία ακατέργαστων δεδομένων σας. Μπορείτε επίσης να καθορίσετε το τύπος περίπτωσης και τον αριθμό των περιπτώσεων που απαιτούνται από την εργασία επεξεργασίας του Data Wrangler.

# Airflow Data Wrangler operator 
from SMDataWranglerOperator import SageMakerDataWranglerOperator 
preprocess_task = SageMakerDataWranglerOperator( task_id='DataWrangler_Processing_Step', 
                                                 dag=dag, 
                                                 flow_file_s3uri = flow_uri, 
                                                 processing_instance_count=2, 
                                                 instance_type='ml.m5.4xlarge', 
                                                 aws_conn_id="aws_default", 
                                                 config=config)

Η config Η παράμετρος δέχεται ένα λεξικό (ζεύγη κλειδιού-τιμής) πρόσθετων διαμορφώσεων που απαιτούνται από την εργασία επεξεργασίας, όπως το πρόθεμα εξόδου του τελικού αρχείου εξόδου, τον τύπο του αρχείου εξόδου (CSV ή Parquet) και το URI για το ενσωματωμένο κοντέινερ Data Wrangler εικόνα. Ο παρακάτω κώδικας είναι αυτό που config λεξικό για SageMakerDataWranglerOperator μοιάζει με. Αυτές οι διαμορφώσεις απαιτούνται για μια επεξεργασία SageMaker επεξεργαστή. Για λεπτομέρειες για καθεμία από αυτές τις παραμέτρους διαμόρφωσης, ανατρέξτε στο sagemaker.processing.Processor().

{
	"sagemaker_role": #required SageMaker IAM Role name or ARN,
	"s3_data_type": #optional;defaults to "S3Prefix"
	"s3_input_mode": #optional;defaults to "File",
	"s3_data_distribution_type": #optional;defaults to "FullyReplicated",
	"kms_key": #optional;defaults to None,
	"volume_size_in_gb": #optional;defaults to 30,
	"enable_network_isolation": #optional;defaults to False,
	"wait_for_processing": #optional;defaults to True,
	"container_uri": #optional;defaults to built - in container URI,
	"container_uri_pinned": #optional;defaults to built - in container URI,
	"outputConfig": {
		"s3_output_upload_mode": #optional;defaults to EndOfJob
		"output_content_type": #optional;defaults to CSV
		"output_bucket": #optional;defaults to SageMaker Default bucket
		"output_prefix": #optional;defaults to None.Prefix within bucket where output will be written
	}
}

εκκαθάριση

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

  1. Ακολουθήστε αυτά οδηγίες παρέχεται στο αποθετήριο GitHub για τον καθαρισμό πόρων που δημιουργήθηκαν από τη λύση SageMaker Pipelines.
  2. Ακολουθήστε αυτά οδηγίες παρέχεται στο αποθετήριο GitHub για την εκκαθάριση πόρων που δημιουργούνται από τη λύση Step Functions.
  3. Ακολουθήστε αυτά οδηγίες παρέχεται στο αποθετήριο GitHub για την εκκαθάριση πόρων που δημιουργούνται από τη λύση Amazon MWAA.

Συμπέρασμα

Αυτή η ανάρτηση έδειξε πώς μπορείτε εύκολα να ενσωματώσετε το Data Wrangler με μερικές από τις γνωστές τεχνολογίες αυτοματισμού και ενορχήστρωσης ροής εργασιών στο AWS. Αρχικά εξετάσαμε ένα δείγμα περίπτωσης χρήσης και αρχιτεκτονικής για τη λύση που χρησιμοποιεί το Data Wrangler για προεπεξεργασία δεδομένων. Στη συνέχεια δείξαμε πώς μπορείτε να ενσωματώσετε το Data Wrangler με Pipelines, Step Functions και Amazon MWAA.

Ως επόμενο βήμα, μπορείτε να βρείτε και να δοκιμάσετε τα δείγματα κώδικα και τα σημειωματάρια στο δικό μας Αποθετήριο GitHub χρησιμοποιώντας τις λεπτομερείς οδηγίες για καθεμία από τις λύσεις που συζητούνται σε αυτήν την ανάρτηση. Για να μάθετε περισσότερα σχετικά με το πώς το Data Wrangler μπορεί να βοηθήσει τους φόρτους εργασίας ML σας, επισκεφτείτε το Data Wrangler σελίδα του προϊόντος και Προετοιμάστε τα δεδομένα ML με το Amazon SageMaker Data Wrangler.


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

Ενσωματώστε το Amazon SageMaker Data Wrangler με τις ροές εργασίας MLOps PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ροντρίγκο Αλαρκόν είναι ανώτερος αρχιτέκτονας λύσεων στρατηγικής ML με AWS με έδρα το Σαντιάγο της Χιλής. Στο ρόλο του, ο Rodrigo βοηθά εταιρείες διαφορετικών μεγεθών να δημιουργήσουν επιχειρηματικά αποτελέσματα μέσω λύσεων AI και ML που βασίζονται σε cloud. Τα ενδιαφέροντά του περιλαμβάνουν τη μηχανική μάθηση και την ασφάλεια στον κυβερνοχώρο.

Ενσωματώστε το Amazon SageMaker Data Wrangler με τις ροές εργασίας MLOps PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ganapathi Krishnamoorthi είναι Senior ML Solutions Architect στην AWS. Το Ganapathi παρέχει καθοδήγηση σε πελάτες εκκίνησης και επιχειρήσεων, βοηθώντας τους να σχεδιάσουν και να αναπτύξουν εφαρμογές cloud σε κλίμακα. Είναι εξειδικευμένος στη μηχανική μάθηση και επικεντρώνεται στο να βοηθά τους πελάτες να αξιοποιήσουν το AI/ML για τα επιχειρηματικά τους αποτελέσματα. Όταν δεν είναι στη δουλειά, του αρέσει να εξερευνά σε εξωτερικούς χώρους και να ακούει μουσική.

Ενσωματώστε το Amazon SageMaker Data Wrangler με τις ροές εργασίας MLOps PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Anjan Biswas είναι Ανώτερος Αρχιτέκτονας Λύσεων Υπηρεσιών AI με έμφαση στο AI/ML και την ανάλυση δεδομένων. Ο Anjan είναι μέρος της παγκόσμιας ομάδας υπηρεσιών τεχνητής νοημοσύνης και συνεργάζεται με πελάτες για να τους βοηθήσει να κατανοήσουν και να αναπτύξουν λύσεις σε επιχειρηματικά προβλήματα με AI και ML. Η Anjan έχει πάνω από 14 χρόνια εμπειρίας σε συνεργασία με παγκόσμιους οργανισμούς εφοδιαστικής αλυσίδας, κατασκευής και λιανικής και βοηθά ενεργά τους πελάτες να ξεκινήσουν και να επεκταθούν στις υπηρεσίες AWS AI.

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

Περισσότερα από Μηχανική εκμάθηση AWS