Οργανισμοί σε κλάδους όπως λιανική, τραπεζική, χρηματοοικονομική, υγειονομική περίθαλψη, μεταποίηση και δανεισμός συχνά αντιμετωπίζουν τεράστιες ποσότητες μη δομημένων εγγράφων κειμένου που προέρχονται από διάφορες πηγές, όπως ειδήσεις, ιστολόγια, κριτικές προϊόντων, κανάλια υποστήριξης πελατών και μέσα κοινωνικής δικτύωσης. Αυτά τα έγγραφα περιέχουν κρίσιμες πληροφορίες που είναι βασικές για τη λήψη σημαντικών επιχειρηματικών αποφάσεων. Καθώς ένας οργανισμός μεγαλώνει, γίνεται πρόκληση η εξαγωγή κρίσιμων πληροφοριών από αυτά τα έγγραφα. Με την πρόοδο των τεχνικών επεξεργασίας φυσικής γλώσσας (NLP) και μηχανικής μάθησης (ML), μπορούμε να αποκαλύψουμε πολύτιμες πληροφορίες και συνδέσεις από αυτά τα έγγραφα κειμένου γρήγορα και με υψηλή ακρίβεια, βοηθώντας έτσι τις εταιρείες να λαμβάνουν ποιοτικές επιχειρηματικές αποφάσεις έγκαιρα. Οι πλήρως διαχειριζόμενες υπηρεσίες NLP έχουν επίσης επιταχύνει την υιοθέτηση του NLP. Κατανοήστε το Amazon είναι μια πλήρως διαχειριζόμενη υπηρεσία που σας δίνει τη δυνατότητα να δημιουργήσετε προσαρμοσμένα μοντέλα NLP που ανταποκρίνονται στις απαιτήσεις σας, χωρίς την ανάγκη τεχνογνωσίας ML.
Σε αυτήν την ανάρτηση, δείχνουμε πώς να χρησιμοποιούμε τεχνικές ML τελευταίας τεχνολογίας για την επίλυση πέντε διαφορετικών εργασιών NLP: σύνοψη εγγράφων, ταξινόμηση κειμένου, απάντηση ερωτήσεων, αναγνώριση ονομαστικών οντοτήτων και εξαγωγή σχέσεων. Για καθεμία από αυτές τις εργασίες NLP, δείχνουμε πώς να το χρησιμοποιήσετε Amazon Sage Maker για να εκτελέσετε τις ακόλουθες ενέργειες:
- Αναπτύξτε και εκτελέστε συμπεράσματα σε ένα προεκπαιδευμένο μοντέλο
- Βελτιστοποιήστε το προεκπαιδευμένο μοντέλο σε ένα νέο προσαρμοσμένο σύνολο δεδομένων
- Περαιτέρω βελτίωση της απόδοσης μικρορύθμισης με Αυτόματος συντονισμός μοντέλου SageMaker
- Αξιολογήστε την απόδοση του μοντέλου στα δεδομένα δοκιμής αναμονής με διάφορες μετρήσεις αξιολόγησης
Παρόλο που καλύπτουμε πέντε συγκεκριμένες εργασίες NLP σε αυτήν την ανάρτηση, μπορείτε να χρησιμοποιήσετε αυτήν τη λύση ως πρότυπο για να γενικεύσετε τη βελτιστοποίηση των προεκπαιδευμένων μοντέλων με το δικό σας σύνολο δεδομένων και στη συνέχεια να εκτελέσετε βελτιστοποίηση υπερπαραμέτρων για να βελτιώσετε την ακρίβεια.
Πρότυπα λύσεων JumpStart
Amazon SageMaker JumpStart παρέχει λύσεις από άκρο σε άκρο με ένα κλικ για πολλές κοινές περιπτώσεις χρήσης ML. Εξερευνήστε τις ακόλουθες περιπτώσεις χρήσης για περισσότερες πληροφορίες σχετικά με τα διαθέσιμα πρότυπα λύσεων:
Τα πρότυπα λύσεων JumpStart καλύπτουν μια ποικιλία περιπτώσεων χρήσης, σε καθεμία από τις οποίες προσφέρονται πολλά διαφορετικά πρότυπα λύσεων (αυτή η λύση Κατανόησης Εγγράφων βρίσκεται στην περίπτωση χρήσης «Εξαγωγή και ανάλυση δεδομένων από έγγραφα»).
Επιλέξτε το πρότυπο λύσης που ταιριάζει καλύτερα στην περίπτωση χρήσης σας από τη σελίδα προορισμού JumpStart. Για περισσότερες πληροφορίες σχετικά με συγκεκριμένες λύσεις σε κάθε περίπτωση χρήσης και τον τρόπο εκκίνησης μιας λύσης JumpStart, βλ Πρότυπα λύσεων.
Επισκόπηση λύσεων
Η παρακάτω εικόνα δείχνει πώς μπορείτε να χρησιμοποιήσετε αυτήν τη λύση με τα στοιχεία SageMaker. Οι εργασίες εκπαίδευσης του SageMaker χρησιμοποιούνται για την εκπαίδευση των διαφόρων μοντέλων NLP και τα τελικά σημεία του SageMaker χρησιμοποιούνται για την ανάπτυξη των μοντέλων σε κάθε στάδιο. Χρησιμοποιούμε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) μαζί με το SageMaker για την αποθήκευση των δεδομένων εκπαίδευσης και των τεχνουργημάτων μοντέλων και amazoncloudwatch για την καταγραφή των εξόδων εκπαίδευσης και τελικού σημείου.
Ανοίξτε τη λύση Document Understanding
Μεταβείτε στη λύση Κατανόηση εγγράφων στο JumpStart.
Τώρα μπορούμε να ρίξουμε μια πιο προσεκτική ματιά σε ορισμένα από τα στοιχεία που περιλαμβάνονται σε αυτήν τη λύση, ξεκινώντας από το δοκιμαστικό σημειωματάριο.
Επίδειξη σημειωματάριο
Μπορείτε να χρησιμοποιήσετε το δοκιμαστικό σημειωματάριο για να στείλετε παραδείγματα δεδομένων σε ήδη αναπτυγμένα τελικά σημεία μοντέλων για τις εργασίες σύνοψης εγγράφων και απάντησης ερωτήσεων. Ο φορητός υπολογιστής επίδειξης σας επιτρέπει γρήγορα να αποκτήσετε πρακτική εμπειρία αναζητώντας τα δεδομένα του παραδείγματος.
Αφού εκκινήσετε τη λύση Κατανόηση εγγράφων, ανοίξτε το δοκιμαστικό σημειωματάριο επιλέγοντας Χρησιμοποιήστε το Endpoint στο Σημειωματάριο.
Ας βουτήξουμε βαθύτερα σε καθένα από τα πέντε κύρια σημειωματάρια για αυτήν τη λύση.
Προϋποθέσεις
In Στούντιο Amazon SageMaker, βεβαιωθείτε ότι χρησιμοποιείτε το PyTorch 1.10 Python 3.8 CPU Optimized
εικόνα/πυρήνα για να ανοίξετε τα σημειωματάρια. Η προπόνηση χρησιμοποιεί πέντε ml.g4dn.2x μεγάλες περιπτώσεις, επομένως θα πρέπει να σηκώσετε ένα αίτημα αύξησης ορίου υπηρεσίας εάν ο λογαριασμός σας απαιτεί αυξημένα όρια για αυτόν τον τύπο.
Κείμενο ταξινόμησης
Η ταξινόμηση κειμένου αναφέρεται στην ταξινόμηση μιας πρότασης εισόδου σε μία από τις ετικέτες κλάσεων του συνόλου δεδομένων εκπαίδευσης. Αυτό το σημειωματάριο δείχνει πώς να χρησιμοποιήσετε το JumpStart API για ταξινόμηση κειμένου.
Αναπτύξτε και εκτελέστε συμπεράσματα στο προεκπαιδευμένο μοντέλο
Το μοντέλο ταξινόμησης κειμένου που επιλέξαμε να χρησιμοποιήσουμε βασίζεται σε μια ενσωμάτωση κειμένου (tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2
) μοντέλο από Διανομέας TensorFlow, το οποίο είναι προεκπαιδευμένο στα σύνολα δεδομένων Wikipedia και BookCorpus.
Το μοντέλο που είναι διαθέσιμο για ανάπτυξη δημιουργείται με την προσάρτηση ενός δυαδικού επιπέδου ταξινόμησης στην έξοδο του μοντέλου ενσωμάτωσης κειμένου και, στη συνέχεια, λεπτομέρεια ολόκληρου του μοντέλου στο SST-2 σύνολο δεδομένων, το οποίο αποτελείται από θετικές και αρνητικές κριτικές ταινιών.
Για να εκτελέσουμε συμπέρασμα σε αυτό το μοντέλο, πρέπει πρώτα να κατεβάσουμε το κοντέινερ συμπερασμάτων (deploy_image_uri
), σενάριο συμπερασμάτων (deploy_source_uri
), και προεκπαιδευμένο μοντέλο (base_model_uri
). Στη συνέχεια, τις μεταβιβάζουμε ως παραμέτρους για να δημιουργήσουμε ένα αντικείμενο μοντέλου SageMaker, το οποίο στη συνέχεια μπορούμε να αναπτύξουμε:
Ο παρακάτω κώδικας δείχνει τις απαντήσεις μας:
Βελτιστοποιήστε το προεκπαιδευμένο μοντέλο σε ένα προσαρμοσμένο σύνολο δεδομένων
Μόλις προχωρήσαμε στο συμπέρασμα τρεξίματος σε ένα προεκπαιδευμένο μοντέλο BERT, το οποίο είχε ρυθμιστεί με ακρίβεια στο SST-2
σύνολο δεδομένων
Στη συνέχεια, συζητάμε πώς να τελειοποιήσετε ένα μοντέλο σε ένα προσαρμοσμένο σύνολο δεδομένων με οποιονδήποτε αριθμό κλάσεων. Το σύνολο δεδομένων που χρησιμοποιούμε για τη λεπτομέρεια εξακολουθεί να είναι το SST-2
σύνολο δεδομένων. Μπορείτε να αντικαταστήσετε αυτό το σύνολο δεδομένων με οποιοδήποτε σύνολο δεδομένων που σας ενδιαφέρει.
Ανακτούμε το εκπαιδευτικό κοντέινερ Docker, την πηγή αλγορίθμου εκπαίδευσης και το προεκπαιδευμένο μοντέλο:
Για τις ειδικές για τον αλγόριθμο υπερπαραμέτρους, ξεκινάμε με την ανάκτηση ενός λεξικού Python των υπερπαραμέτρων εκπαίδευσης που δέχεται ο αλγόριθμος με τις προεπιλεγμένες τιμές τους. Μπορείτε να τα παρακάμψετε με προσαρμοσμένες τιμές, όπως φαίνεται στον ακόλουθο κώδικα:
Το σύνολο δεδομένων (SST-2
) χωρίζεται σε σύνολα εκπαίδευσης, επικύρωσης και δοκιμών, όπου το σύνολο εκπαίδευσης χρησιμοποιείται για να ταιριάζει στο μοντέλο, το σύνολο επικύρωσης χρησιμοποιείται για τον υπολογισμό μετρήσεων αξιολόγησης που μπορούν να χρησιμοποιηθούν για HPO και το σύνολο δοκιμής χρησιμοποιείται ως δεδομένα αναμονής για την αξιολόγηση της απόδοσης του μοντέλου. Στη συνέχεια, η αμαξοστοιχία και το σύνολο δεδομένων επικύρωσης μεταφορτώνονται στο Amazon S3 και χρησιμοποιούνται για την έναρξη της εργασίας εκπαίδευσης λεπτομέρειας:
Αφού ολοκληρωθεί η εργασία λεπτομέρειας, αναπτύσσουμε το μοντέλο, εκτελούμε συμπεράσματα στο σύνολο δεδομένων δοκιμής αναμονής και υπολογίζουμε μετρήσεις αξιολόγησης. Επειδή είναι μια εργασία δυαδικής ταξινόμησης, χρησιμοποιούμε το βαθμολογία ακρίβειας και Βαθμολογία F1 ως μετρήσεις αξιολόγησης. Μια μεγαλύτερη τιμή δείχνει την καλύτερη απόδοση. Το παρακάτω στιγμιότυπο οθόνης δείχνει τα αποτελέσματά μας.
Βελτιώστε περαιτέρω την απόδοση λεπτομέρειας με τον αυτόματο συντονισμό μοντέλων SageMaker
Σε αυτό το βήμα, δείχνουμε πώς μπορείτε να βελτιώσετε περαιτέρω την απόδοση του μοντέλου βελτιστοποιώντας το μοντέλο με τον αυτόματο συντονισμό μοντέλου SageMaker. Ο αυτόματος συντονισμός μοντέλου, γνωστός και ως βελτιστοποίηση υπερπαραμέτρων (HPO), βρίσκει την καλύτερη έκδοση ενός μοντέλου εκτελώντας πολλαπλές εργασίες εκπαίδευσης στο σύνολο δεδομένων σας με μια σειρά υπερπαραμέτρων που καθορίζετε. Στη συνέχεια, επιλέγει τις τιμές υπερπαραμέτρων που καταλήγουν σε ένα μοντέλο που έχει την καλύτερη απόδοση, όπως μετράται από μια μέτρηση που επιλέγετε, στο σύνολο δεδομένων επικύρωσης.
Αρχικά, ορίσαμε τον στόχο ως τη βαθμολογία ακρίβειας στα δεδομένα επικύρωσης (val_accuracy
) και όρισε μετρήσεις για την εργασία συντονισμού καθορίζοντας το όνομα της αντικειμενικής μέτρησης και μια τυπική έκφραση (regex). Η τυπική έκφραση χρησιμοποιείται για να ταιριάζει με την έξοδο καταγραφής του αλγορίθμου και να συλλαμβάνει τις αριθμητικές τιμές των μετρήσεων. Στη συνέχεια, καθορίζουμε εύρη υπερπαραμέτρων για να επιλέξουμε τις καλύτερες τιμές υπερπαραμέτρων. Ορίσαμε τον συνολικό αριθμό εργασιών συντονισμού σε έξι και διανέμουμε αυτές τις εργασίες σε τρεις διαφορετικές Amazon Elastic Compute Cloud Στιγμιότυπα (Amazon EC2) για εκτέλεση εργασιών παράλληλου συντονισμού. Δείτε τον παρακάτω κώδικα:
Περνάμε αυτές τις τιμές για να δημιουργήσουμε ένα αντικείμενο SageMaker Estimator, παρόμοιο με αυτό που κάναμε στο προηγούμενο βήμα μικρορύθμισης. Αντί να καλέσετε το fit
λειτουργία του Estimator
αντικείμενο, περνάμε το Estimator
αντικείμενο ως παράμετρος στο HyperparameterTuner κατασκευαστή και καλέστε το fit
λειτουργία του για την έναρξη εργασιών συντονισμού:
Μετά την ολοκλήρωση των εργασιών συντονισμού, αναπτύσσουμε το μοντέλο που δίνει την καλύτερη βαθμολογία μετρικής αξιολόγησης στο σύνολο δεδομένων επικύρωσης, πραγματοποιούμε συμπεράσματα στο ίδιο σύνολο δεδομένων δοκιμής διατήρησης που κάναμε στην προηγούμενη ενότητα και υπολογίζουμε μετρήσεις αξιολόγησης.
Τα αποτελέσματα δείχνουν ότι το μοντέλο που επιλέχθηκε από τον αυτόματο συντονισμό μοντέλου ξεπερνά σημαντικά το μοντέλο που βελτιστοποιήθηκε στην προηγούμενη ενότητα σε ένα συγκρατημένο σύνολο δεδομένων δοκιμής.
Αναγνωρισμένη οντότητα
Η αναγνώριση ονομαστικών οντοτήτων (NER) είναι η διαδικασία ανίχνευσης και ταξινόμησης ονομασμένων οντοτήτων σε προκαθορισμένες κατηγορίες, όπως ονόματα προσώπων, οργανισμών, τοποθεσιών και ποσοτήτων. Υπάρχουν πολλές πραγματικές περιπτώσεις χρήσης του NER, όπως μηχανές συστάσεων, κατηγοριοποίηση και εκχώρηση εισιτηρίων υποστήριξης πελατών στο σωστό τμήμα, εξαγωγή βασικών πληροφοριών από αναφορές ασθενών στην υγειονομική περίθαλψη και ταξινόμηση περιεχομένου από ειδήσεις και ιστολόγια.
Αναπτύξτε και εκτελέστε συμπεράσματα στο προεκπαιδευμένο μοντέλο
Αναπτύσσουμε το En_core_web_md μοντέλο από το Spay βιβλιοθήκη. Το spaCy είναι μια βιβλιοθήκη NLP ανοιχτού κώδικα που μπορεί να χρησιμοποιηθεί για διάφορες εργασίες και έχει ενσωματωμένες μεθόδους για το NER. Χρησιμοποιούμε ένα AWS PyTorch Deep Learning Container (DLC) με λειτουργία σεναρίου και εγκαθιστούμε τη βιβλιοθήκη spaCy ως εξάρτηση πάνω από το κοντέινερ.
Στη συνέχεια, ένα σημείο εισόδου για το σενάριο (επιχείρημα entry_point.py
) καθορίζεται, που περιέχει όλο τον κώδικα για λήψη και φόρτωση του En_core_web_md
μοντελοποιήστε και εκτελέστε συμπεράσματα για τα δεδομένα που αποστέλλονται στο τελικό σημείο. Τέλος, πρέπει ακόμα να παρέχουμε model_data
ως το προεκπαιδευμένο μοντέλο για συμπέρασμα. Γιατί οι προεκπαιδευμένοι En_core_web_md
μοντέλο κατεβάζεται εν κινήσει, το οποίο καθορίζεται στο σενάριο εισόδου, παρέχουμε ένα κενό αρχείο αρχειοθέτησης. Αφού αναπτυχθεί το τελικό σημείο, μπορείτε να καλέσετε το τελικό σημείο απευθείας από το σημειωματάριο χρησιμοποιώντας το SageMaker Python SDK's Predictor
. Δείτε τον ακόλουθο κώδικα:
Τα δεδομένα εισόδου για το μοντέλο είναι ένα έγγραφο κειμένου. Το μοντέλο ονομαζόμενης οντότητας εξάγει κομμάτια ουσιαστικών και ονομαστικές οντότητες στο κείμενο κειμένου και τα ταξινομεί σε διάφορους τύπους (όπως άτομα, μέρη και οργανισμούς). Το παράδειγμα εισόδου και εξόδου φαίνονται στον ακόλουθο κώδικα. ο start_char
Η παράμετρος υποδεικνύει τη μετατόπιση χαρακτήρων για την αρχή του διαστήματος και end_char
υποδηλώνει το τέλος του διαστήματος.
Βελτιστοποιήστε το προεκπαιδευμένο μοντέλο σε ένα προσαρμοσμένο σύνολο δεδομένων
Σε αυτό το βήμα, δείχνουμε πώς να προσαρμόσετε με ακρίβεια ένα προεκπαιδευμένο μοντέλο γλώσσας για το NER στο δικό σας σύνολο δεδομένων. Το βήμα λεπτομέρειας ενημερώνει τις παραμέτρους του μοντέλου για να καταγράψει τα χαρακτηριστικά των δικών σας δεδομένων και να βελτιώσει την ακρίβεια. Χρησιμοποιούμε το WikiANN (PAN-X) σύνολο δεδομένων για να τελειοποιήσετε το DistilBERT-βάση-χωρίς θήκη Μοντέλο μετασχηματιστή από το Hugging Face.
Το σύνολο δεδομένων χωρίζεται σε σύνολα εκπαίδευσης, επικύρωσης και δοκιμών.
Στη συνέχεια, καθορίζουμε τις υπερπαραμέτρους του μοντέλου και χρησιμοποιούμε ένα DLC AWS Hugging Face με λειτουργία σεναρίου (όρισμα entry_point
) για να ενεργοποιήσετε την εργασία μικρορύθμισης:
Αφού ολοκληρωθεί η εργασία λεπτομέρειας, αναπτύσσουμε ένα τελικό σημείο και ρωτάμε αυτό το τελικό σημείο με τα δεδομένα δοκιμής αναμονής. Για να υποβάλετε ερώτημα στο τελικό σημείο, κάθε συμβολοσειρά κειμένου πρέπει να γίνει διακριτικό σε ένα ή πολλαπλά διακριτικά και να σταλεί στο μοντέλο μετασχηματιστή. Κάθε διακριτικό λαμβάνει μια προβλεπόμενη ετικέτα οντότητας με όνομα. Επειδή κάθε συμβολοσειρά κειμένου μπορεί να γίνει διακριτική σε ένα ή πολλαπλά διακριτικά, πρέπει να αντιγράψουμε την ετικέττα οντότητας της συμβολοσειράς με το όνομα οντότητα της αλήθειας σε όλα τα διακριτικά που σχετίζονται με αυτήν. Το σημειωματάριο που παρέχεται σας καθοδηγεί στα βήματα για να το πετύχετε.
Τέλος, χρησιμοποιούμε ενσωματωμένες μετρήσεις αξιολόγησης Hugging Face seqeval για τον υπολογισμό των βαθμολογιών αξιολόγησης στα δεδομένα τεστ αναμονής. Οι μετρήσεις αξιολόγησης που χρησιμοποιούνται είναι η συνολική ακρίβεια, η συνολική ανάκληση, η συνολική F1 και η ακρίβεια. Το παρακάτω στιγμιότυπο οθόνης δείχνει τα αποτελέσματά μας.
Βελτιώστε περαιτέρω την απόδοση λεπτομέρειας με τον αυτόματο συντονισμό μοντέλων SageMaker
Παρόμοια με την ταξινόμηση κειμένου, δείχνουμε πώς μπορείτε να βελτιώσετε περαιτέρω την απόδοση του μοντέλου βελτιστοποιώντας το μοντέλο με τον αυτόματο συντονισμό μοντέλου SageMaker. Για να εκτελέσουμε την εργασία συντονισμού, πρέπει να ορίσουμε μια αντικειμενική μέτρηση που θέλουμε να χρησιμοποιήσουμε για την αξιολόγηση της απόδοσης του μοντέλου στο σύνολο δεδομένων επικύρωσης (βαθμολογία F1 σε αυτήν την περίπτωση), εύρη υπερπαραμέτρων για την επιλογή των καλύτερων τιμών υπερπαραμέτρων, καθώς και ρύθμιση διαμορφώσεων εργασιών όπως π.χ. μέγιστος αριθμός εργασιών συντονισμού και αριθμός παράλληλων εργασιών για εκκίνηση κάθε φορά:
Μετά την ολοκλήρωση των εργασιών συντονισμού, αναπτύσσουμε το μοντέλο που δίνει την καλύτερη βαθμολογία μετρικής αξιολόγησης στο σύνολο δεδομένων επικύρωσης, πραγματοποιούμε συμπεράσματα στο ίδιο σύνολο δεδομένων δοκιμής διατήρησης που κάναμε στην προηγούμενη ενότητα και υπολογίζουμε μετρήσεις αξιολόγησης.
Μπορούμε να δούμε ότι το μοντέλο με HPO επιτυγχάνει σημαντικά καλύτερη απόδοση σε όλες τις μετρήσεις.
Ερώτηση απάντηση
Η απάντηση σε ερωτήσεις είναι χρήσιμη όταν θέλετε να ρωτήσετε μεγάλο όγκο κειμένου για συγκεκριμένες πληροφορίες. Επιτρέπει στον χρήστη να εκφράσει μια ερώτηση σε φυσική γλώσσα και να λάβει μια άμεση και σύντομη απάντηση. Τα συστήματα απάντησης ερωτήσεων που υποστηρίζονται από το NLP μπορούν να χρησιμοποιηθούν σε μηχανές αναζήτησης και διεπαφές τηλεφωνικής συνομιλίας.
Αναπτύξτε και εκτελέστε συμπεράσματα στο προεκπαιδευμένο μοντέλο
Το προεκπαιδευμένο μοντέλο μας είναι το μοντέλο εξαγωγικής απάντησης σε ερωτήσεις (EQA). μπερτ-μεγάλο-χωρίς-ολόκληρη-λέξη-μάσκα-λεπτοσυντονισμένη-ομάδα κατασκευασμένο σε μοντέλο Transformer από το Hugging Face. Χρησιμοποιούμε ένα DLC AWS PyTorch με λειτουργία σεναρίου και εγκαθιστούμε το μετασχηματιστές βιβλιοθήκη ως εξάρτηση πάνω από το δοχείο. Παρόμοια με την εργασία NER, παρέχουμε ένα κενό αρχείο αρχειοθέτησης στο όρισμα model_data
επειδή το προεκπαιδευμένο μοντέλο κατεβάζεται εν κινήσει. Αφού αναπτυχθεί το τελικό σημείο, μπορείτε να καλέσετε το τελικό σημείο απευθείας από το σημειωματάριο χρησιμοποιώντας το SageMaker Python SDK's Predictor
. Δείτε τον ακόλουθο κώδικα:
Το μόνο που χρειάζεται να κάνουμε είναι να κατασκευάσουμε ένα αντικείμενο λεξικού με δύο πλήκτρα. context
είναι το κείμενο από το οποίο θέλουμε να ανακτήσουμε πληροφορίες. question
είναι το ερώτημα φυσικής γλώσσας που καθορίζει ποιες πληροφορίες μας ενδιαφέρει να εξαγάγουμε. Καλούμε predict
στον προγνωστικό μας και θα πρέπει να λάβουμε μια απάντηση από το τελικό σημείο που περιέχει τις πιο πιθανές απαντήσεις:
Έχουμε την απάντηση και μπορούμε να εκτυπώσουμε τις πιο πιθανές απαντήσεις που έχουν εξαχθεί από το προηγούμενο κείμενο. Κάθε απάντηση έχει μια βαθμολογία εμπιστοσύνης που χρησιμοποιείται για την κατάταξη (αλλά αυτή η βαθμολογία δεν πρέπει να ερμηνεύεται ως πραγματική πιθανότητα). Εκτός από την κατά λέξη απάντηση, λαμβάνετε επίσης τα ευρετήρια χαρακτήρων έναρξης και τέλους της απάντησης από το αρχικό περιβάλλον:
Τώρα προσαρμόζουμε αυτό το μοντέλο με το δικό μας προσαρμοσμένο σύνολο δεδομένων για να έχουμε καλύτερα αποτελέσματα.
Βελτιστοποιήστε το προεκπαιδευμένο μοντέλο σε ένα προσαρμοσμένο σύνολο δεδομένων
Σε αυτό το βήμα, δείχνουμε πώς να προσαρμόζετε τα προεκπαιδευμένα μοντέλα γλώσσας για το EQA στο δικό σας σύνολο δεδομένων. Το βήμα λεπτομέρειας ενημερώνει τις παραμέτρους του μοντέλου για να καταγράψει τα χαρακτηριστικά των δικών σας δεδομένων και να βελτιώσει την ακρίβεια. Χρησιμοποιούμε το SQuAD2.0 σύνολο δεδομένων για να τελειοποιήσετε ένα μοντέλο ενσωμάτωσης κειμένου μπερτ-βάση-ακάλυπτος από το Hugging Face. Το μοντέλο που είναι διαθέσιμο για λεπτομέρεια προσαρτά ένα επίπεδο εξαγωγής απαντήσεων στο μοντέλο ενσωμάτωσης κειμένου και αρχικοποιεί τις παραμέτρους του επιπέδου σε τυχαίες τιμές. Το βήμα λεπτομέρειας συντονίζει όλες τις παραμέτρους του μοντέλου για να ελαχιστοποιήσει το σφάλμα πρόβλεψης στα δεδομένα εισόδου και επιστρέφει το βελτιωμένο μοντέλο.
Παρόμοια με την εργασία ταξινόμησης κειμένου, το σύνολο δεδομένων (SQuAD2.0) χωρίζεται σε σύνολο εκπαίδευσης, επικύρωσης και δοκιμής.
Στη συνέχεια, καθορίζουμε τις υπερπαραμέτρους του μοντέλου και χρησιμοποιούμε το JumpStart API για να ενεργοποιήσετε μια εργασία λεπτομέρειας:
Αφού ολοκληρωθεί η εργασία λεπτομέρειας, αναπτύσσουμε το μοντέλο, εκτελούμε συμπεράσματα στο σύνολο δεδομένων δοκιμής αναμονής και υπολογίζουμε μετρήσεις αξιολόγησης. Οι μετρήσεις αξιολόγησης που χρησιμοποιούνται είναι η μέση βαθμολογία ακριβούς αντιστοίχισης και η μέση βαθμολογία F1. Το παρακάτω στιγμιότυπο οθόνης δείχνει τα αποτελέσματα.
Βελτιώστε περαιτέρω την απόδοση λεπτομέρειας με τον αυτόματο συντονισμό μοντέλων SageMaker
Όπως και στις προηγούμενες ενότητες, χρησιμοποιούμε α HyperparameterTuner
αντίρρηση για έναρξη εργασιών συντονισμού:
Μετά την ολοκλήρωση των εργασιών συντονισμού, αναπτύσσουμε το μοντέλο που δίνει την καλύτερη βαθμολογία μετρικής αξιολόγησης στο σύνολο δεδομένων επικύρωσης, πραγματοποιούμε συμπεράσματα στο ίδιο σύνολο δεδομένων δοκιμής διατήρησης που κάναμε στην προηγούμενη ενότητα και υπολογίζουμε μετρήσεις αξιολόγησης.
Μπορούμε να δούμε ότι το μοντέλο με HPO παρουσιάζει σημαντικά καλύτερη απόδοση στα δεδομένα δοκιμής διατήρησης.
Εξαγωγή σχέσης
Η εξαγωγή σχέσεων είναι το έργο της εξαγωγής σημασιολογικών σχέσεων από το κείμενο, οι οποίες συνήθως εμφανίζονται μεταξύ δύο ή περισσότερων οντοτήτων. Η εξαγωγή σχέσεων παίζει σημαντικό ρόλο στην εξαγωγή δομημένων πληροφοριών από μη δομημένες πηγές όπως το ακατέργαστο κείμενο. Σε αυτό το σημειωματάριο, παρουσιάζουμε δύο περιπτώσεις χρήσης εξαγωγής σχέσεων.
Βελτιστοποιήστε το προεκπαιδευμένο μοντέλο σε ένα προσαρμοσμένο σύνολο δεδομένων
Χρησιμοποιούμε ένα μοντέλο εξαγωγής σχέσεων που βασίζεται σε α BERT-βάση-χωρίς θήκη μοντέλο χρησιμοποιώντας μετασχηματιστές από το Μετασχηματιστές Hugging Face βιβλιοθήκη. Το μοντέλο για λεπτομέρεια προσαρτά ένα επίπεδο γραμμικής ταξινόμησης που λαμβάνει ένα ζεύγος ενσωματώσεων διακριτικών που εξάγονται από το μοντέλο ενσωμάτωσης κειμένου και αρχικοποιεί τις παραμέτρους του επιπέδου σε τυχαίες τιμές. Το βήμα λεπτομέρειας συντονίζει όλες τις παραμέτρους του μοντέλου για να ελαχιστοποιήσει το σφάλμα πρόβλεψης στα δεδομένα εισόδου και επιστρέφει το βελτιωμένο μοντέλο.
Το σύνολο δεδομένων που βελτιστοποιούμε το μοντέλο είναι SemEval-2010 Εργασία 8. Το μοντέλο που επιστρέφεται με τη λεπτομέρεια μπορεί να αναπτυχθεί περαιτέρω για συμπέρασμα.
Το σύνολο δεδομένων περιέχει εκπαίδευση, επικύρωση και σύνολα δοκιμών.
Χρησιμοποιούμε το AWS PyTorch DLC με λειτουργία σεναρίου από το SageMaker Python SDK, όπου transformers
Η βιβλιοθήκη εγκαθίσταται ως εξάρτηση στο επάνω μέρος του κοντέινερ. Ορίζουμε το SageMaker PyTorch
εκτιμητής και ένα σύνολο υπερπαραμέτρων, όπως το εκ των προτέρων εκπαιδευμένο μοντέλο, ο ρυθμός εκμάθησης και οι αριθμοί εποχής για την εκτέλεση της μικρορύθμισης. Ο κώδικας για τη μικρορύθμιση του μοντέλου εξαγωγής σχέσης ορίζεται στο entry_point.py
. Δείτε τον ακόλουθο κώδικα:
Βελτιώστε περαιτέρω την απόδοση λεπτομέρειας με τον αυτόματο συντονισμό μοντέλων SageMaker
Όπως και στις προηγούμενες ενότητες, χρησιμοποιούμε α HyperparameterTuner
αντικείμενο αλληλεπίδρασης με τα API συντονισμού υπερπαραμέτρων του SageMaker. Μπορούμε να ξεκινήσουμε την εργασία συντονισμού υπερπαραμέτρων καλώντας το fit
μέθοδος:
Όταν ολοκληρωθεί η εργασία συντονισμού υπερπαραμέτρων, πραγματοποιούμε εξαγωγή συμπερασμάτων και ελέγχουμε τη βαθμολογία αξιολόγησης.
Μπορούμε να δούμε ότι το μοντέλο με HPO δείχνει καλύτερη απόδοση στα δεδομένα δοκιμής διατήρησης.
Σύνοψη εγγράφου
Η σύνοψη εγγράφων ή κειμένου είναι το έργο της συμπύκνωσης μεγάλων ποσοτήτων δεδομένων κειμένου σε ένα μικρότερο υποσύνολο ουσιαστικών προτάσεων που αντιπροσωπεύουν τις πιο σημαντικές ή σχετικές πληροφορίες εντός του αρχικού περιεχομένου. Η σύνοψη εγγράφων είναι μια χρήσιμη τεχνική για την απόσταξη σημαντικών πληροφοριών από μεγάλες ποσότητες δεδομένων κειμένου σε λίγες προτάσεις. Η σύνοψη κειμένου χρησιμοποιείται σε πολλές περιπτώσεις χρήσης, όπως η επεξεργασία εγγράφων και η εξαγωγή πληροφοριών από ιστολόγια, άρθρα και ειδήσεις.
Αυτό το σημειωματάριο δείχνει την ανάπτυξη του μοντέλου σύνοψης εγγράφων Τ5-βάση από το Μετασχηματιστές Hugging Face βιβλιοθήκη. Δοκιμάζουμε επίσης τα αναπτυγμένα τελικά σημεία χρησιμοποιώντας ένα άρθρο κειμένου και αξιολογούμε τα αποτελέσματα χρησιμοποιώντας την ενσωματωμένη μέτρηση αξιολόγησης Hugging Face ΚΟΚΚΙΝΟ.
Παρόμοια με την απάντηση ερωτήσεων και τα σημειωματάρια NER, χρησιμοποιούμε το PyTorchModel
από το SageMaker Python SDK μαζί με ένα entry_point.py
δέσμη ενεργειών για τη φόρτωση του μοντέλου βάσης T5 σε ένα τελικό σημείο HTTPS. Αφού αναπτυχθεί επιτυχώς το τελικό σημείο, μπορούμε να στείλουμε ένα άρθρο κειμένου στο τελικό σημείο για να λάβουμε μια απάντηση πρόβλεψης:
Στη συνέχεια, αξιολογούμε και συγκρίνουμε το κείμενο του άρθρου και το αποτέλεσμα της σύνοψης χρησιμοποιώντας τη μέτρηση ROUGE. Υπολογίζονται τρεις μετρήσεις αξιολόγησης: rougeN
, rougeL
, να rougeLsum
. rougeN
μετρά τον αριθμό αντιστοίχισης n-grams
μεταξύ του κειμένου που δημιουργείται από το μοντέλο (αποτέλεσμα σύνοψης) και α reference
(εισαγωγή κειμένου). Οι μετρήσεις rougeL
και rougeLsum
μετρήστε τις μακρύτερες αλληλουχίες λέξεων που ταιριάζουν αναζητώντας τις μεγαλύτερες κοινές υποσυμβολοσειρές στις περιλήψεις που δημιουργούνται και στις περιλήψεις αναφοράς. Για κάθε μέτρηση, υπολογίζονται διαστήματα εμπιστοσύνης για ακρίβεια, ανάκληση και βαθμολογία F1. Δείτε τον ακόλουθο κώδικα:
εκκαθάριση
Οι πόροι που δημιουργήθηκαν για αυτήν τη λύση μπορούν να διαγραφούν χρησιμοποιώντας το Διαγράψτε όλους τους πόρους κουμπί από το SageMaker Studio IDE. Κάθε σημειωματάριο παρέχει επίσης μια ενότητα καθαρισμού με τον κωδικό για τη διαγραφή των τελικών σημείων.
Συμπέρασμα
Σε αυτήν την ανάρτηση, δείξαμε πώς να χρησιμοποιούμε σύγχρονες τεχνικές ML για την επίλυση πέντε διαφορετικών εργασιών NLP: σύνοψη εγγράφων, ταξινόμηση κειμένου, ερώτηση και απάντηση, αναγνώριση ονομαστικών οντοτήτων και εξαγωγή σχέσεων χρησιμοποιώντας το Jumpstart. Ξεκινήστε με το Jumpstart τώρα!
Σχετικά με τους Συγγραφείς
Δόκτωρ Σιν Χουάνγκ είναι Applied Scientist για τους ενσωματωμένους αλγόριθμους Amazon SageMaker JumpStart και Amazon SageMaker. Επικεντρώνεται στην ανάπτυξη κλιμακούμενων αλγορίθμων μηχανικής μάθησης. Τα ερευνητικά του ενδιαφέροντα είναι στον τομέα της επεξεργασίας φυσικής γλώσσας, της εξηγήσιμης βαθιάς εκμάθησης σε δεδομένα πινάκων και της ισχυρής ανάλυσης της μη παραμετρικής ομαδοποίησης χωροχρόνου. Έχει δημοσιεύσει πολλές εργασίες σε συνέδρια ACL, ICDM, KDD και Royal Statistical Society: Series A.
Vivek Gangasani είναι ανώτερος αρχιτέκτονας λύσεων μηχανικής μάθησης στο Amazon Web Services. Βοηθά τις Startups να δημιουργήσουν και να λειτουργήσουν εφαρμογές AI/ML. Επί του παρόντος επικεντρώνεται στο να συνδυάσει το υπόβαθρό του στα Containers και τη Machine Learning για να προσφέρει λύσεις σε MLOps, ML Inference και ML χαμηλού κώδικα. Στον ελεύθερο χρόνο του, του αρέσει να δοκιμάζει νέα εστιατόρια και να εξερευνά τις αναδυόμενες τάσεις στην τεχνητή νοημοσύνη και τη βαθιά μάθηση.
Τζέρεμι Κοέν είναι ένας αρχιτέκτονας λύσεων με AWS, όπου βοηθά τους πελάτες να δημιουργήσουν πρωτοποριακές λύσεις που βασίζονται στο cloud. Στον ελεύθερο χρόνο του, απολαμβάνει μικρούς περιπάτους στην παραλία, εξερευνά την περιοχή του κόλπου με την οικογένειά του, διορθώνει πράγματα γύρω από το σπίτι, σπάει τα πράγματα γύρω από το σπίτι και μπάρμπεκιου.
Neelam Koshiya είναι αρχιτέκτονας επιχειρησιακής λύσης στο AWS. Η σημερινή της εστίαση είναι να βοηθήσει τους πελάτες των επιχειρήσεων με το ταξίδι υιοθέτησης σύννεφο για στρατηγικά επιχειρησιακά αποτελέσματα. Στον ελεύθερο χρόνο της, απολαμβάνει την ανάγνωση και το ύπαιθρο.
- Για προχωρημένους (300)
- AI
- αι τέχνη
- ι γεννήτρια τέχνης
- ρομπότ ai
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- τεχνητή νοημοσύνη
- πιστοποίηση τεχνητής νοημοσύνης
- τεχνητή νοημοσύνη στον τραπεζικό τομέα
- ρομπότ τεχνητής νοημοσύνης
- ρομπότ τεχνητής νοημοσύνης
- λογισμικό τεχνητής νοημοσύνης
- Μηχανική εκμάθηση AWS
- blockchain
- συνέδριο blockchain ai
- Coingenius
- συνομιλητική τεχνητή νοημοσύνη
- κρυπτοσυνεδριο αι
- του νταλ
- βαθιά μάθηση
- Ειδικός (400)
- έχεις google
- μάθηση μηχανής
- Πλάτων
- πλάτων αι
- Πληροφορία δεδομένων Plato
- Παιχνίδι Πλάτωνας
- Πλάτωνα δεδομένα
- platogaming
- κλίμακα αι
- σύνταξη
- zephyrnet