Τι είναι τα 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 διαφέρει ανάλογα με το μοντέλο και την κωδικοποίηση. Χρησιμοποιήστε το εργαλείο Tokenizer ή το tiktoken.encoding_for_model(model) για να βρείτε τον ακριβή αριθμό για το μοντέλο που σας ενδιαφέρει.
Παραδείγματα
Ακολουθούν ορισμένα πραγματικά δείγματα κειμένου με τον κατά προσέγγιση αριθμό των token τους:
Η φράση του Wayne Gretzky «Χάνεις το 100% των σουτ που δεν επιχειρείς» = 11 token
Ο Καταστατικός Χάρτης της OpenAI = 476 token
Η Διακήρυξη της Ανεξαρτησίας των ΗΠΑ = 1.695 token
Πώς υπολογίζεται ο αριθμός των token
Όταν στέλνετε κείμενο στο API:
Το κείμενο διαχωρίζεται σε token.
Το μοντέλο επεξεργάζεται αυτά τα token.
Η απόκριση δημιουργείται ως ακολουθία token και, στη συνέχεια, μετατρέπεται ξανά σε κείμενο.
Η χρήση token παρακολουθείται σε διάφορες κατηγορίες:
Token εισόδου – τα token στο αίτημά σας.
Token εξόδου – τα token που δημιουργούνται στην απόκριση.
Αποθηκευμένα token στην κρυφή μνήμη – token που επαναχρησιμοποιούνται από το ιστορικό της συνομιλίας (συχνά χρεώνονται με μειωμένη τιμή).
Token συλλογιστικής – σε ορισμένα προηγμένα μοντέλα περιλαμβάνονται εσωτερικά επιπλέον «βήματα σκέψης» πριν παραχθεί το τελικό αποτέλεσμα.
Αυτοί οι αριθμοί εμφανίζονται στα μεταδεδομένα της απόκρισης του API και χρησιμοποιούνται για τη χρέωση και την παρακολούθηση της χρήσης.
Για να εξερευνήσετε περαιτέρω τη μετατροπή σε token, μπορείτε να χρησιμοποιήσετε το διαδραστικό εργαλείο Tokenizer, με το οποίο μπορείτε να υπολογίζετε τον αριθμό των token και να βλέπετε πώς διαχωρίζεται το κείμενο σε token.
Εναλλακτικά, αν θέλετε να μετατρέψετε κείμενο σε token μέσω προγραμματισμού, χρησιμοποιήστε το Tiktoken, έναν γρήγορο μετατροπέα BPE που χρησιμοποιείται ειδικά για τα μοντέλα της OpenAI.
Όρια token
Κάθε μοντέλο έχει ένα μέγιστο συνδυαστικό όριο token (είσοδος + έξοδος). Τα σύγχρονα μοντέλα υψηλής χωρητικότητας υποστηρίζουν έως και εκατοντάδες χιλιάδες token στα συμφραζόμενα, αν και τα πρακτικά όρια ενδέχεται να διαφέρουν ανάλογα με την έκδοση του μοντέλου και το επίπεδο χρήσης σας.
Αν υπερβείτε το όριο, μπορείτε να:
Συντομεύσετε ή να αναδιατυπώσετε τις προτροπές.
Χωρίσετε ένα μεγάλο κείμενο σε μικρότερα τμήματα.
Συνοψίσετε ή να προεπεξεργαστείτε τα δεδομένα εισόδου πριν τα στείλετε.
Τιμολόγηση token
Η χρήση του API τιμολογείται ανά token, με διαφορετική τιμή ανάλογα με το μοντέλο και το αν τα token είναι εισόδου, εξόδου ή αποθηκευμένα στην κρυφή μνήμη. Δείτε τη σελίδα τιμολόγησης της OpenAI για τις ισχύουσες τιμές. Ορισμένα μοντέλα συλλογιστικής ενδέχεται να χρησιμοποιούν περισσότερα token εσωτερικά, αλλά επιδιώκουν να βελτιώσουν την αποδοτικότητα μειώνοντας τον αριθμό των token που απαιτούνται ανά ολοκληρωμένη εργασία.
Τα token δεν είναι τυποποιημένα μεταξύ διαφορετικών μοντέλων ή παρόχων τεχνητής νοημοσύνης. Διαφορετικά μοντέλα μπορούν να επεξεργάζονται ή να δημιουργούν το ίδιο κείμενο χρησιμοποιώντας διαφορετικό αριθμό token. Επομένως, μια χαμηλότερη διαφημιζόμενη τιμή ανά εκατομμύριο token δεν συνεπάγεται απαραίτητα χαμηλότερο συνολικό κόστος.
Ούτε το ορατό μήκος της απόκρισης αποκαλύπτει όλη την εικόνα. Ορισμένα μοντέλα χρησιμοποιούν εσωτερικά token συλλογιστικής πριν δώσουν μια απάντηση. Επομένως, μια μεγαλύτερη ορατή απόκριση δεν σημαίνει απαραίτητα ότι ένα μοντέλο χρησιμοποίησε συνολικά περισσότερα token.
Όταν συγκρίνετε μοντέλα, λάβετε υπόψη τον συνολικό αριθμό token που απαιτούνται και το κόστος ανά επιτυχημένο αποτέλεσμα. Οι δείκτες αναφοράς μπορούν να αποτελέσουν ένα χρήσιμο σημείο εκκίνησης, αλλά οι δοκιμές των μοντέλων στις δικές σας περιπτώσεις χρήσης είναι ο καλύτερος τρόπος να κατανοήσετε το πραγματικό κόστος και την απόδοσή τους.
Εξερεύνηση των token
Το API αντιμετωπίζει τις λέξεις ανάλογα με τα συμφραζόμενά τους στα δεδομένα του σώματος κειμένων. Τα μοντέλα λαμβάνουν την προτροπή, μετατρέπουν τα δεδομένα εισόδου σε μια λίστα token, επεξεργάζονται την προτροπή και μετατρέπουν τα προβλεπόμενα token ξανά στις λέξεις που βλέπουμε στην απόκριση.
Δύο λέξεις που μας φαίνονται πανομοιότυπες μπορεί να μετατραπούν σε διαφορετικά token, ανάλογα με τη δομή τους μέσα στο κείμενο. Δείτε πώς το API δημιουργεί τιμές token για τη λέξη «red» με βάση τα συμφραζόμενά της μέσα στο κείμενο:
Στο πρώτο παραπάνω παράδειγμα, το token «2266» για το « red» περιλαμβάνει ένα κενό στο τέλος (σημειώστε ότι πρόκειται για ενδεικτικά αναγνωριστικά token που χρησιμοποιούνται για σκοπούς επίδειξης).
Το token «2296» για το « Red» (με κενό στην αρχή και κεφαλαίο πρώτο γράμμα) διαφέρει από το token «2266» για το « red» με πεζό γράμμα.
Όταν το «Red» χρησιμοποιείται στην αρχή μιας πρότασης, το token που δημιουργείται δεν περιλαμβάνει κενό στην αρχή. Το token «7738» διαφέρει από τα δύο προηγούμενα παραδείγματα της λέξης.
Παρατηρήσεις:
Όσο πιο πιθανό ή συχνό είναι ένα token, τόσο μικρότερος είναι ο αριθμός token που του αντιστοιχίζεται:
Το token που δημιουργείται για την τελεία είναι το ίδιο («13») και στις 3 προτάσεις. Αυτό συμβαίνει επειδή, από άποψη συμφραζομένων, η τελεία χρησιμοποιείται με παρόμοιο τρόπο σε όλο το σώμα κειμένων.
Το token που δημιουργείται για το «red» διαφέρει ανάλογα με τη θέση του μέσα στην πρόταση:
Με πεζό γράμμα στη μέση μιας πρότασης: « red» - (token: «2266»)
Με κεφαλαίο γράμμα στη μέση μιας πρότασης: « Red» - (token: «2297»)
Με κεφαλαίο γράμμα στην αρχή μιας πρότασης: «Red» - (token: «7738»)
