Λογότυπο Zephyrnet

Εντοπίστε ανωμαλίες στα δεδομένα παραγωγής χρησιμοποιώντας το Amazon SageMaker Canvas | Υπηρεσίες Ιστού της Amazon

Ημερομηνία:

Με τη χρήση του cloud computing, των μεγάλων δεδομένων και των εργαλείων μηχανικής μάθησης (ML), όπως Αμαζόν Αθηνά or Amazon Sage Maker έχουν γίνει διαθέσιμα και χρησιμοποιήσιμα από οποιονδήποτε χωρίς μεγάλη προσπάθεια στη δημιουργία και τη συντήρηση. Οι βιομηχανικές εταιρείες εξετάζουν όλο και περισσότερο την ανάλυση δεδομένων και τη λήψη αποφάσεων με γνώμονα τα δεδομένα για να αυξήσουν την αποδοτικότητα των πόρων σε ολόκληρο το χαρτοφυλάκιό τους, από τις λειτουργίες έως την εκτέλεση πρόβλεψης συντήρησης ή προγραμματισμού.

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

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

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

Ανίχνευση ανωμαλιών για τη μεταποιητική βιομηχανία

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

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

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

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

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

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

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.

Επισκόπηση της διαδικασίας: Δημιουργείται ένα μοντέλο στον καμβά SageMaker, αναπτύσσεται και στη συνέχεια προσπελάζεται από ένα AWS Lambda Funcino.

Η λύση αποτελείται από τέσσερα βασικά βήματα:

  1. Ο ειδικός τομέα δημιουργεί το αρχικό μοντέλο, συμπεριλαμβανομένης της ανάλυσης δεδομένων και της επιμέλειας χαρακτηριστικών χρησιμοποιώντας το SageMaker Canvas.
  2. Ο ειδικός τομέα μοιράζεται το μοντέλο μέσω του Μητρώο μοντέλων Amazon SageMaker ή το αναπτύσσει απευθείας ως τελικό σημείο σε πραγματικό χρόνο.
  3. Ένας ειδικός του MLOps δημιουργεί την υποδομή συμπερασμάτων και τον κώδικα μετατρέποντας την έξοδο του μοντέλου από μια πρόβλεψη σε δείκτη ανωμαλίας. Αυτός ο κώδικας εκτελείται συνήθως μέσα σε ένα AWS Lambda λειτουργία.
  4. Όταν μια εφαρμογή απαιτεί ανίχνευση ανωμαλίας, καλεί τη συνάρτηση Lambda, η οποία χρησιμοποιεί το μοντέλο για συμπέρασμα και παρέχει την απόκριση (είτε πρόκειται για ανωμαλία είτε όχι).

Προϋποθέσεις

Για να ακολουθήσετε αυτήν την ανάρτηση, πρέπει να πληροίτε τις ακόλουθες προϋποθέσεις:

Δημιουργήστε το μοντέλο χρησιμοποιώντας το SageMaker

Η διαδικασία δημιουργίας μοντέλου ακολουθεί τα τυπικά βήματα για τη δημιουργία ενός μοντέλου παλινδρόμησης στον καμβά SageMaker. Για περισσότερες πληροφορίες, ανατρέξτε στο Ξεκινώντας με τη χρήση του Amazon SageMaker Canvas.

Πρώτον, ο ειδικός τομέα φορτώνει σχετικά δεδομένα στον καμβά SageMaker, όπως μια χρονική σειρά μετρήσεων. Για αυτήν την ανάρτηση, χρησιμοποιούμε ένα αρχείο CSV που περιέχει τις (συνθετικά δημιουργημένες) μετρήσεις ενός ηλεκτρικού κινητήρα. Για λεπτομέρειες, ανατρέξτε στο Εισαγωγή δεδομένων στον Καμβά. Τα δείγματα δεδομένων που χρησιμοποιήθηκαν είναι διαθέσιμα για λήψη ως α CSV.

Μια εικόνα που δείχνει τις πρώτες γραμμές του csv. Επιπλέον, εμφανίζονται ιστόγραμμα και μετρήσεις συγκριτικής αξιολόγησης για ένα μοντέλο γρήγορης προεπισκόπησης.

Επιμεληθείτε τα δεδομένα με το SageMaker Canvas

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

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

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

  • Για περιστρεφόμενο εξοπλισμό, όπως το μοντέλο που κατασκευάζουμε σε αυτήν την ανάρτηση, τυπικές εισροές είναι η ταχύτητα περιστροφής, η ροπή (τρέχον και ιστορικό) και η θερμοκρασία περιβάλλοντος και οι στόχοι είναι οι προκύπτουσες θερμοκρασίες ρουλεμάν ή κινητήρα που υποδεικνύουν καλές συνθήκες λειτουργίας των περιστροφών
  • Για μια ανεμογεννήτρια, τυπικές είσοδοι είναι το τρέχον και πρόσφατο ιστορικό της ταχύτητας ανέμου και οι ρυθμίσεις του πτερυγίου του ρότορα και η ποσότητα στόχος είναι η παραγόμενη ισχύς ή η ταχύτητα περιστροφής
  • Για μια χημική διεργασία, τυπικές εισροές είναι το ποσοστό των διαφορετικών συστατικών και η θερμοκρασία περιβάλλοντος, και στόχοι είναι η θερμότητα που παράγεται ή το ιξώδες του τελικού προϊόντος
  • Για κινούμενο εξοπλισμό όπως συρόμενες πόρτες, τυπικές είσοδοι είναι η ισχύς εισόδου στους κινητήρες και η τιμή στόχος είναι η ταχύτητα ή ο χρόνος ολοκλήρωσης της κίνησης
  • Για ένα σύστημα HVAC, τυπικές είσοδοι είναι η επιτυγχανόμενη διαφορά θερμοκρασίας και οι ρυθμίσεις φορτίου και η ποσότητα στόχος είναι η μετρούμενη κατανάλωση ενέργειας

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

Στις περισσότερες περιπτώσεις, η επιλογή κατάλληλων ποσοτήτων εισόδου και στόχου σημαίνει την επιλογή μόνο των σωστών στηλών και τη σήμανση της στήλης στόχου (για αυτό το παράδειγμα, bearing_temperature). Ωστόσο, ένας ειδικός τομέα μπορεί επίσης να χρησιμοποιήσει τις δυνατότητες χωρίς κώδικα του SageMaker Canvas για να μετασχηματίσει στήλες και να βελτιώσει ή να συγκεντρώσει τα δεδομένα. Για παράδειγμα, μπορείτε να εξαγάγετε ή να φιλτράρετε συγκεκριμένες ημερομηνίες ή χρονικές σημάνσεις από τα δεδομένα που δεν είναι σχετικά. Το SageMaker Canvas υποστηρίζει αυτήν τη διαδικασία, εμφανίζοντας στατιστικά στοιχεία για τις επιλεγμένες ποσότητες, επιτρέποντάς σας να κατανοήσετε εάν μια ποσότητα έχει ακραίες τιμές και εξάπλωση που μπορεί να επηρεάσουν τα αποτελέσματα του μοντέλου.

Εκπαιδεύστε, συντονίστε και αξιολογήστε το μοντέλο

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

Κανονικά, μπορείτε να χρησιμοποιήσετε τον καμβά SageMaker Προεπισκόπηση μοντέλου επιλογή. Αυτό παρέχει μια γρήγορη ένδειξη της αναμενόμενης ποιότητας μοντέλου και σας επιτρέπει να διερευνήσετε την επίδραση που έχουν οι διαφορετικές είσοδοι στη μέτρηση εξόδου. Για παράδειγμα, στο παρακάτω στιγμιότυπο οθόνης, το μοντέλο επηρεάζεται περισσότερο από το motor_speed και ambient_temperature μετρήσεις κατά την πρόβλεψη bearing_temperature. Αυτό είναι λογικό, γιατί αυτές οι θερμοκρασίες συνδέονται στενά. Ταυτόχρονα, πρόσθετες τριβές ή άλλα μέσα απώλειας ενέργειας είναι πιθανό να επηρεάσουν αυτό.

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

Ένα γράφημα που δείχνει την πραγματική και την προβλεπόμενη ταχύτητα του κινητήρα. Η σχέση είναι γραμμική με κάποιο θόρυβο.

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

Αναπτύξτε το μοντέλο

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

Σε αυτήν την ανάρτηση και για λόγους απλότητας, αναπτύσσουμε το μοντέλο ως τελικό σημείο από το SageMaker Canvas απευθείας. Για οδηγίες, ανατρέξτε στο Αναπτύξτε τα μοντέλα σας σε ένα τελικό σημείο. Φροντίστε να σημειώσετε το όνομα ανάπτυξης και να λάβετε υπόψη την τιμολόγηση του τύπου παρουσίας στον οποίο αναπτύσσετε (για αυτήν την ανάρτηση, χρησιμοποιούμε ml.m5.large). Στη συνέχεια, το SageMaker Canvas θα δημιουργήσει ένα τελικό σημείο μοντέλου που μπορεί να κληθεί για να λάβει προβλέψεις.

Ένα παράθυρο εφαρμογής που δείχνει τη διαμόρφωση μιας ανάπτυξης μοντέλου. Οι ρυθμίσεις που εμφανίζονται είναι ένα μέγεθος μηχανής ml.m5.large και ένα όνομα ανάπτυξης δείγματος-ανωμαλία-μοντέλου.

Σε βιομηχανικά περιβάλλοντα, ένα μοντέλο πρέπει να υποβληθεί σε ενδελεχή δοκιμή πριν μπορέσει να αναπτυχθεί. Για αυτό, ο ειδικός τομέα δεν θα το αναπτύξει, αλλά θα μοιραστεί το μοντέλο στο μητρώο μοντέλων του SageMaker. Εδώ, ένας ειδικός στις λειτουργίες MLOps μπορεί να αναλάβει. Συνήθως, αυτός ο εμπειρογνώμονας θα δοκιμάσει το τελικό σημείο του μοντέλου, θα αξιολογήσει το μέγεθος του υπολογιστικού εξοπλισμού που απαιτείται για την εφαρμογή-στόχο και θα προσδιορίσει την πιο οικονομικά αποδοτική ανάπτυξη, όπως η ανάπτυξη για συμπεράσματα χωρίς διακομιστή ή συμπεράσματα παρτίδας. Αυτά τα βήματα είναι συνήθως αυτοματοποιημένα (για παράδειγμα, χρησιμοποιώντας Amazon Sagemaker Pipelines ή η Amazon SDK).

Μια εικόνα που δείχνει το κουμπί για κοινή χρήση ενός μοντέλου από το Amazon Sgemaker σε ένα Μητρώο Μοντέλων.

Χρησιμοποιήστε το μοντέλο για ανίχνευση ανωμαλιών

Στο προηγούμενο βήμα, δημιουργήσαμε μια ανάπτυξη μοντέλου στον καμβά SageMaker, που ονομάζεται canvas-sample-anomaly-model. Μπορούμε να το χρησιμοποιήσουμε για να λάβουμε προβλέψεις του α bearing_temperature τιμή με βάση τις άλλες στήλες του συνόλου δεδομένων. Τώρα, θέλουμε να χρησιμοποιήσουμε αυτό το τελικό σημείο για να ανιχνεύσουμε ανωμαλίες.

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

# We are using pandas dataframes for data handling
import pandas as pd 
import boto3,json
sm_runtime_client = boto3.client('sagemaker-runtime')

# Configuration of the actual model invocation
endpoint_name="canvas-sample-anomaly-model"
# Name of the column in the input data to compare with predictions
TARGET_COL='bearing_temperature' 

def do_inference(data, endpoint_name):
    # Example Code provided by Sagemaker Canvas
    body = data.to_csv(header=False, index=True).encode("utf-8")
    response = sm_runtime_client.invoke_endpoint(Body = body,
                              EndpointName = endpoint_name,
                              ContentType = "text/csv",
                              Accept = "application/json",
                              )
    return json.loads(response["Body"].read())


def input_transformer(input_data, drop_cols = [ TARGET_COL ] ):
    # Transform the input: Drop the Target column
    return input_data.drop(drop_cols,axis =1 )

def output_transformer(input_data,response):
    # Take the initial input data and compare it to the response of the prediction model
    scored = input_data.copy()
    scored.loc[ input_data.index,'prediction_'+TARGET_COL ] = pd.DataFrame(
response[ 'predictions' ],
index = input_data.index 
)['score']
    scored.loc[ input_data.index,'error' ] = (
scored[ TARGET_COL ]-scored[ 'prediction_'+TARGET_COL ]
).abs()
    return scored

# Run the inference
raw_input = pd.read_csv(MYFILE) # Read my data for inference
to_score = input_transformer(raw_input) # Prepare the data
predictions = do_inference(to_score, endpoint_name) # create predictions
results = output_transformer(to_score,predictions) # compare predictions & actuals

Ο προηγούμενος κώδικας εκτελεί τις ακόλουθες ενέργειες:

  1. Τα δεδομένα εισόδου φιλτράρονται στις σωστές λειτουργίες (λειτουργία "input_transformer").
  2. Το τελικό σημείο του μοντέλου SageMaker καλείται με τα φιλτραρισμένα δεδομένα (συνάρτηση "do_inference"), όπου χειριζόμαστε τη μορφοποίηση εισόδου και εξόδου σύμφωνα με το δείγμα κώδικα που παρέχεται κατά το άνοιγμα της σελίδας λεπτομερειών της ανάπτυξής μας στο SageMaker Canvas.
  3. Το αποτέλεσμα της επίκλησης ενώνεται με τα αρχικά δεδομένα εισόδου και η διαφορά αποθηκεύεται στη στήλη σφάλματος (συνάρτηση "output_transform").

Βρείτε ανωμαλίες και αξιολογήστε ανώμαλα γεγονότα

Σε μια τυπική εγκατάσταση, ο κώδικας για τη λήψη ανωμαλιών εκτελείται σε μια συνάρτηση Lambda. Η συνάρτηση Lambda μπορεί να κληθεί από μια εφαρμογή ή Amazon API Gateway. Η κύρια συνάρτηση επιστρέφει μια βαθμολογία ανωμαλίας για κάθε σειρά των δεδομένων εισόδου — σε αυτήν την περίπτωση, μια χρονική σειρά μιας βαθμολογίας ανωμαλίας.

Για δοκιμή, μπορούμε επίσης να εκτελέσουμε τον κώδικα σε ένα σημειωματάριο SageMaker. Τα παρακάτω γραφήματα δείχνουν τις εισόδους και τις εξόδους του μοντέλου μας όταν χρησιμοποιούμε τα δείγματα δεδομένων. Οι κορυφές στην απόκλιση μεταξύ προβλεπόμενων και πραγματικών τιμών (βαθμολογία ανωμαλίας, που φαίνεται στο κάτω γράφημα) υποδεικνύουν ανωμαλίες. Για παράδειγμα, στο γράφημα, μπορούμε να δούμε τρεις διακριτές κορυφές όπου η βαθμολογία ανωμαλίας (διαφορά μεταξύ αναμενόμενης και πραγματικής θερμοκρασίας) ξεπερνά τους 7 βαθμούς Κελσίου: η πρώτη μετά από μεγάλο χρονικό διάστημα αδράνειας, η δεύτερη σε απότομη πτώση bearing_temperature, και το τελευταίο που bearing_temperature είναι υψηλό σε σύγκριση με motor_speed.

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

Σε πολλές περιπτώσεις, η γνώση της χρονοσειράς της βαθμολογίας ανωμαλίας είναι ήδη επαρκής. μπορείτε να ορίσετε ένα όριο για το πότε να προειδοποιείτε για μια σημαντική ανωμαλία με βάση την ανάγκη για ευαισθησία μοντέλου. Η τρέχουσα βαθμολογία υποδεικνύει τότε ότι ένα μηχάνημα έχει μια μη φυσιολογική κατάσταση που χρειάζεται διερεύνηση. Για παράδειγμα, για το μοντέλο μας, η απόλυτη τιμή της βαθμολογίας ανωμαλίας κατανέμεται όπως φαίνεται στο παρακάτω γράφημα. Αυτό επιβεβαιώνει ότι οι περισσότερες βαθμολογίες ανωμαλιών είναι κάτω από τους (2xRMS=)8 μοίρες που βρέθηκαν κατά την εκπαίδευση για το μοντέλο ως το τυπικό σφάλμα. Το γράφημα μπορεί να σας βοηθήσει να επιλέξετε ένα όριο με μη αυτόματο τρόπο, έτσι ώστε το σωστό ποσοστό των αξιολογηθέντων δειγμάτων να επισημαίνονται ως ανωμαλίες.

Ένα ιστόγραμμα της εμφάνισης τιμών για τη βαθμολογία ανωμαλίας. Η καμπύλη μειώνεται από x=0 σε x=15.

Εάν το επιθυμητό αποτέλεσμα είναι γεγονότα ανωμαλιών, τότε οι βαθμολογίες ανωμαλιών που παρέχονται από το μοντέλο απαιτούν βελτίωση για να είναι σχετικές για επιχειρηματική χρήση. Για αυτό, ο ειδικός ML θα προσθέσει συνήθως μεταεπεξεργασία για την αφαίρεση του θορύβου ή των μεγάλων κορυφών στη βαθμολογία ανωμαλίας, όπως η προσθήκη ενός κυλιόμενου μέσου. Επιπλέον, ο ειδικός θα αξιολογήσει τυπικά τη βαθμολογία ανωμαλίας με μια λογική παρόμοια με την αύξηση ενός amazoncloudwatch συναγερμού, όπως η παρακολούθηση για την υπέρβαση ενός ορίου για μια συγκεκριμένη διάρκεια. Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση συναγερμών, ανατρέξτε στο Χρήση συναγερμών Amazon CloudWatch. Η εκτέλεση αυτών των αξιολογήσεων στη συνάρτηση Lambda σάς επιτρέπει να στέλνετε προειδοποιήσεις, για παράδειγμα, δημοσιεύοντας μια προειδοποίηση σε Υπηρεσία απλών ειδοποιήσεων Amazon (Amazon SNS) θέμα.

εκκαθάριση

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

  1. Στον καμβά SageMaker, βρείτε την ανάπτυξη του τελικού σημείου του μοντέλου σας και διαγράψτε το.
  2. Αποσυνδεθείτε από το SageMaker Canvas για να αποφύγετε χρεώσεις για αδράνεια.

Χαρακτηριστικά

Σε αυτήν την ανάρτηση, δείξαμε πώς ένας ειδικός τομέα μπορεί να αξιολογήσει τα δεδομένα εισόδου και να δημιουργήσει ένα μοντέλο ML χρησιμοποιώντας το SageMaker Canvas χωρίς να χρειάζεται να γράψει κώδικα. Στη συνέχεια, δείξαμε πώς να χρησιμοποιήσετε αυτό το μοντέλο για την εκτέλεση ανίχνευσης ανωμαλιών σε πραγματικό χρόνο χρησιμοποιώντας το SageMaker και το Lambda μέσω μιας απλής ροής εργασίας. Αυτός ο συνδυασμός εξουσιοδοτεί τους ειδικούς του τομέα να χρησιμοποιήσουν τις γνώσεις τους για να δημιουργήσουν ισχυρά μοντέλα ML χωρίς πρόσθετη εκπαίδευση στην επιστήμη δεδομένων και επιτρέπει στους ειδικούς του MLOps να χρησιμοποιούν αυτά τα μοντέλα και να τα καθιστούν διαθέσιμα για συμπέρασμα ευέλικτα και αποτελεσματικά.

Διατίθεται δωρεάν επίπεδο 2 μηνών για το SageMaker Canvas και στη συνέχεια πληρώνετε μόνο για ό,τι χρησιμοποιείτε. Ξεκινήστε να πειραματίζεστε σήμερα και προσθέστε ML για να αξιοποιήσετε στο έπακρο τα δεδομένα σας.


Σχετικά με τον Συγγραφέα

Helge Aufderheide είναι λάτρης του να κάνει τα δεδομένα χρησιμοποιήσιμα στον πραγματικό κόσμο με ιδιαίτερη έμφαση στον Αυτοματισμό, το Analytics και τη Μηχανική Μάθηση σε Βιομηχανικές Εφαρμογές, όπως η Κατασκευή και η Κινητικότητα.

spot_img

Τελευταία Νοημοσύνη

spot_img