OpenAI est un laboratoire de recherche privé fondé en 2015 dans le but de créer, développer, diriger et entraîner une intelligence artificielle bénéfique pour la civilisation, en abordant divers aspects des problèmes de la vie quotidienne ou des domaines où une aide est requise.
Initialement axé sur le développement d’outils d’IA et d’apprentissage automatique pour les jeux vidéo et d’autres fins récréatives, OpenAI a par la suite recentré ses activités sur le développement et la recherche en IA générale, ce qui a entraîné la création et l’entraînement de modèles d’IA comme GPT, DALL-E, Whisper, Codex et d’autres.
Bien qu’à l’origine entité distincte, Microsoft a manifesté son intérêt pour un partenariat avec OpenAI et l’a intégré à sa plateforme Cloud en tant que solution SaaS d’entreprise, connue sous le nom de Azure OpenAI, en 2019.
Deux versions d’OpenAI sont disponibles sur le marché de l’IA :
- OpenAI officielle disponible sur https://platform.openai.com/
- Azure OpenAI disponible sur https://oai.azure.com/
Ce blogue vise à fournir des informations sur les jetons OpenAI, y compris leur calcul et les frais de traitement, lors de l’utilisation des API fournies par OpenAI. Le blogue tirera parti de GenAI pour obtenir les réponses dans le contexte donné comme générer du code, des images, effectuer des questions-réponses et résumer le contexte fourni afin de faciliter une meilleure compréhension des offres et fonctionnalités d’OpenAI.
Jetons dans OpenAI
Les jetons dans OpenAI représentent le codage numérique de séquences de caractères ou de mots utilisés par les modèles dans les requêtes des utilisateurs et dans les réponses du système. Ces séquences sont converties à l’aide de la technique Byte Pair Encoding (BPE).
Les modèles d’IA au cœur d’OpenAI ne perçoivent pas et ne comprennent pas le texte de la même manière que les humains. Ils interprètent plutôt des séquences de chiffres appelés jetons, générés via BPE.
Les jetons peuvent être considérés comme des morceaux de mots, la requête (comportant des mots ou des phrases) étant convertie en jetons avant que le traitement par l’API ne commence. Les jetons diffèrent des partitions de mots car ils peuvent inclure des espaces finaux ou même des sous-mots. La découpe des mots dépend de la langue et le nombre de jetons peut varier en conséquence. Pour mieux comprendre les jetons en fonction de leur longueur, quelques règles de base s’appliquent :
1 jeton ≈ 4 caractères en anglais
1 jeton ≈ ¾ de mot
100 jetons ≈ 75 mots
--Ou--
1 à 2 phrases ≈ 30 jetons
1 paragraphe ≈ 100 jetons
1 500 mots ≈ 2048 jetons
Tiktoken fait référence à la bibliothèque utilisée par OpenAI pour générer le texte pour les jetons. Parmi les caractéristiques importantes de Tiktoken :
- Les jetons sont réversibles et sans perte. Ils peuvent donc être reconvertis à leur état initial.
- Tiktoken fonctionne sur du texte aléatoire, même s’il ne fait pas partie des données d’entraînement du tokenizer.
- Tiktoken compacte le texte et l’agencement des jetons est plus court que l’équivalent en octets du texte initial. En moyenne, chaque jeton équivaut à environ quatre octets.
- Tiktoken permet au modèle de voir des sous-mots communs. Par exemple, “ing” est un sous-mot courant en anglais, donc les encodages BPE scinderont souvent “encoding” en jetons tels que “encod” et “ing” (au lieu, par exemple, de “enc” et “oding”). Le modèle verra alors le jeton “ing” à répétition sous différents angles, ce qui aide les modèles à généraliser et à mieux maîtriser la grammaire.
Exemple de calcul des jetons (Réf : https://platform.openai.com/tokenizer)
| Texte : Hello, my name is Naveen Jain. Jetons : [9906, 856, 836, 374, 452, 525, 268, 96217, 13] Jetons 8 Caractères 28 |
| Texte : In this paper we are discussing on OpenAI tokens and prices. Jetons : [644, 420, 5684, 584, 527, 25394, 389, 5377, 15836, 11460, 323, 7729, 13] Jetons 13 Caractères 60 |
Facteur de tarification OpenAI
Le tarif d’OpenAI dépend du type de modèles d’API invoqué pour répondre à la demande. Ci-dessous, l’information tarifaire publique pour les modèles OpenAI et Azure OpenAI ; nous avons énuméré quelques modèles, mais pas tous :
| Modèles de langage | Azure OpenAI | OpenAI | |||
|---|---|---|---|---|---|
| Modèles | Contexte | Requête (par 1000 jetons) | Réponse (par 1000 jetons) | Requête (par 1000 jetons) | Réponse (par 1000 jetons) |
| GPT-3.5-Turbo | 4K | $0.0015 | $0.0020 | $0.0015 | $0.0020 |
| GPT-3.5-Turbo | 16K | $0.0030 | $0.0040 | $0.0010 | $0.0020 |
| GPT-4 | 8K | $0.0300 | $0.0600 | $0.0300 | $0.0600 |
| GPT-4 | 32K | $0.0600 | $0.1200 | $0.0600 | $0.1200 |
| Modèles d’image | Azure OpenAI | OpenAI |
|---|---|---|
| Modèles | Par 100 images Standard | Par 100 images Standard |
| Dall-E | $2 | $2 |
| Modèles d’intégration | Azure OpenAI | OpenAI |
|---|---|---|
| Modèles | Par 1 000 jetons Standard | Par 1 000 jetons Standard |
| Ada | $0.0001 | $0.0001 |
Comment calculer le tarif pour les appels API OpenAI
Le calcul du tarif par appel API dépend du modèle utilisé pour desservir la demande et fournir la réponse du système. Les prix comprennent la requête (c’est-à-dire la demande de l’utilisateur au système) + la réponse (c’est-à-dire la réponse du système à la demande de l’utilisateur).
Exemple pour comprendre les tarifs :
- Modèle : GPT-4 (8K)
- Prix pour la requête : 0,0300 $/1 000 jetons
- Prix pour la réponse : 0,0600 $/1 000 jetons
- Nombre de jetons dans la requête : 100
- Nombre de jetons dans la réponse : 450
Le calcul est donc le suivant :
((jetons_requête * TARIF_REQUÊTE) + (jetons_réponse * TARIF_RÉPONSE)) / 1000
Après avoir substitué les valeurs ci-dessus à la formule, le coût serait :
((100 * 0,0300 $) + (450 * 0,0600 $))/1000 = 0,0300 $
Ainsi, il est facile de comprendre la tarification des appels d’API pour lesquels les jetons entrent en jeu.
Conclusion
Ce texte donne un aperçu théorique du fonctionnement des jetons dans OpenAI et de la façon de calculer les prix ou le coût par appel API.
Références
https://www.techtarget.com/searchenterpriseai/definition/OpenAI
https://github.com/openai/tiktoken
tiktoken · PyPI
https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them
https://openai.com/pricing?from_rs=true
https://azure.microsoft.com/en-in/pricing/details/cognitive-services/openai-service/


