Σχεδιάστε μοτίβα για σειριακά συμπεράσματα στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Σχεδιαστικά μοτίβα για σειριακά συμπεράσματα στο Amazon SageMaker

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

Επιπλέον, αυτοί οι σειριακές αγωγές συμπερασμάτων θα πρέπει να παρέχουν τα ακόλουθα:

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

Σε αυτήν την ανάρτηση, εξετάζουμε ορισμένες συνήθεις περιπτώσεις χρήσης για σειριακές αγωγούς συμπερασμάτων και εξετάζουμε ορισμένες επιλογές υλοποίησης για καθεμία από αυτές τις περιπτώσεις χρήσης χρησιμοποιώντας Amazon Sage Maker. Συζητάμε επίσης σκέψεις για καθεμία από αυτές τις επιλογές υλοποίησης.

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

Χρήση θήκης Χρήση Περιγραφή περίπτωσης Πρωτεύουσες Θεωρήσεις Συνολική πολυπλοκότητα υλοποίησης Προτεινόμενες επιλογές υλοποίησης Δείγμα τεχνουργημάτων κώδικα και σημειωματάρια
Σειριακός αγωγός συμπερασμάτων (με τα βήματα προεπεξεργασίας και μεταεπεξεργασίας περιλαμβάνονται) Η διοχέτευση συμπερασμάτων πρέπει να προεπεξεργάζεται τα εισερχόμενα δεδομένα πριν επικαλεστεί ένα εκπαιδευμένο μοντέλο για τη δημιουργία συμπερασμάτων και στη συνέχεια τα συμπεράσματα που δημιουργούνται μετά την επεξεργασία, έτσι ώστε να μπορούν να καταναλωθούν εύκολα από τις κατάντη εφαρμογές Ευκολία εφαρμογής Χαμηλός Δοχείο συμπερασμάτων χρησιμοποιώντας το SageMaker Inference Toolkit Αναπτύξτε ένα εκπαιδευμένο μοντέλο PyTorch
Σειριακός αγωγός συμπερασμάτων (με τα βήματα προεπεξεργασίας και μεταεπεξεργασίας περιλαμβάνονται) Η διοχέτευση συμπερασμάτων πρέπει να προεπεξεργάζεται τα εισερχόμενα δεδομένα πριν επικαλεστεί ένα εκπαιδευμένο μοντέλο για τη δημιουργία συμπερασμάτων και στη συνέχεια τα συμπεράσματα που δημιουργούνται μετά την επεξεργασία, έτσι ώστε να μπορούν να καταναλωθούν εύκολα από τις κατάντη εφαρμογές Αποσύνδεση, απλοποιημένη ανάπτυξη και αναβαθμίσεις Μέτριας Δυσκολίας Σωλήνας συμπερασμάτων SageMaker Inference Pipeline με προσαρμοσμένα κοντέινερ και xgBoost
Σύνολο σειριακών μοντέλων Ο αγωγός συμπερασμάτων πρέπει να φιλοξενεί και να τακτοποιεί πολλαπλά μοντέλα διαδοχικά, έτσι ώστε κάθε μοντέλο να ενισχύει το συμπέρασμα που δημιουργείται από το προηγούμενο, πριν δημιουργήσει το τελικό συμπέρασμα Αποσύνδεση, απλοποιημένη ανάπτυξη και αναβαθμίσεις, ευελιξία στην επιλογή πλαισίου μοντέλου Μέτριας Δυσκολίας Σωλήνας συμπερασμάτων SageMaker Inference Pipeline με Scikit-learn και Linear Learner
Σειριακή διοχέτευση συμπερασμάτων (με στοχευμένη επίκληση μοντέλου από μια ομάδα) Ο αγωγός συμπερασμάτων πρέπει να επικαλείται ένα συγκεκριμένο προσαρμοσμένο μοντέλο από μια ομάδα αναπτυγμένων μοντέλων, με βάση τα χαρακτηριστικά αιτημάτων ή για βελτιστοποίηση κόστους, επιπλέον των εργασιών προεπεξεργασίας και μεταεπεξεργασίας Βελτιστοποίηση κόστους και προσαρμογή Ψηλά Διοχέτευση συμπερασμάτων SageMaker με τερματικά σημεία πολλαπλών μοντέλων (MME) Amazon SageMaker Multi-Model Endpoints με χρήση Linear Learner

Στις επόμενες ενότητες, θα συζητήσουμε κάθε περίπτωση χρήσης με περισσότερες λεπτομέρειες.

Σειριακός αγωγός συμπερασμάτων χρησιμοποιώντας δοχεία συμπερασμάτων

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

Το SageMaker παρέχει μια επιλογή για την προσαρμογή των δοχείων συμπερασμάτων και τη χρήση τους για τη δημιουργία ενός σειριακού αγωγού συμπερασμάτων. Τα δοχεία συμπερασμάτων χρησιμοποιούν το SageMaker Inference Toolkit και χτίζονται πάνω Διακομιστής πολλαπλών μοντέλων SageMaker (MMS), το οποίο παρέχει έναν ευέλικτο μηχανισμό για την εξυπηρέτηση μοντέλων ML. Το παρακάτω διάγραμμα απεικονίζει ένα μοτίβο αναφοράς για τον τρόπο υλοποίησης ενός σειριακού αγωγού συμπερασμάτων χρησιμοποιώντας δοχεία συμπερασμάτων.

Το SageMaker MMS αναμένει ένα σενάριο Python που υλοποιεί τις ακόλουθες λειτουργίες για τη φόρτωση του μοντέλου, την προεπεξεργασία δεδομένων εισόδου, τη λήψη προβλέψεων από το μοντέλο και την εκ των υστέρων επεξεργασία των δεδομένων εξόδου:

  • είσοδος_fn () – Υπεύθυνος για την αποσημείωση και την προεπεξεργασία των δεδομένων εισόδου
  • μοντέλο_fn () – Υπεύθυνος για τη φόρτωση του εκπαιδευμένου μοντέλου από αντικείμενα μέσα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3)
  • προβλέψτε_fn () – Υπεύθυνος για τη δημιουργία συμπερασμάτων από το μοντέλο
  • έξοδος_fn () – Υπεύθυνος για τη σειριακή και μετεπεξεργασία των δεδομένων εξόδου (συμπεράσματα)

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

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

  • Υψηλή συνοχή – Η λογική επεξεργασίας και το αντίστοιχο μοντέλο καθοδηγούν τη λειτουργικότητα μιας επιχείρησης και πρέπει να συνεγκατασταθούν
  • Χαμηλή συνολική καθυστέρηση – Ο χρόνος που μεσολάβησε μεταξύ της υποβολής αιτήματος συμπερασμάτων και της λήψης της απάντησης

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

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

Σειριακή διοχέτευση συμπερασμάτων με χρήση αγωγού συμπερασμάτων SageMaker

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

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

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

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

ml9154-inference-pipeline

Ένας αγωγός συμπερασμάτων SageMaker αποτελείται από μια γραμμική ακολουθία 2–15 δοχείων που επεξεργάζονται αιτήματα για συμπεράσματα σε δεδομένα. Η διοχέτευση συμπερασμάτων παρέχει την επιλογή χρήσης προεκπαιδευμένων ενσωματωμένων αλγορίθμων SageMaker ή προσαρμοσμένων αλγορίθμων συσκευασμένων σε δοχεία Docker. Τα κοντέινερ φιλοξενούνται στην ίδια υποκείμενη περίπτωση, γεγονός που συμβάλλει στη μείωση της συνολικής καθυστέρησης και στην ελαχιστοποίηση του κόστους.

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

Ξεκινάμε δημιουργώντας και καθορίζοντας μοντέλα που βασίζονται σε Spark ML και XGBoost που σκοπεύουμε να χρησιμοποιήσουμε ως μέρος του αγωγού:

from sagemaker.model import Model
from sagemaker.pipeline_model import PipelineModel
from sagemaker.sparkml.model import SparkMLModel
sparkml_data = 's3://{}/{}/{}'.format(s3_model_bucket, s3_model_key_prefix, 'model.tar.gz')
sparkml_model = SparkMLModel(model_data=sparkml_data)
xgb_model = Model(model_data=xgb_model.model_data, image=training_image)

Στη συνέχεια, τα μοντέλα διατάσσονται διαδοχικά στον ορισμό του μοντέλου αγωγού:

model_name = 'serial-inference-' + timestamp_prefix
endpoint_name = 'serial-inference-ep-' + timestamp_prefix
sm_model = PipelineModel(name=model_name, role=role, models=[sparkml_model, xgb_model])

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

sm_model.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge', endpoint_name=endpoint_name)

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

Η διαχείριση των αγωγών συμπερασμάτων SageMaker γίνεται πλήρως. Όταν ο αγωγός αναπτύσσεται, το SageMaker εγκαθιστά και εκτελεί όλα τα καθορισμένα κοντέινερ σε καθένα από τα Amazon Elastic Compute Cloud Παρουσίες (Amazon EC2) που παρέχονται ως μέρος της εργασίας τελικού σημείου ή μετασχηματισμού παρτίδας. Επιπλέον, επειδή τα εμπορευματοκιβώτια είναι συστεγασμένα και φιλοξενούνται στην ίδια περίπτωση EC2, η συνολική καθυστέρηση του αγωγού μειώνεται.

Σύνολο σειριακών μοντέλων χρησιμοποιώντας μια διοχέτευση συμπερασμάτων SageMaker

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

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

  • Μοντέλο 1 – Δέχεται μια εικόνα ως είσοδο και αξιολογεί την ποιότητα της εικόνας με βάση την ανάλυση, τον προσανατολισμό και άλλα. Αυτό το μοντέλο επιχειρεί στη συνέχεια να αναβαθμίσει την ποιότητα της εικόνας και στέλνει τις επεξεργασμένες εικόνες που πληρούν ένα συγκεκριμένο όριο ποιότητας στο επόμενο μοντέλο (Μοντέλο 2).
  • Μοντέλο 2 – Αποδέχεται εικόνες που έχουν επικυρωθεί μέσω του Μοντέλου 1 και εκτελεί αναγνώριση εικόνας για να αναγνωρίσετε αντικείμενα, μέρη, άτομα, κείμενο και άλλες προσαρμοσμένες ενέργειες και έννοιες σε εικόνες. Η έξοδος από το Μοντέλο 2 που περιέχει αναγνωρισμένα αντικείμενα αποστέλλεται στο Μοντέλο 3.
  • Μοντέλο 3 – Αποδέχεται την έξοδο από το Μοντέλο 2 και εκτελεί εργασίες επεξεργασίας φυσικής γλώσσας (NLP), όπως μοντελοποίηση θεμάτων για ομαδοποίηση εικόνων με βάση θέματα. Για παράδειγμα, οι εικόνες θα μπορούσαν να ομαδοποιηθούν με βάση την τοποθεσία ή τα άτομα που προσδιορίζονται. Η έξοδος (ομαδοποιήσεις) αποστέλλεται πίσω στην εφαρμογή πελάτη.

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

ml9154-μοντέλο-σύνολο

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

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

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

Σειριακή σωλήνωση συμπερασμάτων (με στοχευμένη επίκληση μοντέλου από μια ομάδα) χρησιμοποιώντας μια διοχέτευση συμπερασμάτων SageMaker

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

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

ml9154-mm

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

Πολλαπλά τεχνουργήματα μοντέλων διατηρούνται σε έναν κάδο S3. Όταν καλείται ένα συγκεκριμένο μοντέλο, το SageMaker το φορτώνει δυναμικά στο κοντέινερ που φιλοξενεί το τελικό σημείο. Εάν το μοντέλο έχει ήδη φορτωθεί στη μνήμη του κοντέινερ, η επίκληση είναι ταχύτερη επειδή το SageMaker δεν χρειάζεται να πραγματοποιήσει λήψη του μοντέλου από το Amazon S3. Εάν η χρήση της μνήμης παρουσίας είναι υψηλή και έχει γίνει κλήση ενός νέου μοντέλου και επομένως πρέπει να φορτωθεί, τα μοντέλα που δεν χρησιμοποιούνται αποφορτίζονται από τη μνήμη. Ωστόσο, τα μοντέλα που δεν έχουν φορτωθεί παραμένουν στον όγκο αποθήκευσης της παρουσίας και μπορούν να φορτωθούν στη μνήμη του κοντέινερ αργότερα ξανά, χωρίς να ληφθούν ξανά από τον κάδο S3.

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

Επιλογές φιλοξενίας αγωγών

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

Τώρα μπορείτε να χρησιμοποιήσετε το NVIDIA Triton Inference Server για να εξυπηρετήσετε μοντέλα για συμπέρασμα στο SageMaker για ετερογενείς υπολογιστικές απαιτήσεις. Ολοκλήρωση αγοράς Αναπτύξτε γρήγορη και επεκτάσιμη τεχνητή νοημοσύνη με τον NVIDIA Triton Inference Server στο Amazon SageMaker για περισσότερες λεπτομέρειες.

Συμπέρασμα

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

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


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

Σχεδιάστε μοτίβα για σειριακά συμπεράσματα στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Rahul Sharma είναι Senior Solutions Architect στο AWS Data Lab, βοηθώντας τους πελάτες της AWS να σχεδιάσουν και να δημιουργήσουν λύσεις AI/ML. Πριν από την ένταξή του στην AWS, ο Rahul έχει περάσει αρκετά χρόνια στον χρηματοοικονομικό και ασφαλιστικό τομέα, βοηθώντας τους πελάτες να δημιουργήσουν δεδομένα και αναλυτικές πλατφόρμες.

Σχεδιάστε μοτίβα για σειριακά συμπεράσματα στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Anand Prakash είναι Senior Solutions Architect στο AWS Data Lab. Η Anand εστιάζει στο να βοηθήσει τους πελάτες να σχεδιάσουν και να δημιουργήσουν λύσεις AI/ML, ανάλυση δεδομένων και βάσεων δεδομένων για να επιταχύνουν την πορεία τους προς την παραγωγή.

Σχεδιάστε μοτίβα για σειριακά συμπεράσματα στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Dhawal Patel είναι Κύριος Αρχιτέκτονας Μηχανικής Μάθησης στο AWS. Έχει συνεργαστεί με οργανισμούς που κυμαίνονται από μεγάλες επιχειρήσεις έως νεοφυείς επιχειρήσεις μεσαίου μεγέθους για προβλήματα που σχετίζονται με τους κατανεμημένους υπολογιστές και την Τεχνητή Νοημοσύνη. Εστιάζεται στη Deep Learning, συμπεριλαμβανομένων των τομέων NLP και Computer Vision. Βοηθά τους πελάτες να επιτύχουν συμπεράσματα μοντέλων υψηλής απόδοσης στο SageMaker.

Σχεδιάστε μοτίβα για σειριακά συμπεράσματα στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Saurabh Trikande είναι Ανώτερος Διευθυντής Προϊόντων για το Amazon SageMaker Inference. Είναι παθιασμένος να συνεργάζεται με πελάτες και να κάνει τη μηχανική μάθηση πιο προσιτή. Στον ελεύθερο χρόνο του, ο Saurabh απολαμβάνει την πεζοπορία, μαθαίνει για καινοτόμες τεχνολογίες, ακολουθεί το TechCrunch και περνά χρόνο με την οικογένειά του.

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

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