23 puntos por GN⁺ 2025-12-23 | 1 comentarios | Compartir por WhatsApp
  • Explica visualmente la estructura y el principio de funcionamiento del modelo Transformer, y muestra cómo el mecanismo de atención mejora el aprendizaje en paralelo y el rendimiento en traducción
  • El modelo está compuesto por una pila de codificadores y decodificadores, y cada codificador consta de dos capas: self-attention y una red neuronal feedforward
  • Describe paso a paso el proceso de cálculo de self-attention a nivel de vectores y matrices, y lo amplía con multi-head attention para aprender distintos espacios de representación
  • Visualiza de forma concreta componentes clave como codificación posicional, conexiones residuales, normalización por capas y la atención enmascarada del decodificador
  • Este artículo es un material de referencia representativo que ayuda a entender fácilmente los conceptos básicos de los Transformers, y también se usa en clases y materiales de universidades importantes como MIT y Stanford

Resumen del Transformer

  • El Transformer es un modelo de traducción automática neuronal basado en atención que muestra un rendimiento superior al de Google Neural Machine Translation en ciertas tareas
    • Su principal ventaja es que se paraleliza con facilidad, y se recomienda como modelo de referencia para Google Cloud TPU
  • El modelo está compuesto por una pila de codificadores y decodificadores, y cada codificador tiene la misma estructura, aunque no comparten pesos
  • La entrada del codificador pasa por una capa de self-attention para integrar información de contexto, y luego atraviesa una red neuronal feedforward
  • Además de la estructura del codificador, el decodificador incluye una capa de atención codificador-decodificador para enfocarse en las partes relevantes de la oración de entrada

Flujo de tensores y embeddings

  • La oración de entrada se convierte en un vector de 512 dimensiones para cada palabra mediante un algoritmo de word embedding
  • Cada capa del codificador recibe y procesa una lista de vectores del mismo tamaño, y la longitud de la oración se establece como un hiperparámetro
  • La capa feedforward procesa de manera independiente el vector de cada posición, por lo que permite cómputo en paralelo

Concepto de self-attention

  • Self-attention permite que cada palabra consulte otras palabras de la oración para aprender una mejor representación
    • Ejemplo: en “The animal didn’t cross the street because it was too tired”, “it” se relaciona con “animal”
  • A diferencia de mantener estados ocultos como en una RNN, el Transformer integra la información contextual mediante self-attention

Pasos del cálculo de self-attention

  • A partir del embedding de cada palabra se generan los vectores Query, Key y Value (dimensión 64)
  • Se calcula una puntuación de relación entre palabras mediante el producto punto (dot product) entre Query y Key
  • Las puntuaciones se dividen por √64 y luego se aplica softmax para normalizarlas como una distribución de probabilidad
  • Se multiplican los puntajes softmax por cada vector Value y luego se suman para generar la salida final de atención
  • En una implementación real, este proceso se realiza mediante operaciones matriciales para mejorar la eficiencia

Multi-head attention

  • Se usan múltiples cabezas de atención (8 por defecto) para aprender distintos espacios de representación
    • Cada cabeza tiene sus propias matrices de pesos Q/K/V independientes
  • Las salidas de varias cabezas se concatenan (concat) y luego se combinan con una matriz de pesos adicional WO
  • Esto permite que el modelo capture simultáneamente distintos aspectos del contexto

Codificación posicional

  • Como el Transformer no procesa directamente el orden, se suma un vector de posición al embedding de cada palabra
  • El vector de posición se genera usando funciones sin y cos, y aporta información sobre la distancia relativa entre palabras
  • Este método puede extenderse a oraciones más largas que los datos de entrenamiento
  • En la actualización de 2020 también se introdujo una forma de intercalar (interleave) ambas señales

Conexiones residuales y normalización

  • A cada subcapa (self-attention, feedforward) se le aplican conexiones residuales (residual connection) y normalización por capas (layer normalization)
  • Esta estructura ayuda a evitar la desaparición del gradiente y a mejorar la estabilidad del entrenamiento

Estructura del decodificador

  • El decodificador recibe los vectores Key/Value desde la salida del codificador para realizar atención codificador-decodificador
  • Mediante masking se restringe la referencia a palabras futuras
  • Al final, una capa Linear y una capa Softmax generan la distribución de probabilidad de palabras
    • Por ejemplo, si el vocabulario tiene 10,000 palabras, cada vector de salida se transforma en una distribución de probabilidad de 10,000 dimensiones

Entrenamiento y función de pérdida

  • Durante el entrenamiento, la distribución de probabilidad producida por el modelo se compara con la distribución correcta (one-hot encoding)
  • Se usa cross-entropy o divergencia KL para calcular el error y ajustar los pesos mediante retropropagación
  • Con beam search se mantienen múltiples traducciones candidatas para mejorar la precisión

Investigaciones posteriores y materiales de referencia

  • Artículos relacionados: Attention Is All You Need, Training Tips for the Transformer Model, Self-Attention with Relative Position Representations, entre otros
  • Materiales de implementación: paquete Tensor2Tensor, guía de Harvard NLP en PyTorch, Colab Notebook
  • El Transformer luego evolucionó hacia una versión ampliada en LLM-book.com (Chapter 3), donde se cubren modelos recientes como Multi-Query Attention y embeddings posicionales RoPE

Conclusión

  • El Transformer, con su arquitectura basada en atención y paralelizable, se consolidó como un modelo central del deep learning moderno
  • Este artículo es un material de referencia representativo que explica visualmente la estructura, las matemáticas y la intuición del Transformer, y se usa como lectura de apoyo en clases de universidades importantes como Stanford, MIT y Harvard

1 comentarios

 
GN⁺ 2025-12-23
Comentarios en Hacker News
  • Leí este artículo cuando estaba aprendiendo los fundamentos de los transformers. Las visualizaciones realmente ayudaron.
    Pero en el trabajo real de aplicar LLMs, saber la arquitectura del transformer casi no me sirvió. Aun así, sí me daba cierta tranquilidad psicológica sentir que entendía más o menos cómo funciona por dentro.
    Intentar explicar el comportamiento de un LLM solo por su arquitectura es una trampa, porque los modelos más recientes muestran fenómenos emergentes impredecibles debido a cosas como el aprendizaje por refuerzo.
    Antes estaba convencido de que los LLMs nunca serían buenos en matemáticas o programación, y estaba completamente equivocado. Al final, inferir las capacidades de un modelo solo por su estructura tiene límites.
    Estos días, durante mis vacaciones, estoy repasando implementando un transformer directamente en PyTorch. Es interesante y divertido.
    Para empezar, recomiendo el material LLMs from Scratch de Sebastian Raschka.
    Si alguien ha leído el libro que publicó Jay Alammar en 2024, me gustaría saber si lo recomendaría desde una perspectiva actualizada.

    • Yo también estoy de acuerdo, aunque pienso distinto en parte. Trabajando como ingeniero de IA, casi nunca tengo que usar directamente deep learning “clásico”, pero creo que la capacidad de entender a fondo el interior de un LLM es lo que distingue al 1% superior de los ingenieros.
      Porque te da una intuición para captar las limitaciones del modelo. Es un consejo que escuché directamente de Clem Delangue de Hugging Face, y desde entonces estudié a fondo la arquitectura de los LLMs; me ha ayudado muchísimo.
      Les doy el mismo consejo a quienes salen de bootcamps de programación: puedes trabajar solo con Python y React, pero entender arquitectura de computadoras y lenguajes de bajo nivel te vuelve un desarrollador mucho más fuerte a largo plazo.
    • Creo que el problema es que la mayoría de los tutoriales explican el mecanismo de attention centrado en palabras. En realidad, dentro del transformer no hay tokens que correspondan directamente a palabras.
      Los tokens no son fragmentos de palabras, y en procesamiento de lenguaje o imágenes solo tienen significado en la etapa de entrada. Creo que ese malentendido ha hecho que se subestime el potencial de los transformers.
    • Un ejemplo de por qué es importante tener una comprensión básica: en HN mucha gente se queja de que los LLMs generan demasiados comentarios en el código.
      Pero en realidad eso puede mejorar la calidad del código. Gracias al positional encoding de un causal transformer, el modelo puede dejar tokens temporales para razonamiento local y olvidarlos fácilmente después.
      Es decir, funciona como una especie de scratchpad desechable. La solución es posprocesar la salida del LLM, no hacer que el modelo suprima la generación de comentarios.
    • Hay un muy buen video de Welch Labs sobre mechanistic interpretability: enlace de YouTube
    • Siento que la percepción de la gente sobre los LLMs se divide en tres grupos:
      1. quienes creen que los LLMs son generadores simples e inútiles
      2. quienes creen que ya se alcanzó la AGI
      3. quienes creen que los LLMs van a destruir el mundo en menos de 5 años
        Desde el lanzamiento de ChatGPT, la proporción entre estos tres grupos casi no ha cambiado, y rara vez se les convence con evidencia.
  • La visualización del equipo de Transformer Explainer fue realmente excelente.
    Ver Transformer Explainer junto con el video de 3blue1brown me ayudó a entenderlo con mucha más claridad.

    • Fue uno de los mejores materiales de visualización que he visto hasta ahora.
  • En un comentario que dejó el propio autor, Jay Alammar, presentó otros buenos recursos para aprender sobre transformers.
    Enlace relacionado

  • Ya hay tantos materiales explicando transformers que se empieza a sentir como los tutoriales de mónadas.
    Algunas personas creen que alcanzaron la iluminación, pero en realidad siguen confundidas e igual intentan difundirlo por todos lados.

    • Aun así, sigo pensando que esta entrada de blog es una de las explicaciones más claras sobre transformers.
    • No hay ninguna razón para que en internet exista una sola explicación. Solo hay que encontrar la que te funcione.
      Al aprender conceptos de matemáticas o electrónica también pasa: la primera explicación suele ser difícil, pero al ver varias versiones al final tu comprensión se vuelve más profunda.
  • Tal vez estoy desactualizado, pero me pregunto si los transformers ya reemplazaron por completo arquitecturas de deep learning anteriores como U-net.

    • Para nada. La obsesión excesiva con los transformers no está respaldada por los datos reales de rendimiento.
      Por ejemplo, las CNNs siguen siendo muy poderosas, especialmente en tareas de visión especializadas como imágenes médicas.
      En modelos invariantes a rotación, redes neuronales de grafos o modelos de point clouds, los transformers incluso pueden ser inadecuados.
      Es decir, siguen existiendo varias arquitecturas alternativas.
      Artículo relacionado: CNNs can still do just as well
  • Tengo este libro, y cuando el equipo decidió introducir LLMs en el sistema fue realmente un salvavidas.

    • Pero no creo que sea necesario entender la arquitectura transformer para poder trabajar con LLMs.
      Al final, los LLMs son sistemas sintéticos que imitan el razonamiento humano, así que incluso conociendo su estructura interna es difícil predecir sus patrones de error.
      Es más importante desarrollar intuición mediante experiencia y experimentación.
  • Creo que el interior de los transformers terminará siendo menos importante, como el interior de un compilador.
    A la mayoría de los desarrolladores les importará más “cómo usarlo” que la implementación interna.

    • De hecho, muchos profesionales usan LLMs sin siquiera conocer conceptos básicos de machine learning. Incluso es raro encontrar gente que sepa la diferencia entre bias y variance.
    • Pero alguien igual tiene que entender a fondo el interior. Para empujar y mantener el SOTA, se necesitan expertos que conozcan la estructura interna.
      Igual que con sistemas operativos, compiladores o hardware como GPUs/TPUs, los transformers también deben seguir mejorando, así que el papel de quienes tienen ese conocimiento se vuelve todavía más importante.
  • Excelente artículo, y parece haber inspirado el proyecto reciente Illustrated Evo 2.
    Enlace al blog de NVIDIA Research

  • La gente piensa en Key/Query/Value como si fueran conceptos especiales, pero en realidad el transformer no es más que una estructura extendida de multiplicación de matrices.
    Si una capa de una red neuronal típica es matrix * input, el transformer calcula input * MatrixA, input * MatrixB, input * MatrixC y luego combina los resultados.
    Al final, todo es repetición de operaciones matriciales. Para más detalles, ve el blog de PyTorch.

    • Yo suelo pensar en la convolution como modelo mental para el mecanismo K/Q/V.
      La attention también se aprende sin depender de una posición fija, transforma regiones grandes de la entrada en nuevos valores, y múltiples heads aprenden distintos aspectos en paralelo. Es una idea parecida a los kernels de la convolution.
  • Esta guía es realmente enorme. Usarla junto con herramientas como Claude Code para generar pseudocódigo en PyTorch ayuda muchísimo a entender visualmente los conceptos.
    Es un gran material para sentarse unas cuantas horas y aprender a fondo.