- Le tokenizer est un composant essentiel et très utilisé des grands modèles de langage (LLM), qui convertit entre chaînes de caractères et tokens (fragments de texte)
- Le tokenizer est une étape entièrement distincte dans le pipeline d’un LLM :
- il dispose de son propre jeu d’entraînement et de son propre algorithme d’entraînement (Byte Pair Encoding)
- après l’entraînement, il implémente deux fonctions de base :
encode(), qui convertit une chaîne en tokens,
- et
decode(), qui reconvertit les tokens en chaîne
- Dans ce cours, vous allez construire de zéro le tokenizer utilisé dans la série GPT d’OpenAI
- Au passage, vous verrez que de nombreux comportements étranges et problèmes des LLM proviennent en réalité de la tokenisation
- Ces problèmes seront examinés, ainsi que les raisons pour lesquelles la tokenisation en est la cause, et pourquoi il faudrait chercher un moyen de supprimer complètement cette étape
2 commentaires
Avis sur Hacker News
La vidéo d’Andrej Karpathy sur la construction de GPT nano est un excellent tutoriel qui explique toutes les étapes nécessaires au développement des grands modèles de langage modernes (Large Language Models, LLM).
Andrej Karpathy parle si vite qu’il a fallu vérifier la vitesse de lecture. On dirait qu’il parle en vitesse x1,25.
Même en payant, il est difficile d’obtenir un contenu d’une qualité aussi élevée.
À propos de l’expression « quand c’est l’œuf de l’univers, c’est un seul token », il n’est pas certain que l’équipage du Nostromo soit d’accord. (Il s’agit d’une blague faisant référence au vaisseau spatial Nostromo dans le film Alien ; pour bien comprendre le contexte du commentaire, il faut connaître ce film.)
Le résumé ci-dessus a été rédigé de manière neutre, avec des phrases se terminant par des groupes nominaux, et avec l’ajout concis d’éléments de contexte afin qu’un ingénieur logiciel débutant puisse aussi le comprendre.
On dirait que le prompt était « résume chaque commentaire de manière neutre, dans une phrase se terminant par un nom, et ajoute brièvement des connaissances de contexte pour qu’un ingénieur logiciel débutant puisse aussi comprendre ».