Un artículo reciente en Computerworld argumentó que el resultado de los sistemas de IA generativa, como GPT y Gemini, no es tan bueno como solía ser. No es la primera vez que escucho esta queja, aunque no sé qué tan extendida está esa opinión. Pero me pregunto: ¿es correcta? Y si es así, ¿por qué? Creo que están sucediendo algunas cosas en el mundo de la IA. Primero, los desarrolladores de sistemas de IA están tratando de mejorar el resultado de sus sistemas. Están (supongo) más interesados ​​en satisfacer a los clientes empresariales que pueden ejecutar grandes contratos que en atender a individuos que pagan $ 20 por mes. Si yo estuviera haciendo eso, ajustaría mi modelo para producir prosa comercial más formal. (Eso no es buena prosa, pero es lo que es). Podemos decir «no se limite a pegar el resultado de la IA en su informe» tantas veces como queramos, pero eso no significa que la gente no lo haga, y sí significa que los desarrolladores de IA intentarán darles lo que quieren. Aprender más rápido. Profundizar. Ver más lejos. Los desarrolladores de IA ciertamente están tratando de crear modelos que sean más precisos. La tasa de error ha bajado notablemente, aunque está lejos de cero. Pero ajustar un modelo para una tasa de error baja probablemente signifique limitar su capacidad de llegar a respuestas fuera de lo común que creemos que son brillantes, reveladoras o sorprendentes. Eso es útil. Cuando se reduce la desviación estándar, se eliminan las colas. El precio que se paga para minimizar las alucinaciones y otros errores es minimizar los valores atípicos correctos, «buenos». No voy a argumentar que los desarrolladores no deberían minimizar las alucinaciones, pero hay que pagar el precio. La «depresión de la IA» también se ha atribuido al colapso del modelo. Creo que el colapso del modelo será un fenómeno real (incluso he realizado mi propio experimento muy poco científico), pero es demasiado pronto para verlo en los grandes modelos de lenguaje que estamos utilizando. No se los vuelve a entrenar con la suficiente frecuencia y la cantidad de contenido generado por la IA en sus datos de entrenamiento sigue siendo relativamente muy pequeña, especialmente si sus creadores están involucrados en la violación de derechos de autor a gran escala. Sin embargo, existe otra posibilidad que es muy humana y no tiene nada que ver con los modelos de lenguaje en sí. ChatGPT existe desde hace casi dos años. Cuando salió, todos nos quedamos asombrados de lo bueno que era. Una o dos personas señalaron la declaración profética de Samuel Johnson del siglo XVIII: “Señor, el resultado de ChatGPT es como un perro que camina sobre sus patas traseras. No está bien hecho, pero le sorprende que lo haya hecho”. 1 Bueno, todos nos quedamos asombrados, con errores, alucinaciones y todo. Nos quedamos atónitos al descubrir que una computadora podía realmente entablar una conversación, con bastante fluidez, incluso aquellos de nosotros que habíamos probado GPT-2. Pero ahora, casi dos años después, nos hemos acostumbrado a ChatGPT y sus compañeros: Gemini, Claude, Llama, Mistral y una horda más. Estamos empezando a utilizar GenAI para el trabajo real, y el asombro ha desaparecido. Somos menos tolerantes con su verbosidad obsesiva (que puede haber aumentado); no lo encontramos perspicaz ni original (pero no sabemos realmente si alguna vez lo fue). Si bien es posible que la calidad de la salida del modelo de lenguaje haya empeorado en los últimos dos años, creo que la realidad es que nos hemos vuelto menos indulgentes. Estoy seguro de que hay muchos que han probado esto mucho más rigurosamente que yo, pero he realizado dos pruebas en la mayoría de los modelos de lenguaje desde los primeros días: Escribir un soneto petrarquista (un soneto petrarquista tiene un esquema de rima diferente al de un soneto shakespeariano). Implementar correctamente un algoritmo conocido pero no trivial en Python (generalmente uso la prueba de Miller-Rabin para números primos). Los resultados de ambas pruebas son sorprendentemente similares. Hasta hace unos meses, los principales LLM no podían escribir un soneto petrarquista; Podían describir correctamente un soneto petrarquista, pero si les pedías que escribieran uno, se equivocaban en el esquema de rima, y ​​normalmente te daban un soneto shakespeariano. Fracasaban incluso si incluías el esquema de rima petrarquista en la consigna. Fracasaban incluso si lo intentabas en italiano (un experimento que realizó uno de mis colegas). De repente, alrededor de la época de Claude 3, los modelos aprendieron a hacer Petrarca correctamente. Y la cosa mejora: el otro día, pensé en probar dos formas poéticas más difíciles: la sextina y la villanelle. (Las villanelle implican repetir dos de las líneas de forma inteligente, además de seguir un esquema de rima. Una sextina requiere reutilizar las mismas palabras de rima). ¡Podrían hacerlo! No son rival para un trovador provenzal, ¡pero lo hicieron! Obtuve los mismos resultados al pedirles a los modelos que produjeran un programa que implementara el algoritmo Miller-Rabin para probar si los números grandes eran primos. Cuando salió GPT-3 por primera vez, esto fue un fracaso total: generaba código que se ejecutaba sin errores, pero me decía que números como 21 eran primos. Gemini era igual, aunque después de varios intentos, culpó de mala gana del problema a las bibliotecas de Python para cálculos con números grandes. (Supongo que no le gustan los usuarios que dicen: «Lo siento, eso está mal otra vez. ¿Qué estás haciendo que no es correcto?»). Ahora implementan el algoritmo correctamente, al menos la última vez que lo intenté. (Sus resultados pueden variar). Mi éxito no significa que no haya lugar para la frustración. Le pregunté a ChatGPT cómo mejorar programas que funcionaban correctamente pero que tenían problemas conocidos. En algunos casos, conocía el problema y la solución; en otros casos, entendía el problema pero no cómo solucionarlo. La primera vez que lo intente, probablemente se sorprenderá: si bien «poner más del programa en funciones y usar nombres de variables más descriptivos» puede no ser lo que está buscando, nunca es un mal consejo. Sin embargo, la segunda o tercera vez te darás cuenta de que siempre recibes consejos similares y, aunque pocas personas estarían en desacuerdo, esos consejos no son realmente esclarecedores. “Me sorprende descubrir que se hizo” decayó rápidamente a “no se hizo bien”. Esta experiencia probablemente refleja una limitación fundamental de los modelos de lenguaje. Después de todo, no son “inteligentes” como tales. Hasta que sepamos lo contrario, solo están prediciendo lo que debería venir a continuación en función del análisis de los datos de entrenamiento. ¿Cuánto del código en GitHub o Stack Overflow realmente demuestra buenas prácticas de codificación? ¿Cuánto de él es más bien pedestre, como mi propio código? Apuesto a que el último grupo domina, y eso es lo que se refleja en el resultado de un LLM. Pensando en el perro de Johnson, de hecho me sorprende descubrir que se hizo, aunque tal vez no por la razón que la mayoría de la gente esperaría. Claramente, hay mucho en Internet que no está mal. Pero hay mucho que no es tan bueno como podría ser, y eso no debería sorprender a nadie. Lo lamentable es que el volumen de contenido «bastante bueno, pero no tan bueno como podría ser» tiende a dominar el resultado de un modelo de lenguaje. Ese es el gran problema al que se enfrentan los desarrolladores de modelos de lenguaje. ¿Cómo obtenemos respuestas que sean reveladoras, agradables y mejores que el promedio de lo que hay en Internet? La sorpresa inicial ha desaparecido y la IA se está juzgando por sus méritos. ¿Seguirá la IA cumpliendo su promesa o simplemente diremos: «Esa es una IA aburrida y monótona», incluso cuando su resultado se infiltre en todos los aspectos de nuestras vidas? Puede haber algo de verdad en la idea de que estamos intercambiando respuestas agradables por respuestas confiables, y eso no es malo. Pero también necesitamos deleite y conocimiento. ¿Cómo nos lo proporcionará la IA? Notas al pie De La vida de Johnson (1791) de Boswell; posiblemente ligeramente modificado.