Cómo entrenar tu propio tokenizador BPE para español
En el artículo anterior vimos que el tokenizador de GPT-2 (tiktoken) no está optimizado para español. «Aprendizaje automático» ocupaba 9 tokens y «procesamiento del lenguaje natural» 11. La solución no es aplicar reglas lingüísticas — BPE no entiende de diptongos — sino entrenar nuestro propio tokenizador con datos en español.
Y funciona. Hemos entrenado un BPE con los 18 GB completos de la Wikipedia en español y el resultado es una reducción del 59% en el número de tokens respecto al tokenizador de GPT-2.
Por qué entrenar tu propio tokenizador
Cada modelo de lenguaje exitoso tiene su propio tokenizador, entrenado con el corpus específico de ese modelo:
| Modelo | Tokenizador | Vocabulario | Entrenado con |
|---|---|---|---|
| GPT-2 | BPE (tiktoken) | 50.257 | Texto inglés |
| GPT-4 | BPE (tiktoken) | ~100.000 | Multilingüe |
| LLaMA 3 | BPE (SentencePiece) | 128.000 | Multilingüe |
| **Nuestro BPE Español** | **BPE (HF tokenizers)** | **128.000** | **Wikipedia española (18 GB)** |
| Frase | tiktoken (inglés) | BPE español 128K | Mejora |
|---|---|---|---|
| «aprendizaje automático» | 9 tokens | **2 tokens** | **−78%** |
| «procesamiento del lenguaje natural» | 11 tokens | **4 tokens** | **−64%** |
| «construyamos» | 5 tokens | **2 tokens** | **−60%** |
| «desafortunadamente» | 6 tokens | **2 tokens** | **−67%** |
| «espectrofotometría» | 8 tokens | **3 tokens** | **−62%** |
| «inteligencia artificial» | 4 tokens | **2 tokens** | **−50%** |
| «Hola, ¿cómo estás?» | 11 tokens | **6 tokens** | **−45%** |
| «tokenización» | 4 tokens | **3 tokens** | **−25%** |
| **Promedio** | **7.3 tokens** | **3.0 tokens** | **−59%** |
Deja una respuesta