Text Generation
Transformers
French
Loo-tokenizer / README.md
Clemylia's picture
Update README.md
2533340 verified
---
library_name: transformers
license: other
datasets: Clemylia/Loo-token
language:
- fr
pipeline_tag: text-generation
---
# 📖 Documentation du Tokenizer Loo : `Clemylia/Loo-tokenizer`
![Loo](http://www.image-heberg.fr/files/17625232863910210666.jpg)
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 :
```bash
pip install transformers
```
### Chargement en Python
```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|>` | **End-Of-Sequence (EOS)** : Marque la fin d'une séquence. **C'est le token crucial** pour indiquer à Loo qu'il doit arrêter la génération. |
| `[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 :
$$
\text{`prompt: [Votre Requête] send: [La Réponse Souhaitée]`} <|endoftext|>
$$**Exemple de tokenization d'un prompt :**
```python
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 :**
```python
# 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 \! 💻
$$