📖 Documentation du Tokenizer Loo : Clemylia/Loo-tokenizer

Loo

Ce document guide les utilisateurs sur la manière de charger et d'utiliser le tokenizer spécialement conçu pour le modèle de génération mathématique Loo.


💡 Objectif du Tokenizer

Le tokenizer Loo est un tokenizer de type Byte-Pair Encoding (BPE) spécialement entraîné sur des requêtes en langage naturel (français) et des séquences de sortie contenant des chiffres, des opérations mathématiques (+, -, *, /) et des séparateurs (virgules, points).

Son but principal est de mapper efficacement les entrées de l'utilisateur (colonne prompt) et les sorties générées par Loo (colonne send) en séquences numériques (IDs de tokens) que le modèle peut traiter.


🛠️ Chargement du Tokenizer

Le tokenizer est publié sur le Hugging Face Hub et peut être chargé facilement en utilisant la classe AutoTokenizer.

Installation

Assurez-vous d'avoir la librairie transformers installée :

pip install transformers

Chargement en Python

from transformers import AutoTokenizer

# Le nom de la ressource publiée sur Hugging Face
TOKENIZER_ID = "Clemylia/Loo-tokenizer" 

print(f"Chargement du tokenizer {TOKENIZER_ID}...")
tokenizer_loo = AutoTokenizer.from_pretrained(TOKENIZER_ID)
print("Chargement réussi ! ✅")

🏷️ Tokens Spéciaux

Le tokenizer Loo utilise un ensemble minimal de tokens spéciaux, essentiels pour la structure du modèle génératif de type GPT-2.

Token Description
`< endoftext
[PAD] Padding Token : Utilisé pour rendre toutes les séquences de la même longueur dans un batch.

Note importante : Le token [PAD] a été ajouté manuellement lors de la création du tokenizer pour garantir le bon fonctionnement du modèle génératif (Causal Language Modeling).


🚀 Utilisation et Flux de Travail

Le tokenizer Loo est conçu pour fonctionner avec un flux de travail spécifique : la concaténation du prompt et de la réponse.

1. Préparation pour l'Entraînement / Génération

Pour que Loo réponde correctement, l'entrée doit toujours suivre le format d'entraînement :

‘prompt: [Votre Requeˆte] send: [La Reˊponse Souhaiteˊe]‘<endoftext> \text{`prompt: [Votre Requête] send: [La Réponse Souhaitée]`} <|endoftext|> Exemple de tokenization d'un prompt :

prompt_test = "prompt: Donne moi une addition simple send:"

tokens = tokenizer_loo(prompt_test, return_tensors="pt")

print("Tokens IDs:", tokens['input_ids'][0].tolist())
print("Tokens décodés:", tokenizer_loo.convert_ids_to_tokens(tokens['input_ids'][0].tolist()))

2. Décodage (Post-Traitement)

Le tokenizer Loo utilise le ByteLevel post-processor, ce qui signifie que le décodage gère automatiquement les espaces et les caractères accentués français (évitant les Ġ ou les problèmes d'encodage comme é).

Lors du décodage d'une sortie brute du modèle (output):

  • Utilisez skip_special_tokens=True pour retirer le token <|endoftext|> et [PAD].
  • Effectuez une étape de nettoyage pour n'extraire que le contenu après le séparateur send:.

Exemple de post-traitement de la réponse du modèle :

# Supposons que ceci est la sortie brute (décodée sans nettoyage)
generated_raw = "prompt: Donne moi une addition simple send: 5 + 3<|endoftext|>"

# Décodage propre (retire les tokens spéciaux)
cleaned_text = tokenizer_loo.decode(output_ids, skip_special_tokens=True)

# Extraction de la réponse
response_start = cleaned_text.find("send:") + len("send:")
final_answer = cleaned_text[response_start:].strip()

print(f"Réponse finale de Loo: {final_answer}")
# Sortie: Réponse finale de Loo: 5 + 3

⚙️ Paramètres Clés

Paramètre du Tokenizer Valeur Rôle
max_len 128 Longueur maximale des séquences supportée par le tokenizer.
vocab_size 1000 Taille du vocabulaire entraîné (peut être plus grand si des octets spéciaux sont inclus).
padding_side right (par défaut) Indique où placer les tokens de padding.
truncation_side right (par défaut) Indique où tronquer la séquence si elle dépasse max_len.

Pour toute question ou contribution au tokenizer Loo, veuillez consulter le dépôt Hugging Face associé ! Bonne utilisation ! 💻 $$

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train Clemylia/Loo-tokenizer

Collection including Clemylia/Loo-tokenizer