Introducción a los modelos de transformadores: qué son y cómo funcionan

Publicado: 2024-08-07

Los transformadores son un gran avance en la IA, especialmente en el procesamiento del lenguaje natural (PNL). Reconocidos por su rendimiento y escalabilidad, son vitales en aplicaciones como la traducción de idiomas y la IA conversacional. Este artículo explora su estructura, comparaciones con otras redes neuronales y sus ventajas y desventajas.

Tabla de contenido

  • ¿Qué es un modelo de transformador?
  • Transformadores frente a CNN y RNN
  • Cómo funcionan los modelos de transformadores
  • Ejemplos de modelos de transformadores.
  • Ventajas
  • Desventajas

¿Qué es un modelo de transformador?

Un transformador es un tipo de modelo de aprendizaje profundo que se usa ampliamente en PNL. Debido a su escalabilidad y rendimiento de tareas, es el núcleo de modelos como la serie GPT (fabricada por OpenAI), Claude (fabricada por Anthropic) y Gemini (fabricada por Google) y se utiliza ampliamente en toda la industria.

Los modelos de aprendizaje profundo constan de tres componentes principales: arquitectura del modelo, datos de entrenamiento y métodos de entrenamiento. Dentro de este marco, un transformador representa un tipo de arquitectura modelo. Define la estructura de las redes neuronales y sus interacciones. La innovación clave que diferencia a los transformadores de otros modelos de aprendizaje automático (ML) es el uso de la "atención".

La atención es un mecanismo en los transformadores que les permite procesar entradas de manera eficiente y mantener información durante secuencias largas (por ejemplo, un ensayo completo).

He aquí un ejemplo para ilustrar. “El gato estaba sentado en la orilla junto al río. Luego se trasladó a la rama del árbol cercano”. Puede reconocer que aquí "banco" no es el banco en el que deposita dinero. Probablemente usarías la pista contextual de "río" para descubrirlo. La atención funciona de manera similar; utiliza las otras palabras para definir lo que significa cada palabra. ¿A qué se refiere “eso” en el ejemplo? El modelo miraría las palabras "movido" y "árbol" como pistas para darse cuenta de que la respuesta es "gato".

La pregunta importante sin respuesta es cómo sabe el modelo qué palabras mirar. Llegaremos a eso un poco más tarde. Pero ahora que hemos definido el modelo de transformador, expliquemos con más detalle por qué se usa tanto.

Trabaja de forma más inteligente con Grammarly
El compañero de redacción de IA para cualquiera que tenga trabajo que hacer

Transformadores frente a CNN y RNN

Las redes neuronales recurrentes (RNN) y las redes neuronales convolucionales (CNN) son otros dos modelos comunes de aprendizaje profundo. Si bien las RNN y las CNN tienen sus ventajas, los transformadores se utilizan más ampliamente porque manejan mucho mejor las entradas largas.

Transformadores versus RNN

Las redes neuronales recurrentes son modelos secuenciales. Una analogía adecuada es la de un ser humano leyendo un libro. A medida que leen, palabra por palabra, su memoria y comprensión del libro evolucionan. Los lectores astutos podrían incluso predecir lo que sucederá a continuación basándose en lo que sucedió antes. Un RNN funciona de la misma manera. Lee palabra por palabra, actualiza su memoria (lo que se denomina estado oculto) y luego puede hacer una predicción (por ejemplo, la siguiente palabra de la oración o el sentimiento de algún texto). La desventaja es que el estado oculto no puede contener mucha información. Si introdujera un libro completo en un RNN, no recordaría muchos detalles sobre los capítulos de introducción porque hay mucho espacio en su estado oculto. Los capítulos posteriores, en virtud de que se agregaron al estado oculto más recientemente, tienen prioridad.

Los transformadores no sufren el mismo problema de memoria. Comparan cada palabra con todas las demás palabras de la entrada (como parte del mecanismo de atención) para no necesitar utilizar un estado oculto o "recordar" lo que sucedió antes. Usando la misma analogía del libro, un transformador es como un ser humano que lee la siguiente palabra de un libro y luego mira cada palabra anterior del libro para comprender la nueva palabra correctamente. Si la primera oración de un libro contuviera la frase "Nació en Francia" y la última oración de un libro contuviera la frase "su lengua materna", el transformador podría deducir que su lengua materna es el francés. Es posible que un RNN no pueda hacer eso, ya que no se garantiza que el estado oculto mantenga esa información. Además, un RNN necesita leer cada palabra una a la vez y luego actualizar su estado oculto. Un transformador puede aplicar su atención en paralelo.

Transformadores versus CNN

Las redes neuronales convolucionales utilizan el contexto circundante de cada elemento en una secuencia para asignar significado. Para una palabra en una página, las CNN observarían las palabras que la rodean inmediatamente para descubrir el significado de la palabra. No podría conectar la última y la primera página de un libro. Las CNN se utilizan predominantemente con imágenes porque los píxeles suelen relacionarse con sus vecinos mucho más que las palabras. Dicho esto, las CNN también se pueden utilizar para PNL.

Los transformadores se diferencian de las CNN en que analizan algo más que los vecinos inmediatos de un elemento. Utilizan un mecanismo de atención para comparar cada palabra con todas las demás palabras de la entrada, lo que proporciona una comprensión más amplia y completa del contexto.

¿Cómo funcionan los modelos de transformadores?

Los transformadores tienen capas de bloques de atención, redes neuronales de avance e incrustaciones. El modelo recibe una entrada basada en texto y devuelve texto de salida. Para ello sigue estos pasos:

  1. Tokenización:convierte el texto en tokens (similar a dividir una oración en palabras individuales).
  2. Incrustación:convierte los tokens en vectores, incorporando incrustaciones posicionales para que el modelo comprenda la ubicación del token en la entrada.
  3. Mecanismo de atención:procesa los tokens mediante autoatención (para tokens de entrada) o atención cruzada (entre tokens de entrada y tokens generados). Este mecanismo permite al modelo sopesar la importancia de diferentes tokens al generar resultados.
  4. Red neuronal feedforward:pasa el resultado a través de una red neuronal feedforward, que permite al modelo capturar patrones complejos mediante la introducción de no linealidad.
  5. Repetición:los pasos 3 y 4 se repiten varias veces en varias capas para refinar el resultado.
  6. Distribución de salida:produce una distribución de probabilidad sobre todos los tokens posibles.
  7. Selección de token:Elige el token con mayor probabilidad.

Este proceso constituye un paso hacia adelante a través del modelo de transformador. El modelo hace esto repetidamente hasta que ha completado su texto de salida. Dentro de cada pasada, el proceso de incrustación se puede realizar en paralelo, al igual que el mecanismo de atención y la etapa de avance. Básicamente, el transformador no necesita procesar cada token de uno en uno. Puede prestar atención a todos los tokens al mismo tiempo.

Ahora podemos pasar a la pregunta anterior: ¿Cómo sabe el modelo a qué tokens prestar atención? La respuesta es simplemente observar muchos datos de entrenamiento. Al principio, el modelo atenderá los tokens incorrectos y, por lo tanto, generará resultados incorrectos. Utilizando el resultado correcto que viene con los datos de entrenamiento, el mecanismo de atención se puede modificar para generar la respuesta correcta la próxima vez. En miles de millones (e incluso billones) de ejemplos, el mecanismo de atención puede seleccionar los tokens adecuados casi todo el tiempo.

Ejemplos de modelos de transformadores.

Los transformadores están por todas partes. Aunque se diseñaron inicialmente para la traducción, los transformadores se han adaptado bien a casi todas las tareas de lenguaje, visión e incluso audio.

Grandes modelos de lenguaje

La arquitectura transformadora impulsa casi todos los modelos de lenguajes grandes (LLM): GPT, Claude, Gemini, Llama y muchos modelos más pequeños de código abierto. Los LLM pueden manejar diversas tareas de texto (y, cada vez más, de imágenes y audio), como la respuesta a preguntas, la clasificación y la generación de formas libres.

Esto se logra entrenando el modelo transformador en miles de millones de ejemplos de texto (generalmente extraídos de Internet). Luego, las empresas ajustan el modelo con ejemplos de clasificación para enseñarle cómo realizar la clasificación correctamente. En resumen, el modelo aprende una amplia base de conocimientos y luego se le “enseñan” habilidades mediante ajustes.

Transformadores de visión

Los transformadores de visión son transformadores estándar adaptados para trabajar con imágenes. La principal diferencia es que el proceso de tokenización tiene que funcionar con imágenes en lugar de texto. Una vez que la entrada se convierte en tokens, se produce el cálculo normal del transformador y, finalmente, los tokens de salida se utilizan para clasificar la imagen (por ejemplo, la imagen de un gato). Los transformadores de visión a menudo se combinan con LLM de texto para formar LLM multimodales. Estos modelos multimodales pueden tomar una imagen y razonar sobre ella, como aceptar un boceto de interfaz de usuario y recuperar el código necesario para crearlo.

Las CNN también son populares para tareas de imágenes, pero los transformadores permiten que el modelo utilice todos los píxeles de la imagen en lugar de solo los píxeles cercanos. Por ejemplo, si una imagen contenía una señal de alto en el extremo izquierdo y un automóvil en el extremo derecho, el modelo podría determinar que el automóvil debe detenerse. Es posible que una CNN no pueda conectar esos dos puntos de datos porque están lejos uno del otro en la imagen.

transformadores de audio

Los transformadores de audio, al igual que los transformadores de visión, son transformadores estándar con un esquema de tokenización único diseñado para datos de audio. Estos modelos pueden procesar tanto texto como audio sin procesar como entrada, generando texto o audio. Un ejemplo de esto es Whisper, un modelo de voz a texto que convierte audio sin procesar en una transcripción. Lo logra segmentando el audio en fragmentos, transformando estos fragmentos en espectrogramas y codificando los espectrogramas en incrustaciones. Estas incorporaciones luego son procesadas por el transformador, que genera los tokens de transcripción finales.

Más allá de las aplicaciones de voz a texto, los transformadores de audio tienen otros casos de uso, incluida la generación de música, subtítulos automáticos y conversión de voz. Además, las empresas están integrando transformadores de audio con LLM para permitir interacciones basadas en voz, permitiendo a los usuarios hacer preguntas y recibir respuestas a través de comandos de voz.

Ventajas de los modelos de transformadores.

Los transformadores se han vuelto omnipresentes en el campo del aprendizaje automático debido a su escalabilidad y rendimiento excepcional en una amplia gama de tareas. Su éxito se atribuye a varios factores clave:

Contexto largo

El mecanismo de atención puede comparar todos los tokens de la secuencia de entrada entre sí. Por lo tanto, la información de toda la entrada se recordará y se utilizará para generar la salida. Por el contrario, las RNN olvidan la información más antigua y las CNN solo pueden usar información cercana a cada token. Es por eso que puede cargar cientos de páginas en un chatbot de LLM, hacerle una pregunta sobre cualquiera de las páginas y obtener una respuesta precisa. La falta de contexto largo en RNN y CNN es la razónprincipalpor la que los transformadores los superan en tareas.

Paralelización

El mecanismo de atención en los transformadores se puede ejecutar en paralelo en todos los tokens de la secuencia de entrada. Esto contrasta con los RNN, que procesan tokens de forma secuencial. Como resultado, los transformadores pueden entrenarse e implementarse más rápidamente, proporcionando respuestas más rápidas a los usuarios. Esta capacidad de procesamiento paralelo mejora significativamente la eficiencia de los transformadores en comparación con los RNN.

Escalabilidad

Los investigadores han aumentado continuamente el tamaño de los transformadores y la cantidad de datos utilizados para entrenarlos. Todavía no han visto un límite en cuanto a cuánto pueden aprender los transformadores. Cuanto más grande es el modelo de transformador, más complejo y matizado es el texto que puede comprender y generar (GPT-3 tiene 175 mil millones de parámetros, mientras que GPT-4 tiene más de 1 billón). Sorprendentemente, ampliar los modelos de transformadores, como la creación de un modelo de 10 mil millones de parámetros en comparación con un modelo de mil millones de parámetros, no requiere mucho más tiempo. Esta escalabilidad convierte a los transformadores en herramientas potentes para diversas aplicaciones avanzadas.

Desventajas de los modelos de transformadores.

La desventaja de los modelos de transformadores es que requieren muchos recursos computacionales. El mecanismo de atención es cuadrático: cada token de la entrada se compara con todos los demás tokens. Dos tokens tendrían 4 comparaciones, tres tokens tendrían 9, cuatro tokens tendrían 16, y así sucesivamente; esencialmente, el costo computacional es el cuadrado del recuento de tokens. Este costo cuadrático tiene algunas implicaciones:

Hardware especializado

Los LLM no se pueden ejecutar fácilmente en una computadora promedio. Debido a su tamaño, suelen requerir decenas de gigabytes de RAM para cargar los parámetros del modelo. Además, las CPU tradicionales no están optimizadas para la computación paralela; en su lugar, se requiere una GPU. Un LLM que se ejecuta en una CPU podría tardar unos minutos en generar un único token. Desafortunadamente, las GPU no son exactamente el hardware más barato ni accesible.

Longitud de entrada limitada

Los transformadores tienen una cantidad limitada de texto que pueden procesar (conocida como longitud de contexto). GPT-3 originalmente solo podía procesar 2048 tokens. Los avances en las implementaciones de atención han generado modelos con longitudes de contexto de hasta 1 millón de tokens. Aun así, se necesita una investigación sustancial para encontrar cada muestra adicional de longitud del contexto. Por el contrario, los RNN no tienen una longitud de contexto máxima. Su precisión disminuye enormemente a medida que aumenta la entrada, pero ahora mismo se podría introducir una entrada de 2 millones de tokens en uno.

Costo de energía

Los centros de datos que alimentan la computación de los transformadores requieren energía para funcionar y agua para enfriarlos. Según una estimación, GPT-3 requirió 1.300 megavatios-hora de electricidad para entrenar: el equivalente a alimentar 130 hogares en los EE. UU. durante todo un año. A medida que los modelos crecen, aumenta la cantidad de energía necesaria. Para 2027, la industria de la IA podría necesitar tanta electricidad cada año como los Países Bajos. Se están realizando importantes esfuerzos para reducir la necesidad de transformadores de energía, pero este problema aún no se ha resuelto.