APPZYFY
Módulo 3intermediate
🔤

Laboratorio de Tokenización

45 min
1

Entender cómo el texto se convierte en números

2

Comparar tokenización Word, Subword, BPE

3

Aprender compromisos de vocabulario

4

Reconocer por qué los LLMs tienen límites de tokens

Playground de Tokenización

Compara métodos de tokenización: Word, Subword, BPE, SentencePiece

Guía de Aprendizaje

Intermedio⏱️ 30 min

Elige tu estilo de aprendizaje

¿Qué Hace?

Compara estrategias de tokenización: nivel palabra, subpalabra (BPE, WordPiece, SentencePiece), nivel carácter. Demuestra trade-off tamaño vocab vs granularidad token, manejo OOV, tasas de compresión.

¿Cómo Funciona?

  1. 1Nivel palabra: divide en espacios/puntuación. Simple, pero vocab grande (100K+), problemas OOV
  2. 2BPE: fusiona iterativamente pares de bytes más frecuentes. Comienza con caracteres, construye vocabulario
  3. 3WordPiece: similar a BPE pero usa likelihood en vez de frecuencia. Usado por BERT
  4. 4SentencePiece: trata texto como unicode raw, aprende BPE/unigrama. Agnóstico de lenguaje
  5. 5Nivel carácter: sin OOV, pero secuencias muy largas (inferencia lenta)
  6. 6Elección tamaño vocab: pequeño (1K) = problemas OOV, grande (50K) = intensivo en memoria, punto dulce (30K)

Analogía Simple

Tokenización = estrategia de fragmentación de texto. Nivel palabra = fragmentos grandes (rápido, incompleto). Nivel carácter = fragmentos pequeños (completo, lento). Subpalabra = zona Goldilocks (balanceada).

Concepto Clave

BPE/WordPiece dominan NLP moderna (GPT, BERT). Manejan palabras raras mediante unidades subpalabra: "infelicidad" → ["in", "felicidad"]. Vocab ~30K cubre mayoría de idiomas con buena compresión.

Conceptos Fundamentales

BPE (Codificación de Pares de Bytes)

Fusiona iterativamente pares de símbolos adyacentes más frecuentes. Usado por modelos GPT. Tamaño vocab 30K-50K típico.

WordPiece

Similar a BPE pero usa fusión basada en likelihood. Usado por BERT. Tokens subpalabra marcados con ##.

OOV (Fuera de Vocabulario)

Palabras desconocidas no en vocabulario. Nivel palabra sufre OOV. Subpalabra/carácter evita OOV mediante descomposición.

Aplicaciones del Mundo Real

🤖
GPT / Modelos de Lenguaje

Tokenización BPE habilita entrenamiento eficiente en texto diverso. Maneja palabras raras, errores tipográficos, código, emojis.

🌐
Modelos Multilingües

SentencePiece unifica tokenización entre idiomas. Sin preprocesamiento específico de idioma (espacios, segmentación).

🔬
Texto Científico / Código

Subpalabra maneja jerga de dominio: "superconductividad" → ["super", "conduct", "ividad"]. Tokenización de código: "int main()" → ["int", "main", "(", ")"].

Pruébalo Tú Mismo

Experimento de Tamaño de Vocab

Vocab 1K: muchas divisiones, lento. Vocab 50K: pocas divisiones, memoria grande. Vocab 30K: balanceado.

Demo de Manejo OOV

Nivel palabra: "supergenialidad" → [UNK]. Subpalabra: ["super", "genial", "idad"]. Carácter: ["s","u","p","e","r",...].

Errores Comunes a Evitar

Usar tokenización nivel palabra

¿Por Qué? Problemas OOV con palabras raras, vocab grande (100K+). Usa BPE/WordPiece en su lugar.

Tokenización inconsistente

¿Por Qué? Desajuste tokenización train vs test rompe modelos. Usa mismo tokenizador (guardar/cargar vocab).

10K30K50K100K

Tokens

Conteo de Tokens: 9
The
quick
brown
fox
jumps
over
the
lazy
dog

Comparación

Nivel-Palabra

División simple por espacios. Vocab grande, problemas OOV.

Conteo de Tokens: 9

Sub-palabra

Divide palabras raras en sub-palabras. Vocab balanceado.

Conteo de Tokens: 9

BPE (Byte Pair Encoding)

Fusiona pares de caracteres frecuentes. Usado en GPT.

Conteo de Tokens: 15

SentencePiece

Independiente del idioma, trata texto como unicode. Usado en T5, ALBERT.

Conteo de Tokens: 14

Algoritmo BPE

BPE fusiona iterativamente pares de caracteres más frecuentes. Ejemplo: "low" + "er" → "lower". Balance entre tamaño vocab y conteo tokens.

Tradeoffs de Vocabulario

Vocab pequeño (10K): muchos tokens, inferencia lenta, palabras raras divididas. Vocab grande (100K): menos tokens, rápido, pero embeddings dispersos.

Tokenización Sub-palabra

Divide palabras raras (ej: "infelicidad" → "in", "felicidad"). Maneja OOV gracefully. WordPiece (BERT) usa likelihood, BPE usa frecuencia.

Manejo OOV

Palabras Out-of-Vocabulary se dividen en sub-palabras o caracteres. Ejemplo: "Transformerizar" → "Transform", "##er", "##izar". Sin tokens <UNK>.