Cómo se hace: TextFX es un conjunto de herramientas de IA desarrollado en colaboración con Lupe Fiasco

AGO 02, 2023
Aaron Wade Creative Technologist

Google Lab Sessions es una serie de colaboraciones experimentales de IA con personas innovadoras. En nuestra última sesión de laboratorio, queríamos explorar específicamente cómo la IA podría expandir la creatividad humana. Así que recurrimos al rapero ganador del premio GRAMMY® y académico invitado del MIT, Lupe Fiasco, para compilar un experimento de IA llamado TextFX.

Link to Youtube Video (visible only when JS is disabled)

El proceso de descubrimiento

Comenzamos pasando tiempo con Lupe para observar y aprender acerca de su proceso creativo. Este proceso estuvo marcado invariablemente por una especie de "retoque" lingüístico, es decir, deconstruir el lenguaje y luego volver a ensamblarlo de maneras novedosas e innovadoras. Algunas de las técnicas de Lupe, como el símil y la aliteración, se basan en la norma de los recursos literarios tradicionales. Pero muchas de sus tácticas son completamente únicas. Entre ellas se encontraba una forma inteligente de crear frases que suenan idénticas a una palabra dada pero que tienen diferentes significados, lo nos demostró usando la palabra "expressway" (autopista):

express whey (entrega rápida de subproductos lácteos)
express sway (acto de demostrar influencia)
ex-press way (camino sin medios de comunicación)

Este tipo de operaciones fueron fundamentales en la escritura de Lupe. Teniendo esto en cuenta, comenzamos a preguntarnos: ¿Cómo podríamos usar la IA para ayudar a Lupe a explorar posibilidades creativas con el texto y el lenguaje?

Al tratar con aplicaciones relacionadas con el lenguaje, los modelos de lenguaje grandes (LLM) son la opción obvia desde la perspectiva de la IA. Los LLM son una categoría de modelos de aprendizaje automático que están especialmente diseñados para realizar tareas relacionadas con el lenguaje y una de las cosas para las que podemos usarlos es para generar texto. Pero aún quedaba la pregunta de cómo los LLM se integrarían realmente en el flujo de trabajo de escritura de letras de Lupe.

Algunos LLM, como el Bard de Google, están configurados para funcionar como agentes conversacionales. Otros, como el modelo Text Bison de la API de PaLM, carecen de este elemento conversacional y, en cambio, generan texto al extender o completar un texto de entrada determinado. Una de las cosas más importantes de este último tipo de LLM es su capacidad para el aprendizaje de pocos disparos. En otras palabras, con estos modelos se puede reconocer patrones que ocurren en un pequeño conjunto de ejemplos de entrenamiento y luego replicarlos para obtener entradas nuevas.

Como experimento inicial, le pedimos a Lupe que diera más ejemplos de su técnica de frases con el mismo sonido. Luego usamos esos ejemplos para elaborar una indicación, que es una cadena de texto cuidadosamente elaborada con la que se prepara al LLM para que se comporte de cierta manera. Nuestra indicación inicial para la tarea de frase que suena igual se veía así:

Palabra: defeat (derrota)
Frase que suena igual: da feet (como en "the feet" (los pies))
 
Palabra: surprise (sorpresa)
Frase que suena igual: Sir Prize (un caballero cuyo nombre es Prize)
 
Palabra: expressway (autopista)
Frase que suena igual: express whey (suero de leche exprés) (entrega rápida de subproducto lácteo)
 
(... ejemplos adicionales...)
 
Palabra: [PALABRA DE ENTRADA]
Frase que suena igual:

Esta indicación arrojó resultados aceptables durante un tiempo, pero pensamos que todavía había margen de mejora. De hecho, descubrimos que había factores más allá del contenido y la cantidad de ejemplos que podrían influir en el resultado, por ejemplo, cómo se enmarca la tarea, cómo se representan las entradas y salidas, etc. Después de varias iteraciones, finalmente llegamos a la siguiente:

Una frase que suena igual es una frase que suena como otra palabra o frase.
 
 
Aquí hay una frase que suena igual para la palabra "defeat" (derrota):
 
da feet (como en "the feet" (los pies))
 
 
Aquí hay una frase que suena igual para la palabra "surprise" (sorpresa):
 
Sir Prize (un caballero cuyo nombre es Prize)
 
 
Aquí hay una frase que suena igual para la palabra "expressway" (autopista):
 
express whey (suero de leche exprés) (entrega rápida de subproducto lácteo)
 
 
(... ejemplos adicionales...)
 
 
Aquí hay una frase que suena igual para la palabra "[INPUT WORD]":

Después de programar con éxito la tarea de palabras con el mismo sonido en una indicación de pocas tomas, trabajamos con Lupe para identificar tareas creativas adicionales que podríamos lograr usando la misma estrategia de indicaciones de pocos disparos. Al final, ideamos diez indicaciones, cada una diseñada de manera única para explorar las posibilidades creativas que pueden surgir de una palabra, una frase o un concepto determinado:

SÍMIL: crea un símil sobre una cosa o concepto.
EXPLOTAR: divide una palabra en frases que suenen similares.
INESPERADO: vuelve una escena más inesperada e imaginativa.
CADENA: elabora una cadena de elementos semánticamente relacionados.
PUNTO DE VISTA: evalúa un tema mediante diferentes puntos de vista.
ALITERACIÓN: selecciona palabras específicas del tema que comiencen con una letra elegida.
ACRÓNIMO: crea un acrónimo usando las letras de una palabra.
FUSIONAR: crea un acrónimo usando las letras de una palabra.
ESCENA: crea un acrónimo usando las letras de una palabra.
DESPLEGAR: divide una palabra en otras palabras o frases existentes.

Pudimos probar rápidamente cada una de estas ideas utilizando MakerSuite, una plataforma en la que los usuarios pueden crear y experimentar fácilmente con indicaciones de LLM a través de una interfaz interactiva.

Cómo lo logramos: creación mediante la API de PaLM

Después de finalizar las indicaciones de pocos disparos, creamos una app para alojarlas. Decidimos llamarla TextFX, ya que partimos de la idea de que cada herramienta tiene un "efecto" diferente en su texto de entrada. Como un efecto de sonido, pero para texto.

Guardamos nuestras indicaciones como cadenas en el código fuente y las enviamos al modelo PaLM 2 de Google utilizando la API de PaLM, que sirve como punto de entrada a los modelos de lenguaje grandes de Google.

Todas nuestras indicaciones están diseñadas para terminar con un par de entrada-salida incompleto. Cuando un usuario envía una entrada, la añadimos a la indicación antes de enviarla al modelo. El modelo predice las salidas correspondientes para esa entrada y luego analizamos cada resultado de la respuesta del modelo y las procesamos posteriormente antes de mostrar el resultado en el frontend.

lupe3

De manera opcional, los usuarios pueden configurar la temperatura del modelo, que es un hiperparámetro que corresponde aproximadamente a la cantidad de creatividad permitida en los resultados del modelo.

Pruébalo

Puedes probar TextFX en textfx.withgoogle.com.

También publicamos todas las indicaciones de LLM en MakerSuite. Si tienes acceso a la vista previa pública de la API de PaLM y MakerSuite, puedes crear tus propias copias de las indicaciones utilizando los vínculos que aparecen a continuación. De lo contrario. Si no, puedes unirte a la lista de espera.

Además, si deseas echar un vistazo a cómo creamos TextFX, publicamos el código aquí.

Si quieres intentar compilar con la API de PaLM y MakerSuite, únete a la lista de espera.

Una última palabra

TextFX es un ejemplo de cómo puedes experimentar con la API de PaLM y crear aplicaciones que aprovechen los modelos de lenguaje grandes de última generación de Google. En términos generales, esta exploración demuestra el potencial de la IA para complementar la creatividad humana. Con TextFX nos enfocamos en la escritura creativa, pero ¿qué podría significar para la IA ingresar a otras áreas creativas como colaborador? Los creadores son muy importantes para ayudarnos a imaginar cómo podrían ser estas colaboraciones. Esperamos que esta sesión de laboratorio te dé una idea de lo que se puede hacer con la API de PaLM y te inspire a usar las soluciones de IA de Google para dar vida a tus propias ideas, sea cual sea tu oficio.

Si quieres explorar más sesiones de laboratorio como esta, dirígete a labs.google.com.