Publicado

- 6 min tiempo de lectura

Qué son los Transformers en la IA

Qué son los Transformers en la IA

Si alguna vez te has preguntado cómo los modelos de inteligencia artificial logran entender el lenguaje humano con una precisión casi mágica, los transformers son los responsables de esta revolución. Hoy vas a entender los Transformers en la IA.

En el fascinante mundo del procesamiento del lenguaje natural (NLP), los transformers han cambiado las reglas del juego. Hoy te guiaré paso a paso para entenderlos con un ejemplo muy sencillo.

En este artículo, he creado un transformer que utiliza únicamente un encoder para la clasificación de texto. Además, puedes interactuar con él en un notebook interactivo donde podrás experimentar cómo este modelo procesa y transforma palabras en predicciones.

¿Qué es un Transformer que solo tiene Encoder?

Un transformer con solo encoder analiza una secuencia de texto y genera representaciones internas que capturan las relaciones entre palabras. Esto es útil para tareas como clasificación de texto, extracción de información o análisis de sentimientos.

Los Transformers

El modelo Transformer, presentado en el artículo Attention Is All You Need, es la arquitectura base de modelos avanzados de procesamiento del lenguaje como GPT y BERT. En su diseño original, el Transformer consta de dos componentes principales: el encoder y el decoder.

Sin embargo, más que una única arquitectura, los Transformers pueden entenderse como un conjunto de herramientas modulares. Para este artículo, nos centraremos únicamente en la implementación del encoder, dejando fuera tanto el positional encoding (que explicaremos en otro artículo) como el decoder, que utilizaremos más adelante para construir una versión simplificada de un modelo GPT.

Esquema del Transformer

A continuación, presentamos el esquema original del Transformer:

Esquema de un Transformer completo

En nuestro ejemplo además de ‘The Encoder’ vamos a implementar el bloque indicado como ‘Input Embedding’ pero no el ‘Positional Encoding’.

Además no vamos a tokenizar las palabras para simplificar al máximo todo el proceso. Para saber más sobre tokenizadores pulsa aquí.

El corazón del modelo es el mecanismo de self-attention, que evalúa cuánto influye cada palabra en el resto de la secuencia. Matemáticamente, se expresa así:

Donde , y son matrices que representan palabras transformadas mediante pesos aprendidos (, , ). Este mecanismo permite al modelo determinar la importancia relativa de cada palabra.

¿Por qué usar un Transformer para Clasificación de Texto?

Los transformers entienden el contexto de una oración completa, a diferencia de los modelos anteriores que solo analizaban palabras individuales. Esto los hace ideales para:

  • Análisis de sentimientos: Determinar si una reseña es positiva o negativa.
  • Detección de spam: Filtrar correos no deseados.
  • Clasificación de tickets de soporte: Priorizar solicitudes según su urgencia.

El Notebook: Un Transformer Paso a Paso

Para entender mejor este proceso, he creado un notebook en Google Colab. Puedes verlo aquí:

👉 Abrir el notebook en Colab aquí

A continuación, están resumidos los pasos principales del modelo:

1. Creación del Dataset para Clasificación de Texto

El dataset consiste en frases simples etiquetadas como positivas (1) o negativas (0):

# Ejemplo de dataset:
data = [
    ("I love this movie", 1),
    ("This film was terrible", 0),
    ("An excellent performance", 1),
    ("Worst movie ever", 0),
    ("Fantastic storyline", 1),
    ("Not worth watching", 0)
]

⚠️ Nota importante: He utilizado todo el dataset para entrenamiento, lo cual NO es correcto en un modelo real. Esto hace que el modelo memorice los datos en lugar de aprender patrones generales. En un caso real, siempre debemos separar un conjunto de prueba.

2. Creación del Vocabulario y Representación del Texto

Convertimos palabras en índices numéricos para que el modelo pueda procesarlas.

vocabulario: 
 {'An': 0, 'Fantastic': 1, 'I': 2, 'Not': 3,
  'This': 4, 'Worst': 5, 'ever': 6, 'excellent': 7,
  'film': 8, 'love': 9, 'movie': 10, 'performance': 11, 
  'storyline': 12, 'terrible': 13, 'this': 14, 'was': 15, 
  'watching': 16, 'worth': 17, '<UNK>': 18}

Así, una frase como "I love this movie" se convierte en:

[ 2,  9, 14, 10]
paso 2 Transformer

3. Definición del Modelo Transformer

El modelo incluye:

  • Embeddings para convertir palabras en vectores.
  • Capa de self-attention para analizar relaciones entre palabras.
  • Clasificador final que predice si el texto es positivo o negativo.
paso 3 Transformer

4. Entrenamiento del Modelo

Entrenamos el modelo durante varias épocas y monitoreamos la pérdida para verificar su aprendizaje.

Época 1/10, Pérdida: 0.7291
...
Época 10/10, Pérdida: 0.5199
paso 4 Transformer

5. Evaluación y Precisión del Modelo

El modelo alcanza 75% de precisión en el conjunto de prueba:

Precisión en el conjunto de prueba: 75.00%

6. Visualización de Transformaciones del Modelo

paso 6-1 Transformer

Embeddings

paso 6-2 Transformer

Matrices de Atención y Pesos de Atención

paso 6-3 Transformer paso 6-4 Transformer paso 6-5 Transformer paso 6-6 Transformer

7. Inferencia y Errores del Modelo

paso 7 Transformer

Al probar con nuevas frases, observamos un fallo en la predicción:

Frase: "Absolutely love this film"
Predicción: Negativo
Probabilidades: [0.6649, 0.3351]

¿Por qué falló? 1️⃣ La palabra “Absolutely” no estaba en el dataset de entrenamiento.
2️⃣ El modelo puede no haber aprendido la relación entre “love” y “film”.
3️⃣ El dataset es pequeño, por lo que el modelo no generaliza bien.

¿Cómo Mejorar el Modelo?

✅ Ampliar el dataset con más ejemplos.
✅ Usar embeddings preentrenados (ej. Word2Vec, BERT).
✅ Aumentar num_heads en la autoatención.
✅ Entrenar por más épocas (epochs=50).

Pero la propia simplicidad del modelo que hemos hecho permite entender muy bien cómo funciona un transformer.


Espero que este artículo y el notebook interactivo te hayan ayudado a entender mejor cómo funcionan los transformers paso a paso. Ahora es tu turno: experimenta con el código que he preparado:👉 Abrir el notebook aquí y descubre nuevas aplicaciones para tus proyectos. ¡Estoy seguro de que te sorprenderás con todo lo que puedes lograr!

¡Nos leemos pronto y que la curiosidad por aprender nunca falte!

Raúl Jáuregui
Consultor IA e I+D+i
ViaLabs digital

Si tienes un proyecto puedo ayudarte a hacerlo realidad. 😀

Artículos relacionados

Qué tiene de especial DeepSeek

Qué tiene de especial DeepSeek

Cómo funciona realmente ChatGPT (y por qué solo usa un decodificador)

Cómo funciona realmente ChatGPT (y por qué solo usa un decodificador)

Análisis de Sentimiento con BERT: Codificadores de Lenguaje

Análisis de Sentimiento con BERT: Codificadores de Lenguaje

Ver 4 artículos más