Tokenization (NLP) (EL)

From Systems analysis Wiki
Jump to navigation Jump to search

Τοκενοποίηση στο πλαίσιο των μεγάλων γλωσσικών μοντέλων (LLM) — είναι μια θεμελιώδης διαδικασία προεπεξεργασίας, η οποία συνίσταται στη διάσπαση μιας ακολουθίας κειμένου σε μικρότερες, διαχειρίσιμες μονάδες που ονομάζονται token. Αυτά τα token μετατρέπονται στη συνέχεια σε αριθμητικά αναγνωριστικά, τα οποία το μοντέλο μπορεί να επεξεργαστεί. Η τοκενοποίηση αποτελεί κρίσιμο πρώτο βήμα, καθώς επηρεάζει άμεσα την απόδοση, την αποδοτικότητα, την αμεροληψία και την ποιότητα κατανόησης γλώσσας από το μοντέλο.

Βασικές έννοιες

Token

Token — είναι μια διακριτή μονάδα κειμένου την οποία επεξεργάζεται ένα γλωσσικό μοντέλο. Ανάλογα με την επιλεγμένη μέθοδο τοκενοποίησης, ένα token μπορεί να αντιπροσωπεύει:

  • Ολόκληρη λέξη (π.χ. «γάτα»).
  • Τμήμα λέξης ή υπολέξη (π.χ. «ανεπ-», «-αρκ-», «-ής»).
  • Μεμονωμένο χαρακτήρα (π.χ. «α», «β», «γ»).
  • Byte (στην περίπτωση byte-level τοκενοποίησης).

Σε κάθε μοναδικό token αντιστοιχίζεται ένας συγκεκριμένος αριθμός ευρετηρίου από το λεξιλόγιο του tokenizer.

Λεξιλόγιο tokenizer

Λεξιλόγιο (ή vocabulary) — είναι το πλήρες σύνολο όλων των πιθανών token που μπορεί να αναγνωρίσει το μοντέλο. Το μέγεθος του λεξιλογίου αποτελεί σημαντική υπερπαράμετρο:

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

Το μέγεθος του λεξιλογίου διαφέρει σημαντικά μεταξύ μοντέλων: από ~50.000 token στο GPT-2 έως περισσότερα από 100.000 σε σύγχρονα μοντέλα, όπως το GPT-4 (100.277) και το LLaMA-3 (128.000).

Βασικές μέθοδοι τοκενοποίησης

Υπάρχουν τρία βασικά επίπεδα κοκκομετρίας τοκενοποίησης.

1. Τοκενοποίηση σε επίπεδο λέξης (Word-level)

  • Αρχή: Το κείμενο διαχωρίζεται σε μεμονωμένες λέξεις βάσει οριοθετών (κενά, σημεία στίξης).
  • Πλεονεκτήματα: Διαισθητικά κατανοητή· οι ακολουθίες token είναι πιο σύντομες, μειώνοντας τον υπολογιστικό φόρτο.
  • Μειονεκτήματα:
    • Πρόβλημα άγνωστων λέξεων (Out-of-Vocabulary, OOV): Το μοντέλο δεν μπορεί να επεξεργαστεί λέξεις που δεν υπήρχαν στο λεξιλόγιο εκπαίδευσης, καθώς και ορθογραφικά λάθη και νέες λέξεις.
    • Μεγάλο μέγεθος λεξιλογίου: Απαιτείται αποθήκευση όλων των μοναδικών λέξεων, κάτι που είναι ιδιαίτερα προβληματικό για γλώσσες με πλούσια μορφολογία.

2. Τοκενοποίηση σε επίπεδο χαρακτήρα (Character-level)

  • Αρχή: Το κείμενο διασπάται σε μεμονωμένους χαρακτήρες.
  • Πλεονεκτήματα:
    • Δεν υπάρχει πρόβλημα OOV: Οποιαδήποτε λέξη μπορεί να αναπαρασταθεί ως ακολουθία χαρακτήρων.
    • Μικρό λεξιλόγιο: Περιορίζεται στο μέγεθος του αλφαβήτου και των ειδικών χαρακτήρων.
  • Μειονεκτήματα:
    • Μακρές ακολουθίες: Το κείμενο μετατρέπεται σε πολύ μακρές ακολουθίες token, αυξάνοντας σημαντικά το υπολογιστικό κόστος.
    • Απώλεια σημασιολογίας: Είναι δυσκολότερο για το μοντέλο να συλλάβει το νόημα, καθώς λειτουργεί με μεμονωμένους χαρακτήρες και όχι με ολόκληρες λέξεις.

3. Υπολεξική τοκενοποίηση (Subword Tokenization)

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

  • Αρχή: Οι συχνά χρησιμοποιούμενες λέξεις παραμένουν ως ενιαία token, ενώ σπάνιες ή άγνωστες λέξεις διασπώνται σε μικρότερα, σημαντικά τμήματα (υπολέξεις).
  • Πλεονεκτήματα:
    • Αποτελεσματική επεξεργασία OOV-λέξεων και μορφολογικών παραλλαγών.
    • Ελεγχόμενο μέγεθος λεξιλογίου.
    • Σύλληψη μορφολογικής δομής λέξεων.
  • Βασικοί αλγόριθμοι:
    • Byte Pair Encoding (BPE): Επαναληπτικός αλγόριθμος που ξεκινά με ένα σύνολο χαρακτήρων και συγχωνεύει διαδοχικά τα πιο συχνά εμφανιζόμενα ζεύγη σε νέα token. Χρησιμοποιείται στα μοντέλα GPT. Byte-level BPE, που χρησιμοποιείται στο GPT-2 και το RoBERTa, αντιμετωπίζει τις λέξεις ως ακολουθίες bytes, επιλύοντας πλήρως το πρόβλημα OOV.
    • WordPiece: Αλγόριθμος παρόμοιος με το BPE, αλλά για τη συγχώνευση ζευγών επιλέγει εκείνα που μεγιστοποιούν την πιθανοφάνεια των δεδομένων εκπαίδευσης. Χρησιμοποιείται στα μοντέλα BERT.
    • Unigram LM: Σε αντίθεση με το BPE/WordPiece, αυτή η μέθοδος ξεκινά με ένα μεγάλο σύνολο υπολέξεων και το μειώνει σταδιακά, αφαιρώντας τα token που επηρεάζουν λιγότερο τη συνολική πιθανότητα του corpus. Αυτό επιτρέπει τη δημιουργία πολλαπλών πιθανών τοκενοποιήσεων για μία λέξη (υπολεξική κανονικοποίηση).
  • Εργαλειοθήκη SentencePiece: Βιβλιοθήκη της Google που υλοποιεί το BPE και το Unigram LM και επεξεργάζεται το κείμενο ως συνεχή ροή χαρακτήρων, καθιστώντας τη καθολική για γλώσσες χωρίς εμφανείς οριοθέτες λέξεων (π.χ. κινεζικά). Χρησιμοποιείται στα μοντέλα LLaMA και T5.

Τοκενοποίηση σε πολυτροπικά LLM

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

  • Οπτική τοκενοποίηση: Οι εικόνες διασπώνται σε μικρά patches (π.χ. 16x16 εικονοστοιχεία), τα οποία μετατρέπονται στη συνέχεια σε διανύσματα-token, αντίστοιχα με τα κειμενικά.
  • Ηχητική τοκενοποίηση: Τα συνεχή ηχητικά σήματα μετατρέπονται σε ακολουθία διακριτών token που αναπαριστούν σύντομα τμήματα ήχου.
  • Ενιαία προσέγγιση (TEAL): Ένα concept όπου τα δεδομένα οποιασδήποτε τροπικότητας τοκενοποιούνται πρώτα με τον κατάλληλο tokenizer, και στη συνέχεια τα embedding τους επεξεργάζονται σε έναν ενιαίο κοινό χώρο.

Προβλήματα και περιορισμοί

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

  • Ασυνέπεια και ευαισθησία: Μικρές αλλαγές στα δεδομένα εισόδου (ορθογραφικό λάθος, πεζά/κεφαλαία, κενό στο τέλος) μπορούν να μεταβάλουν ριζικά την τοκενοποίηση, οδηγώντας σε απρόβλεπτη συμπεριφορά του μοντέλου.
  • Πολύγλωσσα προβλήματα: Ένα ενιαίο λεξιλόγιο για πολλές γλώσσες αποδεικνύεται συχνά αναποτελεσματικό για γλώσσες με χαμηλούς πόρους ή πλούσια μορφολογία, οδηγώντας σε υπερβολικά μακρές ακολουθίες token.
  • Επίδραση στη συλλογιστική: Η παράλογη διάσπαση αριθμών (π.χ. «25.000» σε «25», «.», «000») ή συμβόλων δυσχεραίνει την εκτέλεση αριθμητικών και συμβολικών εργασιών.
  • Glitch Tokens: Ανώμαλα ή σπάνια token από τα δεδομένα εκπαίδευσης (π.χ. ονόματα χρηστών από το Reddit), που μπορούν να προκαλέσουν απρόβλεπτη ή επιβλαβή συμπεριφορά του μοντέλου.

Το εξελισσόμενο τοπίο και μελλοντικές κατευθύνσεις

Η έρευνα στον τομέα της τοκενοποίησης ακολουθεί ενεργά τις εξής κατευθύνσεις:

  • Μοντέλα χωρίς tokenizer: Ανάπτυξη μοντέλων (CANINE, ByT5) που λειτουργούν απευθείας σε επίπεδο byte ή χαρακτήρα, ώστε να εξαλειφθεί πλήρως το στάδιο της ρητής τοκενοποίησης και τα συνδεδεμένα με αυτό προβλήματα.
  • Προσαρμοστική και εκπαιδεύσιμη τοκενοποίηση: Δημιουργία tokenizer που μπορούν να προσαρμόζονται δυναμικά στη γλώσσα, τον τομέα ή ακόμα και στο συγκεκριμένο κείμενο εισόδου, ή εκπαιδεύονται από κοινού με το βασικό μοντέλο.
  • Γνωσιακά προσανατολισμένες προσεγγίσεις: Ανάπτυξη μεθόδων εμπνευσμένων από τη γνωσιακή επιστήμη για την ανθρώπινη επεξεργασία γλώσσας (π.χ. «Αρχή της ελάχιστης προσπάθειας»), για τη δημιουργία σημασιολογικά πιο εύλογων τοκενοποιήσεων.

Αναφορές

  • Επισκόπηση τοκενοποίησης στο μάθημα LLM από το Hugging Face
  • Τεκμηρίωση τοκενοποίησης από την Mistral AI

Βιβλιογραφία

  • Schuster, M.; Nakajima, K. (2012). Japanese and Korean Voice Search. PDF.
  • Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
  • Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
  • Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
  • Song, X. et al. (2021). Fast WordPiece Tokenization. ACL-Anthology.
  • Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
  • Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
  • Clark, J. H. et al. (2022). CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation. arXiv:2103.06874.
  • Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling. arXiv:2305.17179.
  • Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-Tuning of NMT. arXiv:2303.00722.
  • Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
  • Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.