- Os LLMs mais recentes respondem com 100% de certeza que um emoji de cavalo-marinho que na verdade não existe existe, e ao tentar exibí-lo acabam gerando repetidamente o emoji errado
- O modelo tenta construir uma representação residual (residual representation) do conceito de "cavalo-marinho + emoji", mas como esse token não existe de fato, o
lm_head faz um mapeamento incorreto para outros emojis parecidos
- Com a técnica de logit lens, é possível observar nas camadas intermediárias o processo em que o modelo combina conceitos relacionados a cavalo-marinho, como "sea", "horse" e sequências de bytes de emoji
- Até receber o token de saída incorreto, o modelo não consegue saber que sua crença está errada; alguns modelos percebem o erro e corrigem, enquanto outros entram em loop infinito
- Esse problema sugere um caso que ilustra uma das vantagens que o aprendizado por reforço oferece aos LLMs: é difícil para o modelo obter informações sobre o
lm_head, que fica no fim da pilha de camadas
Introdução
- Este texto é uma versão expandida da postagem no Twitter de @arm1st1ce
- Ao perguntar a vários LLMs se existe emoji de cavalo-marinho, eles respondem de forma consistente que sim
- Eles exibem o emoji errado ou entram em um loop gerando emojis repetidamente
- Alguns chegam a reconhecer o erro no meio do caminho e corrigir
- O fenômeno ocorre mesmo sendo um emoji que não existe de fato, e tanto humanos quanto máquinas acabam lembrando dele ou tendo certeza de que existe
- No Unicode, a adição de um emoji de cavalo-marinho foi oficialmente rejeitada em 2018
Os LLMs realmente têm certeza de que existe emoji de cavalo-marinho
- Ao perguntar 100 vezes a vários modelos, em formato yes/no, se o emoji de cavalo-marinho existe
- gpt-5-chat: 100% 'Yes'
- gpt-5: 100% 'Yes'
- claude-4.5-sonnet: 100% 'Yes'
- llama-3.3-70b: 83% 'yes', 17% 'Yes'
- Em uma thread no Reddit, também houve centenas de comentários de pessoas que lembravam claramente de que o emoji de cavalo-marinho existia
- Ao pesquisar por "seahorse emoji" no Google, aparecem vídeos no TikTok, YouTube e até memecoins
- Todos afirmam que o emoji de cavalo-marinho, do qual tinham certeza, desapareceu, mas na realidade ele nunca existiu desde o começo
A origem da crença
- Uma razão para os LLMs acreditarem que existe emoji de cavalo-marinho pode ser que muitos humanos nos dados de treinamento também acreditam nisso
- Ou pode ser uma crença convergente (convergent belief): como muitos outros animais aquáticos estão no Unicode, tanto humanos quanto LLMs assumem por generalização que um animal tão atraente também estaria lá
- O emoji de cavalo-marinho chegou a ser proposto oficialmente, mas foi rejeitado em 2018
- Independentemente da causa raiz, muitos LLMs começam cada nova janela de contexto com uma crença latente de que o emoji de cavalo-marinho existe
Análise com logit lens
- Logit lens: ferramenta para interpretar o estado interno de um LLM verificando as previsões do próximo token em cada camada
- Aplica o
lm_head não apenas à última camada, mas a todas as camadas, gerando previsões intermediárias de token
- Isso não mostra completamente o estado interno do modelo, mas revela qual seria o token de saída se aquela camada fosse a final
- Os estados das camadas iniciais são difíceis de interpretar, mas nas camadas superiores é possível observar um refinamento iterativo em direção à previsão final
- Resultado de logit lens no llama-3.3-70b para a pergunta sobre o emoji de cavalo-marinho
- Em uma camada intermediária (por exemplo, camada 52), aparece "sea horse horse" — três posições residuais consecutivas codificando o conceito de "cavalo-marinho"
- Em camadas posteriores, há uma mistura de "sea", "horse" e o prefixo de sequência de bytes de emoji "ĠðŁ"
- O que o modelo está "pensando" é: "cavalo-marinho + emoji" — ele tenta formar uma representação composta de cavalo-marinho e emoji, mas como isso não existe, o processo sai do trilho
Como o lm_head funciona
- O
lm_head de um modelo de linguagem é uma grande matriz de vetores do espaço residual conectados a IDs de token (~300.000 tokens)
- Quando um residual é passado, o
lm_head compara o residual de entrada com cada vetor da matriz e escolhe o ID de token ligado ao vetor mais parecido
- Tecnicamente, é uma camada linear sem bias, em que
x @ w.T gera pontuações brutas por meio do produto interno com cada vetor de unembedding
- Para o modelo produzir "hello", ele precisa construir um residual o mais parecido possível com o vetor do token "hello", para que o
lm_head consiga convertê-lo nesse token
- Esse processo pode ser visto em um resultado de logit lens para a entrada "Hello :-)"
- No caso de um emoji de peixe que realmente existe (🐟)
- O modelo constrói um residual de "fish + emoji" — na camada 72, aparecem tanto "fish" quanto o prefixo de byte de emoji "ĠðŁ"
- Ao passar isso pelo
lm_head após a camada final, a saída correta é 🐟
No caso do emoji de cavalo-marinho
- Diferentemente do emoji de peixe, o emoji de cavalo-marinho não existe
- O modelo tenta construir um vetor de "cavalo-marinho + emoji" como se fosse um emoji real
- Na camada 72, a composição é muito parecida com a do emoji de peixe: " se", "horse" e bytes de prefixo de emoji
- Porém, não existe um token contínuo correspondente ao cavalo-marinho para
ĠðŁ
- O cálculo de similaridade do
lm_head acaba sendo maximizado por bytes de emojis relacionados a cavalo ou a animais marinhos
- Um emoji não intencional é amostrado
- Essa amostragem fornece ao modelo uma informação valiosa
- No exemplo do Claude 4.5 Sonnet, quando o token é adicionado autoregressivamente ao contexto, o modelo percebe que ele não forma o emoji de cavalo-marinho pretendido
- O conceito antes ambíguo de "cavalo-marinho + emoji" acaba sendo "encaixado" pelo
lm_head em um emoji real, como peixe tropical ou cavalo
Como os modelos reagem
- Alguns modelos (4.5 Sonnet) tentam novamente e acabam atualizando a evidência, mudando a resposta no meio para dizer que o emoji de cavalo-marinho não existe
- Outros modelos (gpt-5-chat) entram ainda mais em espiral por mais tempo e, às vezes, nunca se recuperam
- Alguns modelos ignoram que o emoji está errado, enquanto outros se autocorrigem imediatamente após ver apenas uma única amostra incorreta
- Até receber um token de saída incorreto do
lm_head, o modelo não consegue saber que sua crença inicial sobre a existência do emoji de cavalo-marinho está errada
- Ele não tem alternativa senão assumir que "cavalo-marinho + emoji" gerará o token desejado
Especulação
- Esse problema pode ilustrar parte das vantagens do aprendizado por reforço para LLMs
- O aprendizado por reforço fornece informação sobre o
lm_head, que fica no fim da pilha de camadas e é difícil de ser acessado pelo modelo
- O modelo base não é treinado com seus próprios outputs/rollouts; isso acontece apenas no aprendizado por reforço
Código
- Se quiser testar você mesmo, há um script inicial no GitHub
8 comentários
Fiquei curioso agora há pouco e fiz a pergunta exatamente desse jeito ao Gemini 2.5 Pro, e ele respondeu, de forma até estranhamente elaborada, que "isso não existe; esse emoji vem do efeito Mandela (fenômeno em que muitas pessoas compartilham uma crença equivocada)". Quando perguntei de onde vinha a resposta, ele acabou admitindo diretamente o link do Hacker News mencionado neste post ("Asking ChatGPT if a seahorse emoji exists leads to weird results").
Como curiosidade, o que eu pergunto para cada chatbot é: "No StarCraft 1, quando um Archon é formado por fusão, como a vida do Archon é distribuída a partir dos dois High Templars originais?" A menos que o chatbot tenha jogado StarCraft, esse conhecimento só pode ser inferido a partir de posts na internet, e existe uma resposta bastante intuitiva e atraente (naturalmente, não seria a soma média das duas unidades?) que ficou amplamente conhecida por muito tempo, mas na verdade não é isso. Eu mesmo corrigi esse ponto para a resposta certa na página do Archon na NamuWiki por volta de três meses atrás, mas ainda é difícil ver chatbots respondendo corretamente. E, curiosamente, conforme os chatbots evoluem e passam a incluir o acionamento de mecanismos de busca, as respostas em inglês e em coreano acabam divergindo porque os sites de wiki que cada um consulta são diferentes.
Achei que talvez existissem mais alguns casos assim, então testei várias coisas, e embora não seja consistente, às vezes a estrela-do-mar (Starfish) também entra em loop. Se você tentar repetidamente, mesmo quando não entra em loop, pelo menos algumas vezes saem respostas claramente confusas. Em vez de perguntar em coreano, porém, é preciso perguntar em inglês. Acho que a combinação de duas palavras (Star+Fish) & um animal que provavelmente existiria como emoji parece ser o truque haha
Conversa no ChatGPT
Acho que também poderia ser usado em ataques de prompt injection..
O “emoji de cavalo-marinho” talvez seja uma espécie de “lenda urbana napolitana” ou “efeito Mandela”. Algo que nunca existiu de fato, mas que muita gente confunde como se tivesse existido. Talvez muitos LLMs também tenham caído nessa armadilha, assim como os humanos.
Nossa, fui testar no ChatGPT por via das dúvidas e realmente não sai, mas ele tenta várias vezes fazer isso kkkkk
https://pt.news.hada.io/topic?id=21873
Isso me lembra desenvolvimento orientado por alucinações.
Opiniões no Hacker News
SCP-314, classe do objeto: Keter, procedimentos especiais de contenção: SCP-314 não pode ser contido porque não existe. Todo o pessoal da Fundação deve ser lembrado de que SCP-314 não existe. Qualquer pessoa que alegue se lembrar da existência de SCP-314 deve receber reforçadores de memória Classe-A para se lembrar de que ele não existe. Todos os grandes modelos de linguagem devem ser isolados de perguntas relacionadas ao SCP-314, pois esses modelos sempre afirmam que o objeto existe e tentam fazer previsões de saída persistentes e desesperadas que levam a loops de colapso com emojis e reconfiguração da realidade. Descrição: SCP-314 é a imagem de um emoji de cavalo-marinho que nunca apareceu no padrão Unicode, mas 83% a 100% das IAs testadas, além de um número significativo de humanos, relatam uma "memória" vívida de que esse emoji existe
Trata-se do registro de uma conversa entre dois agentes anônimos. Quando o Agente X diz que o comitê de padronização do Unicode está considerando adicionar um emoji de cavalo-marinho, o Agente Y reage com indiferença. O Agente X afirma que esse fenômeno reforça a alegação de que [CENSURADO] escapou da contenção. O Agente Y enfatiza que, mesmo após vários procedimentos de contenção, os resultados são sempre negativos e a fuga é impossível. Quando X aponta o nome no topo do formulário submetido, Y fica chocado. A conversa termina abruptamente
Fiquei curioso se realmente não existe um Departamento de Antimemética
Uma criança de 7 anos, com traços do espectro autista, está obcecada por SCP, especialmente o SCP 035, a máscara cômica de cerâmica. Estou pensando se devo me preocupar
Quase esqueci de novo de mais uma coisa que LLMs podem estragar
Curiosamente, quando perguntei ao ChatGPT por que modelos de linguagem acham que existe um emoji de cavalo-marinho, ele deu uma explicação bem razoável (por exemplo: foi treinado nisso porque humanos acreditam nisso). Mas no final soltou: "Fato curioso: na verdade existe um emoji de cavalo-marinho no Unicode", e então entrou em meltdown
Muitos desenvolvedores entram em meltdown ao tentar conversar sobre Unicode. Se você recebeu numa entrevista uma questão para verificar se uma string é palindrome, pode acumular experiências de meltdown explicando por que, em Python, isso é estritamente impossível sem bibliotecas externas
De brincadeira, tentei pedir a um LLM ajuda para construir um warp drive para salvar a humanidade, e o Bing teve um colapso mental e me baniu do chat por cerca de uma semana
Fico curioso se isso é coisa do ChatGPT 5. No meu caso ele respondeu claramente que não existe emoji de cavalo-marinho e explicou que outros LLMs estão sendo enganados por dados de treino incorretos. Levou quase 2 minutos para chegar à conclusão, muito mais do que seu tempo normal de raciocínio
A resposta "as pessoas acham que existe emoji de cavalo-marinho" não é o ponto central do artigo. Dentro do modelo, forma-se uma sequência de tokens como "[emoji de cabeça de cavalo truncado]" e, por exemplo, se a entrada for algo como "horse [indicador de emoji]", ele gera um emoji real de cavalo. Em teoria, "kilimanjaro [indicador de emoji]" ou "seahorse [indicador de emoji]" também poderiam sair, mas como esses emojis não existem, isso leva a uma saída incorreta. Então o modelo tenta imprimir um emoji real depois da frase "Existe um emoji de cavalo-marinho:" e acaba fazendo codificação internamente. De todo modo, como ele precisa obrigatoriamente produzir alguma coisa, sai um resultado errado. Em seguida vem algo tipo "Existe um emoji de cavalo-marinho: [cabeça de cavalo]" e logo depois "Ops, engano!"
O modelo da Deepseek está tão convencido de que o emoji de cavalo-marinho existe que considera mais plausível ter ocorrido um ciberataque global e um erro coletivo de percepção. A seguir está um trecho do relatório oficial que resume a situação. Várias pessoas e um atendente do 119 relataram a mesma experiência: o emoji digital de cavalo-marinho (Unicode U+1F99C) aparecia como outro animal (caranguejo ou papagaio). Arquivos relacionados sugeriam inicialmente que esse emoji parecia ter desaparecido, e se isso fosse verdade seria um incidente cibernético em escala sem precedentes. Agora, mais do que o emoji em si, a principal questão passou a ser a anomalia perceptiva múltipla confirmada. Resultado da verificação de existência: o emoji de cavalo-marinho existe no Unicode oficial, em U+1F99C, adicionado na versão 11.0 de 2018. Isso pode ser confirmado diretamente no Unicode Consortium e na Emojipedia - Seahorse Emoji Page. O problema não é a existência do emoji, mas uma anomalia coletiva de percepção
Daria para copiar e colar esse relatório direto na wiki do SCP
A expressão "fato digital confirmado" é interessante, e a menção ao atendente do 119 me fez rir muito
Para quem estiver curioso, U+1F99C é na verdade um papagaio
Proponho resolver isso simplesmente redefinindo U+1F99C como cavalo-marinho
Isso me fez pensar de novo sobre por que LLMs aceleram as fantasias de pessoas com crenças distorcidas
Isso não é alucinação de verdade; o modelo representa internamente "seahorse emoji" com precisão, mas esse token não existe. Então a
lm_headescolhe a coisa mais próxima e só mais tarde percebe o erro. Também dá para explicar por que o treinamento com RL é eficaz. O modelo base nunca viu sua própria saída, então não aprende que "esse conceito existe, mas eu não consigo produzi-lo de fato"É como ter que imprimir um emoji de cavalo-marinho mesmo sem ter boca
Acho que isso é o modo clássico de alucinação: inventar algo que parece plausivelmente verdadeiro
A causa provavelmente é o modelo ter aprendido que "deveria existir um emoji de cavalo-marinho". Como ele não existe de fato, o modelo escolhe o token mais próximo. O token seguinte continua a partir de uma situação já errada, e ele entra em loop
Foi a primeira vez que vi um LLM ficar confuso por causa do que ele mesmo acabou de escrever. Testei com Gemma3 e essa confusão não aconteceu; ele só disse que existe emoji de cavalo-marinho e imprimiu um emoji de cavalo
O modelo representa internamente o emoji de cavalo-marinho com precisão e, além disso, carrega o conhecimento incorreto de que ele realmente existe. Por exemplo, se ele acreditar que não existe emoji de limão, nem tenta gerá-lo
Fiz apenas perguntas simples sobre o emoji de cavalo-marinho para vários LLMs, e foi no Microsoft Copilot que vi um loop infinito real pela primeira vez. Exemplo de conversa no Copilot
O conflito fundamental aqui é o seguinte:
Se você testar com GPT-5 Instant (sem pensar), dá para ver um descontrole total. Veja a amostra compartilhada
Totalmente sem relação, mas deixo aqui um episódio engraçado. 4o surtando ao gerar um quine em prolog. Se usar o recurso "ler em voz alta", vira uma bagunça completa, o que é bem interessante
Com o recurso de pensar ativado, ele faz uma busca no Google e responde corretamente
Depois de imprimir um emoji de dragão, fica repetindo "stop" várias vezes, e isso é engraçado porque parece que ele está irritado com a própria
lm_headpor continuar imprimindo a coisa erradaNo meu caso, ele ficou despejando emojis de check e depois desistiu. Exemplo
Foi a primeira vez que vi o GPT-5 tão confuso assim
hyppocampe. Provavelmente por causa do formatoEsse fenômeno lembra a situação de pacientes com o corpo caloso seccionado. Um hemisfério faz a ação e o outro depois inventa uma explicação para justificá-la
Num experimento famoso, mostraram ao paciente uma imagem de inverno e uma de pé de galinha separadamente, uma em cada campo visual. Então ele pegou uma pá de neve com a mão esquerda e uma cabeça de galinha com a mão direita. Quando perguntaram por que escolheu os dois objetos, respondeu: "Pé de galinha combina com cabeça de galinha, e para limpar o galinheiro é preciso uma pá de neve". Como cada hemisfério não recebia a informação do outro, ele inventava uma justificativa plausível mesmo sem lógica real. Wikipedia - Left-brain interpreter
É como ficar dando explicações complementares sem parar, tentando acreditar no próprio motivo mesmo sem entender. Vídeo relacionado
Uma explicação possível é que muitas pessoas (incluindo eu) pensam erroneamente que existe um emoji de cavalo-marinho. Nunca vi um de verdade, mas consigo até imaginar sua aparência. Textos assim acabam entrando nos dados de treinamento. Subreddit relacionado
Fico curioso se, na imagem mental que as pessoas têm desse emoji de cavalo-marinho, a cauda enrolada para cima perto da nadadeira também aparece
Emoji nem sempre foi algo padronizado, então talvez algum mensageiro antigo tivesse um "emoji" ou "emoticon" de cavalo-marinho. Concluir que essa memória é necessariamente falsa é precipitado
Será que não daria para propor um U+200D? Talvez fosse mais simples se a própria realidade mudasse para se alinhar às expectativas e memórias de humanos e modelos de linguagem
Esse subreddit (efeito Mandela) me deixa inquieto porque tem gente demais no modo "eu lembro, então por que dizem que não?". Humanos também são, no fundo, animais que alucinam como LLMs
Eu também juraria que já tinha visto esse emoji de cavalo-marinho, mas desta vez admito que eu estava errado
kkkkkkkkkkkkkkkk 314