Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda

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

AWS Lambda είναι μια υπολογιστική υπηρεσία χωρίς διακομιστή που μπορεί να παρέχει συμπέρασμα ML σε πραγματικό χρόνο σε κλίμακα. Σε αυτήν την ανάρτηση, παρουσιάζουμε μια δυνατότητα δειγματοληψίας δεδομένων που μπορεί να αναπτυχθεί σε ένα φόρτο εργασίας συμπερασμάτων Lambda ML.

Τον Δεκέμβριο του 2020, η Lambda εισήγαγε την υποστήριξη για εικόνες κοντέινερ ως μορφή συσκευασίας. Αυτή η δυνατότητα αύξησε το όριο μεγέθους πακέτου ανάπτυξης από 500 MB σε 10 GB. Πριν από την κυκλοφορία αυτής της δυνατότητας, ο περιορισμός μεγέθους πακέτου καθιστούσε δύσκολη την ανάπτυξη πλαισίων ML όπως το TensorFlow ή το PyTorch σε λειτουργίες Lambda. Μετά την κυκλοφορία, το αυξημένο όριο μεγέθους πακέτου έκανε το ML βιώσιμο και ελκυστικό φόρτο εργασίας για ανάπτυξη στο Lambda. Το 2021, το συμπέρασμα ML ήταν ένας από τους ταχύτερα αναπτυσσόμενους τύπους φόρτου εργασίας στην υπηρεσία Lambda.

Amazon Sage Maker, η πλήρως διαχειριζόμενη υπηρεσία ML της Amazon, περιέχει τη δική της λειτουργία παρακολούθησης μοντέλων. Ωστόσο, το δείγμα έργου σε αυτήν την ανάρτηση δείχνει πώς να εκτελείτε τη συλλογή δεδομένων για χρήση στην παρακολούθηση μοντέλων για πελάτες που χρησιμοποιούν το Lambda για συμπέρασμα ML. Το έργο χρησιμοποιεί επεκτάσεις Λάμδα για τη λήψη δεδομένων συμπερασμάτων προκειμένου να ελαχιστοποιηθεί ο αντίκτυπος στην απόδοση και τον λανθάνοντα χρόνο της συνάρτησης συμπερασμάτων. Η χρήση επεκτάσεων Lambda ελαχιστοποιεί επίσης τον αντίκτυπο στους προγραμματιστές λειτουργιών. Με την ενσωμάτωση μέσω μιας επέκτασης, η δυνατότητα παρακολούθησης μπορεί να εφαρμοστεί σε πολλαπλές λειτουργίες και να διατηρηθεί από μια κεντρική ομάδα.

Επισκόπηση της λύσης

Αυτό το έργο περιέχει πηγαίο κώδικα και υποστηρικτικά αρχεία για μια εφαρμογή χωρίς διακομιστή που παρέχει εξαγωγή συμπερασμάτων σε πραγματικό χρόνο χρησιμοποιώντας ένα προεκπαιδευμένο μοντέλο απάντησης ερωτήσεων με βάση το ditilbert. Το έργο χρησιμοποιεί το μοντέλο Hugging Face ερώτηση και απάντηση επεξεργασίας φυσικής γλώσσας (NLP) με PyTorch για την εκτέλεση εργασιών συμπερασμάτων φυσικής γλώσσας. Το έργο περιέχει επίσης μια λύση για τη λήψη δεδομένων συμπερασμάτων για τις προβλέψεις μοντέλων. Το πρόγραμμα εγγραφής συνάρτησης Lambda μπορεί να καθορίσει ακριβώς ποια δεδομένα από την είσοδο του αιτήματος συμπερασμάτων και το αποτέλεσμα πρόβλεψης θα στείλει στην επέκταση. Σε αυτή τη λύση, στέλνουμε την είσοδο και την απάντηση από το μοντέλο στην επέκταση. Στη συνέχεια, η επέκταση στέλνει περιοδικά τα δεδομένα σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος. Δημιουργούμε την επέκταση καταγραφής δεδομένων ως εικόνα κοντέινερ χρησιμοποιώντας α makefile. Στη συνέχεια, χτίζουμε τη συνάρτηση συμπερασμάτων Lambda ως εικόνα κοντέινερ και προσθέτουμε την εικόνα κοντέινερ επέκτασης ως στρώμα εικόνας κοντέινερ. Το παρακάτω διάγραμμα δείχνει μια επισκόπηση της αρχιτεκτονικής.

Οι επεκτάσεις Lambda είναι ένας τρόπος για να αυξήσετε τις λειτουργίες Lambda. Σε αυτό το έργο, χρησιμοποιούμε μια εξωτερική επέκταση Lambda για να καταγράψουμε το αίτημα συμπερασμάτων και την πρόβλεψη από το συμπέρασμα. Η εξωτερική επέκταση εκτελείται ως ξεχωριστή διαδικασία στο περιβάλλον χρόνου εκτέλεσης Lambda, μειώνοντας τον αντίκτυπο στη συνάρτηση συμπερασμάτων. Ωστόσο, η συνάρτηση μοιράζεται πόρους όπως CPU, μνήμη και αποθήκευση με τη συνάρτηση Lambda. Συνιστούμε να εκχωρήσετε αρκετή μνήμη στη λειτουργία Lambda για να διασφαλίσετε τη βέλτιστη διαθεσιμότητα πόρων. (Στη δοκιμή μας, διαθέσαμε 5 GB μνήμης στη συνάρτηση Λάμδα συμπερασμάτων και είδαμε τη βέλτιστη διαθεσιμότητα πόρων και την καθυστέρηση συμπερασμάτων). Όταν ολοκληρωθεί ένα συμπέρασμα, η υπηρεσία Lambda επιστρέφει την απόκριση αμέσως και δεν περιμένει την επέκταση να ολοκληρώσει την καταγραφή του αιτήματος και της απάντησης στον κάδο S3. Με αυτό το μοτίβο, η επέκταση παρακολούθησης δεν επηρεάζει τον λανθάνοντα χρόνο συμπερασμάτων. Για να μάθετε περισσότερα σχετικά με τις επεκτάσεις Lambda δείτε αυτές τις σειρές βίντεο.

Περιεχόμενα έργου

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

Μπορείτε να κατεβάσετε τον πηγαίο κώδικα για αυτό το έργο από το αποθετήριο GitHub.

Αυτό το έργο περιλαμβάνει τα ακόλουθα αρχεία και φακέλους:

  • app/app.py – Κωδικός για τη λειτουργία Lambda της εφαρμογής, συμπεριλαμβανομένου του κώδικα για εξαγωγή συμπερασμάτων ML.
  • app/Dockerfile – Το Dockerfile για τη δημιουργία της εικόνας του κοντέινερ που συσκευάζει τη συνάρτηση συμπερασμάτων, το μοντέλο που λήφθηκε από το Hugging Face και η επέκταση Lambda που δημιουργήθηκε ως επίπεδο. Σε αντίθεση με τις συναρτήσεις .zip, τα επίπεδα δεν μπορούν να προσαρτηθούν σε συναρτήσεις Lambda συσκευασμένα σε κοντέινερ κατά το χρόνο δημιουργίας της λειτουργίας. Αντίθετα, χτίζουμε το επίπεδο και αντιγράφουμε τα περιεχόμενά του στην εικόνα του κοντέινερ.
  • επεκτάσεις – Τα αρχεία επέκτασης οθόνης μοντέλου. Αυτή η επέκταση Lambda χρησιμοποιείται για την καταγραφή της εισόδου στη συνάρτηση συμπερασμάτων και της αντίστοιχης πρόβλεψης σε έναν κάδο S3.
  • εφαρμογή/μοντέλο – Το μοντέλο κατεβάστηκε από το Hugging Face.
  • app/requirements.txt – Οι εξαρτήσεις Python που θα εγκατασταθούν στο κοντέινερ.
  • εκδηλώσεις – Συμβάντα επίκλησης που μπορείτε να χρησιμοποιήσετε για να δοκιμάσετε τη λειτουργία.
  • πρότυπο.yaml – Ένα αρχείο περιγραφής που καθορίζει τους πόρους AWS της εφαρμογής.

Η εφαρμογή χρησιμοποιεί αρκετούς πόρους AWS, συμπεριλαμβανομένων των συναρτήσεων Lambda και ενός Amazon API Gateway API. Αυτοί οι πόροι ορίζονται στο template.yaml αρχείο σε αυτό το έργο. Μπορείτε να ενημερώσετε το πρότυπο για να προσθέσετε πόρους AWS μέσω της ίδιας διαδικασίας ανάπτυξης που ενημερώνει τον κώδικα της εφαρμογής σας.

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

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

Αναπτύξτε το δείγμα εφαρμογής

Για να δημιουργήσετε την αίτησή σας για πρώτη φορά, ολοκληρώστε τα παρακάτω βήματα:

  • Εκτελέστε τον παρακάτω κώδικα στο κέλυφός σας. (Αυτό θα δημιουργήσει επίσης την επέκταση):
  • Δημιουργήστε μια εικόνα Docker της εφαρμογής οθόνης μοντέλου. Τα περιεχόμενα της κατασκευής βρίσκονται στο .aws-sam κατάλογο
docker build -t serverless-ml-model-monitor:latest .

docker tag serverless-ml-model-monitor:latest .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • Συνδεθείτε στο Amazon ECR:
aws ecr get-login-password --region us-east-1 docker login --username AWS --password-stdin .dkr.ecr.us-east-1.amazonaws.com

  • Δημιουργήστε ένα αποθετήριο στο Amazon ECR:

aws ecr create-repositoryrepository-name serverless-ml-model-monitor--image-scanning-configuration scanOnPush=true--region us-east-1

  • Σπρώξτε την εικόνα του κοντέινερ στο Amazon ECR:
docker push .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • Κατάργηση σχολίου γραμμής #1 in app/Dockerfile και επεξεργαστείτε το για να δείχνει τη σωστή εικόνα αποθήκης ECR και, στη συνέχεια, αφαιρέστε το σχόλιο στις γραμμές #6 και #7 στο app/Dockerfile:
WORKDIR /opt
COPY --from=layer /opt/ .

  • Δημιουργήστε ξανά την εφαρμογή:

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

  • Τέλος, αναπτύξτε τη συνάρτηση Lambda, την πύλη API και την επέκταση:
sam deploy --guided

Αυτή η εντολή συσκευάζει και αναπτύσσει την εφαρμογή σας στο AWS με μια σειρά προτροπών:

  • Όνομα στοίβας : Το όνομα του αναπτυσσόμενου AWS CloudFormation σωρός. Αυτό θα πρέπει να είναι μοναδικό για τον λογαριασμό και την περιοχή σας και ένα καλό σημείο εκκίνησης θα ήταν κάτι που ταιριάζει με το όνομα του έργου σας.
  • Περιοχή AWS : Η περιοχή AWS στην οποία αναπτύσσετε την εφαρμογή σας.
  • Επιβεβαιώστε τις αλλαγές πριν από την ανάπτυξη : Εάν έχει οριστεί σε yes, τυχόν σετ αλλαγών εμφανίζονται σε εσάς προτού τρέξετε για μη αυτόματο έλεγχο. Εάν οριστεί σε όχι, το AWS SAM CLI αναπτύσσει αυτόματα τις αλλαγές της εφαρμογής.
  • Να επιτρέπεται η δημιουργία ρόλου AWS SAM CLI IAM : Πολλά πρότυπα AWS SAM, συμπεριλαμβανομένου αυτού του παραδείγματος, δημιουργούν Διαχείριση ταυτότητας και πρόσβασης AWS ρόλοι (IAM) που απαιτούνται για τις λειτουργίες Lambda που περιλαμβάνονται για πρόσβαση σε υπηρεσίες AWS. Από προεπιλογή, αυτά περιορίζονται στα ελάχιστα απαιτούμενα δικαιώματα. Για να αναπτύξετε μια στοίβα CloudFormation που δημιουργεί ή τροποποιεί ρόλους IAM, το CAPABILITY_IAM αξία για capabilities πρέπει να παρέχονται. Εάν δεν παρέχεται άδεια μέσω αυτής της προτροπής, για να αναπτύξετε αυτό το παράδειγμα πρέπει να περάσετε ρητά --capabilities CAPABILITY_IAM στο sam deploy εντολή.
  • Αποθηκεύστε ορίσματα στο samconfig.toml : Εάν έχει οριστεί σε yes, οι επιλογές σας αποθηκεύονται σε ένα αρχείο ρυθμίσεων μέσα στο έργο, έτσι ώστε στο μέλλον να μπορείτε απλώς να εκτελέσετε sam deploy χωρίς παραμέτρους για την ανάπτυξη αλλαγών στην εφαρμογή σας.

Μπορείτε να βρείτε τη διεύθυνση URL τελικού σημείου της πύλης API στις τιμές εξόδου που εμφανίζονται μετά την ανάπτυξη.

Δοκιμάστε την εφαρμογή

Για να δοκιμάσετε την εφαρμογή, χρησιμοποιήστε το Postman ή το curl για να στείλετε ένα αίτημα στο τελικό σημείο της πύλης API. Για παράδειγμα:

curl -X POST -H "Content-Type: text/plain" https://.execute-api.us-east-1.amazonaws.com/Prod/nlp-qa -d '{"question": "Where do you live?", "context": "My name is Clara and I live in Berkeley."}'

Θα πρέπει να δείτε έξοδο όπως ο παρακάτω κώδικας. Το μοντέλο ML προέκυψε από το πλαίσιο και επέστρεψε την απάντηση στην ερώτησή μας.

{
    "Question": "Where do you live?",
    "Answer": "Berkeley",
    "score": 0.9113729596138
}

Μετά από λίγα λεπτά, θα πρέπει να δείτε ένα αρχείο στον κάδο S3 nlp-qamodel-model-monitoring-modelmonitorbucket- με την είσοδο και το συμπέρασμα καταγεγραμμένο.

εκκαθάριση

Για να διαγράψετε το δείγμα εφαρμογής που δημιουργήσατε, χρησιμοποιήστε το AWS CLI:

aws cloudformation delete-stack --stack-name 

Συμπέρασμα

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

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


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

Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Νταν Φοξ είναι Κύριος Αρχιτέκτονας Ειδικών Λύσεων στον Παγκόσμιο Οργανισμό Εξειδικευμένων Διακομιστών. Ο Dan συνεργάζεται με πελάτες για να τους βοηθήσει να αξιοποιήσουν υπηρεσίες χωρίς διακομιστή για να δημιουργήσουν επεκτάσιμες, ανεκτικές σε σφάλματα, υψηλής απόδοσης και οικονομικά αποδοτικές εφαρμογές. Ο Dan είναι ευγνώμων που μπορεί να ζει και να εργάζεται στο υπέροχο Boulder του Κολοράντο.

Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Νιούτον Τζέιν είναι Ανώτερος Διευθυντής Προϊόντων που είναι υπεύθυνος για τη δημιουργία νέων εμπειριών για πελάτες μηχανικής εκμάθησης, υπολογιστών υψηλής απόδοσης (HPC) και επεξεργασίας πολυμέσων στο AWS Lambda. Οδηγεί την ανάπτυξη νέων δυνατοτήτων για την αύξηση της απόδοσης, τη μείωση της καθυστέρησης, τη βελτίωση της επεκτασιμότητας, την ενίσχυση της αξιοπιστίας και τη μείωση του κόστους. Βοηθά επίσης τους πελάτες της AWS στον καθορισμό μιας αποτελεσματικής στρατηγικής χωρίς διακομιστή για τις εφαρμογές τους που απαιτούν υπολογιστική ένταση.

Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ντίκσα Σάρμα είναι Αρχιτέκτονας Λύσεων και Ειδικός Μηχανικής Μάθησης στο AWS. Βοηθά τους πελάτες να επιταχύνουν την υιοθέτησή τους στο cloud, ιδιαίτερα στους τομείς της μηχανικής μάθησης και των τεχνολογιών χωρίς διακομιστές. Η Diksha αναπτύσσει προσαρμοσμένες αποδείξεις ιδέας που δείχνουν στους πελάτες την αξία του AWS για την αντιμετώπιση των επιχειρηματικών προκλήσεων και των προκλήσεων πληροφορικής. Δίνει τη δυνατότητα στους πελάτες να γνωρίζουν το AWS και εργάζεται μαζί με τους πελάτες για να δημιουργήσουν την επιθυμητή λύση.

Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Βέντα Ραμάν είναι Senior Specialist Solutions Architect για μηχανική μάθηση με έδρα το Maryland. Η Veda συνεργάζεται με πελάτες για να τους βοηθήσει να αρχιτεκτονήσουν αποτελεσματικές, ασφαλείς και επεκτάσιμες εφαρμογές μηχανικής εκμάθησης. Η Veda ενδιαφέρεται να βοηθήσει τους πελάτες να αξιοποιήσουν τεχνολογίες χωρίς διακομιστές για Μηχανική Εκμάθηση.

Αναπτύξτε μια λύση συλλογής δεδομένων συμπερασμάτων μηχανικής μάθησης στο AWS Lambda PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Τζος Καν είναι ο παγκόσμιος ηγέτης τεχνολογίας για τους χωρίς διακομιστή και κύριος αρχιτέκτονας λύσεων. Ηγείται μιας παγκόσμιας κοινότητας ειδικών χωρίς διακομιστές στην AWS που βοηθούν πελάτες όλων των μεγεθών, από νεοφυείς επιχειρήσεις έως τις μεγαλύτερες επιχειρήσεις στον κόσμο, να χρησιμοποιούν αποτελεσματικά τις τεχνολογίες χωρίς διακομιστές AWS.

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

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