Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker

Σήμερα χρησιμοποιούνται περίπου 7,000 γλώσσες. Παρά τις προσπάθειες στα τέλη του 19ου αιώνα να εφευρεθούν κατασκευασμένες γλώσσες όπως το Volapük ή η Εσπεράντο, δεν υπάρχει κανένα σημάδι ενοποίησης. Οι άνθρωποι εξακολουθούν να επιλέγουν να δημιουργούν νέες γλώσσες (σκεφτείτε τον αγαπημένο σας χαρακτήρα ταινιών που μιλάει Klingon, Dothraki ή Elvish).

Σήμερα, στα παραδείγματα επεξεργασίας φυσικής γλώσσας (NLP) κυριαρχεί η αγγλική γλώσσα, η μητρική γλώσσα μόνο για το 5% του ανθρώπινου πληθυσμού και ομιλείται μόνο από το 17%.

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

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

Βελτιώνουμε διάφορα προεκπαιδευμένα μοντέλα γλώσσας που βασίζονται σε μετασχηματιστές για μια εργασία ερώτησης και απάντησης. Χρησιμοποιούμε τουρκικά στο παράδειγμά μας, αλλά θα μπορούσατε να εφαρμόσετε αυτήν την προσέγγιση σε άλλες υποστηριζόμενες γλώσσες. Η εστίασή μας είναι στις παραλλαγές BERT [1], επειδή ένα μεγάλο χαρακτηριστικό του BERT είναι η ενοποιημένη αρχιτεκτονική του σε διάφορες εργασίες.

Δείχνουμε πολλά οφέλη από τη χρήση μετασχηματιστών Hugging Face Amazon Sage Maker, όπως εκπαίδευση και πειραματισμός σε κλίμακα και αυξημένη παραγωγικότητα και αποδοτικότητα κόστους.

Επισκόπηση του NLP

Έχουν σημειωθεί αρκετές σημαντικές εξελίξεις στο NLP από το 2017. Η εμφάνιση αρχιτεκτονικών βαθιάς μάθησης, όπως οι μετασχηματιστές [2], οι τεχνικές μάθησης χωρίς επίβλεψη για την εκπαίδευση τέτοιων μοντέλων σε εξαιρετικά μεγάλα σύνολα δεδομένων και η μεταφορά της μάθησης έχουν βελτιώσει σημαντικά την κατάσταση τέχνη στην κατανόηση φυσικής γλώσσας. Η άφιξη προεκπαιδευμένων κόμβων μοντέλων έχει εκδημοκρατίσει περαιτέρω την πρόσβαση στη συλλογική γνώση της κοινότητας του NLP, αφαιρώντας την ανάγκη να ξεκινήσετε από το μηδέν.

Ένα μοντέλο γλώσσας είναι ένα μοντέλο NLP που μαθαίνει να προβλέπει την επόμενη λέξη (ή οποιαδήποτε συγκαλυμμένη λέξη) σε μια σειρά. Η γνήσια ομορφιά των μοντέλων γλώσσας ως αφετηρίας είναι τριπλή: Πρώτον, η έρευνα έδειξε ότι τα γλωσσικά μοντέλα που έχουν εκπαιδευτεί σε δεδομένα μεγάλου σώματος κειμένου μαθαίνουν πιο σύνθετες έννοιες λέξεων από προηγούμενες μεθόδους. Για παράδειγμα, για να είναι σε θέση να προβλέψει την επόμενη λέξη σε μια πρόταση, το γλωσσικό μοντέλο πρέπει να είναι καλό στην κατανόηση του πλαισίου, της σημασιολογίας και επίσης της γραμματικής. Δεύτερον, για την εκπαίδευση ενός γλωσσικού μοντέλου, δεν απαιτούνται δεδομένα με ετικέτα — τα οποία είναι σπάνια και ακριβά — κατά την προεκπαίδευση. Αυτό είναι σημαντικό επειδή ένας τεράστιος όγκος δεδομένων κειμένου χωρίς ετικέτα είναι δημόσια διαθέσιμα στον Ιστό σε πολλές γλώσσες. Τρίτον, έχει αποδειχθεί ότι από τη στιγμή που το γλωσσικό μοντέλο είναι αρκετά έξυπνο για να προβλέψει την επόμενη λέξη για οποιαδήποτε δεδομένη πρόταση, είναι σχετικά εύκολο να εκτελεστούν άλλες εργασίες NLP, όπως η ανάλυση συναισθήματος ή η απάντηση ερωτήσεων με ελάχιστα επισημασμένα δεδομένα, επειδή η λεπτομερής ρύθμιση επαναχρησιμοποιεί αναπαραστάσεις από ένα προεκπαιδευμένο γλωσσικό μοντέλο [3].

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

Προκλήσεις και λύσεις για γλώσσες χαμηλών πόρων

Η κύρια πρόκληση για μεγάλο αριθμό γλωσσών είναι ότι έχουν σχετικά λιγότερα διαθέσιμα δεδομένα για εκπαίδευση. Αυτά λέγονται γλώσσες με χαμηλούς πόρους. Το έγγραφο m-BERT [4] και το χαρτί XLM-R [7] αναφέρονται στα Ουρντού και τα Σουαχίλι ως γλώσσες χαμηλών πόρων.

Το παρακάτω σχήμα καθορίζει τους κωδικούς ISO για περισσότερες από 80 γλώσσες και τη διαφορά στο μέγεθος (σε log-scale) μεταξύ των δύο μεγάλων προεκπαιδεύσεων [7]. Στη Wikipedia (πορτοκαλί), υπάρχουν μόνο 18 γλώσσες με πάνω από 1 εκατομμύριο άρθρα και 52 γλώσσες με πάνω από 1,000 άρθρα, αλλά 164 γλώσσες με μόνο 1–10,000 άρθρα [9]. Το σώμα CommonCrawl (μπλε) αυξάνει τον όγκο δεδομένων για γλώσσες χαμηλών πόρων κατά δύο τάξεις μεγέθους. Ωστόσο, εξακολουθούν να είναι σχετικά μικρές σε σύγκριση με γλώσσες υψηλών πόρων όπως τα αγγλικά, τα ρωσικά ή τα γερμανικά.

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Όσον αφορά τους αριθμούς των άρθρων της Wikipedia, τα τουρκικά είναι μια άλλη γλώσσα στην ίδια ομάδα με περισσότερα από 100,000 άρθρα (28η), μαζί με την Ουρντού (54η). Σε σύγκριση με την Ουρντού, τα τουρκικά θα θεωρούνταν ως γλώσσα μεσαίου πόρου. Τα τουρκικά έχουν μερικά ενδιαφέροντα χαρακτηριστικά, τα οποία θα μπορούσαν να καταστήσουν τα γλωσσικά μοντέλα πιο ισχυρά δημιουργώντας ορισμένες προκλήσεις στη γλωσσολογία και τη συμβολική. Είναι μια συγκολλητική γλώσσα. Έχει πολύ ελεύθερη σειρά λέξεων, σύνθετη μορφολογία ή χρόνους χωρίς αγγλικά ισοδύναμα. Φράσεις που σχηματίζονται από πολλές λέξεις σε γλώσσες όπως τα Αγγλικά μπορούν να εκφραστούν με μία μόνο λέξη, όπως φαίνεται στο ακόλουθο παράδειγμα.

Τουρκική Αγγλικά
γάτα Γάτα
γάταler Γάταs
γάταGiller Οικογένεια του γάτες
αιλουροειδώνημέρα Συμμετοχή στο οικογένεια γατών
γάταleştirebileceklerimizdenmişçesineyken Όταν φαίνεται ότι αυτό είναι ένα από αυτά μπορούμε να φτιάξουμε πως

Δύο κύριες προσεγγίσεις λύσεων είναι μοντέλα ειδικά για τη γλώσσα ή πολύγλωσσα μοντέλα (με ή χωρίς διαγλωσσική επίβλεψη):

  • Μονόγλωσσα γλωσσικά μοντέλα – Η πρώτη προσέγγιση είναι η εφαρμογή μιας παραλλαγής BERT σε μια συγκεκριμένη γλώσσα-στόχο. Όσο περισσότερα είναι τα δεδομένα εκπαίδευσης, τόσο καλύτερη είναι η απόδοση του μοντέλου.
  • Πολύγλωσσα μοντέλα καλυμμένης γλώσσας – Η άλλη προσέγγιση είναι η προ-εκπαίδευση μοντέλων μεγάλων μετασχηματιστών σε πολλές γλώσσες. Η πολυγλωσσική μοντελοποίηση γλωσσών στοχεύει στην επίλυση της έλλειψης πρόκλησης δεδομένων για γλώσσες με χαμηλούς πόρους με προεκπαίδευση σε μεγάλο αριθμό γλωσσών, έτσι ώστε οι εργασίες NLP που μαθαίνονται από μια γλώσσα να μπορούν να μεταφερθούν σε άλλες γλώσσες. Τα πολυγλωσσικά μοντέλα καλυμμένης γλώσσας (MLM) έχουν προωθήσει την τελευταία λέξη της τεχνολογίας στις εργασίες διαγλωσσικής κατανόησης. Δύο παραδείγματα είναι:
    • Πολύγλωσσο BERT – Το πολύγλωσσο μοντέλο BERT εκπαιδεύτηκε σε 104 διαφορετικές γλώσσες χρησιμοποιώντας το σώμα της Wikipedia. Ωστόσο, έχει αποδειχθεί ότι γενικεύει καλά μόνο σε παρόμοιες γλωσσικές δομές και τυπολογικά χαρακτηριστικά (για παράδειγμα, γλώσσες με παρόμοια σειρά λέξεων). Η πολυγλωσσία του μειώνεται ειδικά για γλώσσες με διαφορετική σειρά λέξεων (για παράδειγμα, θέμα/αντικείμενο/ρήμα) [4].
    • XLM-R – Τα διαγλωσσικά γλωσσικά μοντέλα (XLM) εκπαιδεύονται με διαγλωσσικό στόχο χρησιμοποιώντας παράλληλα σύνολα δεδομένων (το ίδιο κείμενο σε δύο διαφορετικές γλώσσες) ή χωρίς διαγλωσσικό στόχο χρησιμοποιώντας μονόγλωσσα σύνολα δεδομένων [6]. Η έρευνα δείχνει ότι οι γλώσσες χαμηλών πόρων επωφελούνται από την κλιμάκωση σε περισσότερες γλώσσες. Το XLM-RoBERTa είναι ένα μοντέλο που βασίζεται σε μετασχηματιστή, εμπνευσμένο από το RoBERTa [5] και το σημείο εκκίνησης του είναι η πρόταση ότι τα πολύγλωσσα BERT και XLM είναι υποσυντονισμένα. Εκπαιδεύεται σε 100 γλώσσες χρησιμοποιώντας τόσο το σώμα Wikipedia όσο και το CommonCrawl, επομένως ο όγκος των δεδομένων εκπαίδευσης για γλώσσες χαμηλών πόρων είναι περίπου δύο τάξεις μεγέθους μεγαλύτερος σε σύγκριση με το m-BERT [7].

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

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

Προεκπαιδευμένο μοντέλο Μέγεθος λεξιλογίου Tokenization για το "Kedileri"*
dbmdz/bert-base-turkish-uncased 32,000 κουπόνια [CLS] γάτες ##Εγώ [ΣΕΠ]
Εισαγωγή αναγνωριστικών 2 23714 1023 3
μπερτ-βάση-πολύγλωσσος-ακάλυπτος 105,879 κουπόνια [CLS] ΚΕΔ ##iler ##Εγώ [ΣΕΠ]
Εισαγωγή αναγνωριστικών 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 κουπόνια Ke di s
Εισαγωγή αναγνωριστικών 0 1345 428 1341 .
*Στα αγγλικά: (Its) cats

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

Στην επόμενη ενότητα, συγκρίνουμε τρεις προσεγγίσεις προσαρμόζοντάς τις για μια εργασία απάντησης ερωτήσεων χρησιμοποιώντας ένα σύνολο δεδομένων QA για τα τουρκικά: BERTurk [8], πολύγλωσσο BERT [4] και XLM-R [7].

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

Η ροή εργασιών μας έχει ως εξής:

  1. Προετοιμάστε το σύνολο δεδομένων σε ένα Στούντιο Amazon SageMaker περιβάλλον φορητού υπολογιστή και ανεβάστε το σε Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3).
  2. Ξεκινήστε εργασίες παράλληλης εκπαίδευσης σε κοντέινερ εκπαίδευσης βαθιάς εκμάθησης του SageMaker παρέχοντας το σενάριο λεπτομέρειας.
  3. Συλλέξτε μεταδεδομένα από κάθε πείραμα.
  4. Συγκρίνετε τα αποτελέσματα και εντοπίστε το καταλληλότερο μοντέλο.

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

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Για περισσότερες πληροφορίες σχετικά με τους φορητούς υπολογιστές Studio, ανατρέξτε στο Βουτήξτε βαθιά στην αρχιτεκτονική του Amazon SageMaker Studio Notebooks. Για περισσότερες πληροφορίες σχετικά με τον τρόπο ενσωμάτωσης του Hugging Face με το SageMaker, ανατρέξτε στο Το AWS και το Hugging Face συνεργάζονται για να απλοποιήσουν και να επιταχύνουν την υιοθέτηση των μοντέλων επεξεργασίας φυσικής γλώσσας.

Προετοιμάστε το σύνολο δεδομένων

Η βιβλιοθήκη Hugging Face Datasets παρέχει ισχυρές μεθόδους επεξεργασίας δεδομένων για να ετοιμάσετε γρήγορα ένα σύνολο δεδομένων για εκπαίδευση σε ένα μοντέλο βαθιάς μάθησης. Ο παρακάτω κώδικας φορτώνει το τουρκικό σύνολο δεδομένων QA και εξερευνά τι υπάρχει μέσα:

data_files = {}
data_files["train"] = 'data/train.json'
data_files["validation"] = 'data/val.json' ds = load_dataset("json", data_files=data_files) print("Number of features in dataset: n Train = {}, n Validation = {}".format(len(ds['train']), len(ds['validation'])))

Υπάρχουν περίπου 9,000 δείγματα.

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Το σύνολο δεδομένων εισόδου μετατρέπεται ελαφρώς σε μια μορφή που αναμένεται από τα προεκπαιδευμένα μοντέλα και περιέχει τις ακόλουθες στήλες:

df = pd.DataFrame(ds['train'])
df.sample(1)

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
Η αγγλική μετάφραση του προϊόντος έχει ως εξής:

  • συμφραζόμενα – Ρεσίτ Εμρέ Κονγκάρ (γ. 13 Οκτωβρίου 1941, Κωνσταντινούπολη), Τούρκος κοινωνιολόγος, καθηγητής.
  • ερώτηση – Ποιος είναι ο ακαδημαϊκός τίτλος του Emre Kongar;
  • απάντηση – Καθηγητής

Σενάριο λεπτομερούς ρύθμισης

Η βιβλιοθήκη Hugging Face Transformers παρέχει ένα παράδειγμα κώδικα για να τελειοποιήσετε ένα μοντέλο για μια εργασία απάντησης ερωτήσεων, που ονομάζεται run_qa.py. Ο ακόλουθος κώδικας προετοιμάζει τον εκπαιδευτή:

 # Initialize our Trainer trainer = QuestionAnsweringTrainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, eval_examples=eval_examples, tokenizer=tokenizer, data_collator=data_collator, post_process_function=post_processing_function, compute_metrics=compute_metrics, )

Ας αναθεωρήσουμε τα δομικά στοιχεία σε υψηλό επίπεδο.

Tokenizer

Το σενάριο φορτώνει ένα tokenizer χρησιμοποιώντας το AutoTokenizer τάξη. ο AutoTokenizer Η τάξη φροντίζει να επιστρέψει το σωστό tokenizer που αντιστοιχεί στο μοντέλο:

tokenizer = AutoTokenizer.from_pretrained( model_args.model_name_or_path, cache_dir=model_args.cache_dir, use_fast=True, revision=model_args.model_revision, use_auth_token=None, )

Το παρακάτω είναι ένα παράδειγμα πώς λειτουργεί το tokenizer:

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("deepset/xlm-roberta-base-squad2") input_ids = tokenizer.encode('İstanbulun en popüler hayvanı hangisidir? Kedileri', return_tensors="pt")
tokens = tokenizer('İstanbulun en popüler hayvanı hangisidir? Kedileri').tokens()

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Μοντέλο

Το σενάριο φορτώνει ένα μοντέλο. AutoModel τάξεις (για παράδειγμα, AutoModelForQuestionAnswering) δημιουργήστε απευθείας μια τάξη με βάρη, διαμόρφωση και λεξιλόγιο της σχετικής αρχιτεκτονικής, δεδομένου του ονόματος και της διαδρομής προς το προεκπαιδευμένο μοντέλο. Χάρη στην αφαίρεση του Hugging Face, μπορείτε εύκολα να μεταβείτε σε διαφορετικό μοντέλο χρησιμοποιώντας τον ίδιο κωδικό, απλώς παρέχοντας το όνομα του μοντέλου. Δείτε το ακόλουθο παράδειγμα κώδικα:

 model = AutoModelForQuestionAnswering.from_pretrained( model_args.model_name_or_path, config=config, cache_dir=model_args.cache_dir, revision=model_args.model_revision, )

Προεπεξεργασία και εκπαίδευση

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

Πεδία συνόλου δεδομένων εισόδου Προεπεξεργασμένα πεδία συνόλου δεδομένων εκπαίδευσης για QuestionAnsweringTrainer
id input_ids
τίτλος μάσκα προσοχής
συμφραζόμενα θέσεις έναρξης
ερώτηση τελικές θέσεις
Απαντήσεις { answer_start, answer_text } .

Εκτίμηση

Η compute_metrics() μέθοδος φροντίζει για τον υπολογισμό των μετρήσεων. Χρησιμοποιούμε τις ακόλουθες δημοφιλείς μετρήσεις για εργασίες απάντησης ερωτήσεων:

  • Ακριβής αντιστοίχιση – Μετρά το ποσοστό των προβλέψεων που ταιριάζουν με οποιαδήποτε από τις βασικές απαντήσεις της αλήθειας.
  • Βαθμολογία F1 – Μετρά τη μέση επικάλυψη μεταξύ της πρόβλεψης και της βασικής απάντησης αλήθειας. Η βαθμολογία F1 είναι η αρμονική μέση ακρίβεια και ανάκληση:
    • Ακρίβεια – Η αναλογία του αριθμού των κοινών λέξεων προς τον συνολικό αριθμό των λέξεων στην πρόβλεψη.
    • Ανάκληση – Η αναλογία του αριθμού των κοινών λέξεων προς τον συνολικό αριθμό των λέξεων στη βασική αλήθεια.

Διαχειριζόμενη εκπαίδευση στο SageMaker

Η ρύθμιση και η διαχείριση προσαρμοσμένων περιβαλλόντων μηχανικής μάθησης (ML) μπορεί να είναι χρονοβόρα και κοπιαστική. Με AWS Deep Learning Container (DLC) για τις βιβλιοθήκες Hugging Face Transformers, έχουμε πρόσβαση σε προσυσκευασμένα και βελτιστοποιημένα πλαίσια βαθιάς εκμάθησης, τα οποία καθιστούν εύκολη την εκτέλεση του σεναρίου μας σε πολλαπλές εργασίες εκπαίδευσης με ελάχιστο πρόσθετο κώδικα.

Απλά πρέπει να χρησιμοποιήσουμε το Εκτιμητής Αγκαλιασμένου Προσώπου διαθέσιμο στο SageMaker Python SDK με τις ακόλουθες εισόδους:

# Trial configuration
config['model'] = 'deepset/xlm-roberta-base-squad2'
config['instance_type'] = 'ml.p3.16xlarge'
config['instance_count'] = 2 # Define the distribution parameters in the HuggingFace Estimator config['distribution'] = {'smdistributed':{'dataparallel':{ 'enabled': True }}}
trial_configs.append(config) # We can specify a training script that is stored in a GitHub repository as the entry point for our Estimator, # so we don’t have to download the scripts locally.
git_config = {'repo': 'https://github.com/huggingface/transformers.git'} hyperparameters_qa={ 'model_name_or_path': config['model'], 'train_file': '/opt/ml/input/data/train/train.json', 'validation_file': '/opt/ml/input/data/val/val.json', 'do_train': True, 'do_eval': True, 'fp16': True, 'per_device_train_batch_size': 16, 'per_device_eval_batch_size': 16, 'num_train_epochs': 2, 'max_seq_length': 384, 'pad_to_max_length': True, 'doc_stride': 128, 'output_dir': '/opt/ml/model' } huggingface_estimator = HuggingFace(entry_point='run_qa.py', source_dir='./examples/pytorch/question-answering', git_config=git_config, instance_type=config['instance_type'], instance_count=config['instance_count'], role=role, transformers_version='4.12.3', pytorch_version='1.9.1', py_version='py38', distribution=config['distribution'], hyperparameters=hyperparameters_qa, metric_definitions=metric_definitions, enable_sagemaker_metrics=True,) nlp_training_job_name = f"NLPjob-{model}-{instance}-{int(time.time())}" training_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' test_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' huggingface_estimator.fit( inputs={'train': training_input_path, 'val': test_input_path}, job_name=nlp_training_job_name, experiment_config={ "ExperimentName": nlp_experiment.experiment_name, "TrialName": nlp_trial.trial_name, "TrialComponentDisplayName": nlp_trial.trial_name,}, wait=False, )

Αξιολογήστε τα αποτελέσματα

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

  • Μονόγλωσσο γλωσσικό μοντέλο – Καλείται το προεκπαιδευμένο μοντέλο που έχει ρυθμιστεί με ακρίβεια στο κείμενο απάντησης τουρκικής ερώτησης μπερτ-βάση-τούρκικο-ακάλυπτο [8]. Επιτυγχάνει βαθμολογία F1 75.63 και ακριβή αγώνα 56.17 σε δύο μόνο εποχές και με 9,000 επισημασμένα αντικείμενα. Ωστόσο, αυτή η προσέγγιση δεν είναι κατάλληλη για μια γλώσσα χαμηλών πόρων όταν δεν υπάρχει ένα προεκπαιδευμένο μοντέλο γλώσσας ή υπάρχουν λίγα διαθέσιμα δεδομένα για εκπαίδευση από την αρχή.
  • Πολύγλωσσο μοντέλο γλώσσας με πολύγλωσσο BERT – Το προεκπαιδευμένο μοντέλο ονομάζεται μπερτ-βάση-πολύγλωσσος-ακάλυπτος. Το πολύγλωσσο έγγραφο BERT [4] έδειξε ότι γενικεύεται καλά σε όλες τις γλώσσες. Σε σύγκριση με το μονόγλωσσο μοντέλο, έχει χειρότερη απόδοση (βαθμολογία F1 71.73, ακριβής αντιστοίχιση 50:45), αλλά σημειώστε ότι αυτό το μοντέλο χειρίζεται περισσότερες από 100 άλλες γλώσσες, αφήνοντας λιγότερο χώρο για την αναπαράσταση της τουρκικής γλώσσας.
  • Πολύγλωσσο μοντέλο γλώσσας με XLM-R – Το προεκπαιδευμένο μοντέλο ονομάζεται xlm-roberta-base-squad2. Το χαρτί XLM-R δείχνει ότι είναι δυνατό να έχουμε ένα μεγάλο μοντέλο για περισσότερες από 100 γλώσσες χωρίς να θυσιάζεται η απόδοση ανά γλώσσα [7]. Για την εργασία απάντησης σε τουρκικές ερωτήσεις, ξεπερνά τις βαθμολογίες της πολύγλωσσης BERT και της μονόγλωσσης BERT F1 κατά 5% και 2%, αντίστοιχα (βαθμολογία F1 77.14, ακριβής αντιστοίχιση 56.39).

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Πρόσθετα πειράματα

Το παρεχόμενο σημειωματάριο περιέχει πρόσθετα παραδείγματα πειράματος.

Το SageMaker παρέχει ένα ευρύ φάσμα τύπων παρουσιών εκπαίδευσης. Βελτιστοποιήσαμε το μοντέλο XLM-R σε p3.2xlarge (GPU: Nvidia V100 GPU, αρχιτεκτονική GPU: Volta (2017)), p3.16xlarge (GPU: 8 Nvidia V100 GPU) και g4dn.xlarge (GPU: Nvidia T4 GPU, αρχιτεκτονική GPU: Turing (2018)), και παρατήρησε τα εξής:

  • Διάρκεια προπόνησης – Σύμφωνα με το πείραμά μας, το μοντέλο XLM-R χρειάστηκε περίπου 24 λεπτά για να προπονηθεί στο p3.2xlarge και 30 λεπτά στο g4dn.xlarge (περίπου 23% περισσότερο). Πραγματοποιήσαμε επίσης κατανεμημένη λεπτομέρεια σε δύο p3.16x μεγάλες περιπτώσεις και ο χρόνος εκπαίδευσης μειώθηκε στα 10 λεπτά. Για περισσότερες πληροφορίες σχετικά με την κατανεμημένη εκπαίδευση ενός μοντέλου που βασίζεται σε μετασχηματιστή στο SageMaker, ανατρέξτε στο Διανεμημένη λεπτομέρεια ενός μοντέλου BERT Large για Εργασία Ερωτήσεων-Απάντησης χρησιμοποιώντας Hugging Face Transformers στο Amazon SageMaker.
  • Κόστος εκπαίδευσης – Χρησιμοποιήσαμε το AWS Pricing API για να λάβουμε τις τιμές κατ' απαίτηση του SageMaker για να το υπολογίσουμε αμέσως. Σύμφωνα με το πείραμά μας, η εκπαίδευση κόστιζε περίπου 1.58 $ στο p3.2xlarge και περίπου τέσσερις φορές λιγότερο στο g4dn.xlarge (0.37 $). Η κατανεμημένη εκπαίδευση σε δύο p3.16x μεγάλες περιπτώσεις με χρήση 16 GPU κοστίζει 9.68 $.

Συνοψίζοντας, αν και το g4dn.xlarge ήταν το λιγότερο ακριβό μηχάνημα, χρειάστηκε επίσης περίπου τρεις φορές περισσότερος χρόνος για να εκπαιδευτεί από τον πιο ισχυρό τύπο παρουσίας που πειραματιστήκαμε (δύο p3.16xlarge). Ανάλογα με τις προτεραιότητες του έργου σας, μπορείτε να επιλέξετε από μια μεγάλη ποικιλία τύπων παρουσιών εκπαίδευσης SageMaker.

Συμπέρασμα

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

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

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

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

Μπορείτε να πειραματιστείτε με εργασίες NLP στη γλώσσα που προτιμάτε στο SageMaker σε όλες τις Περιοχές AWS όπου είναι διαθέσιμο το SageMaker. Το παράδειγμα κώδικα σημειωματάριου είναι διαθέσιμο στο GitHub.

Για να μάθετε πώς το Amazon SageMaker Training Compiler μπορεί να επιταχύνει την εκπαίδευση μοντέλων βαθιάς μάθησης έως και 50%, βλ. Νέο – Παρουσιάζουμε το SageMaker Training Compiler.

Οι συγγραφείς θα ήθελαν να εκφράσουν τη βαθύτατη εκτίμησή τους στον Mariano Kamp και την Emily Webber για την ανασκόπηση των σχεδίων και την παροχή συμβουλών.

αναφορές

  1. J. Devlin et al., “BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding”, (2018).
  2. A. Vaswani et al., «Attention Is All You Need», (2017).
  3. J. Howard και S. Ruder, «Universal Language Model Fine-Tuning for Text Classification», (2018).
  4. T. Pires et al., “How multilingual is Multilingual BERT?”, (2019).
  5. Y. Liu et al., «RoBERTa: A Robustly Optimized BERT Pretraining Approach», (2019).
  6. G. Lample και A. Conneau, «Cross-lingual Language Model Pretraining», (2019).
  7. A. Conneau et al., «Unsupervised Cross-Lingual Representation Learning at Scale», (2019).
  8. Στέφαν Σβέτερ. BERTurk – Μοντέλα BERT για Τουρκικά (2020).
  9. Πολύγλωσσα στατιστικά στοιχεία Wiki https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

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

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Arnav Khare είναι κύριος αρχιτέκτονας λύσεων για παγκόσμιες χρηματοοικονομικές υπηρεσίες στην AWS. Η κύρια εστίασή του είναι να βοηθά τα ιδρύματα χρηματοοικονομικών υπηρεσιών να δημιουργούν και να σχεδιάζουν εφαρμογές Analytics και Machine Learning στο cloud. Ο Arnav είναι κάτοχος μεταπτυχιακού τίτλου στην Τεχνητή Νοημοσύνη από το Πανεπιστήμιο του Εδιμβούργου και έχει 18 χρόνια εμπειρία στον κλάδο, από μικρές νεοφυείς επιχειρήσεις που ίδρυσε μέχρι μεγάλες επιχειρήσεις όπως η Nokia και η Bank of America. Εκτός δουλειάς, ο Arnav λατρεύει να περνά χρόνο με τις δύο κόρες του, να βρίσκει νέα ανεξάρτητα καφέ, να διαβάζει και να ταξιδεύει. Μπορείτε να με βρείτε στο LinkedIn και στο Surrey, UK στην πραγματική ζωή.

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Hasan-Basri AKIRMAK (BSc και MSc in Computer Engineering and Executive MBA in Graduate School of Business) είναι Senior Solutions Architect στο Amazon Web Services. Είναι επιχειρησιακός τεχνολόγος που συμβουλεύει πελάτες του επιχειρηματικού τμήματος. Η ειδικότητά του είναι ο σχεδιασμός αρχιτεκτονικών και επιχειρησιακών υποθέσεων σε συστήματα επεξεργασίας δεδομένων μεγάλης κλίμακας και λύσεις Machine Learning. Ο Hasan έχει παραδώσει επιχειρηματική ανάπτυξη, ενοποίηση συστημάτων, διαχείριση προγραμμάτων για πελάτες στην Ευρώπη, τη Μέση Ανατολή και την Αφρική. Από το 2016 ήταν καθοδηγητής εκατοντάδων επιχειρηματιών σε προγράμματα incubation startup pro-bono.

Βελτιώστε τα μοντέλα γλώσσας μετασχηματιστή για γλωσσική ποικιλομορφία με το Hugging Face στο Amazon SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Heiko Hotz είναι Senior Solutions Architect για AI & Machine Learning και ηγείται της κοινότητας Επεξεργασίας Φυσικής Γλώσσας (NLP) εντός του AWS. Πριν από αυτόν τον ρόλο, ήταν επικεφαλής της Επιστήμης Δεδομένων για την Εξυπηρέτηση Πελατών στην ΕΕ της Amazon. Η Heiko βοηθά τους πελάτες μας να είναι επιτυχημένοι στο ταξίδι τους AI/ML στο AWS και έχει συνεργαστεί με οργανισμούς σε πολλούς κλάδους, όπως Ασφάλειες, Χρηματοοικονομικές Υπηρεσίες, Μέσα και Ψυχαγωγία, Υγεία, Υπηρεσίες κοινής ωφελείας και Βιομηχανία. Στον ελεύθερο χρόνο του ο Heiko ταξιδεύει όσο περισσότερο μπορεί.

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

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