Modelos y plataformas de IA
El auge del NLP con modelos de Transformadores | Un análisis exhaustivo de T5, BERT y GPT
El Procesamiento de Lenguaje Natural (NLP) ha experimentado algunos de los avances más impactantes en los últimos años, principalmente gracias a la arquitectura de transformadores. Estos avances no solo han mejorado la capacidad de las máquinas para entender y generar lenguaje humano, sino que también han redefinido el panorama de numerosas aplicaciones, desde motores de búsqueda hasta inteligencia conversacional.
Para apreciar plenamente la importancia de los transformadores, debemos mirar hacia atrás a los predecesores y bloques de construcción que sentaron las bases para esta arquitectura revolucionaria.
Técnicas de NLP tempranas: Los cimientos antes de los Transformadores
Incrustaciones de palabras: De One-Hot a Word2Vec
En los enfoques tradicionales de NLP, la representación de las palabras era a menudo literal y carecía de cualquier forma de comprensión semántica o sintáctica. La codificación one-hot es un ejemplo principal de esta limitación.
La codificación one-hot es un proceso por el cual las variables categóricas se convierten en una representación vectorial binaria donde solo un bit está “activo” (establecido en 1) mientras que todos los demás están “inactivos” (establecidos en 0). En el contexto de NLP, cada palabra en un vocabulario se representa mediante vectores one-hot donde cada vector tiene el tamaño del vocabulario, y cada palabra se representa por un vector con todos 0 y un 1 en el índice correspondiente a esa palabra en la lista del vocabulario.
Ejemplo de codificación one-hot
Supongamos que tenemos un vocabulario diminuto con solo cinco palabras: [“rey”, “reina”, “hombre”, “mujer”, “niño”]. Los vectores de codificación one-hot para cada palabra serían así:
- “rey” -> [1, 0, 0, 0, 0]
- “reina” -> [0, 1, 0, 0, 0]
- “hombre” -> [0, 0, 1, 0, 0]
- “mujer” -> [0, 0, 0, 1, 0]
- “niño” -> [0, 0, 0, 0, 1]
Representación matemática
Si denotamos como el tamaño de nuestro vocabulario y como la representación vectorial one-hot de la i-ésima palabra en el vocabulario, la representación matemática de sería:
donde la posición i-ésima es 1 y todas las demás posiciones son 0.
La principal desventaja de la codificación one-hot es que trata cada palabra como una entidad aislada, sin relación con otras palabras. Esto resulta en vectores dispersos y de alta dimensionalidad que no capturan ninguna información semántica o sintáctica sobre las palabras.
La introducción de incrustaciones de palabras, más notablemente Word2Vec, fue un momento crucial en NLP. Desarrollado por un equipo en Google (GOOGL ) liderado por Tomas Mikolov en 2013, Word2Vec representó palabras en un espacio vectorial denso, capturando relaciones sintácticas y semánticas de palabras basadas en su contexto dentro de grandes corpus de texto.
A diferencia de la codificación one-hot, Word2Vec produce vectores densos, generalmente con cientos de dimensiones. Las palabras que aparecen en contextos similares, como “rey” y “reina”, tendrán representaciones vectoriales que están más cerca una de la otra en el espacio vectorial.
Para ilustrar, supongamos que hemos entrenado un modelo Word2Vec y ahora representamos palabras en un espacio hipotético de 3 dimensiones. Las incrustaciones (que suelen ser más de 3D pero se reducen aquí para simplicidad) podrían parecerse a esto:
- “rey” -> [0.2, 0.1, 0.9]
- “reina” -> [0.21, 0.13, 0.85]
- “hombre” -> [0.4, 0.3, 0.2]
- “mujer” -> [0.41, 0.33, 0.27]
- “niño” -> [0.5, 0.5, 0.1]
Aunque estos números son ficticios, ilustran cómo las palabras similares tienen vectores similares.
Representación matemática
Si representamos la incrustación Word2Vec de una palabra como , y nuestro espacio de incrustación tiene dimensiones, entonces se puede representar como:
Relaciones semánticas
Word2Vec incluso puede capturar relaciones complejas, como analogías. Por ejemplo, la relación famosa capturada por las incrustaciones Word2Vec es:
vector(“rey”) – vector(“hombre”) + vector(“mujer”)≈vector(“reina”)
Esto es posible porque Word2Vec ajusta los vectores de palabras durante el entrenamiento para que las palabras que comparten contextos comunes en el corpus estén posicionadas cerca una de la otra en el espacio vectorial.
Word2Vec utiliza dos arquitecturas principales para producir una representación distribuida de palabras: Continuous Bag-of-Words (CBOW) y Skip-Gram. CBOW predice una palabra objetivo a partir de sus palabras de contexto circundantes, mientras que Skip-Gram hace lo contrario, prediciendo palabras de contexto a partir de una palabra objetivo. Esto permitió a las máquinas comenzar a entender el uso y el significado de las palabras de una manera más matizada.
Modelado de secuencias: RNN y LSTM
A medida que el campo avanzaba, la atención se centró en entender secuencias de texto, lo cual era crucial para tareas como la traducción automática, la resumen de texto y el análisis de sentimiento. Las Redes Neuronales Recurrentes (RNN) se convirtieron en la piedra angular para estas aplicaciones debido a su capacidad para manejar datos secuenciales manteniendo una forma de memoria.
Sin embargo, las RNN no estaban exentas de limitaciones. Luchaban con dependencias a largo plazo debido al problema del gradiente desvaneciente, donde la información se pierde a lo largo de secuencias largas, lo que hace que sea desafiante aprender correlaciones entre eventos distantes.
Las Redes de Memoria a Corto Plazo (LSTM), introducidas por Sepp Hochreiter y Jürgen Schmidhuber en 1997, abordaron este problema con una arquitectura más sofisticada. Las LSTM tienen puertas que controlan el flujo de información: la puerta de entrada, la puerta de olvido y la puerta de salida. Estas puertas determinan qué información se almacena, se actualiza o se descarta, lo que permite a la red preservar dependencias a largo plazo y mejorar significativamente el rendimiento en una amplia gama de tareas de NLP.
La Arquitectura de Transformadores
El panorama de NLP experimentó una transformación dramática con la introducción del modelo de transformador en el artículo fundamental “Attention is All You Need” de Vaswani et al. en 2017. La arquitectura de transformadores se aleja del procesamiento secuencial de las RNN y las LSTM, y en su lugar utiliza un mecanismo llamado ‘autoatención’ para ponderar la influencia de las diferentes partes de los datos de entrada.
La idea central del transformador es que puede procesar toda la información de entrada al mismo tiempo, en lugar de secuencialmente. Esto permite una mayor paralelización y, como resultado, aumentos significativos en la velocidad de entrenamiento. El mecanismo de autoatención permite al modelo enfocarse en diferentes partes del texto a medida que lo procesa, lo cual es crucial para comprender el contexto y las relaciones entre las palabras, sin importar su posición en el texto.
Codificador y Decodificador en Transformadores:
En el modelo de Transformador original, como se describe en el artículo “Attention is All You Need” de Vaswani et al., la arquitectura se divide en dos partes principales: el codificador y el decodificador. Ambas partes están compuestas por capas que tienen la misma estructura general pero sirven para diferentes propósitos.
Codificador:
- Función: La función del codificador es procesar los datos de entrada y crear una representación que capture las relaciones entre los elementos (como palabras en una oración). Esta parte del transformador no genera ningún contenido nuevo; simplemente transforma la entrada en un estado que el decodificador puede utilizar.
- Funcionalidad: Cada capa del codificador tiene mecanismos de autoatención y redes neuronales feed-forward. El mecanismo de autoatención permite que cada posición en el codificador atienda a todas las posiciones en la capa anterior del codificador, lo que le permite aprender el contexto alrededor de cada palabra.
- Incrustaciones contextuales: La salida del codificador es una serie de vectores que representan la secuencia de entrada en un espacio de alta dimensionalidad. Estos vectores a menudo se denominan incrustaciones contextuales porque codifican no solo las palabras individuales sino también su contexto dentro de la oración.
Decodificador:
- Función: La función del decodificador es generar datos de salida secuencialmente, una parte a la vez, basándose en la entrada que recibe del codificador y en lo que ha generado hasta ahora. Está diseñado para tareas como la generación de texto, donde el orden de generación es crucial.
- Funcionalidad: Las capas del decodificador también contienen mecanismos de autoatención, pero están enmascarados para evitar que las posiciones atiendan a posiciones posteriores. Esto garantiza que la predicción para una posición particular solo dependa de salidas conocidas en posiciones anteriores. Además, las capas del decodificador incluyen un segundo mecanismo de atención que atiende a la salida del codificador, integrando el contexto de la entrada en el proceso de generación.
- Capacidad de generación secuencial: Esto se refiere a la capacidad del decodificador para generar una secuencia una parte a la vez, basándose en lo que ya ha producido. Por ejemplo, cuando se genera texto, el decodificador predice la próxima palabra basándose en el contexto proporcionado por el codificador y la secuencia de palabras que ya ha generado.
Cada una de estas subcapas dentro del codificador y el decodificador es crucial para la capacidad del modelo para manejar tareas de NLP complejas. El mecanismo de autoatención multi-cabeza, en particular, permite al modelo enfocarse selectivamente en diferentes partes de la secuencia, proporcionando una comprensión rica del contexto.
Modelos populares que utilizan Transformadores
Después del éxito inicial del modelo de transformador, hubo una explosión de nuevos modelos construidos sobre su arquitectura, cada uno con sus propias innovaciones y optimizaciones para diferentes tareas:
BERT (Representaciones de codificador bidireccional de transformadores): Introducido por Google en 2018, BERT revolucionó la forma en que se integra la información contextual en las representaciones del lenguaje. Al pre-entrenar en un gran corpus de texto con un modelo de lenguaje con máscara y predicción de oración siguiente, BERT captura contextos bidireccionales ricos y ha logrado resultados de estado del arte en una amplia gama de tareas de NLP.
T5 (Transformador de transferencia de texto a texto): Introducido por Google en 2020, T5 reformula todas las tareas de NLP como un problema de texto a texto, utilizando un formato de texto unificado. Este enfoque simplifica el proceso de aplicar el modelo a una variedad de tareas, incluyendo traducción, resumen y respuesta a preguntas.
GPT (Transformador generativo pre-entrenado): Desarrollado por OpenAI, la línea de modelos GPT comenzó con GPT-1 y llegó a GPT-4 en 2023. Estos modelos se pre-entrenan utilizando aprendizaje no supervisado en vastas cantidades de datos de texto y se ajustan para varias tareas. Su capacidad para generar texto coherente y contextualmente relevante los ha hecho muy influyentes en aplicaciones de AI tanto académicas como comerciales.
Aquí hay una comparación más detallada de los modelos T5, BERT y GPT en varias dimensiones:
1. Tokenización y vocabulario
- BERT: Utiliza tokenización WordPiece con un tamaño de vocabulario de alrededor de 30,000 tokens.
- GPT: Emplea codificación por pares de bytes (BPE) con un tamaño de vocabulario grande (por ejemplo, GPT-3 tiene un tamaño de vocabulario de 175,000).
- T5: Utiliza tokenización SentencePiece que trata el texto como crudo y no requiere palabras pre-segmentadas.
2. Objetivos de pre-entrenamiento
- BERT: Modelado de lenguaje con máscara y predicción de oración siguiente.
- GPT: Modelado de lenguaje causal, donde cada token predice el siguiente token en la secuencia.
- T5: Utiliza un objetivo de desenmascaramiento donde se reemplazan espacios de texto aleatorios con un token centinela y el modelo aprende a reconstruir el texto original.
3. Representación de entrada
- BERT: Incrustaciones de token, segmento y posición se combinan para representar la entrada.
- GPT: Incrustaciones de token y posición se combinan (no hay incrustaciones de segmento ya que no está diseñado para tareas de pares de oraciones).
- T5: Solo incrustaciones de token con codificaciones de posición relativa agregadas durante las operaciones de atención.
4. Mecanismo de atención
- BERT: Utiliza codificaciones de posición absoluta y permite que cada token atienda a todos los tokens a la izquierda y a la derecha (atención bidireccional).
- GPT: También utiliza codificaciones de posición absoluta pero restringe la atención a tokens anteriores solo (atención unidireccional).
- T5: Implementa una variante del transformador que utiliza sesgos de posición relativa en lugar de incrustaciones de posición.
5. Arquitectura del modelo
- BERT: Arquitectura solo de codificador con múltiples capas de bloques de transformador.
- GPT: Arquitectura solo de decodificador, también con múltiples capas pero diseñada para tareas generativas.
- T5: Arquitectura de codificador-decodificador, donde tanto el codificador como el decodificador están compuestos por capas de transformador.
6. Enfoque de ajuste fino
- BERT: Ajusta los estados ocultos finales del modelo pre-entrenado para tareas downstream con capas de salida adicionales según sea necesario.
- GPT: Agrega una capa lineal encima del transformador y ajusta en la tarea downstream utilizando el mismo objetivo de modelado de lenguaje causal.
- T5: Convierte todas las tareas en un formato de texto a texto, donde el modelo se ajusta para generar la secuencia de salida a partir de la secuencia de entrada.
7. Datos de entrenamiento y escala
- BERT: Entrenado en BooksCorpus y Wikipedia en inglés.
- GPT: GPT-2 y GPT-3 han sido entrenados en conjuntos de datos diversos extraídos de Internet, con GPT-3 entrenado en un corpus aún más grande llamado Common Crawl.
- T5: Entrenado en el “Corpus de Crawled Clean Colossal”, que es una versión grande y limpia del Common Crawl.
8. Manejo de contexto y bidireccionalidad
- BERT: Diseñado para comprender el contexto en ambas direcciones simultáneamente.
- GPT: Entrenado para comprender el contexto en una dirección hacia adelante (de izquierda a derecha).
- T5: Puede modelar contexto bidireccional en el codificador y unidireccional en el decodificador, adecuado para tareas de secuencia a secuencia.
9. Adaptabilidad a tareas downstream
- BERT: Requiere capas de cabeza de tarea específicas y ajuste fino para cada tarea downstream.
- GPT: Es generativo por naturaleza y puede ser instado a realizar tareas con cambios mínimos en su estructura.
- T5: Trata cada tarea como un problema de “texto a texto”, lo que lo hace inherentemente flexible y adaptable a nuevas tareas.
10. Interpretabilidad y explicabilidad
- BERT: La naturaleza bidireccional proporciona incrustaciones contextuales ricas pero puede ser más difícil de interpretar.
- GPT: El contexto unidireccional puede ser más sencillo de seguir pero carece de la profundidad del contexto bidireccional.
- T5: El marco de codificador-decodificador proporciona una separación clara de los pasos de procesamiento pero puede ser complejo de analizar debido a su naturaleza generativa.
El impacto de los Transformadores en NLP
Los transformadores han revolucionado el campo de NLP al permitir que los modelos procesen secuencias de datos en paralelo, lo que aumentó dramáticamente la velocidad y eficiencia del entrenamiento de grandes redes neuronales. Introdujeron el mecanismo de autoatención, que permite a los modelos ponderar la importancia de cada parte de los datos de entrada, independientemente de la distancia dentro de la secuencia. Esto llevó a mejoras sin precedentes en una amplia gama de tareas de NLP, incluyendo pero no limitado a traducción, respuesta a preguntas y resumen de texto.
La investigación continúa empujando los límites de lo que los modelos basados en transformadores pueden lograr. GPT-4 y sus contemporáneos no solo son más grandes en escala sino también más eficientes y capaces gracias a avances en arquitectura y métodos de entrenamiento. Técnicas como el aprendizaje de pocos disparos, donde los modelos realizan tareas con ejemplos mínimos, y métodos para un aprendizaje de transferencia más efectivo están en la vanguardia de la investigación actual.
Los modelos de lenguaje como los basados en transformadores aprenden de datos que pueden contener sesgos. Los investigadores y practicantes están trabajando activamente para identificar, comprender y mitigar estos sesgos. Las técnicas van desde conjuntos de datos de entrenamiento curados hasta ajustes posteriores al entrenamiento dirigidos a la equidad y la neutralidad.















