Sari la conținut

Numărător Gratuit de Token-uri pentru GPT-4, ChatGPT și Modele AI

Numărător precis de token-uri folosind biblioteca tiktoken de la OpenAI. Numărați token-uri pentru modelele GPT-4, ChatGPT și GPT-3. Gestionați costurile API și optimizați prompt-urile AI instant.

Numărător de Token-uri

Codificare

Intrare invalidă

Calculator de încărcare...
📚

Documentație

Ce este un contor de tokenuri?

Un contor de tokenuri măsoară în câte tokenuri se descompune un fragment de text atunci când este citit de un model lingvistic de inteligență artificială. Tokenurile sunt mici fragmente de text — cuvinte întregi, părți de cuvinte sau semne de punctuație — pe care modele precum GPT-4 și ChatGPT le procesează în locul literelor neprelucrate. Acest instrument folosește tiktoken, biblioteca open-source de tokenizare publicată de OpenAI, astfel încât valorile numărate coincid cu cele obținute de modelele OpenAI și de API-ul OpenAI.

Cum funcționează tokenizarea

Un tokenizator nu numără pur și simplu cuvintele. El trece textul printr-un algoritm numit codificare prin perechi de octeți (BPE). Algoritmul începe cu octeți individuali ai textului și unește în mod repetat cele mai frecvente perechi adiacente, pe baza tiparelor învățate dintr-un volum mare de text în timpul antrenării. Rezultatul este un vocabular fix de zeci de mii de fragmente frecvente: cuvinte scurte întregi, fragmente de cuvinte frecvente și caractere individuale pentru elementele rare.

Din acest motiv, un cuvânt englezesc devine adesea un singur token, dar cuvintele mai lungi sau neobișnuite se pot împărți în două sau mai multe. Spațiile sunt de obicei atașate la începutul următorului token, în loc să fie numărate separat, iar semnele de punctuație sunt de regulă tokenuri proprii.

Codificări acceptate de acest instrument

Tiktoken oferă mai multe codificări, fiecare asociată unei familii de modele OpenAI. Acest instrument acceptă trei:

CodificareUtilizată deDimensiunea aproximativă a vocabularului
cl100k_baseModelele din familia GPT-3,5 și GPT-4, ChatGPTaproximativ 100.000 de tokenuri
p50k_baseModelele GPT-3 ulterioareaproximativ 50.000 de tokenuri
r50k_baseModelele GPT-3 și GPT-2 anterioareaproximativ 50.000 de tokenuri

cl100k_base este selectată implicit, deoarece acoperă familia de modele utilizată de majoritatea oamenilor în prezent. Același text poate produce un număr diferit de tokenuri în cadrul fiecărei codificări, deoarece fiecare a fost antrenată pe texte diferite și unește caracterele în mod diferit.

Cum se calculează numărul de tokenuri

Nu există o formulă aritmetică simplă pentru transformarea numărului de caractere sau de cuvinte într-un număr de tokenuri, deoarece îmbinările BPE depind de textul specific și de vocabularul antrenat. Singura metodă exactă este trecerea textului prin tokenizatorul propriu-zis:

  1. Alegeți codificarea care corespunde modelului țintă.
  2. Introduceți textul în tokenizatorul acelei codificări.
  3. Numărați lista rezultată de ID-uri de tokenuri. Lungimea acestei liste reprezintă numărul de tokenuri.

Ca estimare aproximativă pentru textele în limba engleză, un token corespunde la aproape patru caractere sau la aproximativ trei sferturi dintr-un cuvânt. Aceasta este doar o indicație. Numerele, codul, textele care nu sunt în limba engleză și ortografia neobișnuită pot modifica mult raportul.

Exemplu rezolvat

Să luăm propoziția:

„Tokenizarea împarte textul în fragmente.”

În cadrul codificării cl100k_base, tiktoken împarte această propoziție în 7 tokenuri:

Token, ization, splits, text, into, pieces, .

Observați că „Tokenization” se împarte în două tokenuri, „Token” și „ization”, în timp ce toate celelalte cuvinte rămân întregi. Punctul final este un token propriu. De aceea, o propoziție de 37 de caractere cu 5 cuvinte produce 7 tokenuri, nu 6.

De ce este important numărul de tokenuri

Furnizorii de inteligență artificială taxează utilizarea API-ului per token, numărând atât textul trimis, cât și textul generat ca răspuns, astfel încât numărul de tokenuri estimează costul înainte de trimiterea unei solicitări. Fiecare model are și o lungime maximă a contextului, adică o limită privind numărul de tokenuri pe care le pot conține împreună o solicitare și răspunsul acesteia. Limita diferă în funcție de model și se modifică atunci când furnizorii lansează versiuni noi, de aceea este mai bine să fie verificată în documentația actuală a modelului utilizat, nu presupusă pe baza memoriei.

Întrebări frecvente

Ce este un token în modelele lingvistice de inteligență artificială? Un token este un fragment de text pe care un model lingvistic îl citește ca pe o singură unitate. Poate fi un cuvânt scurt întreg, o parte a unui cuvânt mai lung, un semn de punctuație sau un spațiu atașat cuvântului următor.

De ce oferă codificări diferite numere diferite de tokenuri pentru același text? Fiecare codificare a fost antrenată pe propriul eșantion de text și și-a construit propriul vocabular de fragmente frecvente. Un cuvânt suficient de frecvent pentru a fi un singur token într-un vocabular poate să nu existe în altul, astfel încât este împărțit diferit.

Punctuația este numărată ca token? Da. Semnele de punctuație sunt de obicei numărate ca tokenuri proprii sau, uneori, sunt unite cu caracterul alăturat, în funcție de frecvența cu care combinația respectivă a apărut în timpul antrenării tokenizatorului.

Un token este același lucru cu un cuvânt? Nu. Cuvintele scurte și frecvente sunt de obicei câte un token. Cuvintele mai lungi sau mai puțin frecvente și majoritatea cuvintelor din alte limbi decât engleza se împart adesea în două sau mai multe tokenuri.

Cât de precis este acest instrument? Acesta numără tokenurile folosind biblioteca tiktoken a OpenAI și aplică aceeași logică de codificare pe care OpenAI o folosește intern, astfel încât numărul corespunde celui raportat de un apel API OpenAI pentru același text și aceeași codificare.

Poate acest instrument să numere tokenurile pentru modele care nu sunt ale OpenAI? El folosește codificările tiktoken, create pentru modelele OpenAI. Alți furnizori, precum Anthropic sau Google, folosesc propriile tokenizatoare, care pot produce numere diferite pentru același text.

Referințe

  1. OpenAI. "tiktoken." GitHub, https://github.com/openai/tiktoken.
  2. Sennrich, Rico și colab. "Neural Machine Translation of Rare Words with Subword Units." arXiv:1508,07909, 2016, http://arxiv.org/abs/1508.07909.
  3. Brown, Tom B. și colab. "Language Models are Few-Shot Learners." arXiv:2005,14165, 2020, http://arxiv.org/abs/2005.14165.