OpenAI
Αυτή η σελίδα μεταφράστηκε αυτόματα. Δείτε το πρωτότυπο άρθρο στα αγγλικά.

Τι είναι τα token και πώς να τα μετράτε;

Τελευταία ενημέρωση: 16 days ago

Τι είναι τα token;

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

Χρήσιμοι εμπειρικοί κανόνες για τα αγγλικά:

  • 1 token ≈ 4 χαρακτήρες

  • 1 token ≈ ¾ μιας λέξης

  • 100 token ≈ 75 λέξεις

  • 1–2 προτάσεις ≈ 30 token

  • 1 παράγραφος ≈ 100 token

  • ~1.500 λέξεις ≈ 2.048 token

Η μετατροπή σε token μπορεί να διαφέρει ανάλογα με τη γλώσσα. Για παράδειγμα, το «Cómo estás» (στα ισπανικά σημαίνει «Τι κάνεις;») περιέχει 5 token για 10 χαρακτήρες. Το μη αγγλικό κείμενο συχνά παράγει υψηλότερο λόγο token προς χαρακτήρες, κάτι που μπορεί να επηρεάσει το κόστος και τα όρια.

Παραδείγματα

Ακολουθούν ορισμένα δείγματα κειμένου από τον πραγματικό κόσμο με τον κατά προσέγγιση αριθμό token τους:

  • Το απόφθεγμα του Wayne Gretzky «Χάνεις το 100% των σουτ που δεν κάνεις» = 11 token

  • Ο Χάρτης του OpenAI = 476 token

  • Η Διακήρυξη της Ανεξαρτησίας των ΗΠΑ = 1.695 token

Πώς υπολογίζονται οι αριθμοί token

Όταν στέλνετε κείμενο στο API:

  1. Το κείμενο χωρίζεται σε token.

  2. Το μοντέλο επεξεργάζεται αυτά τα token.

  3. Η απάντηση δημιουργείται ως μια ακολουθία token και στη συνέχεια μετατρέπεται ξανά σε κείμενο.

Η χρήση token παρακολουθείται σε διάφορες κατηγορίες:

  • Token εισόδου – token στο αίτημά σας.

  • Token εξόδου – token που δημιουργούνται στην απάντηση.

  • Token cache – token που επαναχρησιμοποιούνται στο ιστορικό της συνομιλίας (συχνά χρεώνονται με μειωμένο συντελεστή).

  • Token συλλογιστικής – σε ορισμένα προηγμένα μοντέλα, επιπλέον εσωτερικά «βήματα σκέψης» περιλαμβάνονται πριν από την παραγωγή του τελικού αποτελέσματος.

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

Για να εξερευνήσετε περαιτέρω τη μετατροπή σε token, μπορείτε να χρησιμοποιήσετε το διαδραστικό μας εργαλείο Tokenizer, το οποίο σας επιτρέπει να υπολογίζετε τον αριθμό των token και να βλέπετε πώς το κείμενο χωρίζεται σε token.

Εναλλακτικά, αν θέλετε να μετατρέπετε κείμενο σε token μέσω προγραμματισμού, χρησιμοποιήστε το Tiktoken ως έναν γρήγορο tokenizer BPE που χρησιμοποιείται ειδικά για τα μοντέλα OpenAI.

Όρια token

Κάθε μοντέλο έχει ένα μέγιστο συνδυασμένο όριο token (είσοδος + έξοδος). Τα τρέχοντα μοντέλα υψηλής χωρητικότητας υποστηρίζουν έως και εκατοντάδες χιλιάδες token στο context, αν και τα πρακτικά όρια μπορεί να διαφέρουν ανάλογα με την έκδοση του μοντέλου και το επίπεδο χρήσης σας.

Αν υπερβείτε το όριο, μπορείτε να:

  • Συντομεύσετε ή να αναδιατυπώσετε τις προτροπές.

  • Χωρίσετε μεγάλο κείμενο σε μικρότερα τμήματα.

  • Συνοψίσετε ή να προεπεξεργαστείτε τις εισόδους πριν τις στείλετε.

Τιμολόγηση token

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

Εξερεύνηση των token

Το API αντιμετωπίζει τις λέξεις ανάλογα με τα συμφραζόμενά τους στα δεδομένα του corpus. Τα μοντέλα λαμβάνουν την προτροπή, μετατρέπουν την είσοδο σε μια λίστα από token, επεξεργάζονται την προτροπή και μετατρέπουν τα προβλεπόμενα token ξανά στις λέξεις που βλέπουμε στην απάντηση.

Αυτό που μπορεί να μας φαίνεται ως δύο ίδιες λέξεις, ενδέχεται να μετατραπεί σε διαφορετικά token ανάλογα με το πώς είναι δομημένες μέσα στο κείμενο. Δείτε πώς το API δημιουργεί τιμές token για τη λέξη «red» με βάση τα συμφραζόμενά της μέσα στο κείμενο:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

Στο πρώτο παραπάνω παράδειγμα, το token «2266» για το « red» περιλαμβάνει ένα κενό στην αρχή (σημειώστε ότι αυτά είναι ενδεικτικά ID token για σκοπούς επίδειξης).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

Το token «2296» για το « Red» (με αρχικό κενό και αρχίζοντας με κεφαλαίο γράμμα) είναι διαφορετικό από το token «2266» για το « red» με πεζό γράμμα.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

Όταν το «Red» χρησιμοποιείται στην αρχή μιας πρότασης, το παραγόμενο token δεν περιλαμβάνει αρχικό κενό. Το token «7738» είναι διαφορετικό από τα δύο προηγούμενα παραδείγματα της λέξης.

Παρατηρήσεις:

Όσο πιο πιθανό/συχνό είναι ένα token, τόσο μικρότερος είναι ο αριθμός token που του αποδίδεται:

  • Το token που δημιουργείται για την τελεία είναι το ίδιο («13») και στις 3 προτάσεις. Αυτό συμβαίνει επειδή, από άποψη συμφραζομένων, η τελεία χρησιμοποιείται αρκετά παρόμοια σε όλο το corpus δεδομένων.

  • Το token που δημιουργείται για το «red» διαφέρει ανάλογα με τη θέση του μέσα στην πρόταση:

    • Με πεζά στη μέση μιας πρότασης: « red» - (token: «2266»)

    • Με κεφαλαίο στη μέση μιας πρότασης: « Red» - (token: «2297»)

    • Με κεφαλαίο στην αρχή μιας πρότασης: «Red» - (token: «7738»)

Σας βοήθησε αυτό το άρθρο;