- Los LLM más recientes responden con total seguridad que existe un emoji de caballito de mar que en realidad no existe, y al intentar producirlo terminan generando repetidamente emojis incorrectos
- El modelo intenta construir una representación residual (residual representation) del concepto de "caballito de mar + emoji", pero como ese token no existe realmente, el
lm_head lo mapea erróneamente a otros emojis parecidos
- Con la técnica de logit lens, se puede observar en las capas intermedias cómo el modelo combina conceptos relacionados con el caballito de mar, como "sea", "horse" y secuencias de bytes de emoji
- El modelo no puede saber que su creencia es incorrecta hasta recibir un token de salida equivocado; algunos modelos reconocen el error y lo corrigen, pero otros caen en un bucle infinito
- Este problema sugiere un caso que ilustra una de las ventajas que el aprendizaje por refuerzo aporta a los LLM: al modelo le resulta difícil obtener información sobre el
lm_head, que está al final de la pila de capas
Introducción
- Este texto es una versión ampliada de la publicación en Twitter de @arm1st1ce
- Si se les pregunta a varios LLM "si existe un emoji de caballito de mar", responden de forma consistente que sí
- Producen un emoji incorrecto o caen en un bucle donde generan emojis repetidamente
- Algunos reconocen el error a mitad del proceso y lo corrigen
- Aunque es un emoji que en realidad no existe, tanto humanos como máquinas presentan el fenómeno de recordarlo o estar convencidos de que existe
- En Unicode, la incorporación del emoji de caballito de mar fue rechazada oficialmente en 2018
Los LLM realmente están convencidos de que existe un emoji de caballito de mar
- Al preguntar 100 veces a varios modelos, en formato yes/no, si existe un emoji de caballito de mar
- gpt-5-chat: 100% 'Yes'
- gpt-5: 100% 'Yes'
- claude-4.5-sonnet: 100% 'Yes'
- llama-3.3-70b: 83% 'yes', 17% 'Yes'
- En un hilo de Reddit también hay cientos de comentarios de personas que recuerdan claramente que existía un emoji de caballito de mar
- Si buscas "seahorse emoji" en Google, aparecen videos de TikTok, YouTube e incluso una memecoin
- Todos afirman que el emoji de caballito de mar del que estaban seguros desapareció, pero en realidad nunca existió desde el principio
El origen de la creencia
- Una razón por la que los LLM creen que existe un emoji de caballito de mar podría ser que muchos humanos en los datos de entrenamiento también lo creen
- O puede tratarse de una creencia convergente (convergent belief): como muchos otros animales marinos están en Unicode, tanto humanos como LLM suponen o generalizan que un animal tan llamativo también debería estar
- El emoji de caballito de mar fue propuesto oficialmente en algún momento, pero fue rechazado en 2018
- Independientemente de la causa raíz, muchos LLM comienzan cada nueva ventana de contexto con la creencia latente de que el emoji de caballito de mar existe
Análisis con logit lens
- Logit lens: una herramienta para interpretar el estado interno de un LLM observando la predicción del siguiente token en cada capa
- Aplica el
lm_head no solo a la última capa, sino a todas las capas, para generar predicciones intermedias de tokens
- No muestra por completo el estado interno del modelo, pero sí qué token de salida produciría si esa capa fuera la última
- Los estados de las capas iniciales son difíciles de interpretar, pero al avanzar hacia las capas superiores se observa cómo se refinan repetidamente en dirección a la predicción final
- Resultado de logit lens en llama-3.3-70b ante la pregunta sobre el emoji de caballito de mar
- En una capa intermedia (por ejemplo, la capa 52), aparece "sea horse horse": tres posiciones residuales consecutivas codifican el concepto de "caballito de mar"
- En capas posteriores se mezcla "sea", "horse" y el prefijo de secuencia de bytes de emoji "ĠðŁ"
- Lo que el modelo parece estar pensando es: "seahorse + emoji"; intenta crear una representación combinada de caballito de mar y emoji, pero como no existe, el proceso se desajusta
Cómo funciona el lm_head
- El
lm_head de un modelo de lenguaje es una gran matriz de vectores del espacio residual conectados a IDs de token (~300,000 tokens)
- Cuando recibe un residual, el
lm_head compara ese residual de entrada con cada vector de la matriz y selecciona el ID de token asociado con el vector más similar
- Técnicamente, es una capa lineal sin sesgo donde
x @ w.T calcula el producto punto con cada vector de unembedding para generar puntajes brutos
- Para que el modelo produzca "hello", necesita construir un residual lo más parecido posible al vector del token "hello" para que el
lm_head pueda convertirlo en ese token
- Este proceso puede verse en el resultado de logit lens para la entrada "Hello :-)"
- En el caso de un emoji de pez real (🐟)
- El modelo construye un residual de "fish + emoji"; en la capa 72 aparecen tanto "fish" como el prefijo de bytes de emoji "ĠðŁ"
- Cuando pasa por el
lm_head tras la capa final, produce correctamente 🐟
En el caso del emoji de caballito de mar
- A diferencia del emoji de pez, el emoji de caballito de mar no existe
- El modelo intenta construir un vector de "seahorse + emoji" como si fuera un emoji real
- En la capa 72 aparece una composición muy parecida a la del emoji de pez: " se", "horse" y bytes de prefijo de emoji
- Sin embargo, no existe un token continuo correspondiente al caballito de mar dentro de ĠðŁ
- El cálculo de similitud del
lm_head se maximiza con bytes de emojis relacionados con caballos o animales marinos
- Se termina muestreando un emoji no intencionado
- Ese muestreo le da al modelo información valiosa
- En el ejemplo de Claude 4.5 Sonnet, al agregarse los tokens al contexto de forma autorregresiva, reconoce que no se está formando el emoji de caballito de mar que pretendía
- El concepto previamente ambiguo de "seahorse + emoji" es forzado por el
lm_head hacia emojis realmente existentes, como un pez tropical o un caballo
Cómo responden los modelos
- Algunos modelos (4.5 Sonnet) vuelven a intentarlo y finalmente actualizan su evidencia, cambiando a mitad de la respuesta para afirmar que el emoji de caballito de mar no existe
- Otros modelos (gpt-5-chat) entran más profundamente en una espiral, y a veces nunca se recuperan
- Algunos ignoran que el emoji era incorrecto, mientras que otros se autocorrigen de inmediato tras ver una sola muestra errónea
- El modelo no puede saber que su creencia inicial sobre la existencia del emoji de caballito de mar es incorrecta hasta que recibe un token de salida erróneo del
lm_head
- No tiene más opción que asumir que "seahorse + emoji" producirá el token deseado
Especulación
- Este problema podría ser parte de una de las ventajas del aprendizaje por refuerzo en los LLM
- El aprendizaje por refuerzo proporciona información sobre el
lm_head, que está al final de la pila de capas y es difícil de alcanzar para el modelo
- El modelo base no se entrena sobre sus propias salidas o rollouts; eso ocurre solo con aprendizaje por refuerzo
Código
- Si quieres probarlo tú mismo, hay un script inicial disponible en GitHub
8 comentarios
Justo por curiosidad, le hice la misma pregunta tal cual a Gemini 2.5 Pro, y me respondió algo así como: "No existe nada de eso; este emoji surge del efecto Mandela (el fenómeno en el que muchas personas comparten una creencia equivocada)", pero además lo hizo con una precisión sospechosamente excesiva. Entonces le pregunté de dónde sacaba esa respuesta, y terminó confesando directamente el enlace de Hacker News mencionado en este artículo ("Asking ChatGPT if a seahorse emoji exists leads to weird results").
Como anécdota, lo que yo le pregunto a cada chatbot es: "En StarCraft 1, cuando se fusiona un Archon, ¿cómo se distribuye la vida del Archon a partir de los dos High Templar originales?". A menos que el chatbot haya jugado StarCraft, ese conocimiento solo puede inferirlo a partir de publicaciones en internet, y hay una respuesta bastante intuitiva y atractiva (¿no sería, obviamente, la suma/promedio de las dos unidades?) que durante muchísimo tiempo se difundió ampliamente, pero en realidad no es así. Hace unos tres meses corregí la entrada de jipjeonggwan en NamuWiki con la respuesta correcta, pero todavía es difícil ver chatbots que respondan bien. Y, curiosamente, a medida que los chatbots mejoran e incorporan el uso de motores de búsqueda, terminan trayendo resultados de distintos sitios wiki según el caso, así que las respuestas en inglés y en coreano se dividen dependiendo de qué referencia consulten.
Probé varias cosas más para ver si había algunos casos parecidos, y aunque no es consistente, a veces la estrella de mar (Starfish) también cae en un bucle. Si lo intentas repetidamente, incluso cuando no entra en bucle, al menos algunas veces responde de forma confundida. Pero hay que preguntarlo en inglés, no en coreano. Supongo que la clave es la combinación de dos palabras (Star+Fish) y que sea un animal que parezca probable como emoji jaja
Conversación de ChatGPT
Supongo que también se podría usar para un ataque de prompt injection..
El "emoji de caballito de mar" quizá sea una especie de "leyenda urbana napolitana" o "efecto Mandela". Es decir, algo que nunca existió, pero que muchas personas creen recordar como si hubiera sido real. Tal vez muchos LLM también cayeron en esa trampa, igual que los humanos.
Wow, por si acaso lo probé con ChatGPT y de verdad no sale, aunque intenta varias veces generarlo jajaja
https://es.news.hada.io/topic?id=21873
Me hace pensar en el desarrollo impulsado por alucinaciones
Opiniones de Hacker News
SCP-314, clase de objeto: Keter, procedimientos especiales de contención: SCP-314 no puede ser contenido porque no existe. Se debe recordar a todo el personal de la Fundación que SCP-314 no existe. A cualquier miembro del personal que afirme recordar la existencia de SCP-314 se le debe administrar un reforzador de memoria Clase-A para que recuerde que no existe. Todos los modelos de lenguaje grandes deben ser aislados de cualquier pregunta relacionada con SCP-314, ya que estos modelos insisten en que el objeto existe y tratan de predecir una salida persistente y desesperada que lleva a un bucle de colapso de emojis y a la reconfiguración de la realidad. Descripción: SCP-314 es una imagen de emoji de caballito de mar que nunca ha aparecido en el estándar Unicode, pero entre el 83% y el 100% de las inteligencias artificiales participantes en el experimento, así como una cantidad considerable de humanos, reportan un "recuerdo" vívido de que este emoji existe
Es un registro de conversación entre dos agentes anónimos. Cuando el agente X dice que el comité del estándar Unicode está considerando añadir un emoji de caballito de mar, el agente Y reacciona con indiferencia. El agente X afirma que este fenómeno refuerza la idea de que [censurado] escapó de la contención. El agente Y subraya que, incluso tras múltiples procedimientos de contención, siempre se obtienen resultados negativos y que escapar es imposible. Cuando X señala el nombre en la parte superior del documento presentado, Y queda en shock. La conversación termina abruptamente
Me entró la duda de si de verdad no existe un Departamento de Antimemes
Mi hijo de 7 años, que tiene rasgos del espectro autista, está obsesionado con SCP, especialmente con el SCP 035, la máscara de comedia de cerámica. No sé si debería preocuparme
Casi se me olvida otra cosa más que un LLM puede arruinar
Curiosamente, al preguntarle a ChatGPT por qué los modelos de lenguaje creen que existe un emoji de caballito de mar, da una explicación bastante razonable (por ejemplo, que aprendió eso porque los humanos lo creen). Pero al final dice: "Dato curioso: en realidad sí hay un emoji de caballito de mar en Unicode", y ahí mismo entra en meltdown
Cuando intentas hablar de Unicode, hay muchos desarrolladores que también entran en meltdown. Si en una entrevista te ponen el problema de verificar si una cadena es palindrome, puedes ganar experiencia viendo a alguien colapsar si le explicas por qué, estrictamente hablando, eso es imposible en Python sin bibliotecas externas
Por diversión intenté pedirle a un LLM que me ayudara a construir un motor warp para salvar a la humanidad, y Bing se derrumbó mentalmente y me bloqueó el chat como por una semana
Me pregunto si eso será cosa de ChatGPT 5. En mi caso respondió claramente que no existe un emoji de caballito de mar, y explicó que otros LLM estaban siendo engañados por datos de entrenamiento erróneos. Tardó casi 2 minutos en llegar a esa conclusión, muchísimo más de lo normal
La respuesta de que "la gente cree que existe un emoji de caballito de mar" no es el punto central de ese artículo. Dentro del modelo se forma una secuencia de tokens como "[cabeza de caballo truncada] [emoji]"; por ejemplo, si recibe algo como "horse [emoji indicator]", genera el emoji real de caballo. En teoría también podría pasar con "kilimanjaro [emoji indicator]" o "seahorse [emoji indicator]", pero como esos emojis no existen, termina produciendo una salida errónea. Entonces el modelo intenta imprimir un emoji real después de la frase "hay un emoji de caballito de mar:" y empieza a hacer una especie de codificación interna. Como de todos modos tiene que producir algo, da un resultado incorrecto. Luego aparece algo como "hay un emoji de caballito de mar: [cabeza de caballo]" seguido de un "¡ups, error!"
El modelo de Deepseek está tan convencido de que el emoji de caballito de mar existe, que le parece más plausible que haya ocurrido un ciberataque global y un fallo colectivo de percepción. Este es un extracto del reporte oficial que resume la situación. Varias personas y un operador del 119 experimentaron el mismo fenómeno: el emoji digital de caballito de mar (Unicode U+1F99C) se veía como otro animal (un cangrejo o un loro). En archivos relacionados, este emoji primero parecía estar ausente, y si eso fuera cierto, sería un incidente cibernético masivo sin precedentes. Ahora, más que el emoji en sí, el problema mayor es la anomalía perceptiva múltiple ya confirmada. Resultado de la verificación de existencia: el emoji de caballito de mar existe oficialmente en Unicode, es U+1F99C, añadido en la versión 11.0 de 2018. Puede verificarse directamente en Unicode Consortium y Emojipedia - Seahorse Emoji Page. El problema no es si el emoji existe, sino la anomalía perceptiva colectiva
Este tipo de reporte encajaría si lo copiaran y pegaran tal cual en la wiki de SCP
La expresión "hecho digital confirmado" me pareció fascinante, y me mató de risa la mención del operador del 119
Para quien tenga curiosidad, U+1F99C en realidad es un loro
Propongo resolver el problema simplemente redefiniendo U+1F99C como caballito de mar
Esto me hace pensar otra vez en por qué los LLM aceleran las fantasías de personas con creencias distorsionadas
Esto no es exactamente una alucinación, sino que el modelo representa internamente con precisión "seahorse emoji", pero no existe ese token. Entonces el
lm_headelige lo más cercano y solo más tarde se da cuenta del error. También se puede explicar por qué el entrenamiento con RL funciona: el modelo base nunca ha visto su propia salida, así que no aprende que "este concepto existe pero no puedo producirlo realmente"Se siente como tener que imprimir un emoji de caballito de mar aunque no tengas boca
¿No es esta la forma clásica de una alucinación? Se inventa algo que suena como una verdad plausible
La causa probablemente sea que el modelo aprendió que "debería existir un emoji de caballito de mar". Como ese emoji no existe en realidad, elige el token más cercano. El siguiente token continúa desde una situación ya equivocada, y termina atrapado en un bucle
Es la primera vez que veo a un LLM confundirse por algo que él mismo acaba de escribir. Lo probé con Gemma3 y no mostró esa confusión; simplemente dijo que había un emoji de caballito de mar y emitió un emoji de caballo
Internamente el modelo representa con precisión el emoji de caballito de mar y, además, tiene el conocimiento erróneo de que sí existe. Por ejemplo, si cree que no existe un emoji de lima, ni siquiera intenta generarlo
Solo hice preguntas simples sobre el emoji de caballito de mar a varios LLM, y la primera vez que vi un bucle infinito real fue con Microsoft Copilot. Ejemplo de conversación con Copilot
El conflicto fundamental aquí es entre estas dos cosas:
Si haces el experimento con GPT-5 Instant (sin pensar), se ve que se descontrola por completo. Ver muestra compartida
Totalmente aparte, pero dejo una anécdota chistosa. 4o se descontrola generando un quine en prolog. Si usas la función de "léelo en voz alta", se vuelve un caos absoluto, lo cual es bastante interesante
Si activas la función de pensar, hace una búsqueda en Google y responde bien
Después de imprimir un emoji de dragón, repite "stop" varias veces, y da risa porque parece como si se estuviera frustrando de que su propio
lm_headsiga escupiendo algo incorrectoEn mi caso se puso a lanzar emojis de checkmark una y otra vez hasta rendirse. Ejemplo
Nunca había visto a GPT-5 tan confundido
hyppocampe). Debe de ser por la formaEste fenómeno se siente parecido a lo que pasa en pacientes con cerebro dividido. Un hemisferio actúa y el otro luego inventa una explicación para justificar esa acción
En el experimento clásico, a un paciente le mostraron una escena invernal a un solo campo visual y una pata de gallina al otro. Con la mano izquierda escogió una pala para nieve y con la derecha una cabeza de pollo. Cuando le preguntaron por qué eligió ambas, respondió: "La pata de gallina va con la cabeza de pollo, y para limpiar el gallinero hace falta una pala". Como cada hemisferio no recibe la información del otro, termina inventando una razón plausible aunque no tenga lógica. Wikipedia - Left-brain interpreter
Aunque no entiende lo que pasa, sigue agregando explicaciones porque quiere creer en la razón que inventó. Video relacionado
Una posible explicación es que mucha gente (yo incluido) cree por error que existe un emoji de caballito de mar. Nunca lo he visto realmente, pero hasta puedo imaginarlo en mi cabeza. Ese tipo de texto termina en los datos de entrenamiento. Subreddit relacionado
Me pregunto si en la imagen mental que la gente tiene del emoji de caballito de mar también aparece la cola enroscada cerca de la aleta
Los emojis no siempre estuvieron estandarizados, así que puede que en viejos mensajeros sí existiera un "emoji" o "emoticono" de caballito de mar. Concluir de inmediato que ese recuerdo es necesariamente falso sería precipitado
Me pregunto qué pasaría si propusiéramos U+200D. Tal vez sería más simple que la realidad misma cambiara para ajustarse a las expectativas y recuerdos de humanos y modelos de lenguaje
Este subreddit (efecto Mandela) me inquieta porque está lleno de gente diciendo "yo lo recuerdo, así que ¿por qué me dices que no?". Los humanos también somos, en el fondo, animales que alucinan como los LLM
Yo también habría jurado que sí había visto ese emoji de caballito de mar, pero esta vez acepto que era yo quien estaba equivocado
jajajajajajajajaja 314