OpenAI GPT-3, todo lo que necesitas saber

OpenAI GPT-3, todo lo que necesitas saber

El último modelo de OpenAI ha vuelto a hacerse viral. Al igual que su predecesor, el último modelo de OpenAI, no deja de causar furor en Internet. Mientras los expertos alaban el modelo por sus capacidades intuitivas, que van desde la redacción de artículos a la generación de código, muchos expertos, incluido el fundador de OpenAI, han calificado el bombo de «excesivo». El momento del lanzamiento coincidió con el nuevo modelo de negocio de OpenAI, que comercializa su IA a través de API. Sin duda, OpenAI GPT-3 atrae la atención de los entusiastas de la ciencia de datos hacia la idea de que la inteligencia artificial general está tomando forma. En este post, repasamos los diversos aspectos de GPT-3, desde los detalles de los bloques de construcción hasta el rendimiento del modelo y las posibilidades de todo lo que puede hacer.

OpenAI GPT-3: ¿Qué es GPT-3?

Generative Pre-trained Transformer 3 (GPT-3) es un modelo de lenguaje que aprovecha el aprendizaje profundo para generar texto similar al humano. No solo puede producir texto, sino que también puede generar código, historias, poemas, etc. Por estas capacidades y razones, se ha convertido en un tema candente en el área del procesamiento del lenguaje natural (PLN- – una sub-rama esencial de la ciencia de datos).

GPT-3 fue presentado por Open AI en mayo de 2020 como sucesor de su anterior modelo de lenguaje (LM) GPT-2. Se considera mejor y más grande que el anterior. Se considera mejor y más grande que el GPT-2. De hecho, con unos 175.000 millones de parámetros entrenables, la versión completa del GPT-3 de OpenAI es el mayor modelo entrenado hasta la fecha en comparación con otros modelos lingüísticos. Este documento de investigación** de 72 páginas describe con gran detalle las características, capacidades, rendimiento y limitaciones del modelo.

**En nuestro artículo nos referiremos al documento de investigación como «el documento» en varios lugares.

En este post, hemos incluido algunas ilustraciones extraídas directamente del documento y nos hemos centrado en algunos de los aspectos más destacados para que no tenga que leerlo.

GPT-3 es un modelo lingüístico muy amplio. Dado un texto de entrada, puede determinar probabilísticamente qué tokens de un vocabulario conocido vendrán a continuación. Antes de ver qué hace que GPT-3 sea tan especial, veamos qué es un modelo de lenguaje.

¿Qué son los modelos lingüísticos?

En pocas palabras, los modelos lingüísticos son herramientas estadísticas para predecir la(s) siguiente(s) palabra(s) de una secuencia. Es decir, los modelos lingüísticos son distribuciones de probabilidad sobre una secuencia de palabras. Tienen muchas aplicaciones, como:

  • Etiquetado de la parte de la oración (PoS)
  • Traducción automática
  • Clasificación de textos
  • reconocimiento del habla
  • Recuperación de información
  • Generación de noticias
  • Respuesta a preguntas, etc.

Un método de codificación popular utilizado en NLP es Word2Vec, que se desarrolló en 2014. El verdadero impulso a los modelos de lenguaje llegó en 2019 con la llegada del «transformador». Puedes leer más sobre la «atención» y el «transformador» aquí en el documento en el que se puso anteriormente.

¿Qué hace diferente a OpenAI GPT-3?

Lo primero que destaca de GPT-3 es su enorme cantidad de parámetros entrenables, 10 veces más que cualquier otro modelo anterior.

parámetros entrenables gpt

En general, cuantos más parámetros tiene un modelo, más datos se necesitan para entrenarlo. Según los creadores, el modelo OpenAI GPT-3 se ha entrenado con 45 TB de datos de texto procedentes de múltiples fuentes, entre las que se incluyen Wikipedia y libros. A continuación se muestran los múltiples conjuntos de datos utilizados para entrenar el modelo:

Conjunto de datosCantidad (tokens)Peso en la mezcla de entrenamientoÉpocas transcurridas al entrenar 300B tokens
Common Crawl (filtrado)410 billones60%0.44
WebText219 billones22%2.9
Books112 billones8%1.9
Books255 billones8%0.43
Wikipedia3 bilones3%3.4

El Common Crawl contiene petabytes de datos recogidos a lo largo de 8 años de rastreo web. El contenido contiene datos de páginas web sin procesar, extractos de metadatos y extractos de texto con un ligero filtrado.

WebText2 es el texto de las páginas web de todos los enlaces salientes de Reddit procedentes de entradas con más de 3 upvotes.

Books1 y Books2 son dos conjuntos de libros basados en Internet.

Las páginas de Wikipedia en inglés también forman parte del corpus de entrenamiento.

La tercera columna de la tabla «Peso en la mezcla de entrenamiento» se refiere a la fracción de ejemplos durante el entrenamiento que se extraen de un conjunto de datos determinado.

Uno de los principales problemas de los modelos de entrenamiento y, en particular, de los modelos de entrenamiento tan grandes con tantos datos procedentes de Internet, es que estos modelos tienen la capacidad de memorizar el contenido y luego contaminar las tareas posteriores, como las pruebas, ya que es posible que ya hayan visto los datos. Aunque los creadores de GPT-3 tomaron algunas medidas para evitar el solapamiento de los datos de entrenamiento y de prueba, un fallo en el filtrado provocó la filtración de algunos de los datos. Como se menciona en el artículo, el equipo no pudo volver a entrenar el modelo debido al elevado coste asociado al entrenamiento.

Arquitectura del GPT-3 de OpenAI

El GPT-3 no es un único modelo, sino una familia de modelos. Cada modelo de la familia tiene un número diferente de parámetros entrenables. La siguiente tabla muestra cada modelo, arquitectura y sus parámetros correspondientes:

arquitectura de gpt 3

De hecho, la familia de modelos GPT-3 de OpenAI se basa en la misma arquitectura basada en transformadores del modelo GPT-2, incluida la inicialización modificada, la prenormalización y la tokenización inversa, con la salvedad de que utiliza alternativamente patrones de atención densa y dispersa.

La versión más grande GPT-3 175B o «GPT-3» tiene 175 parámetros B, 96 capas de atención y 3,2 M de tamaño de lote.

Arquitectura original del transformador gpt

En la figura anterior se muestra la arquitectura original del transformador. Como ya se ha mencionado, OpenAI GPT-3 se basa en una arquitectura similar, sólo que es bastante más grande. Mientras que los modelos lingüísticos como BERT utilizan el codificador para generar incrustaciones a partir del texto sin procesar que se pueden utilizar en otras aplicaciones de aprendizaje automático, la familia GPT utiliza la mitad del decodificador, por lo que toman incrustaciones y producen texto.

Precisión / Rendimiento / Números de OpenAI GPT-3

Las distintas tareas que puede realizar cualquier modelo lingüístico dependen de cómo se ajuste/actualice. Con GPT-3 muchas de las tareas de NLP discutidas anteriormente se pueden realizar sin ningún tipo de ajuste fino, gradiente o actualizaciones de parámetros, lo que hace que este modelo sea Task-Agnostic. Así pues, OpenAI GPT-3 puede realizar tareas con muy pocos o ningún ejemplo/demostración (o disparos, como son más conocidos). Antes de sumergirnos en los números vamos a entender primero el concepto de Cero/Uno/Pocos disparos de tareas con respecto al modelo y ver cómo se puede interactuar con el modelo utilizando algunos ejemplos.

La figura anterior muestra las tres configuraciones en las que GPT-3 puede realizar la tarea de traducir del inglés al francés.

La configuración de Few-Shot (FS) es similar a la forma en que se entrena un modelo de aprendizaje automático, en la que se proporcionan algunas entradas y sus correspondientes salidas a un modelo y se espera que éste actúe sobre una entrada desconocida. Sin embargo, la diferencia aquí es que, a diferencia de un algoritmo de ML normal, el modelo no actualiza los pesos. Simplemente infiere sobre la base de los «disparos» que ha recibido. Normalmente se introducen entre 10 y 100 disparos para una configuración de este tipo (según el artículo).

La configuración One-Shot (1S) es la misma que FS, excepto en que el modelo sólo recibe un ejemplo/demo/contexto además del último contexto (que es la tarea).

Zero-Shot (0S) es cuando no se permite ningún contexto excepto el último (que es la tarea). Este tipo de configuración es «injustamente difícil», ya que incluso a los humanos les puede resultar complicado entender en qué consiste la tarea sin ningún ejemplo o demostración.

La imagen anterior muestra la precisión del modelo GPT-3 de OpenAI al realizar las tareas Zero-shot, One-shot y Few-shots junto con el número de parámetros y disparos para una tarea sencilla de eliminar símbolos aleatorios de una palabra. Veamos ahora el rendimiento de los modelos (de 175B parámetros a 125M parámetros) en algunas tareas conocidas (de referencia). Todos los resultados están citados del artículo.

Modelado del lenguaje GPT-3 de OpenAI

«Nuestro modelo más grande establece un nuevo SOTA en PTB por un margen sustancial de 15 puntos, alcanzando una perplejidad de 20,50. Hay que tener en cuenta que, dado que PTB es un conjunto de datos de modelado lingüístico tradicional, no tiene una separación clara de ejemplos en torno a los cuales definir la evaluación de uno o pocos disparos, por lo que medimos sólo los disparos cero».

El equipo calculó la perplejidad 0S en el conjunto de datos Penn Tree Bank.

LAMBADA

El conjunto de datos LAMBADA básicamente pone a prueba la capacidad de un modelo para predecir la última palabra de frases que requieren la lectura de un párrafo de contexto.

«…en un escenario de cero disparos, GPT-3 alcanza un 76% en LAMBADA, un 8% más que el estado del arte anterior«.

LAMBADA

«…GPT-3 2.7B supera al parámetro SOTA 17B Turing-NLG en esta configuración (FS), y GPT-3 175B avanza el estado del arte en un 18%…»

HellaSwag

«El conjunto de datos HellaSwag consiste en elegir el mejor final para una historia o conjunto de instrucciones. GPT-3 logra una precisión del 78,1% en la configuración de un solo disparo y del 79,3% en la configuración de pocos disparos, superando la precisión del 75,4% de un modelo de lenguaje con parámetros de 1,5B ajustados, pero todavía bastante por debajo del SOTA general del 85,6% logrado por el modelo multitarea ALUM ajustado».

StoryCloze

El conjunto de datos StoryCloze 2016 consiste en seleccionar la frase final correcta para historias largas de cinco frases. «Aquí GPT-3 logra un 83,2% en la configuración de cero disparos y un 87,7% en la configuración de pocos disparos (con K = 70). Esto sigue siendo un 4,1% inferior al SOTA ajustado utilizando un modelo basado en BERT [LDL19], pero mejora los resultados anteriores de cero disparos en aproximadamente un 10%.»

OpenAI GPT-3: Respuesta a preguntas de libro cerrado

Esta tarea pone a prueba la capacidad de OpenAI GPT-3 para responder a preguntas sobre conocimientos factuales amplios. GPT-3 se probó en tres conjuntos de datos de control de calidad diferentes. Los resultados de las mismas se muestran en la siguiente tabla:

Resultados de tres tareas de control de calidad de dominio abierto, Fuente: documento

La figura anterior muestra el rendimiento de GPT-3 en el conjunto de datos TriviaQA. Puede observarse cómo el rendimiento crece con el tamaño y cómo las configuraciones 1S y FS superan a 0S e igualan + superan al SOTA en la tarea.

OpenAI GPT-3: Traducción de idiomas

Aunque los datos de entrenamiento de GPT-3 se componen en más de un 90% de texto en inglés, también incluyen texto en otros idiomas. El siguiente gráfico (extraído del artículo) resume el rendimiento de GPT-3 en la tarea de traducción de idiomas.

«Para las tres lenguas de entrada estudiadas, GPT-3 supera significativamente los trabajos previos de NMT no supervisada cuando se traduce al inglés, pero los resultados son inferiores cuando se traduce en la otra dirección».

Tareas al estilo Winograd

El reto de los esquemas de Winograd consiste en determinar a qué palabra se refiere un pronombre, cuando éste es gramaticalmente ambiguo pero semánticamente inequívoco para un humano.

«En Winograd, GPT-3 logra 88,3%, 89,7% y 88,6% en las configuraciones de cero disparos, un disparo y pocos disparos, respectivamente, sin mostrar un claro aprendizaje en contexto, pero logrando en todos los casos resultados sólidos sólo unos pocos puntos por debajo del estado del arte y del rendimiento humano estimado.»

Razonamiento de sentido común

Para esta tarea se tuvieron en cuenta tres conjuntos de datos. El primer conjunto de datos, PhysicalQA (PIQA), plantea preguntas de sentido común sobre el funcionamiento del mundo físico y pretende sondear la comprensión fundamentada del mundo. «GPT-3 alcanza una precisión del 81,0% en cero disparos, del 80,5% en un disparo y del 82,8% en varios disparos (este último medido en el servidor de pruebas de PIQA). Esto se compara favorablemente con el 79,4% de precisión anterior al estado del arte de un RoBERTa afinado».

En el documento se mencionan algunos resultados más para tareas como comprensión lectora, SuperGLUE, NLI, tareas sintéticas y cualitativas (aritmética, descifrado y manipulación de palabras, analogías SAT, generación de artículos de noticias, aprendizaje y uso de palabras nuevas, corrección de la gramática inglesa). Retomemos la tarea más interesante de Generación de artículos de noticias.

Generación de artículos de noticias

El lanzamiento del modelo más grande de GPT-2 estuvo brevemente en suspenso debido a la polémica de que era capaz de generar noticias falsas. El modelo GPT-3 fue capaz de generar artículos de noticias prácticamente indistinguibles de los reales. Uno de los experimentos demostró que, en el caso del modelo 175B, los humanos eran capaces de distinguir los artículos falsos con sólo un 52% de precisión.

A continuación se muestran algunos ejemplos de artículos de noticias falsos generados por GPT-3 junto con la precisión que alcanzaron los participantes humanos a la hora de distinguirlos.

Artículo que los humanos identificaron con menor precisión (precisión del 12%), Fuente: documento
Artículo generado por GPT-3 que los participantes humanos identificaron con mayor facilidad (precisión del 61%), Fuente: documento

El gráfico siguiente muestra la capacidad humana para detectar artículos de noticias falsas generados por modelos.

En el gráfico anterior puede observarse que la capacidad de distinguir artículos falsos disminuye a medida que aumenta el tamaño del modelo.

¿Cómo podemos hacernos con el modelo?

No puedes simplemente descargar el modelo o entrenarlo por tu cuenta incluso si tienes la infraestructura. OpenAI ha creado una API a la que se puede acceder. De hecho, puedes ir a la sección de demostraciones de https://beta.openai.com y probar tú mismo algunas demostraciones para hacerte una idea de cómo funcionan algunos de los casos de uso.

Limitaciones de OpenAI GPT-3

Los propios creadores de GPT-3 aceptan que el modelo tiene sus puntos débiles y comete errores tontos. En concreto, no rinde bien en tareas de síntesis de textos como repeticiones, contradicciones, pérdida de coherencia en pasajes largos, etc. Sin embargo, esto no difiere demasiado de otros modelos lingüísticos. La arquitectura también introduce una limitación fundamental en el modelo. El modelo GPT-3 es un modelo lingüístico autorregresivo y no bidireccional (como BERT). Por tanto, GPT-3 es más adecuado para tareas basadas en el aprendizaje «en contexto» y no para las que dependen del «ajuste fino».

A continuación se muestran los resultados de precisión de los modelos GPT-3 en tareas aritméticas. Se puede observar cómo los modelos más pequeños obtienen malos resultados en tareas sencillas de aritmética, incluso de un dígito o dos, y la precisión en aritmética de 4 dígitos (y más) es baja.

Resultados de GPT-3 en tareas aritméticas con configuración FS, Fuente: documento

Resumen

  • GPT-3 es un modelo lingüístico muy grande (el mayor hasta la fecha) con unos 175.000 parámetros.
  • Se ha entrenado con unos 45 TB de datos de texto procedentes de distintos conjuntos de datos.
  • Como tal, el modelo en sí no tiene conocimientos, sólo es bueno para predecir la(s) siguiente(s) palabra(s) de la secuencia. No está diseñado para almacenar o recuperar datos.
  • Produce textos más fluidos y similares a los humanos.
  • Con GPT-3 no se necesitan conjuntos de datos específicos para realizar una tarea. Se trata de una «tarea agnóstica».
  • No se puede descargar ni volver a entrenar el modelo. Se necesita una clave API (se puede obtener apuntándose a la lista de espera). Tiene acceso «cerrado-API».
  • Es bueno sobre todo para tareas en inglés.
  • Los resultados más largos del modelo tienden a degradarse.
  • Los resultados pueden ser sesgados y abusivos.
  • Hay contaminaciones conocidas en los experimentos de referencia que se han señalado claramente en el documento.

A pesar de que la API aún se encuentra en estado beta cerrado y hay una larga lista de espera, la comunidad de la IA y la ciencia de datos está muy entusiasmada con el potencial y la potencia del modelo y con la evolución de la inteligencia general artificial (AGI). Sin embargo, si queremos aprender de los problemas asociados a GPT-2, debemos ser más cuidadosos y responsables con lo que creamos utilizando este modelo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *



Te traemos la mayor colección de IA en español. Encuentra la IA perfecta para cualquier tarea con nuestro buscador. Tenemos la base de datos más grande de AIs disponibles para cualquier caso de uso. Descubre las herramientas de IA más innovadoras y útiles para tus necesidades en nuestro blog. ¡Explora nuestra colección y descubre cómo la IA puede mejorar tu vida y tu trabajo!