GPT-3: texto y código a la carta

La evolución de las redes neuronales artificiales gracias a los Transformers ha propiciado un extraordinario avance en el campo del procesamiento del lenguaje natural. Un área donde un modelo se lleva toda la atención: GPT-3. Generar texto con una calidad similar a la escritura humana ha sido siempre un reto para la IA, pero cuando llegó GPT-2 los resultados dejaron sorprendidos a la comunidad.
No obstante, si el antecesor de GPT-3 maravillaba en 2019 gracias a su arquitectura Transformer con 1500 millones de parámetros, el actual modelo de OpenAI marcaría un antes y un después. La empresa de investigación constató que la IA lograba ganancias sustanciales en muchas tareas en el campo del PLN (procesamiento del lenguaje natural) cuanto más aumentaba la cantidad de corpus de texto en su entrenamiento. Por ello, la compañía subió la apuesta significativamente y lanzó públicamente a GPT-3 en 2020 con una capacidad de 175000 millones de parámetros de aprendizaje automatizado. Esto es, 10 veces más que cualquier modelo de lenguaje no disperso anterior.
Así, GPT-3 se presentaba en sociedad provocando una mezcla de asombro y temor. Asombro, porque parecía que había un humano detrás de las palabras que generaba la IA. Temor, porque para algunos parecía que el momento de reemplazar a una persona dando teclas estaba más cerca que nunca (aún queda…). Además, no hablamos solo de texto. El modelo también genera código, pues ha sido entrenado simultáneamente con millones de líneas de codex.
La arquitectura Transformer provoca que, en lugar de que GPT-3 procese palabra por palabra como ocurriría en las redes neuronales recurrentes, procese secuencias enteras. Esto aumenta drásticamente el rendimiento de los modelos de IA y, al darle como input conjuntos de palabras completos, el sistema aprende las relaciones entre ellas. Entiende, así, el contexto de las secuencias.
Para usarlo, solo debemos darle indicaciones con nuestro teclado a través del cuadro de texto de la API que OpenAI pone a nuestra disposición. El modelo responderá con una finalización textual que coincida en el contexto o patrón en el que hayamos encuadrado nuestra solicitud de entrada. Y esto es un punto fundamental, pues GPT-3 puede soltar muchas cosas que no son verdad. El sistema solo trabaja en que la generación de texto suene coherente respecto al input que ha procesado. Si bien quizás veamos que nos responde con afirmaciones y datos certeros (al fin y al cabo, bebe de internet y de ingentes cantidades de información que son correctas), puede mezclarlos con otros que son falsos.

Como hemos visto en este ejemplo, hemos introducido una frase que luego el modelo ha autocompletado. Cabe recalcar que GPT-3 es estocástico. Esto significa que, aunque le solicitemos siempre lo mismo, en un grado de probabilidad muy alto los resultados nunca serán iguales. No obstante, si reducimos sensiblemente el parámetro de ‘temperatura’, haremos al sistema menos creativo y más rígido, lo que sí que provocaría que sea propenso a repetir las mismas respuestas.
La IA analizará siempre el texto que le demos y actuará en consecuencia. Si es muy simple, lo completará de manera muy sencilla. Si es algo más extenso y repleto de detalles o componentes literarios, desarrollará un resultado más amplio, creativo y rico. Podemos pedirle que haga prácticamente de todo: convertirse en un chatbot, corregir dramática, traducir (controla decenas de idiomas), continuar conversaciones entre dos o más personas, clasificar tuits, añadir emojis pertinentes a películas… El abanico es inmenso. Precisamente, al aumentar OpenAI drásticamente el número de parámetros de GPT-3, este comenzó a asimilar una ingente cantidad de tareas no previstas. Tareas mucho más allá del autocompletado. La empresa ofrece un amplio apartado de ejemplos para sacar mejor partido a la API.

Al principio, la plataforma giraba en torno al autocompletado. Es decir, le dábamos una frase o párrafo para que acabara el contenido o un ejemplo para que generara similares. Luego, OpenAI ajustó el sistema para responder adecuadamente también ante órdenes. Si bien continúa siendo aconsejable seguir introduciendo algún ejemplo. Más recientemente, añadió la función de insertar texto en el ya existente. Esto significó que, entre dos frases o párrafos tecleados por nosotros, el modelo ya podía generar un resultado en medio y no solo debajo.
También es importante destacar que, para procesar las palabras, el sistema las divide en tokens. Los tokens pueden ser palabras o fragmentos de caracteres de estas. La cantidad de tokens procesados en una solicitud que le hagamos depende de la longitud de sus entradas y salidas. Existe una regla general: un token supone, aproximadamente, cuatro caracteres o 0,75 palabras para texto en inglés. En este sentido, una limitación que considerar es que la solicitud de texto y la finalización generada combinadas no deben superar la longitud máxima de contexto del modelo. Esta es de 2048 tokens, que vienen a ser 1500 palabras.
Pero la revolución con GPT-3 no viene solo por sus convincentes textos, sino también por, como mencionamos antes, su capacidad de programar. Solo deberemos escribirle en lenguaje natural lo que deseamos y nos devolverá como resultado el código que necesitamos. Y conoce numerosos lenguajes de programación. Esto abre la veda a proyectos como Debuild, que nos crea una app en base a unas pocas indicaciones textuales.
Sin duda, la mejor forma de comprobar lo que decimos es probar GPT-3 por nosotros mismos en la API de OpenAI. Tras registrarnos, nos regalarán un crédito de 18 dólares. Y da para mucho. Luego, habrá que pagar unos dos céntimos por cada 750 palabras generadas (aproximadas) si usamos el modelo más caro de todos. Y es que GPT-3 dispone de varias versiones según el nivel de potencia que precisemos.
En la actualidad, ya no podemos decir que GPT-3 sea el modelo de lenguaje con más parámetros, pues Bloom, de código abierto, lo ha superado ligeramente. 175000 contra 176000 millones. Casi nada…
En cualquier caso, la plataforma de OpenAI ofrece múltiples posibilidades a usuarios sin nociones de programación para experimentar con el modelo. Mientras, con Bloom deberemos usar directamente su código para aplicarlo, aunque dispone de una demo.
Modelos como GPT-3 esbozan un futuro, no muy lejano, que continuará automatizando nuestras vidas, realizando tareas cada vez más creativas. Conviene, por tanto, ir familiarizándonos con estas herramientas y descubriendo cómo podemos aprovecharlas.