OpenAI
Cette page a été traduite automatiquement. Afficher l’article original en anglais.

Que sont les tokens et comment les compter ?

Dernière mise à jour : 3 days ago

Que sont les tokens ?

Les tokens sont les éléments constitutifs du texte traité par les modèles OpenAI. Ils peuvent aller d’un seul caractère à un mot entier, selon la langue et le contexte. Les espaces, la ponctuation et les parties de mots contribuent tous au nombre de tokens. Voici comment l’API segmente votre texte en interne avant de générer une réponse.

Quelques règles pratiques pour l’anglais :

  • 1 token ≈ 4 caractères

  • 1 token ≈ ¾ de mot

  • 100 tokens ≈ 75 mots

  • 1 à 2 phrases ≈ 30 tokens

  • 1 paragraphe ≈ 100 tokens

  • Environ 1 500 mots ≈ 2 048 tokens

La tokenisation varie selon le modèle et l’encodage. Utilisez l’outil Tokenizer ou tiktoken.encoding_for_model(model) pour obtenir le nombre exact pour votre modèle cible.

Exemples

Voici quelques exemples de textes réels avec leur nombre approximatif de tokens :

  • Citation de Wayne Gretzky : « Vous ratez 100 % des tirs que vous ne tentez pas » = 11 tokens

  • La Charte d’OpenAI = 476 tokens

  • La Déclaration d’indépendance des États-Unis = 1 695 tokens

Calcul du nombre de tokens

Lorsque vous envoyez du texte à l’API :

  1. Le texte est divisé en tokens.

  2. Le modèle traite ces tokens.

  3. La réponse est générée sous forme de séquence de tokens, puis reconvertie en texte.

L’utilisation des tokens est suivie dans plusieurs catégories :

  • Tokens d’entrée – tokens de votre requête.

  • Tokens de sortie – tokens générés dans la réponse.

  • Tokens mis en cache – tokens réutilisés dans l’historique de la conversation (souvent facturés à un tarif réduit).

  • Tokens de raisonnement – dans certains modèles avancés, des « étapes de réflexion » supplémentaires sont incluses en interne avant la production du résultat final.

Ces nombres figurent dans les métadonnées de la réponse de l’API et servent à la facturation et au suivi de l’utilisation.

Pour explorer davantage la tokenisation, vous pouvez utiliser notre outil Tokenizer interactif, qui permet de calculer le nombre de tokens et de voir comment le texte est divisé en tokens.

Sinon, pour tokeniser du texte par programmation, utilisez Tiktoken, un tokeniseur BPE rapide spécialement conçu pour les modèles OpenAI.

Limites de tokens

Chaque modèle possède une limite maximale combinée de tokens (entrée + sortie). Les modèles actuels à haute capacité prennent en charge jusqu’à plusieurs centaines de milliers de tokens en contexte, mais les limites pratiques peuvent varier selon la version du modèle et votre niveau d’utilisation.

Si vous dépassez la limite, vous pouvez :

  • Raccourcir ou reformuler les prompts.

  • Diviser les textes volumineux en sections plus petites.

  • Résumer ou prétraiter les entrées avant de les envoyer.

Tarification des tokens

L’utilisation de l’API est facturée par token, selon le modèle et selon qu’il s’agit de tokens d’entrée, de sortie ou mis en cache. Consultez la page des tarifs d’OpenAI pour connaître les tarifs actuels. Certains modèles de raisonnement peuvent utiliser davantage de tokens en interne, mais visent à améliorer l’efficacité en réduisant le nombre de tokens requis par tâche accomplie.

Les tokens ne sont pas standardisés entre les modèles d’IA ou les fournisseurs. Différents modèles peuvent traiter ou générer le même texte avec un nombre différent de tokens ; un prix annoncé plus bas par million de tokens ne signifie donc pas nécessairement un coût total inférieur.

La longueur visible de la réponse ne dit pas tout non plus. Certains modèles utilisent des tokens de raisonnement en interne avant de produire une réponse ; une réponse visible plus longue ne signifie donc pas nécessairement qu’un modèle a utilisé davantage de tokens au total.

Lorsque vous comparez des modèles, tenez compte du nombre total de tokens requis et du coût par résultat réussi. Les tests de référence peuvent constituer un bon point de départ, mais tester les modèles sur vos propres cas d’usage reste le meilleur moyen de comprendre leur coût et leurs performances réels.

Explorer les tokens

L’API traite les mots en fonction de leur contexte dans les données du corpus. Les modèles prennent le prompt, convertissent l’entrée en une liste de tokens, traitent le prompt, puis reconvertissent les tokens prédits en mots visibles dans la réponse.

Deux mots qui nous semblent identiques peuvent être générés sous forme de tokens différents selon leur structure dans le texte. Examinez comment l’API génère les valeurs de token pour le mot « red » en fonction de son contexte dans le texte :

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

Dans le premier exemple ci-dessus, le token « 2266 » correspondant à «  red » comprend une espace finale (remarque : ces ID de token sont fournis à titre d’exemple).

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

Le token « 2296 » correspondant à «  Red » (avec une espace initiale et une majuscule) diffère du token « 2266 » correspondant à «  red » avec une minuscule.

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

Lorsque « Red » est utilisé au début d’une phrase, le token généré ne comprend pas d’espace initiale. Le token « 7738 » diffère des deux exemples précédents du mot.

Observations :

Plus un token est probable ou fréquent, plus le numéro qui lui est attribué est faible :

  • Le token généré pour le point est le même (« 13 ») dans les 3 phrases. Cela s’explique par le fait que, dans ce contexte, le point est utilisé de manière assez similaire dans l’ensemble des données du corpus.

  • Le token généré pour « red » varie selon sa position dans la phrase :

    • Minuscule au milieu d’une phrase : «  red » – (token : « 2266 »)

    • Majuscule au milieu d’une phrase : «  Red » – (token : « 2297 »)

    • Majuscule au début d’une phrase : « Red » – (token : « 7738 »)

Cet article vous a-t-il été utile ?