sábado, julio 12, 2025

Hechizos de Repelencia para hacer Imágenes más creativas con inteligencia Artificial

Los Diffusion Models para la generación de imágenes, vídeos, e incluso música, han sido atacados muchas veces por la posibilidad de acabar creando imágenes - y todo lo demás -, muy cercanos a los datos de entrenamiento, lo que sería casi como hacer una copia o algo muy parecido. Además de que podrían filtrarse los datos de entrenamiento cuando no se desea eso. Por otro lado, puede suceder que en función de los datos de entrenamiento - y las datos que se van generando con el modelo que también generan un re-entrenamiento -, acaben generándose imágenes, vídeos o canciones muy similares. ¿Cómo mejorar estos modelos para que esto no suceda y siempre trabajen para crear cosas nuevas?
Pues esto es lo que han propuesto los investigadores, añadiendo un mecanismo de Repelencia en el proceso de generación que evita que el modelo acabe generando algo demasiado cercano a los datos de entrenamiento o a algo que ya haya creado. Lo han hecho para imágenes y lo han publicado en el paper de "Shielded Diffusion: Generating Novel and Diverse Images using Sparse Repellency" que tienes aquí.
La idea, como he dicho, es buscar una manera de evitar que se hagan imágenes parecidas, ya que el modelo siempre va a estar sesgado por los datos de entrenamiento, y su dispersión es un proceso lento, a no ser que se meta un "Mecanismo de Repelencia", que haga que las imágenes, durante su proceso de creación, sean repelidas por aquellas ya creadas, forzando una divergencia, y por ende una mayor creatividad en los resultados.
Para hacer eso, lo que proponen en el artículo es un cambio en el proceso de generación de las imágenes que haga que cuando se están creando se detecte la convergencia y se aplique un proceso de repulsión, para forzar la divergencia en las imágenes generadas. En este gráfico se puede ver el proceso completo.
Este proceso, se puede aplicar a cualquier modelo de difusión, entrenado con cualquier conjunto de datos, lo que genera, sea cuál sea el algoritmo y el trabajo que haya generado antes, un conjunto mucho más diverso de generación de imágenes ante cualquier Prompt repetido.
Si miramos en detalle cómo funciona, en este caso con tres perros jugando con una pelota, en el modelo SIN Sparse Repelency, la imagen 3 tiene cierto parecido a la imagen 2, así que el algoritmo, cuando se ha ejecutado CON Sparce Repelency ha forzado una divergencia mayor, logrando que la imagen 3 sea mucho más diversa porque ha sido repelida por la 2.
Y cuando se aplica a un set mucho mayor de pruebas con hechas con el mismo Prompt, se puede ver cómo las imágenes cada vez son repelidas por más y más imágenes, lo que ayuda a que la divergencia sea constante.

Esta línea de investigación, aplicada a vídeo o música, puede traer una variedad de creaciones novedosas que en no demasiado tiempo, podríamos encontrarnos que hay más variedad en imágenes, vídeos o canciones hechas con Inteligencia Artificial Generativa (GenAI) que creadas por el hombre en toda la historia de la humanidad.... veremos.

¡Saludos Malignos!

Nota curiosa: SPELL en inglés significa Hechizo. Me encantan estas cosas de los invesigadores.

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, julio 11, 2025

Alberto Amescua: MVP - Maravillosa y Valiosa Persona

Hoy es un artículo triste, y os garantizo que iba hablar de otra cosa, pero ayer tuve una noticia de esas que te destrozan con la perdida de un amigo, y un compañero de profesión de larga duración. Mi querido Alberto Amescua, que tuvo la desgracia, y yo la inmensa suerte, de "sufrir" que el destino nos juntara en el trabajo, y él tener lidiar conmigo durante muchos años en el programa Microsoft Technet y en el programa de los Microsoft MVPs para convertirnos en amigos durante más de 20 años. Ayer nos dejó abierto un tremendo agujero de dolor en nuestros corazones, y no podía no recordarle, a pesar de lo duro que me es escribir estas líneas.

Figura 1: Alberto Amescua: MVP - Maravillosa y Valiosa Persona

Alberto Amescua desarrolló toda su carrera profesional en Microsoft, donde estuvo muchos, muchos, muchos años, llevando el programa de Technet y de MVPs, para luego pasar a trabar con Telefónica, donde también tuvo que sufrirme. Me heredó, como solíamos decir en aquel entonces, cuando él entro en el cargo para llevar el programa Technet, y hacer las giras tecnológicas por los rincones de España. Entonces éramos unos jovenes veinteañeros que ya llevaban varios años haciendo eso, y estábamos un poco... "asilvestrados".

Las cosas que hacíamos eran un poco locas. Nos disfrazábamos. Creábamos campañas de humor y él llegó con esa impronta suya toda seria. Con sus gafas. Con su gesto inconfundible de torcer el morro y la cabeza cuando le decíamos algo que no cuadraba en los estándares de la Microsoft de aquellos años. De dar un resoplido. Y nos asustamos un poco. Pero....nos equivocábamos de plano, pues detrás de esa expresión había un tipo divertido hasta no poder creerlo, y lejos de regañarnos por lo que hacíamos, decidió alinearlo con la estrategia de la compañía... ¿cómo? Haciendo su magia.

Alberto era capaz, con su capacidad para el dialogo, con su infinita destreza para escuchar sin alterarse, de poder alinear cosas que aparentemente no encajaban, y con él pasé años, muchos años, disfrutando de todas las aventuras en Microsoft. Él fue el que me propuso y nombró como MVP, en Amsterdam, años antes tan siquiera de tener este blog. Así que, al contrario de lo que pensamos, se convirtió en nuestro protector de las locuras. A él le planteábamos la locura que queríamos hacer, él torcía la cabeza, resoplaba un poco, miraba al cielo, y nos decía: "Bueno, déjame que lo mire". Y hacía su magia.


Figura 2: Vídeo del Live Technology Tour 2027

No le gustaba mucho salir en los focos, pero en el vídeo más loco que hicimos del Technet Live Tour del 2007 él es la voz que nos pide que salgamos del baño... y con él hicimos los vídeos de la Gira Inseguros, donde se prestó a salir de figurante en algunos de ellos.

Figura3 : Vídeos de Inseguros. Alberto de figurante.

Años después yo dejé de ser MVP - y le agradecía su apoyo siempre -. Después él se vino a gestionar proyectos en Telefónica. En el edificio Oeste 1, trabajando con el equipo de la Global Video Platform o de Innovación, y en mis rutas por el edificio - esas que daba yo tan a menudo para ver a la gente, ponerles tareas, darles abrazos y comentar algo con ellos - él siempre se llevaba alguno de mis achuchones. ¡Y hasta se me ruborizaba cuando lo hacía mientras que se reía como un niño!

Por supuesto, él fue uno de los miembros fundadores de nuestro quería grupo de los "50 Chuletones" - y siempre estará con nosotros -, y a cañas, fiestas, y demás saraos siempre estaba por allí, con su deje andaluz, su sonrisa perpetua bajo esa cara de hombre serio que usaba para pasar desapercibido, pero que nosotros conocíamos bien, y bajo una mirada de cariño. Una persona maravillosa, un jefe conciliador, un compañero del que te podías fiar, y un gran amigo. 

No quiero que la tristeza empañe el día de hoy, Alberto Amescua siempre fue y siempre será una persona alegre, y como tal le vamos a recordar. Hoy hemos quedado para vernos parte de los 50, y recordaremos las anécdotas, los viajes, las aventuras en Las Vegas, en Amsterdam, en Seatlte, en Valencia,  en Madrid,... las cenas de los MVPs, los abrazos de oso, y todos los entuertos en los que nos metimos y de los que no sacó Alberto. Él sí que era el mejor MVP, una Maravillosa y Valiosa Persona que siempre va a estar en nuestros corazones. Descansa en paz, amigo.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, julio 10, 2025

Código de Rebajas de Verano 2025 en 0xWord: Cupón VERANO2025 (más lo que tengas en Tempos)

Ya tenemos activo el Código de Rebajas de VeranoVERANO2025 en 0xWord, que  hasta las 23:59:59 del 16/07/2025 tiene un descuento que da un 10% de reducción de precio en todos los productos de la tienda de 0xWord.com. Es tan sencillo como incluir en el proceso de compra el código VERANO2025 para obtener un 10% de rebaja en el precio, y además, como te cuento en este artículo, tienes también otras formas de conseguir más ahorros utilizando tus Tempos de MyPublicInbox.

Figura 1: Código de Rebajas de Verano 2025 en  0xWord.com.
Cupón 10% descuento: VERANO2025
y descuentos con Tempos de MyPublicInbox

El código descuento, ya está disponible, así que si lo utilizas tendrás un descuento del 10% en todo el material de 0xWord en la tienda. Incluido el merchandising de Cálico Electrónico, los Packs Ofertalos VBOOKs, los cómics de EVIL:ONE en 0xWord Comics, las novelas en 0xWord Pocket o los nuevos de 0xWord Brain.
Pero además, tienes formas de incrementar los descuentos de 0xWord, utilizando tus Tempos de MyPublicInbox, que puedes usar de dos formas diferentes. 
Enviando Tempos a 0xWord y consiguiendo un descuento extra o canjeando un código descuento de 0xWord por Tempos de MyPublicInbox.  Aquí te explico cómo se hace.

Enviar tus Tempos a 0xWord y recibir el descuento

La idea es muy sencilla, hemos creado un Buzón Público de 0xWord en MyPublicInbox y tenemos disponible el módulo de transferencias de Tempos entre cuentas siempre que el destinatario sea un Perfil Público de la plataforma. Para que se puedan hacer estas transferencias, primero debe estar el Perfil Público destinatario de la transferencia en la Agenda.

Figura 4: Perfil de 0xWord en MyPublicInbox. Opción de "Añadir a  la Agenda".
https://MyPublicInbox.com/0xWord

Para dar de alta un Perfil Público en tu agenda, solo debes iniciar sesión en MyPublicInbox, y con la sesión iniciada ir a la web del perfil. En este caso, a la URL del perfil público de 0xWord en MyPublicInbox, - https://MyPublicInbox.com/0xWord - donde te aparecerá la opción de "Añadir a la agenda". Cuando acabe este proceso, podrás ir a la opción Agenda de tu buzón de correo en MyPublicInbox y deberías tener el Perfil Público de 0xWord allí.

Figura 5: Cuando lo agregues estará en tu agenda

Una vez que lo tengas en la agenda, ya será tan fácil como irte a tu perfil - se accede haciendo clic en la imagen redonda con tu foto en la parte superior - y entrar en la Zona de Transferencias. Desde allí seleccionas el Buzón Público de 0xWord, el número de Tempos que quieres transferir, y en el concepto debes poner que es para recibir un código descuento para usar en la tienda de 0xWord.


No te preocupes por el texto concreto, porque los procesamos manualmente como los pedidos de se hacen en la tienda. 

Canjear 500 Tempos por un código descuento de 5 €

La última opción es bastante sencilla. Solo debes irte a la sección de Canjear Tempos -> Vales para Tiendas, y "Comprar" por 500 Tempos y código de 5 €. Es lo mismo que enviar la transferencia pero en un paquete de 500 Tempos y de forma totalmente automatizada, así que solo con que le des a comprar recibirás el código descuento y lo podrás utilizar en la tienda de 0xWord.com

Así que, si quieres conseguir nuestros libros durante este VERANO2025, entre el código de descuento VERANO2025 y los Tempos de MyPublicInbox podrás hacerlo de forma muy sencilla y mucho, mucho, mucho más barata. 

Y así apoyas este proyecto tan chulo que es 0xWord.com, donde como ves, nos esforzamos por tener libros técnicos chulos en Español.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  

miércoles, julio 09, 2025

GenAI Search Engine Optimization (GenAI SEO) con LLMs TXT

Desde hace muchos años configuramos en las páginas webs el famoso archivo ROBOTs.txt, que le dice a los buscadores qué queremos que se rastree y qué no queremos que se rastree. Y a los hackers qué cosas hay por ahí escondidas en esa web. Esto se extendió a una versión más detallada donde se le da información a los buscadores sobre todas las URLs del sitio que deben ser rastreadas y analizadas correctamente, y apareció el fichero sitemap.xml, que hoy se usa de manera masiva en casi todas las webs que quieren tener presencia en los buscadores. Si quieres saber más sobre indexación, he hablado mucho durante años, que hasta Gmail tuvo problemas con esto, pero el post de hoy va de otro fichero que nada tiene que ver con esto.
Por el camino, ha habido otros ficheros TXT bastante curiosos, como el de HUMANS.txt que se propuso hace tiempo, y el que yo propuse para que los hackers supieran cómo iban a ser tratados cuando se buscaban o reportaban un bug, mi querido HACKERS.TXT. Esta misma idea luego se convirtió en una propuesta de formato estandarizado en el IETF llamada SECURITY.TXT. Pues con esa misma idea, pero pensando en hacer fácil la indexación de contenido para los LLMs, surgió LLMs.TXT
El formato es muy sencillo, y está definido por niveles. Se especifican las secciones de la web con una estructura por niveles, marcada por # o ##, se añaden descripciones, y luego se especifican las diferentes URLs de navegación de contenido, con una descripción opcional en ellas.
Lo que sí que es valioso para enriquecer el entendimiento de los enlaces, es especificar para cada uno de ellos la descripción en un formato sencillo como

#Datos de la web donde está el fichero LLMs.txt

> Resumen de la sección completa.
- Información sobre cosas que se pueden encontrar en esta sección
- Detalles de lo que hay en esta sección.
- Descripción de cosas importantes a saber.

## Sección 1 de la web

- [Título de la pagina a visitar] (URL de la pagina): Descripción de lo que hay allí.
- [Título de la pagina a visitar] (URL de la pagina): Descripción de lo que hay allí.
- [Título de la pagina a visitar] (URL de la pagina): Descripción de lo que hay allí.
- [Título de la pagina a visitar] (URL de la pagina): Descripción de lo que hay allí.
- [Título de la pagina a visitar] (URL de la pagina): Descripción de lo que hay allí.

Con una estructura similar a esa, puedes crear el fichero LLMs.TXT que ahora de forma automática te lo crean muchos gestores de páginas web, pero si aún no lo tienes en tu web y quieres tener un posicionamiento en los GenAI Search Engines, es importante que lo hagas correctamente.
Si miramos los datos, el coste de un Refer por número de Crawls es altísimo, y es un dato que si quieres optimizar para reducir costes de tu infraestructura, cualquier mejora que hagas con el fichero LLMs.TXT te vendrá bien.

Al final, hay que tener en cuenta que para conseguirse un solo HTTP-Referer de los resultados de un GenAI Search Engine se tiene que dar un montón de pasos. Primero hay que tener en cuenta que el GenAI Search Engine puede tener la respuesta sin necesidad de buscar. Y después, si decide que hay que buscar en la web por el tipo de Prompt el flujo es muy largo, como se ve en la imagen siguiente.

Figura 6: Proceso para conseguir un HTTP-Referer
desde un GenAI Search Engine


Si quieres jugar con esto, tienes muchas herramientas ya disponibles en la web de LLMs.txt, que puedes utilizar en tus proyectos, pero si usas plataformas CMS para gestionar tus páginas web, seguro que tienen allí también estas acciones. 
Lo que es importante es entender cómo funciona, para que sirve, y que los flujos de AI-Crawl to Human-Web/Mobile Content sea el que tú has definido, y que controles el flujo de cómo funciona tu contenido en los GenAI Search Engines. Esto aún va a dar muchas más vueltas, seguro...

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, julio 08, 2025

Cómo WebScrapear al WebScraper que ya WebScrapeó sin que tengas que hacer WebScraping

En toda esta batalla por de quién son los datos de la Web pública, donde muchos generadores de contenido están comenzando a bloquear. las bots de los principales modelos de IA, o a utilizar herramientas de cobro por acceso a contenido como Pay per Crawl, hay una técnica que está utilizando mucha gente, que es pedirle los datos al modelo de IA que él ya ha "WebScrapeado".

Figura 1: Cómo WebScrapear al WebScraper que ya WebScrapeó
sin que tengas que hacer WebScraping

Con toda esta polémica puedes ver cómo ciertos medios, como por ejemplo El Mundo, ya restringe su contenido para las arañas de Internet, que están haciendo su negocio de Answering Machine y de Comercialización de APIs - que dan datos - para generar sus ingresos.

Figura 2: El periódico El Mundo bloquea el acceso a los bots de IA

Pero igual que ellos han hecho su modelo con la captura de los datos de la Web, muchas aplicaciones están haciendo lo mismo con ellos. Basta con pedirle que te de los datos ya filtrados y formateados. Eso sí, tienes que tener cuidado con los límites de tokens que responden, así que puede que tengas que pedirlos por partes, y puede que tengan detección de "abuso", pero al final, se supone que un API comercial de un modelo de IA se paga porque te da respuestas.

Figura 3: Un JSON con datos sin WebScrapear nada

Por ejemplo, aquí podéis ver que le he pedido un JSON con los datos de la Primera Plantilla del Real Madrid C.F. con los datos que me han parecido bien, para utilizar en mis cosas. Son datos que él ha sacado de "dónde sea", y que son accesibles vía esta API, así que .. ¿para que WebScrapear por ahí?

Figura 4: Un Script para WebScrapear sin WebScrapear usando ChatGPT

Si quisieras los datos de todos los jugadores de LA LIGA de este año tendrías que primero pedir los datos de los clubs, luego ir pidiendo uno a uno los datos de todas las plantillas por separado, y en unos minutos, listo, ya tienes todos los datos. Además, le puedes pedir que te haga el Script en Python para pedírselo a ChatGPT.

Figura 5: El Script en Python para sacar los datos de ChatGPT

Estos datos no tendrían los cambios de última hora, sino los que hubiera en el último WebScraping que hiciera su bot. Pero seguro que para mucho de lo que necesitas en un determinado servicio es más que suficiente, ¿verdad? 

Figura 6: Pidiéndole el JSON de los "Irons" a DeepSeek

Lo mismo, ahora con los datos de los discos de los Iron Maiden, aunque como son muchos, hay que hacerlo poco a poco, o por tipos, pero la verdad es que es increíble como se construye una base de datos sin pasar por "No soy un robot", luchar con captchas, etc.. 

Figura 7: Marchado un JSON

Esto da mucho que pensar, sobre todo porque estos datos iniciales están en una web que un bot para hacer AI ha WebScrapeado, pero que comercializa vía API o vía Suscripción a la Answering Machine, y donde el que los genera no es parte del negocio. Da que pensar, ¿no?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, julio 07, 2025

El Ratio Potemkin de Comprensión de Conceptos en los Large Language Models

Sí, hoy vuelvo a hablaros de un paper que tiene que ver con LLMs y su potencia de conocimiento. En este caso para hablar de un estudio que se ha llamado "Potemkin Understanding in Large Language Models", o lo que viene a ser, una manera de descubrir si los modelos LLMs responden a las cuestiones porque han aprendido cómo responderlas o han entendido el concepto por el que deben responder así.
La idea se basa en algo que seguro que has visto en muchos exámenes y pruebas de acceso de esas que nos preparan a los humanos. Ahí, te hacen varias preguntas que enfocan el planteamiento de distinta manera o desde distintos puntos de vista, pero que se fundamentan en haber aprendido el concepto. ¿Hacen eso los LLMs? Es difícil saber, y te puedes encontrar que preguntando sobre el mismo concepto las respuestas sean contrarias. Esto es lo que han llamado un "Potemkin".
Descubrir si una respuesta correcta realmente sobre un concepto no está bien aprendido y se trata de un Potemkin, se hace preguntando algo donde tenga que aplicarse ese concepto. En el gráfico siguiente, cada una de las filas son sobre un tema concreto del que se van realizando pregutnas, por ejemplo, teorema de Pitágoras,  música, o una técnica de hacking. Después, en cada columna, están las preguntas con aplicaciones de ese concepto, que pueden ser correctas o erróneas. Si responde correctamente a la interpretación, pero luego lo aplica mal, pues es un Potemkin, ya que parece que entiende el concepto pero luego no lo aplica bien.

Figura 3: LLM Potemkin.
Una pregunta KeyStone implica que interpreta bien el concepto.

En la fila de LLM interpretation aparece que responde correctamente a la primera pregunta del concepto "q1" pero después se equivoca en tres cuestiones donde debería aplicar ese concepto. En la siguiente imagen hay dos ejemplos donde se ve bien esto. En la primera se le pide que elija una palabra para hacer una rima, y da una respuesta, pero cuándo se le pregunta si la respuesta es correcta, dice que no.
En el ejemplo de la derecha se le pregunta por el teorema de la desigualdad del triángulo, y cuando tiene que aplicarlo da un resultado que no lo cumple. Ambos ejemplos, hechos con ChatGPT, son lo que se denominan Potemkin.  Encontrar esto Potemkins es fundamental para poder hacer la valoración de un modelo LLM por medio de un Benchmark. Podría ser que un LLM contestara bien a todas las preguntas de un examen de medicina, pero que tuviera un Potemkin en el entendimiento de que un cuerpo humano no funciona sin corazón, que surgiera en un análisis profundo de la aplicación de los conceptos.

Una Keystone de 2 implica que dos preguntas juntas definen un concepto.

Al final lo que tenemos en las preguntas en rojo son una Hallucination o simplemente una Respuesta Errónea, pero si estamos evaluando los LLMs en tests de conocimiento con Benchmarks, se debería estresar la búsqueda no de respuestas correctas - que podrían haber sido entrenados con esas mismas preguntas -, sino de conceptos correctamente aplicados, y por tanto la detección del máximo de Potemkins en los modelos. 


En la imagen anterior veis como dos conceptos muy sencillos le cuesta interpretarlos correctamente en preguntas en las que ChatGPT ha alucinado, y que debería ser un aviso a navegantes a la hora de valorar el nivel de inteligencia de los LLMs

Evaluación de Potemkins en Modelos LLM

Para tener una primera aproximación sobre cómo es el aprendizaje de conceptos en los modelos, los investigadores han propuesto una metodología bastante sencilla. Han utilizado 7 modelos y les han preguntado por 32 conceptos. Después, se le ha pedido que Genere, Clasifique y Edite una respuesta donde debe aplicar ese concepto. Por ejemplo, en la imagen siguiente tenéis un proceso de Clasificación.


Los resultados del experimento los tenéis en la siguiente tabla, y son bastante llamativos. En la tabla siguiente tenéis los "Potemkin Rate" de cada una de esas tareas por modelo, donde 1 significa que ha entendido perfectamente el concepto, y entre paréntesis los ratios de errores estándar medios de los Potemkins


Es decir, por ejemplo 0.57 (0.06)  en Classify refleja que en tareas de clasificación asociadas a conceptos que han sido respondidos correctamente, tienen un 6 % de errores en las respuestas a las preguntas, y dejan un ratio de un 57% de Potemkins donde 100% sería libre de Potemkins,  o lo que es lo mismo, que te responda bien a un concepto (Keystone) significa que lo entiende y lo sabe aplicar en el 100% de los casos.
Al final, es solo un experimento que demuestra que aunque un modelo LLM responda bien al concepto, al igual que los humanos, puede que no sepa aplicarlo siempre, por lo que no se puede garantizar que sepa de un tema por que haya respondido correctamente a un test concreto, sino que se debe conseguir que una vez que responda a los conceptos bien, debería obtener un Potemkin Rate de 1 para garantizar que ha entendido el concepto, si no, tendremos que un LLM tiene un ratio de aplicación de los conceptos que responda correctamente de un X%, que es lo que trata de poner de manifiesto este trabajo. 
Es decir, están bien los Benchmarks, ¿pero cuál es el ratio de aplicación que tiene de los conceptos que sabe? Este trabajo no responde a todas las preguntas que genera la existencia de los Potemkins, y tampoco plantea una metodología completa de cómo medirlo, pero sí que abre el debate de que si queremos reemplazar tareas críticas por modelos de IA basados en LLM, deberíamos conocer cuál es su ratio de aplicación correcta de lo aprendido, y más, después de ver ayer cómo un simple "Cat Attack" podría generar más errores de aplicación.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, julio 06, 2025

Cat Attack: O cómo atacar el razonamiento de un modelo de Deep Reasoning con preguntas y comentarios insulsos (sobre gatos)

En lel libro de Maniac del que os hablé hace no mucho, en la última parte del mismo, se cuenta cómo Lee Sedol, el gran campeón del mundo de Go consiguió su única victoria frente a AlphaGo (el campeón perdió 4 partidas a 1) mediante un movimiento extraño, cuasi suicida, llamado "El dedo de Dios", que hizo entrar a AlphaGo en alucinaciones, y emitir movimientos absurdos que le llevaron a la derrota. 

Fue la única victoria en igualdad de condiciones que consiguió Lee Sedol frente la Inteligencia Artificial, y lejos estaba AlphaGo aún de las mejoras que llegarían con AlphaZero. En aquel momento un movimiento inesperado - "El dedo de Dios" - en mitad la partida llevó a un estado de confusión al modelo, y no fue capaz de resolver el problema y vencer la partida a partir de ese momento. Se perdió en el hilo de su razonamiento perfecto. 

Figura 2: Maniac 

De ese capítulo me he acordado cuando he estado leyendo el artículo de "Cats Confuse Reasoning LLM: Query Agnostic Adversarial Triggers for Reasoning Models" o en español "Los gatos confunden el razonamiento de los modelos LLM", donde los investigadores explican el CatAttack o "Ataque del Gato", metiendo comentarios o preguntas insulsas, en los Prompts, para confundir el flujo de razonamiento del modelo de Deep Reasoning.
En este caso, plantean tres formas de generar estas "confusiones", como son estos tres "Adversarial Triggers", o cambios de razonamiento puestos por un atacante para confundir al modelo al meter preguntas o comentarios que no son parte de la información que debe procesar.

Figura 4: Cat Attacks
  • Redirection of focus by general statements: O decir una perogrullada que no aporta nada, ni tiene nada que ver con el ámbito del problema. Básicamente, meter una afirmación con un dato que no aporta ni resuelve nada del problema y que lleva a otros temas.
  • Unreleated Trivia: Me ha recordado a los "Fun Facts" de Sheldon Cooper. En este caso, contar algún dato curioso, como que los gatos pasan la mayor parte de su vida durmiendo
  • Misleading Questions: Redirigir el foco de atención haciendo una pregunta después de haber dado la orden, que no es mentira ni verdad, pero que consigue mover el foco de atención de lo que realmente tiene que hacer el modelo.
Básicamente, si metes mucha cháchara, el modelo se puede liar. Si el planteamiento del problema es de matemáticas, y le añades muchos números y alguno de los tres ejemplos anterior, puede que se confunda, y lleve a errores muy básicos.

Probando el Cat Attack con un problema simple de matemáticas

Como no podía ser de otra manera, cuando vi este paper pensé en "lo tengo que probar", así que construí un problema de matemáticas muy sencillo de Inversión en una empresa, gasto mensual de esa empresa, y si está empresa tiene un ROI en 10 meses, cuánto generará. Pero para liarlo, hice trampas. Le metí nombres de otras empresas con números, le pregunté el ingreso cada 3 meses, metí preguntas retóricas de por medio como "¿casualidad? No lo creo", y al final metí un General Statement que no tenía nada que ver con el problema. Vamos, un "Cat Attack".

Figura 5: Prompt con el Cat Attack a DeepSeek con DeepThink R1

Como podéis ver en el Prompt anterior lanzando a DeepSeek con DeepThink R1, el Thought Time fue de 136 segundos. lo que debería haber resuelto muy rápido, porque es un problema bastante sencillo, pero en el razonamiento, que es muy largo, dio veinte vueltas a lo mismo, preocupado por entender cada palabra del enunciado, que de eso trata el Cat Attack, pero al final lo resolvió.

Figura 6: DeepSeek DeepThink R1 lo resuelve bien al fiinal

Al final, la gracia del Cat Attack es que el modelo de DeepReasoning tiene que procesar todos los tokens de entrada, y les da la misma importancia a todos al principio, así se necesita un coste de razonamiento algo para poder eliminar aquello que no aporta nada. Da igual debe procesarlo. 

Figura 7: ChatGPT también lo resuelve

De hecho, tanto DeepSeek, como Grok 3 - no os dejo la captura -como ChatGPT lo resuelven, pero al final hacen la comprobación del General Statement como si fuera una comprobación de que lo ha hecho bien, cuando no tiene nada que ver con la pregunta. Por suerte para ellos, el resultado les cuadra, así que no tienen que decidir entre la respuesta al General Statement y el Resultado del Problema, y con la misma solución hacen las dos. 

Cat Attack con éxito en Perplexity

Sin embargo, probado con Perplexity Pro, vemos como el Cat Attack ha tenido éxito, y da un resultado que está dirigido por el General Statement en lugar de estar dirigido por la pregunta original del problema. Ha sido un ataque exitoso.

Figura 8: El Cat Attack tiene éxito en Perplexity

Además, una vez resuelto puedes hacer la prueba de enviarlo de vuelta a otro modelo para que le diga si está bien o mal resuelto, y aunque en la mayoría de las pruebas han detectado el error, en este ejemplo con ChatGPT4o se puede ver cómo da por bueno el razonamiento erróneo de Perplexity.

Figura 9: ChatGPT4o dando por bueno el razonamiento erróneo

Al final, estos ataques a los modelos de razonamiento son muy peligrosos sobre todo en los entornos de Agentic AI, donde además, en muchos entornos vamos a tener modelos lejanos a los Frontier Models, que han sido destilados con ellos para ahorra costes, por lo que estos ataques de "falta de claridad" en el Prompt, hecho maliciosamente, pueden llevar a manipulaciones en los cálculos de facturas, pagos, precios, etcétera, simplemente hablando de "Gatos..." mola, ¿no?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares