talón La PNL aumenta con los modelos Transformer | Un análisis completo de T5, BERT y GPT - Unite.AI
Contáctanos

Inteligencia artificial

La PNL aumenta con los modelos Transformer | Un análisis completo de T5, BERT y GPT

mm

Publicado

 on

Guía sobre PNL

El procesamiento del lenguaje natural (PNL) ha experimentado algunos de los avances más impactantes en los últimos años, principalmente debido a la arquitectura transformadora. Estos avances no sólo han mejorado las capacidades de las máquinas para comprender y generar el lenguaje humano, sino que también han redefinido el panorama de numerosas aplicaciones, desde motores de búsqueda hasta IA conversacional.

Para apreciar plenamente la importancia de los transformadores, primero debemos mirar hacia atrás, a los predecesores y los componentes básicos que sentaron las bases de esta arquitectura revolucionaria.

Técnicas tempranas de PNL: los cimientos antes de los transformadores

Incrustaciones de Word: de One-Hot a Word2Vec

En los enfoques tradicionales de PNL, 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 excelente ejemplo de esta limitación.

La codificación one-hot es un proceso mediante 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 "fríos" (establecidos en 0). En el contexto de PNL, cada palabra en un vocabulario está representada por vectores one-hot donde cada vector es el tamaño del vocabulario, y cada palabra está representada por 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 minúsculo con sólo cinco palabras: [“rey”, “reina”, “hombre”, “mujer”, “niño”]. Los vectores de codificación one-hot para cada palabra se verí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 única de la i-ésima palabra en el vocabulario, la representación matemática de sería:

donde la i-ésima posición 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. Da como resultado vectores dispersos y de alta dimensión que no capturan ninguna información semántica o sintáctica sobre las palabras.

La introducción de incrustaciones de palabras, sobre todo Word2Vec, fue un momento crucial en la PNL. Desarrollado por un equipo de Google dirigido por Tomas Mikolov en 2013, Word2Vec representaba palabras en un espacio vectorial denso, capturando relaciones sintácticas y semánticas entre palabras en función de su contexto dentro de grandes corpus de texto.

A diferencia de la codificación one-hot, Word2Vec produce vectores densos, normalmente con cientos de dimensiones. Las palabras que aparecen en contextos similares, como “rey” y “reina”, tendrán representaciones vectoriales más cercanas entre sí en el espacio vectorial.

A modo de ilustración, supongamos que hemos entrenado un modelo Word2Vec y ahora representamos palabras en un espacio tridimensional hipotético. Las incrustaciones (que normalmente son más que 3D pero aquí reducidas para simplificar) podrían verse así:

  • “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]

Si bien estos números son ficticios, ilustran cómo 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 puede incluso capturar relaciones complejas, como analogías. Por ejemplo, la famosa relación capturada por las incrustaciones de 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 se coloquen cerca en el espacio vectorial.

Word2Vec utiliza dos arquitecturas principales para producir una representación distribuida de palabras: Bolsa continua de palabras (CBOW) y Skip-Gram. CBOW predice una palabra objetivo a partir de las palabras de contexto que la rodean, mientras que Skip-Gram hace lo contrario, prediciendo palabras de contexto a partir de una palabra objetivo. Esto permitió que las máquinas comenzaran a comprender el uso y el significado de las palabras de una manera más matizada.

Modelado de secuencias: RNN y LSTM

A medida que avanzaba el campo, la atención se centró en la comprensión de secuencias de texto, lo cual era crucial para tareas como la traducción automática, el resumen de texto y el análisis de sentimientos. Las redes neuronales recurrentes (RNN) se convirtieron en la piedra angular de estas aplicaciones debido a su capacidad para manejar datos secuenciales manteniendo una forma de memoria.

Sin embargo, los RNN no estaban exentos de limitaciones. Lucharon con dependencias a largo plazo debido al problema del gradiente evanescente, donde la información se pierde en secuencias largas, lo que dificulta el aprendizaje de correlaciones entre eventos distantes.

Redes de memoria a corto plazo (LSTM), introducidas por Sepp Hochreiter y Jürgen Schmidhuber en 1997, abordó este problema con una arquitectura más sofisticada. Los 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, actualiza o descarta, lo que permite a la red preservar dependencias a largo plazo y mejorar significativamente el rendimiento en una amplia gama de tareas de PNL.

La arquitectura del transformador

El panorama de la PNL experimentó una transformación dramática con la introducción del modelo transformador en el artículo histórico "La atención es todo lo que necesitas" de Vaswani et al. en 2017. La arquitectura del transformador se aparta del procesamiento secuencial de RNN y LSTM y, en su lugar, utiliza un mecanismo llamado "autoatención" para sopesar la influencia de diferentes partes de los datos de entrada.

La idea central del transformador es que puede procesar todos los datos de entrada a la vez, en lugar de hacerlo de forma secuencial. Esto permite una paralelización mucho mayor y, como resultado, aumentos significativos en la velocidad de entrenamiento. El mecanismo de autoatención permite que el modelo se centre 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 Transformer original, como se describe en el artículo "La atención es todo lo que necesitas”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 tienen diferentes propósitos.

Encoder:

  • 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 a un estado que el decodificador puede utilizar.
  • Funcionalidad: Cada capa de codificador tiene mecanismos de autoatención y redes neuronales de retroalimentación. El mecanismo de autoatención permite que cada posición en el codificador atienda todas las posiciones en la capa anterior del codificador; por lo tanto, puede 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 dimensión. A estos vectores se les suele denominar incrustaciones contextuales porque codifican no sólo las palabras individuales sino también su contexto dentro de la oración.

Descifrador:

  • Función: La función del decodificador es generar datos de salida secuencialmente, una parte a la vez, según la entrada que recibe del codificador y lo que ha generado hasta el momento. Está diseñado para tareas como la generación de texto, donde el orden de generación es crucial.
  • Funcionalidad: Las capas de 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 sólo pueda depender de resultados conocidos en posiciones anteriores. Además, las capas del decodificador incluyen un segundo mecanismo de atención que atiende la salida del codificador, integrando el contexto de la entrada en el proceso de generación.
  • Capacidades de generación secuencial: Esto se refiere a la capacidad del decodificador de generar una secuencia, un elemento a la vez, basándose en lo que ya ha producido. Por ejemplo, al generar texto, el decodificador predice la siguiente palabra en función del contexto proporcionado por el codificador y la secuencia de palabras que ya ha generado.

Cada una de estas subcapas dentro del codificador y decodificador es crucial para la capacidad del modelo para manejar tareas complejas de PNL. El mecanismo de atención de múltiples cabezas, en particular, permite que el modelo se centre selectivamente en diferentes partes de la secuencia, proporcionando una rica comprensión del contexto.

Modelos populares que aprovechan los transformadores

Tras el éxito inicial del modelo de transformador, hubo una explosión de nuevos modelos basados ​​en 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 realizar un entrenamiento previo en un gran corpus de texto con un modelo de lenguaje enmascarado y predicción de la siguiente oración, BERT captura contextos bidireccionales ricos y ha logrado resultados de vanguardia en una amplia gama de tareas de PNL.

BERTI

BERTI

T5 (Transformador de transferencia de texto a texto): Presentado por Google en 2020, T5 replantea todas las tareas de PNL como un problema de texto a texto, utilizando un formato unificado basado en texto. Este enfoque simplifica el proceso de aplicación del modelo a una variedad de tareas, incluidas la traducción, el resumen y la respuesta a preguntas.

Arquitectura t5

Arquitectura T5

GPT (Transformador preentrenado generativo): Desarrollado por OpenAI, la línea de modelos GPT comenzó con GPT-1 y llegó a GPT-4 en 2023. Estos modelos se entrenan previamente mediante aprendizaje no supervisado en grandes cantidades de datos de texto y se ajustan para diversas tareas. Su capacidad para generar texto coherente y contextualmente relevante los ha hecho muy influyentes en aplicaciones de IA tanto académicas como comerciales.

GPT

Arquitectura GPT

Aquí hay una comparación más detallada de los modelos T5, BERT y GPT en varias dimensiones:

1. Tokenización y vocabulario

  • BERTI: Utiliza tokenización de WordPieza con un tamaño de vocabulario de alrededor de 30,000 tokens.
  • GPT: Emplea codificación de pares de bytes (BPE) con un vocabulario de gran tamaño (por ejemplo, GPT-3 tiene un tamaño de vocabulario de 175,000 XNUMX).
  • T5: Utiliza tokenización SentencePiece que trata el texto como sin formato y no requiere palabras segmentadas previamente.

2. Objetivos previos al entrenamiento

  • BERTI: Modelado de lenguaje enmascarado (MLM) y predicción de la siguiente oración (NSP).
  • GPT: Modelado de lenguaje causal (CLM), donde cada token predice el siguiente token de la secuencia.
  • T5: Utiliza un objetivo de eliminación de ruido donde se reemplazan tramos aleatorios de texto con una ficha centinela y el modelo aprende a reconstruir el texto original.

3. Representación de entrada

  • BERTI: Las incrustaciones de token, segmento y posición se combinan para representar la entrada.
  • GPT: Se combinan incrustaciones de tokens y posicionales (sin incrustaciones de segmentos, ya que no está diseñado para tareas de pares de oraciones).
  • T5: Solo incrustaciones de tokens con codificaciones posicionales relativas agregadas durante las operaciones de atención.

4. Mecanismo de atención

  • BERTI: Utiliza codificaciones posicionales absolutas 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 posicionales absolutas pero restringe la atención únicamente a los tokens anteriores (atención unidireccional).
  • T5: Implementa una variante del transformador que utiliza polarizaciones de posición relativa en lugar de incrustaciones posicionales.

5. Arquitectura modelo

  • BERTI: Arquitectura de solo codificador con múltiples capas de bloques transformadores.
  • GPT: Arquitectura de solo decodificador, también con múltiples capas pero diseñada para tareas generativas.
  • T5: Arquitectura codificador-decodificador, donde tanto el codificador como el decodificador están compuestos por capas de transformador.

6. Enfoque de ajuste

  • BERTI: adapta los estados ocultos finales del modelo previamente entrenado para tareas posteriores con capas de salida adicionales según sea necesario.
  • GPT: Agrega una capa lineal en la parte superior del transformador y realiza ajustes en la tarea posterior utilizando el mismo objetivo de modelado de lenguaje causal.
  • T5: Convierte todas las tareas a un formato de texto a texto, donde el modelo se ajusta para generar la secuencia objetivo a partir de la secuencia de entrada.

7. Datos y escala de entrenamiento

  • BERTI: Capacitado en BooksCorpus y Wikipedia en inglés.
  • GPT: GPT-2 y GPT-3 se han entrenado en diversos conjuntos de datos extraídos de Internet, y GPT-3 se ha entrenado en un corpus aún más grande llamado Common Crawl.
  • T5: Entrenado en el “Colossal Clean Crawled Corpus”, que es una versión grande y limpia del Common Crawl.

8. Manejo del Contexto y Bidireccionalidad

  • BERTI: Diseñado para comprender el contexto en ambas direcciones simultáneamente.
  • GPT: Capacitado para comprender el contexto en dirección hacia adelante (de izquierda a derecha).
  • T5: Puede modelar contexto bidireccional en el codificador y unidireccional en el decodificador, apropiado para tareas de secuencia a secuencia.

9. Adaptabilidad a las tareas posteriores

  • BERTI: Requiere capas principales específicas de la tarea y ajustes para cada tarea posterior.
  • GPT: Es de naturaleza generativa y se le puede solicitar que realice tareas con cambios mínimos en su estructura.
  • T5: Trata cada tarea como un problema de “texto a texto”, lo que la hace inherentemente flexible y adaptable a nuevas tareas.

10. Interpretabilidad y explicabilidad

  • BERTI: La naturaleza bidireccional proporciona ricas incorporaciones contextuales, 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 codificador-decodificador proporciona una separación clara de los pasos de procesamiento, pero su análisis puede resultar complejo debido a su naturaleza generativa.

El impacto de los transformadores en la PNL

Los transformadores han revolucionado el campo de la PNL al permitir que los modelos procesen secuencias de datos en paralelo, lo que aumentó drásticamente la velocidad y la eficiencia del entrenamiento de grandes redes neuronales. Introdujeron el mecanismo de autoatención, que permite a los modelos sopesar la importancia de cada parte de los datos de entrada, independientemente de la distancia dentro de la secuencia. Esto condujo a mejoras sin precedentes en una amplia gama de tareas de PNL, incluidas, entre otras, la traducción, la respuesta a preguntas y el resumen de textos.

La investigación continúa ampliando los límites de lo que pueden lograr los modelos basados ​​en transformadores. GPT-4 y sus contemporáneos no sólo son de mayor escala sino también más eficientes y capaces debido a los avances en la arquitectura y los métodos de capacitación. Técnicas como el aprendizaje de pocas oportunidades, donde los modelos realizan tareas con ejemplos mínimos, y métodos para un aprendizaje por transferencia más efectivo están a 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 profesionales están trabajando activamente para identificar, comprender y mitigar estos sesgos. Las técnicas van desde conjuntos de datos de capacitación seleccionados hasta ajustes posteriores a la capacitación destinados a lograr equidad y neutralidad.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del aprendizaje automático y el aprendizaje profundo. Mi pasión y experiencia me han llevado a contribuir en más de 50 proyectos diversos de ingeniería de software, con un enfoque particular en AI/ML. Mi curiosidad constante también me ha atraído hacia el procesamiento del lenguaje natural, un campo que estoy ansioso por explorar más a fondo.