- Una cadena de Markov es un modelo estadístico simple para elegir la siguiente palabra, pero por las distorsiones que produce al no captar del todo el significado, puede generar salidas más graciosas que un LLM
- El humor surge de una sorpresa ligera e inesperada, y el “snap” que rompe la expectativa después de establecer un patrón familiar hace más fuerte al chiste
- Como los LLM buscan el siguiente token más plausible usando mucho contexto y cálculo de probabilidades, mientras mejor funcionan más se acercan a frases promedio y predecibles
- En una comparación entre ChatGPT 3.5 y una cadena de Markov entrenada con la King James Bible y un libro de texto de ciencias de la computación, la cadena de Markov casi tiene sentido pero al final provoca un cambio absurdo de significado
- Los LLM actuales no son una buena opción para la escritura creativa o la generación de chistes, y un modelo de lenguaje para esas tareas tendría que ser categóricamente distinto de los LLM actuales
Por qué la cadena de Markov parece más graciosa
- Los ejemplos de cadenas de Markov entrenadas con un dataset de la King James Bible y libros de texto de ciencias de la computación mezclan el estilo bíblico con términos de programación y producen frases que “casi tienen sentido, pero se desmoronan al final”
- A ChatGPT 3.5 se le pidió generar una salida similar, pero el resultado se acerca más a frases ordenadas y con un significado estable
- Ambos ejemplos son casos seleccionados, pero la comparación elige buenos candidatos de los dos lados
- Las frases de la cadena de Markov contienen significados extraños y, cuanto más se acercan al final, más provocan giros sin sentido
La cadena de Markov se parece a “un LLM muy tonto”
- Cuando los LLM empezaron a explicarse de forma masiva, a veces se comparaban con “una cadena de Markov muy inteligente”, pero hoy también se puede ver a la cadena de Markov como “un LLM muy tonto”
- ChatGPT es un LLM, es decir, un tipo de Large Language Model
- Hay modelos muy grandes de más de 300GB, y también modelos de menos de 10GB
- Aunque sean pequeños, normalmente no se les llama “small language model”, sino LLM pequeños
- Una cadena de Markov también predice la siguiente palabra con base en el contexto actual, pero es un modelo estadístico simple que no considera semántica, dimensionalidad ni matemáticas vectoriales especializadas
- La función de sugerencia de siguiente palabra en la parte superior del teclado del celular normalmente se construye con cadenas de Markov, porque cuesta poco ejecutarla y puede actualizarse fácilmente para adaptarse al estilo de mensajes del usuario
- Si se necesita generar una frase con un objetivo específico, muchas veces un LLM lo hace mejor, pero la precisión no necesariamente se traduce en algo más gracioso
El humor es “una sorpresa ligera e inesperada”
- El humor se resume como unserious surprise, es decir, una sorpresa no seria
- Un buen chiste tiene un “snap” agradable y claro
- “snap” se usa para evitar la carga semántica del término punchline
- Cuanto menor es la sorpresa, menos risa da
- La razón por la que el mismo chiste da menos risa al oírlo varias veces es que la sorpresa disminuye
- La razón por la que el humor “aleatorio” puede sentirse poco gracioso es que, aunque las palabras sean impredecibles, la expectativa de que serán impredecibles ya es predecible
- Si se reutiliza un patrón familiar y luego se rompe la expectativa, el snap se vuelve más fuerte
- “banana, apple, orange, vehicular manslaughter” establece el patrón de una lista de frutas de una sola palabra y rompe la expectativa con una expresión criminal
- Escribir chistes se parece, en general, a romper patrones
Mientras más clara sea la escena, más fuerte es el snap
- Si se usa un lenguaje más original o más descriptivo, la escena se siente más real y el snap puede hacerse más fuerte
- En vez de escribir simplemente “he was shot”, escribir “he was pierced by a 35mm” vuelve la escena más concreta
- En lugar de “he fell”, una expresión como “his face met the ground” hace la escena más vívida
- Empezar desde la mitad de una escena también puede ser efectivo
- “a urinal cake? I’m not falling for that one again” hace imaginar qué pasó antes y aumenta la sensación de realidad de la escena
- La buena escritura de chistes y la buena escritura en general comparten parte de su objetivo
- Los clichés desperdician palabras porque dejan la escena en un estado no realizado
Las condiciones para que el humor funcione
- Como lo que cuenta como “sorpresa ligera e inesperada” no es universal, el humor es subjetivo
- El humor vulgar puede no dar risa si se toma demasiado en serio, o puede fallar por ser demasiado predecible
- Un anti-joke solo puede dar risa cuando la estructura misma del chiste ya es predecible
- El absurdismo funciona solo si hay disposición para aceptarlo
- Se pueden romper normas culturales, pero esa ruptura debe entenderse como algo no serio
- El autor, que es un estadounidense monolingüe en inglés, pudo incluso hacer un chiste exitoso usando “no” de una forma culturalmente inesperada en un entorno donde no se hablaba inglés
Los LLM están optimizados hacia la predictibilidad
- Para predecir bien una oración hace falta mucho contexto, y los LLM aprovechan ese contexto
- El funcionamiento básico de un LLM consiste en encontrar el siguiente token más probable mediante cálculos complejos
- Si el corpus está compuesto por lenguaje razonable, entonces cuanto mejor sea el LLM, más predecibles serán sus salidas
- Por esta característica, un LLM puede ser una mala opción para la escritura creativa
- Un párrafo generado sin mucha ingeniería de prompts puede verse fácilmente como algo escrito por un LLM
- El resultado se siente como la frase más promedio posible dentro del contexto
- Pedirle a un LLM una “idea original” es casi una contradicción, porque no fue diseñado para hacer eso
Los LLM actuales no sirven para generar chistes
- Para hacer chistes hay que torcer expresiones comunes de una manera inesperada para cambiar su significado
- Un buen LLM está optimizado precisamente para evitar ese tipo de desvíos
- El autor no está de acuerdo con la idea de que la comedia no pueda generarse algorítmicamente
- La comedia puede analizarse y medirse
- Con suficiente respaldo, quizá sería posible generar comedia bajo demanda
- Que sea posible no significa que deba hacerse
- Los LLM actuales no son la herramienta adecuada para esa tarea
- Los LLM en etapas tempranas eran más graciosos, y con la generación de imágenes pasaba lo mismo
- Hay ejemplos como las imágenes “trail cam” de Dall-e mini
- A medida que los sistemas mejoraron, el humor desapareció
La tensión entre una mejor máquina de predicción y la expresión artística
- Una máquina de predicción extremadamente buena puede no ayudar mucho a la expresión artística
- Los LLM siguen teniendo muchos usos, pero no son la herramienta perfecta para el trabajo creativo
- A veces los LLM dejan pasar conceptos interesantes que un niño podría producir con facilidad
- Bajo este marco, sí podrían construirse otros tipos de modelos de lenguaje
- Ese modelo tendría que ser categóricamente distinto de los LLM actuales
- Tan distinto que quizá ya no se le llamaría LLM
La fuga de abstracción que se revela en la salida de los LLM
- Este argumento no es un debate de “humanos espirituales contra máquinas”
- Aunque los LLM sigan mejorando, muestran defectos recurrentes, y en su intento de parecer humanos se asemejan más a una fuga de abstracción donde su estructura interna queda expuesta
- La razón por la que todos los mensajes de ChatGPT parecen ensayos de preparatoria es que reproducen la salida más promedio posible
- La salida de un LLM puede parecer un estilo corporativo plano, sin personalidad y endurecido por una rigurosidad académica artificial
- Las reseñas falsas de Amazon son fáciles de detectar si uno piensa “¿yo escribiría así?”
- Resulta raro preguntarse si alguien realmente pondría una introducción y una conclusión a su experiencia usando toallitas para platos Oxiclean
- Una frase agradeciendo al fabricante y reconociendo su compromiso con el servicio al cliente puede no sonar como una experiencia real de usuario
- Los modelos para detectar texto generado por LLM quizá terminen teniendo que identificar personalidad, como un CAPTCHA para pantallas
Enlace de referencia
- famous tumblr blog: fuente de los ejemplos de cadenas de Markov que mezclan la King James Bible con el estilo de programación, y que recientemente volvió a estar activo
1 comentarios
Opiniones en Hacker News
Hace unos años llegué a la misma conclusión mientras trabajaba en un proyecto paralelo.
Antes de que aparecieran los LLM, hice un sitio para generar AWS Blog Posts falsos, https://totes-not-amazon.com/, entrené un generador de cadenas de Markov con todos los anuncios de AWS publicados hasta ese momento y luego copié el HTML/CSS del blog de AWS y lo pegué con Python+JS.
Era bastante gracioso: incluso personas familiarizadas con el blog de AWS recién se daban cuenta después de leer varias frases de que era una sopa de palabras.
Cuando GPT acababa de salir, intenté actualizarlo generando entradas de blog basadas en contenido de AWS con gpt-2-simple de Minimaxir, pero el resultado era demasiado verosímil y se volvía mucho menos divertido. Se leía como una entrada de blog real, solo que con los datos incorrectos.
Al final, el humor de las primeras generaciones de Markov estaba en lo absurdo de darse cuenta, después de unas palabras o unas frases, de que todo carecía por completo de sentido; los LLM actuales son demasiado buenos para eso. A veces se equivocan, pero rara vez lo hacen de una forma hilarantemente incoherente.
El contenido de cadenas de Markov se equivoca como “niños diciendo cosas disparatadas”, mientras que los LLM modernos se equivocan como “un tío que no sabe ni geografía básica”.
https://github.com/cemulate/the-mlab
Esto es una parodia de nLab, una wiki colaborativa de teoría de categorías y teoría de categorías superiores. Quienes hayan visto nLab lo entenderán: para los principiantes, la jerga es casi indescifrable, y de ahí salió la idea de este proyecto.
Este proyecto usa el paquete nearley-generator, que convierte gramáticas de Nearley en generadores de texto falso eficientes y controlables; el archivo de gramática está en
/src/grammar/nlab.ne.La mayoría eran disparates o exageraciones sin gracia (“este héroe ahora tiene 500 de armadura”), pero normalmente al menos 5 o 6 líneas eran muy graciosas, y a veces alguna hasta resultaba profética. Por ejemplo: “Fiend's Grip genera 1/2/3 ilusiones adicionales”.
Pero los LLM arruinaron la situación. Los principales subreddits prohibieron todo el contenido de IA porque había demasiado contenido aburrido de Midjourney publicado por usuarios ingenuos y bots. Cuando desapareció el alcance, también desapareció el interés, así que dejé de hacer cadenas de Markov.
Esta semana usé bastante chatbots LLM, y si ese tío no solo dijera falsedades con confianza, sino que además no tuviera capacidad de autoevaluación, ya lo habrían matado.
Le di a Claude 3.5 Sonnet el prompt: “con base en el ensayo reciente y la discusión de Hacker News, escribe 10 chistes cortos graciosos en el estilo descrito por el autor del ensayo”.
Claude respondió que haría chistes sobre por qué las cadenas de Markov son más graciosas que los LLM, buscando una “sorpresa no seria” y la ruptura de patrones esperados.
Los ejemplos fueron del estilo: “Un LLM y una cadena de Markov entran a un bar. El LLM pide una bebida estadísticamente plausible y la cadena de Markov pide una pantalla de lámpara hecha de queso”, “¿Cuántos LLM se necesitan para cambiar un foco? Uno solo, pero primero explica durante 20 minutos el proceso óptimo para cambiar focos”, “¿Por qué una cadena de Markov no puede ser buena terapeuta? Porque sus consejos siempre son ‘y luego banana tus sentimientos hasta que se conviertan en sombrero’”.
No se trata simplemente de pegar cualquier cosa al azar. Una cadena de Markov tiene más probabilidades de generar una especie de significado, pero es el tipo equivocado de significado.
Por ejemplo, queda más apropiado: “Un LLM, una cadena de Markov y GPT-4 entran a un bar. El bartender dice: ‘No aceptamos gente como ustedes’. GPT-4 se va, el LLM se queda a debatir ética y la cadena de Markov pide un golpe de Estado”.
En la universidad, unos amigos pasaron un generador de cadenas de Markov por la sección de “reportes policiales” del periódico de la escuela.
El 10% superior de los resultados de un generador de 3 tokens está entre los textos generados por máquina más graciosos que he visto, y tenía un tipo de absurdo que los LLM modernos evitan al intentar mantener coherencia semántica de alto nivel.
Que en ese entonces hubiera alguien exhibiéndose en la biblioteca probablemente también fue buen material de partida.
El periódico era The Daily Utah Chronicle y, si mal no recuerdo, mis amigos también pasaron un generador de cadenas de Markov por la sección de anuncios personales y obtuvieron resultados bastante buenos.
En cambio, una cadena de Markov, por conexiones parecidas a lapsus basados en homófonos, hace que cada frase se vaya arrastrando al azar y termine llegando por accidente al humor absurdo.
Si quieren evidencia empírica,
/r/SubredditSimulatores una parodia de Reddit basada en Markov, y/r/SubSimulatorGPT2es como su primo basado en LLMLa versión de Markov recibió muchos más votos positivos y simplemente es más graciosa
Publiqué varias veces en Reddit cosas como “XYZ falso escrito por IA” a lo largo de los años, y el modelo que mejor respuesta obtuvo fue GPT-2
Las cadenas de Markov no alcanzan para mantener el interés más allá de una o dos oraciones, y todo lo posterior a GPT-3 es demasiado prolijo y aburrido
GPT-2 es el punto intermedio perfecto: en general acierta con la gramática y puede mantener ideas cohesivas, pero todavía no conoce suficientes detalles sobre muchos temas como para producir algo que tenga sentido en contexto
Quería desplegar el bot en mi canal habitual de IRC y ver cuánto tardaba la gente en darse cuenta de que era un bot. Cuando alguien enviaba un mensaje, le pasaba al LLM los 10 mensajes más recientes, y si el resultado empezaba con cierto prefijo, enviaba ese mensaje al canal
Por desgracia, GPT-2 no era lo bastante bueno y generaba cosas algo coherentes y pertinentes al tema, pero sin sentido
Después de arreglar el sistema, pienso intentar afinar un modelo 7B
La evolución de los últimos años del blog AI Weirdness (https://www.aiweirdness.com/) respalda esta idea en cierta medida
Aunque la autora también obtuvo muchos resultados graciosos con LLM, principalmente con modelos tempranos hasta GPT-3 y variantes más pequeñas de GPT-3
Por ejemplo, los nombres de cereales generados por la versión Ada de GPT eran mucho más graciosos que los de la versión Da Vinci: https://www.aiweirdness.com/new-breakfast-cereals-from-ai/
¿No bastaría con subir la temperatura?
Las cadenas de Markov tienen una comprensión del lenguaje más rudimentaria. Si aumentas la temperatura de un LLM, es decir, su aleatoriedad, puedes llegar a una aproximación igual de rudimentaria
Además, el autor usó ChatGPT-3.5. ChatGPT tiene RLHF para sonar lo más genérico posible, y 3.5 entiende el humor peor que 4
La tesis de este artículo no me convence
Lamentablemente la cuenta ya no existe, pero hace unos 10 años, cuando estaba en la escuela, hice un bot de Twitter con Markov entrenado con estas dos fuentes
Una eran todos los correos que Linus Torvalds había enviado a LKML durante el año anterior, y la otra eran las citas directas de Jesús en la Biblia King James
Era realmente gracioso. Como los dos conjuntos de entrenamiento casi no se solapaban, tuve que agregar una heurística que ponderaba más las opciones del otro conjunto cuanto más tiempo quedaba la cadena “atrapada” en uno de los dos
https://www.tumblr.com/kingjamesprogramming
Llevo unos 20 años operando un bot de cadenas de Markov para IRC
En los últimos años también he estado ejecutando un LLM local. Todavía hay quienes prefieren el bot de cadenas de Markov, pero la mayoría invoca el LLM
Aunque quizá sea porque elegí un modelo con muchas alucinaciones, pocos rechazos y gracioso, como un Mistral-7B afinado, en vez de un modelo tan inteligente, bloqueado y de baja temperatura como los LLM tipo servicio como ChatGPT
Al ver el LLM y el bot de Markov lado a lado, siento con más fuerza cuánto del “humor” del bot de Markov es resultado de que las personas le atribuyen significado a salidas accidentales. Aun así, la capacidad de “aprendizaje” de Markov sigue siendo muy superior
Mis bots nunca duraron tanto. Una vez raspé los LiveJournal de los usuarios para generar texto aleatorio: https://hewgill.com/journal/entries/68-new-lj-toy.html
Tengo un bot de cadenas de Markov en un chat de Twitch y a veces produce momentos geniales. Durante un tiempo también probé con un LLM y puse el chat reciente en el prompt, pero casi nunca salió algo que se sintiera particularmente humorístico
También probé prompt engineering indicando específicamente qué chiste debía hacer, pero el LLM siempre tendía a seguir el mismo formato
En un servidor privado de Discord tenemos dos bots
Uno es un bot básico de cadenas de Markov entrenado con todo el historial del chat, y el otro es un LLM propiamente dicho, entrenado solo con cierta cantidad de tokens del final. Ambos intervienen al azar en el chat de vez en cuando
El bot de cadenas de Markov siempre es mucho más gracioso
También me da curiosidad si para decidir intervenir usaste una probabilidad simple después de otros mensajes (por ejemplo, 25%) o si lo hiciste con un temporizador