#
Introduction

Dans le chapitre 3, nous avons vu comment finetuner un modèle sur une tâche donnée. Pour ce faire, nous utilisons le même tokenizer que celui avec lequel le modèle a été pré-entraîné. Mais que faisons-nous lorsque nous voulons entraîner un modèle à partir de zéro ? Dans ces cas, l’utilisation d’un tokenizer qui a été pré-entraîné sur un corpus d’un autre domaine ou d’une autre langue est généralement sous-optimale. Par exemple, un tokenizer entraîné sur un corpus anglais sera peu performant sur un corpus de textes japonais car l’utilisation des espaces et de la ponctuation est très différente entre les deux langues.

Dans ce chapitre, vous apprendrez à entraîner un tout nouveau tokenizer sur un corpus de textes afin qu’il puisse ensuite être utilisé pour pré-entraîner un modèle de langue. Tout cela se fera à l’aide de la bibliothèque 🤗 Tokenizers, qui fournit les tokenizers « rapides » de la bibliothèque 🤗 Transformers. Nous examinerons de près les fonctionnalités offertes par cette bibliothèque et nous étudierons comment les tokenizers rapides diffèrent des versions « lentes ».

Les sujets que nous couvrirons comprennent :

- comment entraîner sur un nouveau corpus de textes, un nouveau tokenizer similaire à celui utilisé par un checkpoint donné,
- les caractéristiques spéciales des tokenizers rapides,
- les différences entre les trois principaux algorithmes de tokénisation utilisés aujourd’hui en NLP,
- comment construire un tokenizer à partir de zéro avec la bibliothèque 🤗 Tokenizers et l’entraîner sur des données.

Les techniques présentées dans ce chapitre vous prépareront à la section du chapitre 7 où nous verrons comment créer un modèle de langue pour le langage Python. Commençons par examiner ce que signifie « entraîner » un tokenizer.