Volver al archivo
#ai#llm#glossary#aigen

Transformer

Quieres traducir la frase «El tren llegará mañana». Traducir cada palabra por separado no basta: la forma correcta depende de las demás palabras y de su orden. El modelo necesita una forma de combinar información del texto, incluso cuando los fragmentos importantes están alejados.

Transformer es una forma de construir una red neuronal, un programa que aprende cálculos a partir de ejemplos. Recibe un texto previamente dividido en tokens —fragmentos de texto— y crea descripciones de ellos como listas de números. Un programa separado, llamado tokenizador, realiza la división. En los bloques sucesivos mezcla información de las posiciones disponibles y transforma la descripción de cada posición. El mecanismo que combina el contexto se llama Self-attention.

En nuestra frase, la descripción de «llegará» puede tener en cuenta «tren» y «mañana». No es una regla manual para entender la gramática: la forma de mezclar procede del aprendizaje. Un mecanismo separado, como Positional Encoding, aporta la información del orden.

Gran parte de estos cálculos puede realizarse en paralelo durante el entrenamiento. Eso no significa que una respuesta nueva se cree entera a la vez: muchos modelos siguen añadiéndola fragmento a fragmento. Transformer describe la estructura del modelo, no una garantía de veracidad o comprensión del texto.

Mecanismo y detalles

En la entrada, los identificadores de tokens se convierten en vectores. La codificación posicional aporta información sobre su orden. Dentro del bloque, la atención de múltiples cabezas combina la información de las posiciones disponibles, y la red feed-forward transforma el resultado por separado para cada posición. Las conexiones residuales y la normalización ayudan a transmitir la señal a través de los bloques sucesivos. Estos elementos pueden verse en la implementación de TensorFlow.

Codificador y decodificador

El modelo original del trabajo de Vaswani et al., Attention Is All You Need, §3 tenía un codificador y un decodificador. El codificador creaba una representación de la frase de entrada, y el decodificador la utilizaba para generar la traducción.

Por ejemplo, al traducir «El tren llegará mañana», el decodificador calcula la distribución de probabilidad del siguiente token a partir de la entrada y de la parte de la respuesta ya disponible. Los cálculos de muchas posiciones durante el entrenamiento pueden realizarse en paralelo; generar una respuesta nueva puede seguir ocurriendo token por token.

El nombre Transformer no establece un tamaño de modelo ni un objetivo de entrenamiento concretos. Existen variantes solo de codificador y solo de decodificador, así que no deben atribuirse a todos los LLM los detalles de la configuración original. TensorFlow trata estas variantes al final de la guía.