English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

Des Mots aux Nombres

Un Traducteur à une Frontière

Un modèle de langue ne voit jamais de texte. Il voit des entiers. Un tokeniseur se trouve à un poste frontalier : les mots humains entrent, les ID entiers sortent. La génération inverse le flux : les ID entiers reviennent, un tokeniseur rend le texte.


Trois tâches :


1. Segmenter. Couper une chaîne en morceaux (tokens).

2. Mapper. Assigner à chaque morceau un ID entier unique d'un vocabulaire fixe.

3. Inverser. Reconstruire le texte à partir des ID au moment de la génération.


Pourquoi des morceaux, et pas des mots entiers

Un vocabulaire de mots entiers explose. L'anglais seul compte des centaines de milliers de formes. Pire, un modèle entraîné sur des mots entiers ne peut pas gérer une faute de frappe, un nouveau nom ou une phrase étrangère : tout mot inconnu est mappé vers un seul emplacement <UNK>.


La tokenisation en sous-mots corrige cela. Un vocabulaire de morceaux courants se compose en n'importe quel mot, y compris ceux jamais vus pendant l'entraînement. Deux stratégies dominent : BPE (byte pair encoding) & segmentation distributionnelle. ANDREA choisit une seconde stratégie.


Harris vs BPE

Pourquoi les sous-mots

Un tokenizer par mots entiers échoue sur le mot rare `proporian` (un mot produit par ANDREA-12M à l'étape 43 100). Nommez deux problèmes distincts qu'un tokenizer en sous-mots (BPE ou Harris) évite et qu'un tokenizer par mots entiers ne peut pas.

Où se produit une coupure de mot

Zellig Harris, 1955

Un linguiste nommé Zellig Harris a remarqué quelque chose. À l'intérieur d'un mot, le nombre de lettres distinctes qui suivent une séquence donnée de lettres varie fortement. Après un, on peut trouver des dizaines de lettres : a, b, c, d, e ... Après unbel, seul un petit ensemble suit : i (puis ievable).


Une pointe dans la variété des successeurs marque une limite probable de morphème. Après un (un préfixe), la variété augmente parce que de nombreuses racines peuvent suivre. À l'intérieur d'une racine comme believ, la variété reste faible parce que les lettres se prédisent les unes les autres. À une transition entre morphèmes, la variété augmente à nouveau.


Des pointes de variété aux segments

Exécutez ce détecteur sur un corpus d'entraînement. Chaque mot donne des preuves statistiques. Un tokenizer collecte des segments à haute fréquence qui réapparaissent aux frontières en forme de morphèmes : un, re, pre, believ, know, ing, able, ly, tion, ed.


Aucune étiquette. Aucun linguiste ne marque manuellement les morphèmes. Une statistique de co-occurrence des lettres fait le travail.


Harris vs BPE


PropriétéHarrisBPE
Critère de frontièrePic de variété des successeursFréquence de paires
Forme linguistiqueAligné sur les morphèmes (préfixe, racine, suffixe)Paires d'octets fréquentes
Exemple : unbelievablyun + believ + abl + yunb + eli + eva + bly
GénéralisationForte (racine + affixe se recombinent)Plus faible (les paires n'ont pas besoin d'être alignées)

Les deux produisent des morceaux subordonnés. Les morceaux de Harris tendent à s'aligner sur ce qu'un linguiste appellerait un morphème : la plus petite unité de sens. Les morceaux BPE optimisent la compression : la paire d'octets la plus fréquente est fusionnée, indépendamment du sens.

Segmenter un mot

Appliquez le raisonnement de style Harris au mot `replayed`. Proposez trois segments morphémiques & justifiez chacun en une phrase (quel rôle joue-t-il : préfixe, racine ou suffixe).

Trois Dalles de Vocabulaire

Anatomie d'un Vocabulaire ANDREA

La tokenisation Harris produit un vocabulaire avec trois dalles :


Dalle 1 : 256 octets de base. Chaque octet UTF-8 possible (0x00 à 0xFF) obtient son propre ID de token. Un filet de sécurité : tout caractère qu'un corpus contient, un tokenizer peut le représenter comme une séquence d'octets. Aucun <UNK> ne se déclenche jamais.


Dalle 2 : N segments de morphèmes. Pièces communes découvertes par analyse distributionnelle. ANDREA-12M entraîné N = 4096 ; ANDREA-120M entraîné N = 8192. Chaque segment compresse une chaîne multi-octets récurrente en un seul token.


Dalle 3 : 1 token BOS. Un marqueur spécial placé au début de chaque séquence d'entraînement. Permet à un modèle d'apprendre « cette position n'a pas de passé ». ANDREA-12M & ANDREA-120M réservent tous deux exactement un ID pour BOS.


Tailles du vocabulaire


ModèleOctets de baseSegments de morphèmes (N)BOSTaille du vocabulaire
ANDREA-12M256409614353
ANDREA-120M256819218449

256 + N + 1 = taille du vocabulaire. Simple. Reproductible. Ouvert.


Pourquoi un Bloc d'Octets est Important

Un fallback par octet garantit la couverture. Si un modèle rencontre 日本語 & qu'un tokenizer n'a pas de morphèmes japonais, les octets UTF-8 individuels portent une séquence à travers. Un modèle s'entraîne sur des octets ; la qualité sur des scripts rares dépend de la capacité & de l'exposition, mais aucune entrée ne fait planter un tokenizer.

Calculer un Vocabulaire

ANDREA-480M (un troisième modèle dans une famille, activité future 24 le couvre) prévoit d'entraîner un tokenizer Harris avec N = 16 384 segments sur un corpus plus large. Calculez sa taille de vocabulaire. Montrez une formule. Puis expliquez en une phrase pourquoi un slab d'octets reste à 256 même quand N augmente.

Début de Séquence

Pourquoi une séquence a besoin d'un marqueur

Un transformateur à décodeur uniquement prédit un token suivant à partir du contexte précédent. La position 0 n'a pas de contexte précédent. Sans marqueur, la position 0 se trouve dans un trou logique : le modèle n'a rien à quoi prêter attention.


BOS comble un trou. Un token spécial unique (ID = 256 + N) est placé au début de chaque séquence pendant l'entraînement. Le modèle apprend :


- « Quand tu vois BOS, prédis un premier token probable de texte naturel. »

- « Quand tu vois BOS suivi d'un mot, ce mot est le début d'une séquence, pas une continuation. »


Un Token, De Multiples Utilisations


Le BOS apparaît dans :


- Pendant l'entraînement : préfixé à chaque chunk de texte fourni au modèle.

- Pendant l'inférence : préfixé à une invite pour que le modèle voie un signal familier de « nouveau départ ».

- Marquage de limites : dans certains pipelines, un séparateur entre des documents concaténés.


ANDREA réserve exactement un ID pour BOS. Pas d'EOS, pas de PAD, pas de tokens spéciaux au-delà de ce qu'un vocabulaire nécessite. La simplicité reste une valeur permacomputer : chaque token mérite sa place.


Activité 3 (suite)

L'Activité 3 (grow_a_language_model_tokenizer_diet) couvre ce qui se passe quand N est trop grand ou quand un corpus de tokenizer diverge d'un corpus d'entraînement. ANDREA-12M a gaspillé 63,6 % de son vocabulaire ; ANDREA-120M l'a corrigé. Lisez la suite.

Compromis du BOS-Seul

Réfléchissez à un choix de conception qu'ANDREA fait : un seul token spécial (BOS), pas d'EOS, pas de PAD. Nommez un compromis que cela crée. Le compromis peut être un avantage (moteur plus simple, moins de slots gaspillés) ou une contrainte (certains trucs d'entraînement nécessitent des tokens supplémentaires). Une phrase suffit.