Inteligencia artificial
Ascenso de NLP con Modelos de Transformador | Un Análisis Integral 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 debido a la arquitectura del transformador. Estos avances no solo han mejorado las capacidades 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: Las Fundaciones Antes de los Transformadores
Incrustaciones de Palabras: De One-Hot a Word2Vec
En los enfoques tradicionales de NLP, la representación de palabras a menudo era 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á “caliente” (establecido en 1) mientras que todos los demás están “fríos” (establecidos en 0). En el contexto de NLP, cada palabra en un vocabulario se representa mediante vectores one-hot donde cada vector es del tamaño del vocabulario, y cada palabra se representa mediante un vector con todos 0 y un 1 en el índice correspondiente a esa palabra en la lista de 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 V como el tamaño de nuestro vocabulario y wi como el vector de representación one-hot de la i-ésima palabra en el vocabulario, la representación matemática de wi sería:
wi=[0,0,…,1,…,0,0] donde la posición i-ésima es 1 y todas las demás posiciones son 0.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 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, típicamente 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 la 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 vw, y nuestro espacio de incrustación tiene d dimensiones, entonces vw se puede representar como:
v1=[v1,v2,…,vd] donde cada vi es un número de punto flotante que representa una característica de la palabra en el espacio de incrustación.
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”)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 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 Secuencia: RNN y LSTMs
A medida que el campo avanzaba, el enfoque se desplazó hacia la comprensión de 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 de 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 un desafío aprender correlaciones entre eventos distantes.
Las Redes de Memoria de Corto Plazo Larga (LSTMs), introducidas por Sepp Hochreiter y Jürgen Schmidhuber en 1997, abordaron este problema con una arquitectura más sofisticada. Las LSTMs 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, actualiza o descarta, lo que permite a la red preservar dependencias de largo plazo y mejorar significativamente el rendimiento en una amplia gama de tareas de NLP.
La Arquitectura del Transformador
El panorama de NLP experimentó una transformación dramática con la introducción del modelo de transformador en el artículo seminal “Attention is All You Need” de Vaswani et al. en 2017. La arquitectura del transformador se aparta del procesamiento secuencial de las RNN y las LSTMs y utiliza en su lugar un mecanismo llamado ‘autoatención’ para ponderar la influencia de 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 entender el contexto y las relaciones entre las palabras, independientemente de su posición en el texto.
Encoder y Decoder 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 encoder y el decoder. Ambas partes están compuestas por capas que tienen la misma estructura general pero sirven para diferentes propósitos.
Encoder:
- Función: La función del encoder es procesar los datos de entrada y crear una representación que capture las relaciones entre los elementos (como las palabras en una oración). Esta parte del transformador no genera ningún contenido nuevo; simplemente transforma la entrada en un estado que el decoder puede utilizar.
- Funcionalidad: Cada capa del encoder tiene mecanismos de autoatención y redes neuronales feed-forward. El mecanismo de autoatención permite a cada posición en el encoder atender a todas las posiciones en la capa anterior del encoder—por lo tanto, puede aprender el contexto alrededor de cada palabra.
- Incrustaciones Contextuales: La salida del encoder 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.
Decoder:
- Función: La función del decoder es generar datos de salida secuencialmente, uno a la vez, basándose en la entrada que recibe del encoder 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 decoder también contienen mecanismos de autoatención, pero están enmascaradas para evitar que las posiciones atiendan a posiciones posteriores. Esto garantiza que la predicción para una posición particular solo pueda depender de salidas conocidas en posiciones anteriores. Además, las capas del decoder incluyen un segundo mecanismo de atención que atiende a la salida del encoder, integrando el contexto de la entrada en el proceso de generación.
- Capacidad de Generación Secuencial: Esto se refiere a la capacidad del decoder para generar una secuencia una a la vez, basándose en lo que ya ha producido. Por ejemplo, al generar texto, el decoder predice la próxima palabra basándose en el contexto proporcionado por el encoder y la secuencia de palabras que ya ha generado.
Cada una de estas subcapas dentro del encoder y del decoder es crucial para la capacidad del modelo para manejar tareas de NLP complejas. El mecanismo de autoatención múltiple, 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 Codificación 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 preentrenar en un gran corpus de texto con un modelo de lenguaje con máscara y predicción de la próxima oración, 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 la traducción, la resumen y la respuesta a preguntas.
GPT (Transformador Generativo Preentrenado): Desarrollado por OpenAI, la línea de modelos GPT comenzó con GPT-1 y llegó a GPT-4 en 2023. Estos modelos se preentrenan 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 la tokenización WordPiece con un tamaño de vocabulario de alrededor de 30,000 tokens.
- GPT: Emplea la 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 la tokenización SentencePiece que trata el texto como crudo y no requiere palabras presegmentadas.
2. Objetivos de Preentrenamiento
- BERT: Modelado de lenguaje con máscara (MLM) y predicción de la próxima oración (NSP).
- GPT: Modelado de lenguaje causal (CLM), donde cada token predice el próximo 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: Las incrustaciones de token, segmento y posición se combinan para representar la entrada.
- GPT: Las 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 posición en el encoder atienda a todas las posiciones—por lo tanto, puede aprender el contexto alrededor de cada palabra.
- GPT: También utiliza codificaciones de posición absoluta pero restringe la atención a tokens anteriores (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 encoder con múltiples capas de bloques de transformador.
- GPT: Arquitectura solo de decoder, también con múltiples capas pero diseñada para tareas generativas.
- T5: Arquitectura de encoder-decoder, donde tanto el encoder como el decoder están compuestos por capas de transformador.
6. Enfoque de Ajuste
- BERT: Ajusta los estados ocultos finales del modelo preentrenado 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 diversificados 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 entender el contexto en ambas direcciones simultáneamente.
- GPT: Entrenado para entender el contexto en una dirección (de izquierda a derecha).
- T5: Puede modelar el contexto bidireccional en el encoder y unidireccional en el decoder, adecuado para tareas de secuencia a secuencia.
9. Adaptabilidad a Tareas Downstream
- BERT: Requiere capas de cabeza específicas de tarea y ajuste para cada tarea downstream.
- GPT: Es generativo por naturaleza y puede ser instigado a realizar tareas con cambios mínimos en su estructura.
- T5: Trata todas las tareas 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: La atención unidireccional puede ser más fácil de seguir pero carece de la profundidad del contexto bidireccional.
- T5: El marco de encoder-decoder proporciona una clara separación de 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 la eficiencia del entrenamiento de redes neuronales grandes. 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 la traducción, la respuesta a preguntas y la 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 debido a avances en la arquitectura y los 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.













