Το 2019, η Amazon συνίδρυσε το δέσμευση για το κλίμα. Στόχος της δέσμευσης είναι να επιτευχθεί καθαρός μηδενικός άνθρακας έως το 2040. Αυτό είναι 10 χρόνια νωρίτερα από ό,τι περιγράφει η συμφωνία του Παρισιού. Οι εταιρείες που εγγράφονται δεσμεύονται σε τακτικές αναφορές, εξάλειψη άνθρακα και αξιόπιστες αντισταθμίσεις. Τη στιγμή που γράφονται αυτές οι γραμμές, 377 εταιρείες έχουν υπογράψει τη δέσμευση για το κλίμα και ο αριθμός εξακολουθεί να αυξάνεται.
Επειδή το AWS έχει δεσμευτεί να σας βοηθήσει να επιτύχετε τον καθαρό μηδενικό στόχο σας μέσω λύσεων cloud και μηχανικής μάθησης (ML), έχουν ήδη αναπτυχθεί και αναπτυχθεί πολλά έργα που μειώνουν τις εκπομπές άνθρακα. Η μεταποίηση είναι ένας από τους κλάδους που μπορούν να ωφεληθούν πολύ από τέτοια έργα. Μέσω της βελτιστοποιημένης διαχείρισης ενέργειας των μηχανημάτων σε εργοστάσια παραγωγής, όπως συμπιεστές ή ψυκτικά συγκροτήματα, οι εταιρείες μπορούν να μειώσουν το αποτύπωμα άνθρακα με ML.
Η αποτελεσματική μετάβαση από μια φάση πειραματισμού ML στην παραγωγή είναι πρόκληση. Η αυτοματοποίηση της εκπαίδευσης και της επανεκπαίδευσης μοντέλων, η ύπαρξη μητρώου μοντέλων και η παρακολούθηση πειραμάτων και ανάπτυξης είναι μερικές από τις βασικές προκλήσεις. Για τις κατασκευαστικές εταιρείες, υπάρχει ένα άλλο επίπεδο πολυπλοκότητας, δηλαδή πώς αυτά τα αναπτυγμένα μοντέλα μπορούν να λειτουργήσουν στην άκρη.
Σε αυτήν την ανάρτηση, αντιμετωπίζουμε αυτές τις προκλήσεις παρέχοντας ένα πρότυπο λειτουργιών μηχανικής μάθησης (MLOps) που φιλοξενεί μια λύση βιώσιμης διαχείρισης ενέργειας. Η λύση είναι αγνωστική στις περιπτώσεις χρήσης, πράγμα που σημαίνει ότι μπορείτε να την προσαρμόσετε στις περιπτώσεις χρήσης αλλάζοντας το μοντέλο και τα δεδομένα. Σας δείχνουμε πώς να ενσωματώνετε μοντέλα Αγωγοί Amazon SageMaker, ένα εγγενές εργαλείο ενορχήστρωσης ροής εργασιών για την κατασκευή αγωγών ML, το οποίο εκτελεί μια εργασία εκπαίδευσης και προαιρετικά μια εργασία επεξεργασίας με μια προσομοίωση Monte Carlo. Τα πειράματα παρακολουθούνται Πειράματα Amazon SageMaker. Τα μοντέλα παρακολουθούνται και καταχωρούνται στο Μητρώο μοντέλων Amazon SageMaker. Τέλος, παρέχουμε κώδικα για την ανάπτυξη του τελικού σας μοντέλου σε ένα AWS Lambda λειτουργία.
Το Lambda είναι μια υπολογιστική υπηρεσία που σας επιτρέπει να εκτελείτε κώδικα χωρίς διαχείριση ή παροχή διακομιστών. Η αυτόματη κλιμάκωση, η χρέωση ανά αίτημα και η ευκολία χρήσης του Lambda το καθιστούν μια κοινή επιλογή ανάπτυξης για ομάδες επιστήμης δεδομένων. Με αυτήν την ανάρτηση, οι επιστήμονες δεδομένων μπορούν να μετατρέψουν το μοντέλο τους σε μια οικονομικά αποδοτική και επεκτάσιμη συνάρτηση Lambda. Επιπλέον, το Lambda επιτρέπει την ενσωμάτωση με AWS IoT Greengrass, το οποίο σας βοηθά να δημιουργήσετε λογισμικό που επιτρέπει στις συσκευές σας να ενεργούν στην άκρη των δεδομένων που παράγουν, όπως θα συνέβαινε στην περίπτωση μιας λύσης βιώσιμης διαχείρισης ενέργειας.
Επισκόπηση λύσεων
Η αρχιτεκτονική που αναπτύσσουμε (δείτε το παρακάτω σχήμα) είναι μια πλήρως βασισμένη σε CI/CD προσέγγιση για τη μηχανική μάθηση. Τα στοιχεία αποσυνδέονται για να αποφευχθεί η ύπαρξη μιας μονολιθικής λύσης.
Ας ξεκινήσουμε με το επάνω αριστερό μέρος του διαγράμματος. ο Επεξεργασία – Δημιουργία εικόνας Το εξάρτημα βασίζεται σε CI/CD AWS CodeCommit αποθετήριο που βοηθά στη δημιουργία και την προώθηση α Λιμενεργάτης δοχείο προς Μητρώο εμπορευματοκιβωτίων Amazon Elastic (Amazon ECR). Αυτό το κοντέινερ επεξεργασίας χρησιμεύει ως το πρώτο βήμα στη διοχέτευση ML, αλλά επαναχρησιμοποιείται και για βήματα μεταεπεξεργασίας. Στην περίπτωσή μας, εφαρμόζουμε μια προσομοίωση Monte Carlo ως μεταεπεξεργασία. ο Εκπαίδευση – Δημιουργία εικόνας το αποθετήριο που περιγράφεται κάτω αριστερά έχει τον ίδιο μηχανισμό με το Επεξεργασία μπλοκ από πάνω του. Η κύρια διαφορά είναι ότι κατασκευάζει το δοχείο για εκπαίδευση μοντέλων.
Ο κύριος αγωγός, Πρότυπο κτίριο (Pipeline), είναι ένα άλλο αποθετήριο CodeCommit που αυτοματοποιεί τη λειτουργία των αγωγών SageMaker σας. Αυτός ο αγωγός αυτοματοποιεί και συνδέει την προεπεξεργασία δεδομένων, την εκπαίδευση μοντέλων, την παρακολούθηση μετρήσεων μοντέλων στα πειράματα SageMaker, την μετεπεξεργασία δεδομένων και την καταλογογράφηση μοντέλων στο μητρώο μοντέλων του SageMaker.
Το τελικό στοιχείο βρίσκεται κάτω δεξιά: Ανάπτυξη μοντέλου. Αν ακολουθήσετε τα παραδείγματα στο Έργα Amazon SageMaker, λαμβάνετε ένα πρότυπο που φιλοξενεί το μοντέλο σας χρησιμοποιώντας ένα τελικό σημείο SageMaker. Αντίθετα, το αποθετήριο ανάπτυξης φιλοξενεί το μοντέλο σε μια συνάρτηση Lambda. Δείχνουμε μια προσέγγιση για την ανάπτυξη της συνάρτησης Lambda που μπορεί να εκτελέσει προβλέψεις σε πραγματικό χρόνο.
Προϋποθέσεις
Για να αναπτύξετε με επιτυχία τη λύση μας, χρειάζεστε τα εξής:
Κάντε λήψη του αποθετηρίου GitHub
Ως πρώτο βήμα, κλωνοποιήστε το Αποθετήριο GitHub στο τοπικό σας μηχάνημα. Περιέχει την ακόλουθη δομή φακέλου:
- ανάπτυξη – Περιέχει κώδικα που σχετίζεται με την ανάπτυξη
- mllib — Περιέχει κώδικα ML για προεπεξεργασία, εκπαίδευση, εξυπηρέτηση και προσομοίωση
- δοκιμές — Περιλαμβάνει δοκιμές μονάδας και ολοκλήρωσης
Το βασικό αρχείο για την ανάπτυξη είναι το σενάριο του κελύφους deployment/deploy.sh
. Χρησιμοποιείτε αυτό το αρχείο για να αναπτύξετε τους πόρους στον λογαριασμό σας. Προτού μπορέσουμε να εκτελέσουμε το σενάριο του κελύφους, ολοκληρώστε τα παρακάτω βήματα:
- Ανοίξτε το
deployment/app.py
και αλλάξτε το bucket_name κάτωSageMakerPipelineSourceCodeStack
. οbucket_name
πρέπει να είναι μοναδικό παγκοσμίως (για παράδειγμα, προσθέστε το πλήρες όνομά σας). - In
deployment/pipeline/assets/modelbuild/pipelines/energy_management/pipeline.py
, άλλαξε τοdefault_bucket
υπόget_pipeline
με το ίδιο όνομα όπως ορίζεται στο βήμα 1.
Ανάπτυξη λύσης με το AWS CDK
Πρώτον, διαμορφώστε το AWS CLI σας με τον λογαριασμό και την περιοχή που θέλετε να αναπτύξετε. Στη συνέχεια, εκτελέστε τις ακόλουθες εντολές για να μεταβείτε στον κατάλογο ανάπτυξης, δημιουργήστε ένα εικονικό περιβάλλον, ενεργοποιήστε το, εγκαταστήστε τα απαιτούμενα πακέτα pip που καθορίζονται στο setup.py
και εκτελέστε το deploy.sh
:
deploy.sh
εκτελεί τις ακόλουθες ενέργειες:
- Δημιουργεί ένα εικονικό περιβάλλον στην Python.
- Προέρχεται από το σενάριο ενεργοποίησης εικονικού περιβάλλοντος.
- Εγκαθιστά το AWS CDK και τις απαιτήσεις που περιγράφονται στο
setup.py
. - Bootstraps το περιβάλλον.
- Συμπιέζει και αντιγράφει τα απαραίτητα αρχεία που δημιουργήσατε, όπως το δικό σας
mllib
αρχεία, στους αντίστοιχους φακέλους όπου χρειάζονται αυτά τα στοιχεία. - Τρέχει
cdk deploy —require-approval never
. - Δημιουργεί ένα AWS CloudFormation στοίβαξη μέσω του AWS CDK.
Το αρχικό στάδιο της ανάπτυξης θα πρέπει να διαρκέσει λιγότερο από 5 λεπτά. Θα πρέπει τώρα να έχετε τέσσερα αποθετήρια στο CodeCommit στην περιοχή που καθορίσατε μέσω του AWS CLI, όπως περιγράφεται στο διάγραμμα αρχιτεκτονικής. ο Αγωγός κώδικα AWS οι αγωγοί λειτουργούν ταυτόχρονα. ο modelbuild
και modeldeploy
Οι αγωγοί εξαρτώνται από την επιτυχή εκτέλεση της κατασκευής εικόνας επεξεργασίας και εκπαίδευσης. ο modeldeploy
ο αγωγός εξαρτάται από μια επιτυχημένη κατασκευή μοντέλου. Η ανάπτυξη του μοντέλου θα πρέπει να ολοκληρωθεί σε λιγότερο από 1.5 ώρα.
Κλωνοποιήστε τα αποθετήρια μοντέλων στο Studio
Για να προσαρμόσετε τις αγωγές SageMaker που δημιουργούνται μέσω της ανάπτυξης AWS CDK στη διεπαφή χρήστη του Studio, πρέπει πρώτα να κλωνοποιήσετε τα αποθετήρια στο Studio. Εκκινήστε το τερματικό συστήματος στο Studio και εκτελέστε τις ακόλουθες εντολές αφού δώσετε το όνομα και το αναγνωριστικό του έργου:
Μετά την κλωνοποίηση των αποθετηρίων, μπορείτε να προωθήσετε μια δέσμευση στα αποθετήρια. Αυτές οι δεσμεύσεις ενεργοποιούν μια εκτέλεση CodePipeline για τους σχετικούς αγωγούς.
Μπορείτε επίσης να προσαρμόσετε τη λύση στον τοπικό σας υπολογιστή και να εργαστείτε στο IDE που προτιμάτε.
Πλοηγηθείτε στη διεπαφή χρήστη SageMaker Pipelines και SageMaker Experiments
Ένας αγωγός SageMaker είναι μια σειρά διασυνδεδεμένων βημάτων που ορίζονται χρησιμοποιώντας το Amazon SageMaker Python SDK. Αυτός ο ορισμός σωλήνωσης κωδικοποιεί έναν αγωγό που χρησιμοποιεί ένα κατευθυνόμενο άκυκλο γράφημα (DAG) που μπορεί να εξαχθεί ως ορισμός JSON. Για να μάθετε περισσότερα σχετικά με τη δομή τέτοιων αγωγών, ανατρέξτε στο Επισκόπηση του SageMaker Pipelines.
Πλοηγηθείτε στο Πόροι SageMaker παράθυρο και επιλέξτε τον πόρο Pipelines για προβολή. Υπό Όνομα, πρέπει να δεις PROJECT_NAME-PROJECT_ID
. Στη διεπαφή χρήστη εκτέλεσης, θα πρέπει να υπάρξει μια επιτυχημένη εκτέλεση που αναμένεται να διαρκέσει λίγο περισσότερο από 1 ώρα. Ο αγωγός θα πρέπει να φαίνεται όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Η εκτέλεση ενεργοποιήθηκε αυτόματα μετά την ανάπτυξη της στοίβας CDK AWS. Μπορείτε να καλέσετε χειροκίνητα μια εκτέλεση επιλέγοντας Δημιουργία εκτέλεση. Από εκεί μπορείτε να επιλέξετε τις δικές σας παραμέτρους διοχέτευσης, όπως τον τύπο και τον αριθμό των παρουσιών για τα βήματα επεξεργασίας και εκπαίδευσης. Επιπλέον, μπορείτε να δώσετε στην εκτέλεση όνομα και περιγραφή. Ο αγωγός είναι εξαιρετικά διαμορφώσιμος μέσω παραμέτρων αγωγού που μπορείτε να αναφέρετε και να ορίσετε σε όλο τον ορισμό του αγωγού σας.
Μη διστάσετε να ξεκινήσετε μια άλλη διοχέτευση με τις παραμέτρους σας όπως επιθυμείτε. Στη συνέχεια, μεταβείτε στο Πόροι SageMaker ανοίξτε ξανά το παράθυρο και επιλέξτε Πειράματα και δοκιμές. Εκεί θα πρέπει να δείτε ξανά μια γραμμή με ένα όνομα όπως π.χ PROJECT_NAME-PROJECT_ID
. Μεταβείτε στο πείραμα και επιλέξτε τη μοναδική εκτέλεση με τυχαίο αναγνωριστικό. Από εκεί, επιλέξτε την εργασία εκπαίδευσης SageMaker για να εξερευνήσετε τις μετρήσεις που σχετίζονται με την εργασία εκπαίδευσης.
Ο στόχος του SageMaker Experiments είναι να διευκολύνει όσο το δυνατόν περισσότερο τη δημιουργία πειραμάτων, τη συμπλήρωσή τους με δοκιμές και την εκτέλεση αναλυτικών στοιχείων σε δοκιμές και πειράματα. Οι αγωγοί SageMaker είναι στενά ενσωματωμένοι με τα πειράματα SageMaker και από προεπιλογή για κάθε εκτέλεση δημιουργούν ένα πείραμα, μια δοκιμή και δοκιμαστικά στοιχεία σε περίπτωση που δεν υπάρχουν.
Εγκρίνετε την ανάπτυξη Lambda στο μητρώο μοντέλων
Ως επόμενο βήμα, μεταβείτε στο μητρώο μοντέλου κάτω από Πόροι SageMaker. Εδώ μπορείτε να βρείτε ξανά μια γραμμή με ένα όνομα όπως π.χ PROJECT_NAME-PROJECT_ID
. Πλοηγηθείτε στο μοναδικό μοντέλο που υπάρχει και εγκρίνετέ το. Αυτό αναπτύσσει αυτόματα το τεχνούργημα του μοντέλου σε ένα κοντέινερ στο Lambda.
Αφού εγκρίνετε το μοντέλο σας στο μητρώο μοντέλων, ένα Amazon EventBridge ενεργοποιείται ο κανόνας συμβάντος. Αυτός ο κανόνας εκτελεί τη διοχέτευση CodePipeline με την κατάληξη *-modeldeploy
. Σε αυτήν την ενότητα, συζητάμε πώς αυτή η λύση χρησιμοποιεί το εγκεκριμένο μοντέλο και το φιλοξενεί σε μια συνάρτηση Lambda. Το CodePipeline παίρνει το υπάρχον αποθετήριο CodeCommit που τελειώνει επίσης με *-modeldeploy
και χρησιμοποιεί αυτόν τον κώδικα για εκτέλεση στο CodeBuild. Η κύρια καταχώρηση για το CodeBuild είναι το buildspec.yml
αρχείο. Ας δούμε πρώτα αυτό:
Κατά τη φάση εγκατάστασης, διασφαλίζουμε ότι οι βιβλιοθήκες της Python είναι ενημερωμένες, δημιουργούμε ένα εικονικό περιβάλλον, εγκαθιστούμε το AWS CDK v2.26.0 και εγκαθιστούμε το aws-cdk
Βιβλιοθήκη Python μαζί με άλλες που χρησιμοποιούν το αρχείο απαιτήσεων. Εμείς επίσης εκκίνηση του λογαριασμού AWS. Στη φάση κατασκευής, τρέχουμε build.py
, το οποίο θα συζητήσουμε στη συνέχεια. Αυτό το αρχείο κατεβάζει το πιο πρόσφατο εγκεκριμένο τεχνούργημα μοντέλου SageMaker από Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) στην τοπική σας παρουσία CodeBuild. Αυτό .tar.gz
Το αρχείο αποσυμπιέζεται και τα περιεχόμενά του αντιγράφονται στο φάκελο που περιέχει επίσης τον κύριο κώδικα Λάμδα. Η λειτουργία Lambda αναπτύσσεται χρησιμοποιώντας το AWS CDK και ο κώδικας εξαντλείται σε ένα κοντέινερ Docker από το Amazon ECR. Αυτό γίνεται αυτόματα από το AWS CDK.
Η build.py
Το αρχείο είναι ένα αρχείο Python που χρησιμοποιεί κυρίως το AWS SDK για Python (Boto3) για να απαριθμήσετε τα διαθέσιμα πακέτα μοντέλων.
η λειτουργία get_approved_package
επιστρέφει το Amazon S3 URI του τεχνουργήματος που στη συνέχεια γίνεται λήψη, όπως περιγράφηκε προηγουμένως.
Μετά την επιτυχή ανάπτυξη του μοντέλου σας, μπορείτε δοκιμή απευθείας στην κονσόλα Lambda στην περιοχή που επιλέξατε να αναπτύξετε. Το όνομα της συνάρτησης πρέπει να περιέχει DigitalTwinStack-DigitalTwin*
. Ανοίξτε τη λειτουργία και μεταβείτε στο Δοκιμή αυτί. Μπορείτε να χρησιμοποιήσετε το ακόλουθο συμβάν για να εκτελέσετε μια δοκιμαστική κλήση:
Μετά την εκτέλεση του συμβάντος δοκιμής, λαμβάνετε μια απάντηση παρόμοια με αυτή που φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Εάν θέλετε να εκτελέσετε περισσότερες προσομοιώσεις ή δοκιμές, μπορείτε να αυξήσετε το όριο χρονικού ορίου λάμδα και να πειραματιστείτε με τον κώδικα! Ή μπορεί να θέλετε να συλλέξετε τα δεδομένα που δημιουργούνται και να τα οπτικοποιήσετε Amazon QuickSight. Παρακάτω είναι ένα παράδειγμα. Είναι η σειρά σας τώρα!
εκκαθάριση
Για να αποφύγετε περαιτέρω χρεώσεις, ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα AWS CloudFormation, διαγράψτε το
EnergyOptimization
σωρός.
Αυτό διαγράφει ολόκληρη τη λύση. - Διαγράψτε τη στοίβα
DigitalTwinStack
, το οποίο ανέπτυξε τη λειτουργία Λάμδα σας.
Συμπέρασμα
Σε αυτήν την ανάρτηση, σας δείξαμε έναν αγωγό MLOps που βασίζεται σε CI/CD μιας λύσης διαχείρισης ενέργειας όπου διατηρούμε κάθε βήμα αποσυνδεδεμένο. Μπορείτε να παρακολουθείτε τις διοχετεύσεις ML και τα πειράματά σας στη διεπαφή χρήστη του Studio. Επιδείξαμε επίσης μια διαφορετική προσέγγιση ανάπτυξης: μετά την έγκριση ενός μοντέλου στο μητρώο μοντέλων, μια συνάρτηση Lambda που φιλοξενεί το εγκεκριμένο μοντέλο δημιουργείται αυτόματα μέσω του CodePipeline.
Εάν ενδιαφέρεστε να εξερευνήσετε είτε τον αγωγό MLOps στο AWS είτε τη λύση βιώσιμης διαχείρισης ενέργειας, ρίξτε μια ματιά στο Αποθετήριο GitHub και αναπτύξτε τη στοίβα στο δικό σας περιβάλλον AWS!
Σχετικά με τους Συγγραφείς
Λόρενς βαν ντερ Μάας είναι Επιστήμονας Δεδομένων στην AWS Professional Services. Συνεργάζεται στενά με πελάτες που δημιουργούν τις λύσεις μηχανικής εκμάθησης στο AWS και είναι παθιασμένος με το πώς η μηχανική μάθηση αλλάζει τον κόσμο όπως τον ξέρουμε.
Kangkang Wang είναι σύμβουλος AI/ML με την AWS Professional Services. Έχει εκτενή εμπειρία στην ανάπτυξη λύσεων AI/ML στον κλάδο της υγείας και των βιοεπιστημών. Της αρέσει επίσης να βοηθά εταιρικούς πελάτες να δημιουργήσουν κλιμακούμενες πλατφόρμες AI/ML για να επιταχύνουν το ταξίδι στο cloud των επιστημόνων τους.
Selena Tabbara είναι Επιστήμονας Δεδομένων στην AWS Professional Services. Εργάζεται καθημερινά με τους πελάτες της για να επιτύχουν τα επιχειρηματικά τους αποτελέσματα καινοτομώντας σε πλατφόρμες AWS. Στον ελεύθερο χρόνο της, η Selena απολαμβάνει να παίζει πιάνο, να κάνει πεζοπορία και να παρακολουθεί μπάσκετ.
Μάικλ Γουόλνερ είναι Ανώτερος Σύμβουλος με έμφαση στο AI/ML με τις επαγγελματικές υπηρεσίες AWS. Ο Michael είναι παθιασμένος με το να δίνει τη δυνατότητα στους πελάτες στο ταξίδι τους στο cloud να γίνουν AWSome. Είναι ενθουσιασμένος με την κατασκευή και του αρέσει να βοηθά στη μεταμόρφωση του χώρου παραγωγής μέσω δεδομένων.
- AI
- αι τέχνη
- ι γεννήτρια τέχνης
- ρομπότ ai
- Εκμάθηση μηχανών του Αμαζονίου
- Amazon Sage Maker
- Αυτόματος πιλότος Amazon SageMaker
- τεχνητή νοημοσύνη
- πιστοποίηση τεχνητής νοημοσύνης
- τεχνητή νοημοσύνη στον τραπεζικό τομέα
- ρομπότ τεχνητής νοημοσύνης
- ρομπότ τεχνητής νοημοσύνης
- λογισμικό τεχνητής νοημοσύνης
- Μηχανική εκμάθηση AWS
- blockchain
- συνέδριο blockchain ai
- Coingenius
- συνομιλητική τεχνητή νοημοσύνη
- κρυπτοσυνεδριο αι
- του νταλ
- βαθιά μάθηση
- έχεις google
- μάθηση μηχανής
- κατασκευής
- Πλάτων
- πλάτων αι
- Πληροφορία δεδομένων Plato
- Παιχνίδι Πλάτωνας
- Πλάτωνα δεδομένα
- platogaming
- κλίμακα αι
- Βιωσιμότητα
- σύνταξη
- zephyrnet