Chaque application d’IA repose sur des algorithmes qui traitent les données dans leur propre langage, lequel est basé sur un vocabulaire de jetons.
Les jetons sont de minuscules unités de données qui proviennent de la fragmentation de plus gros morceaux d’informations. Les modèles d’IA traitent les jetons pour apprendre les relations entre eux et ouvrir la voie à des capacités, telles que la prédiction, la génération et le raisonnement. Plus le traitement des jetons est rapide, plus les modèles peuvent apprendre et réagir.
Les usines d’IA, une nouvelle classe de Data Centers conçus pour accélérer les charges de travail d’IA, traitent les jetons en les convertissant du langage de l’IA à la monnaie de l’IA, à savoir l’intelligence.
Grâce aux usines d’IA, les entreprises peuvent tirer parti des nouvelles solutions de calcul pour traiter plus de jetons avec moins de ressources informatiques et créer de la valeur supplémentaire pour les clients. Dans un cas, l’intégration d’optimisations logicielles et l’adoption de GPU NVIDIA de nouvelle génération ont divisé le coût par jeton par 20 par rapport aux processus non optimisés sur les GPU de la génération précédente, générant ainsi 25 fois plus de revenus en seulement quatre semaines.
En traitant efficacement les jetons, les usines d’IA fabriquent de l’intelligence, l’atout le plus précieux de la nouvelle révolution industrielle basée sur l’IA.
Qu’est-ce que la tokenisation ?
Qu’il traite du texte, des images, des clips audio, des vidéos ou d’autres contenus, un modèle d’IA transformateur traduit toujours les données en jetons. Ce processus est connu sous le nom de tokenisation.
Une tokenisation efficace permet de réduire la puissance de calcul nécessaire à l’entraînement et à l’inférence. Il existe de nombreuses méthodes de tokenisation, et les tokeniseurs adaptés à des types de données et à des cas d’utilisation spécifiques peuvent nécessiter un vocabulaire plus restreint, c’est-à-dire qu’il y a moins de jetons à traiter.
Dans le cas des grands modèles de langage (LLM), les mots courts peuvent être représentés par un seul jeton, tandis que les mots plus longs peuvent être divisés en deux jetons ou plus.
Le mot « darkness », par exemple, serait divisé en deux jetons, « dark » et « ness », et chaque jeton disposerait d’une représentation numérique, telle que 217 et 655. Le mot opposé, « brightness », serait, lui aussi, divisé en « bright » et « ness », et disposerait de deux représentations numériques, 491 et 655.
Dans cet exemple, la valeur numérique partagée associée à « ness » peut aider le modèle d’IA à comprendre que des mots peuvent avoir un point commun. Dans d’autres cas, un tokeniseur peut affecter différentes représentations numériques au même mot en fonction de sa signification dans le contexte.
Par exemple, le mot « lie » en anglais peut faire référence à une position de repos (allongé) ou à dire quelque chose de faux (mentir). Pendant l’entraînement, le modèle apprendra à faire la distinction entre ces deux significations et à leur affecter différents numéros de jetons.
Un tokeniseur peut mapper les entrées visuelles telles que les pixels ou les voxels en une série de jetons distincts dans les modèles d’IA visuelle qui traitent des images, des vidéos ou des données de capteurs.
Les modèles qui traitent l’audio peuvent transformer de courts clips en spectrogrammes, c’est-à-dire des représentations visuelles des ondes sonores au fil du temps qui peuvent ensuite être traitées comme des images. D’autres applications audio peuvent, quant à elles, se concentrer sur la capture du sens d’un clip sonore contenant de la parole et utiliser un autre type de tokeniseur qui capture des jetons sémantiques, c’est-à-dire des données linguistiques ou contextuelles plutôt que des simples informations acoustiques.
Comment les jetons sont-ils utilisés pendant l’entraînement de l’IA ?
L’entraînement d’un modèle d’IA commence par la tokenisation du jeu de données d’entraînement.
Selon la taille des données d’entraînement, le nombre de jetons peut se chiffrer en milliards ou en billions et, selon la loi d’échelle du pré-entraînement, plus il y a de jetons pour l’entraînement, plus la qualité du modèle d’IA sera élevée.
Lorsqu’un modèle d’IA est pré-entraîné, on le teste en lui montrant un exemple de jetons et en lui demandant de prédire le prochain jeton. Selon que sa prédiction est correcte ou non, le modèle se met à jour pour améliorer sa prochaine supposition. Ce processus se répète jusqu’à ce que le modèle apprenne de ses erreurs et atteigne un niveau de précision cible, aussi appelé convergence du modèle.
Après le pré-entraînement, les modèles sont encore améliorés par le post-entraînement, c’est-à-dire qu’ils continuent d’apprendre sur un sous-ensemble de jetons pertinents au cas d’utilisation sur lequel ils seront déployés. Il peut s’agir de jetons contenant des informations spécifiques à un domaine pour une application juridique, médicale ou commerciale, ou de jetons qui aident à adapter le modèle à une tâche spécifique, comme le raisonnement, le chat ou la traduction. L’objectif est un modèle qui génère les bons jetons pour donner une réponse correcte en fonction de la requête de l’utilisateur : une compétence plus connue sous le nom d’inférence.
Comment les jetons sont-ils utilisés pendant l’inférence et le raisonnement de l’IA ?
Pendant l’inférence, une IA reçoit une invite (selon le modèle, il peut s’agir de texte, d’image, de clip audio, de vidéo, de données de capteurs ou même de séquences de gènes) qu’elle traduit en une série de jetons. Le modèle traite ces jetons d’entrée, génère sa réponse sous forme de jetons, puis la traduit au format attendu par l’utilisateur.
Les langues d’entrée et de sortie peuvent être différentes, par exemple dans le cas d’un modèle qui traduit de l’anglais vers le japonais, ou qui convertit les invites textuelles en images.
Pour comprendre une invite complète, les modèles d’IA doivent être capables de traiter plusieurs jetons à la fois. De nombreux modèles ont une limite donnée, appelée fenêtre contextuelle, et différents cas d’utilisation nécessitent différentes fenêtres contextuelles.
Un modèle capable de traiter quelques milliers de jetons à la fois est probablement capable de traiter une seule image haute résolution ou quelques pages de texte. Tandis qu’un autre modèle capable de traiter des dizaines de milliers de jetons sera probablement capable de résumer un roman entier ou un épisode de podcast d’une heure. Certains modèles sont même capables de traiter un million de jetons ou plus, ce qui permet aux utilisateurs d’entrer d’énormes sources de données à analyser par l’IA.
Les modèles d’IA de raisonnement, la nouvelle avancée en matière de LLM, peuvent gérer des requêtes plus complexes en traitant les jetons différemment. Outre les jetons d’entrée et de sortie, le modèle génère une multitude de jetons de raisonnement en quelques minutes ou sur plusieurs heures pendant qu’il réfléchit à la façon de résoudre un problème donné.
Ces jetons de raisonnement permettent de meilleures réponses à des questions complexes, tout comme une personne pourra formuler une meilleure réponse si on lui laisse le temps de travailler sur un problème. L’augmentation du nombre de jetons par invite qui en découle peut nécessiter 100 fois plus de ressources de calcul par rapport à seule passe d’inférence sur un LLM traditionnel (et même plus) : c’est là un exemple de mise à l’échelle du temps de test, aussi appelée réflexion longue.
Enquoi les jetons sont-ils au cœur de l’économie de l’IA ?
Pendant le pré-entraînement et le post-entraînement, les jetons équivalent à un investissement en intelligence, et durant l’inférence, ils augmentent les coûts et les revenus. Ainsi, la multiplication des applications d’IA entraine l’apparition de nouveaux principes d’économie de l’IA.
Les usines d’IA sont conçues pour prendre en charge de grands volumes d’inférence et fabriquer de l’intelligence pour les utilisateurs en transformant les jetons en informations monétisables. C’est pourquoi de plus en plus de services d’IA mesurent la valeur de leurs produits en fonction du nombre de jetons consommés et générés, et offrent des forfaits tarifaires basés sur les taux d’entrée et de sortie de jetons du modèle.
Certains forfaits offrent aux utilisateurs un nombre défini de jetons partagés entre les données d’entrée et de sortie. Compte tenu de ces limites de jetons, un client peut utiliser une courte invite textuelle qui n’utilise que quelques jetons en entrée pour générer une longue réponse générée par l’IA qui en utilise plusieurs milliers en sortie. Ou bien l’utilisateur peut dépenser la majorité de ses jetons en entrée, en fournissant à un modèle d’IA un ensemble de documents à résumer en quelques points clés.
Afin de permettre l’accès à leurs services d’IA par un grand nombre d’utilisateurs simultanés, certaines entreprises fixent également des limites de jetons, c’est-à-dire un nombre maximal de jetons générés par minute pour un utilisateur donné.
Les jetons définissent également l’expérience des utilisateurs des services d’IA. Le délai avant la création du premier jeton, c’est-à-dire la latence entre l’envoi d’une invite par l’utilisateur et le début de la réponse par le modèle d’IA, et la latence entre les jetons ou de jeton à jeton, c’est-à-dire la vitesse à laquelle les jetons de sortie suivants sont générés, déterminent la façon dont un utilisateur final perçoit les résultats d’une application d’IA.
Chaque métrique doit faire l’objet de compromis et le bon équilibre dépend du cas d’utilisation.
Pour les chatbots basés sur des LLM, la réduction du délai avant la création du premier jeton peut contribuer à améliorer l’engagement des utilisateurs en maintenant un rythme de conversation sans pauses artificielles. Optimiser la latence entre les jetons permet aux modèles de génération de texte de suivre la vitesse de lecture d’une personne moyenne, ou aux modèles de génération de vidéo d’atteindre la fréquence d’images souhaitée. Pour les modèles d’IA à réflexion longue et employés pour la recherche, l’accent est davantage mis sur la génération de jetons de haute qualité, même si la latence augmente.
Les développeurs doivent trouver un équilibre entre ces métriques pour offrir des expériences utilisateur de haute qualité avec un débit optimal, c’est-à-dire le nombre de jetons qu’une usine d’IA peut générer.
Pour relever ces défis, la plateforme d’IA de NVIDIA offre une large collection de logiciels, de microservices et de modèles, ainsi qu’une puissante infrastructure de calcul accéléré. Cette solution complète et flexible permet aux entreprises de faire évoluer, d’optimiser et de faire évoluer leurs usines d’IA pour générer la prochaine vague d’intelligence dans tous les secteurs.
Comprendre comment optimiser l’utilisation des jetons pour différentes tâches peut aider les développeurs, les entreprises et même les utilisateurs finaux à tirer le meilleur parti de leurs applications d’IA.
Pour en savoir plus, consultez cet eBook et lancez-vous à l’adresse build.nvidia.com.