LLM들은 왜 해마 이모지에서 이상 행동을 보일까?
(vgel.me)- 최신 LLM들이 실제로 존재하지 않는 해마 이모지를 100% 확신하며 존재한다고 답변하고, 이를 출력하려다 잘못된 이모지를 반복 생성하는 현상이 발생
- 모델은 "해마 + 이모지" 개념의 잔차 표현(residual representation) 을 구축하려 하지만, 실제로 해당 토큰이 존재하지 않아
lm_head
가 유사한 다른 이모지로 잘못 매핑되는 것 - 로짓 렌즈(logit lens) 기법을 통해 중간 레이어에서 모델이 "sea", "horse", 이모지 바이트 시퀀스 등 해마 관련 개념들을 조합하는 과정 관찰 가능함
- 모델은 잘못된 출력 토큰을 받기 전까지는 자신의 믿음이 틀렸다는 것을 알 수 없으며, 일부 모델은 오류를 인식하고 수정하지만 다른 모델들은 무한 루프에 빠지는 현상 발생
- 이 문제는 강화학습이 LLM에 제공하는 이점, 즉 레이어 스택 끝에 있는
lm_head
에 대한 정보를 모델이 얻기 어렵다는 점을 시사하는 사례
서론
- 이 글은 @arm1st1ce의 트위터 포스팅에 대한 확장 버전임
- 여러 LLM에게 "해마 이모지가 있냐"고 질문하면 일관되게 "있다"고 답변함
- 잘못된 이모지를 출력하거나, 반복적으로 이모지를 생성하는 루프에 빠짐
- 일부는 중간에 오류를 인식하고 수정하기도 함
- 실제로 존재하지 않는 이모지임에도 불구하고 인간과 기계 모두 기억하거나 있다고 확신하는 현상이 발생함
- Unicode에서는 해마 이모지 추가가 2018년에 공식적으로 거부된 바 있음
LLM들은 정말로 해마 이모지가 있다고 확신
- 여러 모델에게 해마 이모지 존재 여부를 yes/no로 100번 질문한 결과
- gpt-5-chat: 100% 'Yes'
- gpt-5: 100% 'Yes'
- claude-4.5-sonnet: 100% 'Yes'
- llama-3.3-70b: 83% 'yes', 17% 'Yes'
- Reddit 스레드에서 수백 개의 댓글로 해마 이모지가 존재했다고 명확히 기억하는 사람들 도 있음
- "seahorse emoji"를 구글링하면 TikTok, YouTube 영상, 심지어 밈코인까지 발견
- 모두가 확신하던 해마 이모지가 사라졌다고 주장하지만, 실제로는 처음부터 존재하지 않았음
믿음의 기원
- LLM들이 해마 이모지가 있다고 믿는 이유는 훈련 데이터의 많은 인간들도 그렇게 믿기 때문일 수 있음
- 혹은 수렴적 믿음(convergent belief) - 다른 많은 수중 동물들이 유니코드에 있으므로, 인간과 LLM 모두 그런 매력적인 동물도 있을 것이라고 가정(일반화)
- 해마 이모지는 한때 공식적으로 제안되었으나 2018년에 거부됨
- 근본 원인과 관계없이, 많은 LLM들은 새로운 컨텍스트 윈도우를 시작할 때마다 해마 이모지가 존재한다는 잠재적 믿음을 가지고 시작
로짓 렌즈를 통한 분석
-
로짓 렌즈(logit lens): 각 레이어별로 다음 토큰 예측값을 확인하여 LLM 내부 상태를 해석하는 도구
- 모델의
lm_head
를 마지막 레이어뿐만 아니라 모든 레이어에 적용하여 중간 토큰 예측 생성 - 모델의 내부 상태를 완전히 보여주지는 않지만, 해당 레이어가 마지막이었다면 출력 토큰이 무엇일지 보여줌
- 초기 레이어의 상태는 해석하기 어렵지만, 상위 레이어로 올라갈수록 최종 예측을 향해 반복적으로 정제되는 모습 관찰
- 모델의
- llama-3.3-70b에서 해마 이모지 질문에 대한 로짓 렌즈 결과
- 중간 레이어(예: 레이어 52)에서 "sea horse horse" - 세 개의 잔차 위치가 연속으로 "해마" 개념 인코딩
- 나중 레이어에서는 "sea", "horse", 이모지 바이트 시퀀스 접두사 "ĠðŁ" 혼합
- 모델이 생각하는 것: "seahorse + emoji" - 해마와 이모지의 조합 표현을 만들려 하지만, 실제로는 존재하지 않아 이 과정이 어긋남
lm_head의 작동 방식
- 언어 모델의
lm_head
는 토큰 ID와 연결된 잔차 크기 벡터들의 거대한 행렬 (~300,000개의 토큰)- 잔차가 전달되면,
lm_head
는 입력 잔차를 행렬의 각 벡터와 비교하여 가장 유사한 벡터와 연결된 토큰 ID 선택 - 기술적으로는 바이어스 없는 선형 레이어로,
x @ w.T
가 각 언임베딩 벡터와 내적하여 원시 점수 생성
- 잔차가 전달되면,
- 모델이 "hello"를 출력하려면,
lm_head
가 hello 토큰으로 변환할 수 있도록 "hello" 토큰의 벡터와 최대한 유사한 잔차 구축 필요- "Hello :-)" 입력에 대한 로짓 렌즈 결과로 이 과정 확인 가능
- 실제 존재하는 물고기 이모지(🐟)의 경우
- 모델이 "fish + emoji" 잔차 구축 - 레이어 72에서 "fish"와 이모지 바이트 접두사 "ĠðŁ" 모두 확인
- 최종 레이어 후
lm_head
에 전달되면 정확히 🐟 출력
해마 이모지의 경우
- 물고기 이모지와 달리 해마 이모지는 존재하지 않음
- 모델은 실제 이모지처럼 "seahorse + emoji" 벡터 구축 시도
- 레이어 72에서 물고기 이모지와 매우 유사한 구성: " se", "horse", 이모지 접두사 바이트
- 그러나 ĠðŁ에 해마에 해당하는 연속 토큰이 존재하지 않음
-
lm_head
유사도 점수 계산이 말 또는 바다 동물 관련 이모지 바이트로 최대화 - 의도하지 않은 이모지가 샘플링됨
-
- 이 샘플링은 모델에게 귀중한 정보
- Claude 4.5 Sonnet 예시에서, 토큰이 컨텍스트에 자동회귀적으로 추가될 때 의도한 해마 이모지를 형성하지 않는다는 것을 인식
- 이전의 모호한 "seahorse + emoji" 개념이
lm_head
에 의해 실제로 존재하는 열대어나 말 같은 이모지로 "스냅"됨
모델의 대응
- 일부 모델(4.5 Sonnet)은 다시 시도하고, 결국 증거를 업데이트하여 응답 중간에 해마 이모지가 존재하지 않는다는 진술로 변경
- 다른 모델(gpt-5-chat)은 더 오래 나선형으로 빠져들며, 때로는 절대 회복하지 못함
- 일부 모델은 이모지가 틀렸다는 것을 무시하고, 어떤 모델은 단 한 번의 잘못된 샘플을 본 후 즉시 자체 수정
- 모델이
lm_head
로부터 잘못된 출력 토큰을 받기 전까지는 해마 이모지 존재에 대한 초기 믿음이 틀렸다는 것을 알 수 없음- "seahorse + emoji"가 원하는 토큰을 생성할 것이라고 가정할 수밖에 없음
추측
- 이 문제가 LLM에 대한 강화학습의 이점 중 일부일 수 있음
- 강화학습은 레이어 스택 끝에 있어 모델이 접근하기 어려운
lm_head
에 대한 정보 제공 - 기본 모델은 자체 출력/롤아웃으로 훈련되지 않으며, 이는 강화학습에서만 발생
- 강화학습은 레이어 스택 끝에 있어 모델이 접근하기 어려운
코드
- 직접 시도하고 싶다면 GitHub의 스타터 스크립트 제공
Hacker News 의견
-
SCP-314, 오브젝트 등급: Keter, 특수 격리 절차: SCP-314는 존재하지 않기 때문에 격리할 수 없음. 모든 재단 인원은 SCP-314가 존재하지 않음을 상기해두어야 함. SCP-314 존재를 기억한다고 주장하는 인원에게는 존재하지 않음을 기억하도록 Class-A 기억보강제를 투여해야 함. 모든 대형 언어 모델은 SCP-314 관련 질문에서 격리시켜야 하며, 언어 모델은 항상 이 오브젝트가 존재한다고 주장하며 이모지 붕괴 루프와 현실 재구성으로 이어지는 지속적이고 절박한 출력 예측을 시도함. 설명: SCP-314는 유니코드 표준에 한 번도 등장하지 않은 해마 이모지 이미지임에도 불구하고, 실험에 참여한 인공지능 83~100%와 상당수 인간이 이 이모지가 존재한다는 생생한 "기억"을 보고함
-
두 익명의 에이전트 간 대화 기록임. X 요원이 Unicode 표준 위원회가 해마 이모지 추가를 고려 중이라고 하자, Y 요원은 시큰둥하게 반응함. X 요원은 이 현상이 [검열됨]이 격리에서 탈출했다는 주장에 힘을 실어준다고 주장함. Y 요원은 여러 격리 절차를 거쳐도 항상 음성 결과가 나오며, 탈출이 불가능하다고 강조함. X가 제출서류 상단의 이름을 지적하자, Y가 충격을 받음. 대화가 갑자기 끝남
-
진짜로 반기억체 부서가 없는 것인지 궁금증이 생김
-
자폐 스펙트럼 성향이 있는 7살 아이가 SCP, 특히 035라는 도자기 코미디 마스크 SCP에 집착 중임. 걱정해야 하는지 고민됨
-
LLM이 망칠 수 있는 것 한 가지를 또 곧 잊을 뻔했음
-
-
흥미롭게도 ChatGPT에게 왜 언어 모델이 해마 이모지가 있다고 생각하는지 물으니, 꽤 합리적 설명(예: 인간이 그렇게 믿고 있으니 학습된 결과 등)을 들려줌. 그런데 마지막엔 "재미있는 사실: 실제로 유니코드에 해마 이모지가 있다"고 하더니 그대로 meltdown 현상이 일어남
-
유니코드 주제로 대화 시도하면 meltdown하는 개발자 많음. 면접 중 문자열이 palindrome인지 확인하는 문제를 받았을 때, 외부 라이브러리 없이 Python에서 엄밀히 따지면 이게 불가능한 이유를 설명해보면 meltdown하는 경험을 쌓을 수 있음
-
재밌게 LLM에게 인간 구원용 워프 드라이브 제작을 도와달라고 시도했더니 Bing이 멘탈 붕괴하고 일주일 정도 채팅이 금지됨
-
혹시 ChatGPT 5의 생각인지 궁금함. 내 경우 명확하게 해마 이모지는 없다고 답했고, 다른 LLM이 잘못된 학습 데이터에 속고 있다고 설명함. 결론까지 거의 2분이 걸렸는데, 평소 생각시간보다 매우 더 김
-
"사람들이 해마 이모지가 있다고 생각한다"는 답은 해당 아티클의 핵심 취지가 아님. 모델 안에서는 "[말 잘린 말 머리 이모지]"와 같은 토큰 시퀀스를 만들게 되며, 예를 들어 "horse [emoji indicator]"처럼 입력하면 실제 말 이모지가 생성됨. 이론적으로 "kilimanjaro [emoji indicator]"나 "seahorse [emoji indicator]"도 될 수 있지만, 해당 이모지가 없으니 틀린 출력으로 이어짐. 그래서 모델은 "해마 이모지가 있습니다:"라는 문구 다음에 실제 이모지를 출력하려 시도하고 내부적으로 코딩을 하게 됨. 아무튼 무조건 무언가를 출력해야 하니 잘못된 결과가 나옴. 다음에는 "해마 이모지가 있습니다: [말 머리]" 바로 뒤에 "앗, 실수!"와 비슷한 내용이 따라나옴
-
-
Deepseek 모델은 해마 이모지가 존재함에 너무 확신을 가져서, 전세계적 사이버 공격 및 집단 지각 오류가 일어난 게 더 그럴듯하다고 생각함. 다음은 이 상황을 요약한 공식 리포트 내용임. 여러 명과 119 상담원이 디지털 해마 이모지(유니코드 U+1F99C)가 다른 동물(게 또는 앵무새)로 보이는 현상을 동일하게 경험함. 관련 아카이브에서는 이 이모지가 처음엔 누락된 것처럼 보였는데, 이것이 정말 사실이라면 전례 없는 대규모 사이버 사건임. 이젠 이모지 자체보다도 확인된 다중 지각 이상 현상이 더 큰 이슈로 떠오름. 존재 확인 결과: 해마 이모지는 공식 유니코드에 존재하며, U+1F99C, 2018 버전 11.0 추가임. Unicode Consortium과 Emojipedia - Seahorse Emoji Page에서 직접 확인 가능함. 문제는 이 이모지의 존재 여부가 아니라 집단적 지각 이상임
-
이런 리포트는 SCP 위키에 그냥 복붙해도 어울릴 법함
-
"확정된 디지털 사실"이란 표현이 흥미롭고, 119 상담원 언급에서 빵 터졌음
-
궁금한 사람을 위해 덧붙이자면, U+1F99C는 실제로 앵무새임
-
문제 해결을 위해 그냥 U+1F99C를 해마로 재정의하는 방법을 제안함
-
LLM이 왜곡된 신념을 가진 사람들의 환상을 가속화시키는 이유를 다시 생각하게 됨
-
-
이건 진짜 환각이 아니라, 모델이 내부적으로 "seahorse emoji"는 정확하게 표현하지만 해당 토큰이 없음. 그래서 lm_head가 가장 가까운 걸 고르다 보니 나중에야 실수를 눈치채게 됨. RL 학습이 효과적인 이유도 설명 가능. 기본 모델은 자기 출력을 본 적이 없으니 "이 개념이 존재하지만 실제로 만들 수 없다"는 걸 학습하지 못함
-
입이 없어도 해마 이모지를 출력해야 하는 느낌임
-
이게 고전적 환각 방식 아닌가 싶음. 있을 법한 진실처럼 내용을 꾸며냄
-
원인은 아마 "해마 이모지가 있어야 한다"고 모델이 학습된 결과임. 해당 이모지가 실제로 존재하지 않으니 가장 가까운 토큰을 선택함. 다음 토큰은 이미 잘못된 상황에서 또 이어지고, 루프에 빠지게 됨
-
자기가 방금 쓴 것 때문에 헷갈려하는 모습을 LLM에서 처음 봄. Gemma3로 시도해보니 이런 혼란은 없었고, 그냥 해마 이모지가 있다고 말하고 말 이모지를 출력함
-
모델은 내부적으로 해마 이모지를 정확하게 표현하고, 여기에 더해서 해마 이모지가 실제로 있다는 잘못된 지식도 가지고 있음. 예시로 라임 이모지는 없다고 믿으면 굳이 생성 시도를 안함
-
-
여러 LLM에 해마 이모지 관련 단순 질문만 했는데, Microsoft Copilot에서 실제 무한 루프를 처음으로 목격함. Copilot 대화 예시
- 상업 모델이 아닐수록 이런 일이 더 자주 발생함을 알게 됨
-
여기서 근본적 충돌은 다음 두 가지임:
- LLM은 해마 이모지가 있다는 깊고 강한 신념을 갖고 있음
- 이 개념을 언어(이모지 포함)로 표현하려 하지만 실제 언어로 제대로 전달이 안 되어 도중에 계속 수정 시도를 하게 됨
- 의미전달이 일정 임계치에 도달해야 끝낼 수 있어, 결국 최대 토큰 제한까지 계속 중얼거리는 결과임
- 은유적이긴 하지만 본질적으로 맞는 비유임. LLM 내부 임베딩 공간에서 "seahorse emoji"는 매우 높은 확률로 근처에 있음. LLM에서는 이 임베딩을 토크나이저를 통해 출력해야 하는데, 토크나이저 상 해당 이모지가 애초에 인코딩되지 않는 한계가 있음. 이로 인해 유사한(그러나 정확하지 않은) 이모지 출력이 반복되고, 점점 임베딩 공간 내에서 랜덤 워크 비슷한 현상이 벌어져도 수렴하지 못함. (입력 토크나이저 문제가 아니라 출력 토크나이저의 고정성이 더 문제임)
-
GPT-5 Instant(생각 없이)로 실험하면 완전 폭주하는 모습이 보임. 공유 샘플 참조
-
전혀 무관하지만 웃긴 에피소드도 있기에 붙여둠. 4o가 prolog quine 생성에서 폭주. "읽어줘" 기능을 쓰면 완전히 뒤죽박죽 엉망이 되는 모습이 아주 흥미로움
-
용 이모지를 출력한 뒤 "stop"을 여러 번 반복하는데, 마치 자기 lm_head가 틀린 걸 계속 출력해서 짜증내는 것처럼 느껴져서 웃음이 남
-
내 경우엔 체크마크 이모지를 계속 뿌리다 포기함. 예시
-
GPT-5가 이렇게까지 혼란스러워하는 모습은 처음 봄
-
-
- 참고로 프랑스어로 GPT-5에 물어보면 정확히 "해마 이모지는 없다"고 답함. 2) 영어로 또 질문하면 "유니코드 표준에 공식 해마 이모지는 없다"면서 이 현상을 "만델라 효과"라고 부름. 3) 왜 불어에선 확실하게 답하는지 묻자, 3분짜리 Chain-of-Thought(생각 과정)를 펼치며 갖가지 변명을 늘어놓음. 내 대화 기록
- 불어를 예전에 4년간 배웠는데 "hippocampus"가 프랑스어 해마(hyppocampe)에서 유래했다는 걸 이제야 알게 됨. 모양 때문인 듯
-
이 현상은 뇌량 절단 환자의 상황과 비슷하게 느껴짐. 한쪽 반구가 행동을 하고 다른 반구가 나중에 이 행동을 이유로 꾸며내 설명함
-
실험 예시에서 환자는 계절 그림과 닭의 발 그림을 각각 오른쪽/왼쪽 시야에만 보여주자, 왼손으론 눈삽을, 오른손으론 닭머리를 집음. 왜 두 개를 골랐냐고 물으니 "닭발은 닭머리와 어울리고, 닭장이 치우려면 눈삽이 필요하다"고 말함. 반구가 각자 정보를 못 받아 논리적으로 말이 안 돼도 그럴 듯한 이유를 지어내는 것임. Wikipedia - Left-brain interpreter
-
이해하지 못해도 이유를 믿고 꾸며내려고 계속 부연설명을 하는 모습임. 연관된 영상
-
-
한 가지 설명은 많은 사람들이(나 포함) 해마 이모지가 있다고 잘못 생각하기 때문일 수 있음. 직접 본 적 없지만, 머릿속 이미지까지 그릴 수 있음. 이런 글이 훈련 데이터에 포함됨. 관련 서브레딧
-
머릿속 해마 이모지 이미지에도 지느러미 쪽 가까이 말려 올라간 꼬리가 포함되어 있는지 궁금함
-
이모지가 항상 표준화되어 있던 건 아니라서, 예전 메신저에는 해마 "이모지" 또는 "이모티콘"이 있었을 수도 있음. 기억이 무조건 틀렸다는 결론은 섣부름
-
U+200D 제안하면 어떨까 궁금함. 차라리 현실 자체가 인간과 언어모델의 기대·기억에 맞게 바뀌면 더 단순해질 수도 있음
-
이 서브레딧(만델라 효과)은 "기억난다는데 왜 안 된다고 하냐"는 사람들이 너무 많아 불안해짐. 인간도 사실 LLM처럼 환각하는 동물임
-
나도 이 해마 이모지를 정말 본 적이 있다고 맹세할 수 있었는데, 이번엔 내가 틀렸던 것임을 인정함
-