Lenguajes Informales Formales – O’Reilly

A todos nos han impresionado los modelos de arte generativo: DALL-E, Imagen, Stable Diffusion, Midjourney y ahora el modelo de video generativo de Facebook, Hacer un vídeo. Son fáciles de usar y los resultados son impresionantes. También plantean algunas preguntas fascinantes sobre los lenguajes de programación. Es probable que la ingeniería rápida, el diseño de las indicaciones que impulsan estos modelos, sea una nueva especialidad. Ya hay un libro autoeditado sobre ingeniería rápida para DALL-Ey un excelente tutorial sobre ingeniería rápida para Midjourney. En última instancia, lo que estamos haciendo al crear un aviso es programar, pero no el tipo de programación al que estamos acostumbrados. La entrada es texto de forma libre, no un lenguaje de programación como lo conocemos. Es lenguaje natural, o al menos se supone que debe serlo: no hay gramática formal ni sintaxis detrás de él.

Libros, artículos y cursos sobre ingeniería puntual inevitablemente enseñan un idioma, el idioma que necesitas saber para hablar con DALL-E. En este momento, es un lenguaje informal, no un lenguaje formal con una especificación en BNF o algún otro metalenguaje. Pero a medida que se desarrolla este segmento de la industria de la IA, ¿qué esperará la gente? ¿La gente esperará que las indicaciones que funcionaron con la versión 1.X de DALL-E funcionen con la versión 1.Y o 2.Z? Si primero compilamos un programa en C con GCC y luego con Clang, no esperamos el mismo código de máquina, pero esperamos que el programa haga lo mismo. Tenemos estas expectativas porque C, Java y otros lenguajes de programación están definidos con precisión en documentos ratificados por un comité de estándares o algún otro organismo, y esperamos que las desviaciones de la compatibilidad estén bien documentadas. De hecho, si escribimos “Hello, World” en C y nuevamente en Java, esperamos que esos programas hagan exactamente lo mismo. Del mismo modo, los ingenieros de avisos también pueden esperar que un aviso que funcione para DALL-E se comporte de manera similar con Stable Diffusion. Por supuesto, pueden estar entrenados en diferentes datos y, por lo tanto, tener diferentes elementos en su vocabulario visual, pero si podemos hacer que DALL-E dibuje un Tarsero comiendo una Cobra al estilo de Picasso, ¿no deberíamos esperar el mismo mensaje? algo similar con Stable Diffusion o Midjourney?

Aprende más rápido. Excavar más hondo. Ver más lejos.

En efecto, programas como DALL-E están definiendo algo que se parece un poco a un lenguaje de programación formal. La «formalidad» de ese lenguaje no proviene del problema en sí mismo, o del software que implementa ese lenguaje; es un modelo de lenguaje natural, no un modelo de lenguaje formal. La formalidad deriva de las expectativas de los usuarios. El artículo de Midjourney incluso habla de «palabras clave», que suenan como un manual temprano para programar en BASIC. No estoy diciendo que haya algo bueno o malo en esto: los valores no entran en juego en absoluto. Los usuarios inevitablemente desarrollan ideas sobre cómo “deberían” comportarse las cosas. Y los desarrolladores de estas herramientas, si quieren convertirse en algo más que juguetes académicos, tendrán que pensar en las expectativas de los usuarios en temas como la compatibilidad con versiones anteriores y el comportamiento multiplataforma.

Eso plantea la pregunta: ¿qué harán los desarrolladores de programas como DALL-E y Stable Diffusion? Después de todo, ya son más que juguetes académicos: ya se utilizan con fines comerciales (como el diseño de logotipos) y ya vemos modelos comerciales construidos a su alrededor. Además de los cargos por el uso de los propios modelos, ya existen startups que venden cadenas de mensajes, un mercado que asume que el comportamiento de los avisos es constante en el tiempo. ¿Seguirán siendo la interfaz de los generadores de imágenes grandes modelos lingüísticos, capaces de analizar prácticamente todo pero sin obtener resultados incoherentes? (¿La incoherencia es incluso un problema para este dominio? Una vez que haya creado un logotipo, ¿necesitará volver a usar ese indicador?) ¿O los desarrolladores de generadores de imágenes verán la Referencia de indicador DALL-E (actualmente hipotético, pero alguien eventualmente lo escribirá) y se dan cuenta de que necesitan implementar esa especificación? Si es esto último, ¿cómo lo harán? ¿Desarrollarán una gramática BNF gigante y usarán herramientas de generación de compiladores, dejando de lado el modelo de lenguaje? ¿Desarrollarán un modelo de lenguaje natural que sea más restringido, que sea menos formal que un lenguaje informático formal pero más formal que *Semi-Huinty?1 ¿Podrían usar un modelo de lenguaje para comprender palabras como Tarsier, Picasso y Eating, pero tratar frases como «in the style of» más como palabras clave? La respuesta a esta pregunta será importante: será algo que realmente no hemos visto antes en la informática.

¿Será la siguiente etapa en el desarrollo de software generativo el desarrollo de lenguajes formales informales?


notas al pie

  1. * Semi-Huinty es un idioma hipotético hipotético en algún lugar de la familia de idiomas germánicos. Existe solo en una parodia de la lingüística histórica que se publicó en un tablón de anuncios en un departamento de lingüística.



Fuente del artículo

Deja un comentario