Reversal Curse를 깨는 Identity Bridge — ICML 2026, 이래도 되는데 되는 fix
언어 모델은 "Alice의 남편은 Bob"을 학습해도 "Bob의 아내는?"을 못 맞힙니다 — 유명한 reversal curse. ICML 2026 논문 하나가 학습 데이터에 이상한 자기참조 예제를 섞는 것만으로 이 문제를 해결합니다. 순진한 버전은 안 되고, 정교한 버전은 됩니다.

"Alice의 남편은 Bob"이라는 문장 만 개로 언어 모델을 학습시켜 봅니다. 그 다음 물어봅니다 — "Bob은 누구와 결혼했나요?" 모델은 자신 있게 랜덤한 이름을 답합니다.
이것이 Berglund 외 (2023)가 정식화한 reversal curse (반전의 저주) 입니다. 결과 자체가 이상하고 불편했습니다 — 모델이 A → B 는 완벽하게 외우면서, 자명하게 유도 가능한 B → A 에서는 완전히 실패합니다. 성능이 떨어지는 게 아니라 거의 0%에 수렴합니다. Forward로는 술술 뱉는 사실인데, 방향만 뒤집으면 랜덤 수준입니다.
후속 연구들은 이 현상을 autoregressive transformer의 근본적 구조 문제로 해석했습니다. 인과적 마스크의 방향, 그래디언트 흐름의 방향, 어텐션의 방향까지 — 모델의 모든 요소가 한 방향을 가리킵니다. Reversal은 데이터를 더 붓는다고 해결될 문제가 아니라고들 했습니다.
ICML 2026에 채택된 Ma·Huang·Zhu·Sojoudi 논문이 이 통념을 뒤집습니다. 그리고 그들의 해결책은 새로운 아키텍처도, 새로운 학습 목표도, 더 큰 모델도 아닙니다. 딱 한 종류의 이상한 학습 예제를 정확한 형태로 데이터 믹스에 넣는 것입니다.
저자들은 이를 Identity Bridge (동일성 다리) 라고 부릅니다. 그리고 여기 절묘한 반전이 있습니다 — 이 아이디어의 "당연해 보이는" 버전은 전혀 작동하지 않습니다.
Reversal curse가 실제로 뭔지
Llama-3.2-1B-Instruct 를 잡고, 다음 형태의 인공 전기 사실 100개로 학습합니다.
Q: The husband of Alice is? A: Bob.
Q: The husband of Carol is? A: David.
...수렴할 때까지 파인튜닝합니다. Forward 질의는 완벽에 가깝습니다 — 100% 근처.
이제 역방향을 물어봅니다.
Q: The wife of Bob is? A: ???모델은 Alice가 아닌 무언가를 답합니다. 반전 질의 정확도는 거의 0%에 머뭅니다. 미묘한 성능 저하가 아니라 벽이에요.
직관적 설명은 이렇습니다. 학습 도중 모델은 [Alice] [husband] → [Bob] 시퀀스를 봅니다. 그래디언트는 답 토큰에서 앞 문맥으로만 흐릅니다. 그래서 "Alice"와 "husband"를 주면 "Bob"을 예측하도록 배웁니다. 하지만 학습 신호 어디에서도 "Bob"과 어떤 단서를 주면 "Alice"를 예측하라는 요구는 없었습니다. 두 방향은, 손실 함수 입장에서는 서로 무관한 문제입니다. 모델이 둘을 연결할 이유가 없습니다.
불편한 함의는 이겁니다 — 언어 모델은 관계를 배우는 게 아닙니다. 관계처럼 보이는 방향성 있는 연관을 배웁니다. 방향을 뒤집는 순간, 남는 게 없습니다.
순진한 해결책은 왜 안 되는가
위 진단을 받아들이면 본능적인 첫 반응은 "역방향 데이터도 넣자"입니다. "Alice의 남편은 Bob"과 함께 "Bob의 아내는 Alice"도 학습시키자. 문제 해결.
이건 학습 데이터를 온전히 제어할 수 있을 때 유효한 답입니다. 하지만 일반 문제의 해결책은 아닙니다. 대부분의 실제 사실은 한 방향으로만 진술돼 있고, 반대 방향은 모델이 원리적으로 스스로 유도해야 할 대상입니다.
다음 본능은 상징적입니다 — 동일성 (identity) 개념을 가르치는 예제를 넣자. 다음 같은 문장들이요.
Q: The name of Alice is? A: Alice.
Q: The name of Bob is? A: Bob.모델이 "X의 정체는 X" 라는 걸 배우면, 아마 토큰들이 자기 자신에 연결되고 reversal도 따라올 것이다.
논문의 Figure 7이 이걸 실제로 해본 결과입니다 — 반전 정확도 개선이 거의 없습니다. 단순 동일성 예제는 자기만의 고립된 패턴으로 학습됩니다 — "The name of X 다음에는 X가 온다"라고 외우기만 하고, 어려운 과제로 전파되지 않습니다.
여기서 논문의 핵심 아이디어가 등장합니다.
트릭: Identity Bridge는 관계를 통해서 가야 한다
작동하는 버전은 단순 identity가 아니라 OCR (Overlap-Chain-Relation) identity 입니다. 남편-아내 케이스라면 identity bridge 예제는 이렇게 생겼습니다.
Q: The wife of Alice's husband is? A: Alice.찬찬히 읽어보세요. 이건 동일성입니다 — 답이 Alice이고, 문장의 주어도 Alice입니다. 하지만 이 동일성은 고립돼 있지 않습니다. 관계를 관통해서 진술됩니다. 답을 내려면 모델은 내부적으로 순회해야 합니다: Alice → (husband) → Bob → (wife) → Alice. 답은 출발점 그대로지만, 경로는 대상 관계들을 씁니다.
주장은 이겁니다 — 이 패턴을 forward 전용 학습 데이터에 섞어 넣으면, 모델은 맨 identity와는 범주적으로 다른 무언가를 배웁니다. wife와 husband가 서로의 역이라는 걸, 실제 개체의 동일성을 통한 폐쇄 (closure) 형태로 배우는 겁니다.
작동하는 학습 믹스 — 논문에서 OCR-6로 부르는 — 는 세 가지 재료로 구성됩니다.
- Forward 예제, 각각 6번 반복:
The husband of Alice is Bob. - OCR 형식의 identity bridge 예제:
The wife of Alice's husband is Alice. - held-out 반전 테스트셋 — 학습 중 절대 안 봄:
The wife of Bob is Alice.
Reversal 자체는 절대 학습하지 않습니다. wife(Bob) = Alice 라는 raw fact도 학습하지 않습니다. 그걸 통과하는 체인들을 학습합니다. 그런데 모델은 한 번도 본 적 없는 반전 질의를 답할 수 있게 됩니다.
숫자로 보면
세팅: Llama-3.2-1B-Instruct, husband/wife 100쌍 + parent/child 100쌍, 랜덤 시드 3개, Adam, weight decay 0.30.
| 학습 방식 | 반전 정확도 |
|---|---|
| Forward 전용 | ~0% |
| Forward + 단순 identity ("name of Alice is Alice") | ~0% |
| Forward + OCR identity bridge (이 논문) | ~50% |
| 1-token 숫자 개체 (베스트 케이스) | ~100% |
| 3-token 이름 개체 (워스트 케이스) | ~10% |
50%가 "reversal curse를 해결했다"라기엔 인상적이지 않아 보일 수 있습니다. 하지만 베이스라인을 기억하세요 — 50% vs 90%가 아니라 50% vs 0% 입니다. 그리고 이건 이전 문헌 전체가 "아무리 데이터를 부어도 안 된다"고 했던 과제입니다.
Ablation에서는 weight decay 0.30일 때 55%까지 올라갑니다 (0.25에서 48%, 0.35에서 43%). Weight decay가 중요한 이유는 — 이게 논문의 이론적 핵심인데 — identity bridge가 암묵적 정규화 (implicit regularization) 를 통해 작동하고, weight decay가 그 정규화를 최적화 과정에서 실제로 발현시키는 매개이기 때문입니다.
왜 작동하는가 — Nuclear norm, 간단히
논문의 이론 파트는 놀랄 만큼 강한 결과를 증명합니다 — 1층짜리 transformer조차, 그래디언트 하강 + weight decay 하에서 identity bridge가 주어지면 reversal curse를 벗어날 수 있습니다. 이게 중요한 이유는, 이전에 "근본적 한계다"라고 주장했던 논거들이 종종 1층 어텐션의 기하학에 기반했기 때문입니다. 가장 단순한 모델도 할 수 있다면, "transformer는 원래 못한다"는 변명은 사라집니다.
수식을 걷어낸 직관:
모델의 key-query 가중치 행렬을 2×2 블록으로 생각합니다. 좌상단 블록은 forward 지식을 인코딩합니다 ("주어 + forward 관계 → 목적어"). 우하단 블록은 다른 걸 담고요. 우상단 블록이 reversal 지식이 살아야 할 자리입니다 — 목적어에서 주어로 돌아가는 매핑.
Forward 전용 학습에서는 그래디언트 하강이 우상단 블록을 채울 압력을 받지 않습니다. 0으로 남습니다. 이게 reversal curse입니다.
Forward + identity bridge 학습에서는, identity bridge 예제들이 만드는 손실 항이 가중치 행렬의 양쪽 대각선 모두가 nonzero여야 함을 요구합니다. Weight decay가 걸리면 그래디언트 하강은 제약을 만족시키는 최소 nuclear norm 해 (minimum-nuclear-norm solution) 로 향하는 암묵적 편향을 가집니다. 그리고 그 최소 노름 해는 마침 reversal 블록이 자동으로 채워지는 형태입니다 — 대각선 밖 블록을 비대칭으로 두는 것보다 대칭 구조가 nuclear norm 측면에서 더 싸기 때문입니다.
모델에게 reversal을 직접 가르치는 게 아닙니다. 최저 비용 해가 우연히 reversal을 공짜로 포함하도록 만드는 제약을 가르치는 겁니다.
정식 명제는 논문의 Theorem 3.3, 3.4에 있습니다. 대략의 모양만 알아도 실무 직관은 잡힙니다 — identity bridge가 손실 지형 (loss landscape) 을 재구성해서, 모델의 가장 게으른 해가 우리가 원하는 해가 되도록 만드는 겁니다.
순진한 identity가 왜 안 되는지
이제 앞의 순진한 형태가 왜 안 되는지도 이해가 됩니다. Q: The name of Alice is? A: Alice. 는 어떤 관계도 건드리지 않습니다. 무관한 위치의 가중치 — 아마 임베딩 레이어나 토큰 수준 경로 어딘가 — 에 사는 직접적 토큰-토큰 identity 매핑을 모델에 줍니다. 그 경로는 forward·reversal 지식이 사는 관계 블록을 전혀 건드리지 않고도 채워질 수 있습니다.
OCR 형태는 반대로, identity가 우리가 신경 쓰는 관계들을 반드시 관통하도록 강제합니다. wife of X's husband 는 어떤 토큰 복사 지름길로도 답할 수 없습니다 — 모델은 내부적으로 husband와 wife를 조합하고 시작점 개체로 착륙해야 합니다. 그 조합이 reversal 블록으로 전파됩니다.
여기서 잠깐 멈춰볼 만한 일반 교훈 하나 — 정규화는 올바른 부분공간에 살 때만 도움이 됩니다. 신경 쓰지 않는 파라미터를 제약하는 regularizer는 신경 쓰는 파라미터에 아무것도 안 해줍니다.
함정: 개체 토큰 길이가 크게 영향을 미친다
논문의 Figure 8이 덜 장밋빛인 지점입니다. 50% 반전 정확도는 "Alice" 같은 2-token 이름 개체 기준입니다. 개체를 바꿔보면:
- 1-token 숫자 개체 ("42", "17") — 반전 정확도가 ~100%로 뜁니다.
- 3-token 이름 개체 ("Alice Marie Johnson") — ~10%로 내려앉습니다.
이유는 지름길 학습 (shortcut learning) 이라는 실패 모드입니다. 모델이 관계 토큰 뒤에 개체 토큰(들)을 복사하는 위치 기반 휴리스틱을 배울 수 있습니다 — "관계가 보이면 방금 본 개체를 다시 복사하라" — 그리고 이 지름길이 실제 reversal 학습 경로와 경쟁합니다. 지름길은 60% 근처에서 상한을 치기 때문에, reversal 경로와 지름길이 합쳐지면 50%까지는 나올 수 있지만, multi-token 개체는 지름길을 더 어렵게 만들면서 reversal도 함께 어렵게 만듭니다.
현실 세계의 사실 — 이름·주소·책 제목 등 대부분 multi-token — 을 생각하면 이건 중요한 caveat입니다. Identity bridge가 임의의 지식에 대한 완결 해법은 아닙니다. 존재 증명입니다 — 반전은 올바른 regularizer로 유도 가능하고, 이론적 그림도 이제 명확합니다. 지저분한 multi-token 현실 개체로 확장하는 건 후속 연구입니다.
실제로 시도해보려면
논문의 OCR 형식으로 identity-bridge 증강 데이터셋을 만드는 최소 Python 예시입니다. 깨끗한 역관계가 있는 데이터셋이라면 자신의 파인튜닝 파이프라인에 그대로 넣을 수 있습니다.
from itertools import chain
# 각 forward 관계에 대해 그 역을 매핑
INVERSE = {
"husband": "wife",
"wife": "husband",
"parent": "child",
"child": "parent",
"employer": "employee",
"employee": "employer",
# ... 필요한 만큼 추가
}
def format_forward(subject, relation, obj):
return f"Q: The {relation} of {subject} is? A: {obj}."
def format_identity_bridge(subject, relation, obj):
"""OCR 형식 identity — 관계 loop를 주어로 다시 닫음."""
inv = INVERSE[relation]
return f"Q: The {inv} of {subject}'s {relation} is? A: {subject}."
def build_ocr_dataset(relations, forward_reps=6):
"""
relations: (주어, 관계, 목적어) 트리플 리스트.
예: [("Alice", "husband", "Bob"), ("Carol", "wife", "David"), ...]
forward_reps: 각 forward 예제를 몇 번 반복할지.
논문은 6을 씀 (그래서 "OCR-6").
"""
forward = [format_forward(s, r, o) for s, r, o in relations for _ in range(forward_reps)]
bridge = [format_identity_bridge(s, r, o) for s, r, o in relations]
return list(chain(forward, bridge))
# 예시
relations = [
("Alice", "husband", "Bob"),
("Carol", "wife", "David"),
("Elena", "parent", "Frank"),
]
dataset = build_ocr_dataset(relations)
for line in dataset[:5]:
print(line)실제로 돌린다면 알아둘 것 몇 가지:
- Weight decay 0.30 근방을 쓰세요. 논문은 weight decay가 여기서 의미 있는 역할을 한다고 명확히 말합니다 — 그냥 가벼운 정규화가 아닙니다. 0.35 위나 0.25 아래에서는 효과가 확 떨어집니다.
- 진짜 held-out 반전 질의로 테스트하세요. 학습 어디에도 반전 진술을 넣지 마세요 — 요점은 identity bridge만으로 reversal이 출현하는지 보는 것입니다.
- 깨끗한 신호를 원하면 1-token 개체부터 시작하세요. 숫자나 짧은 한 단어 이름. 그 다음 자신의 세팅에서 어디서 성능이 꺾이는지 확인하며 확장.
- 논문은 Llama-3.2-1B-Instruct를 썼습니다. 더 큰 모델은 다르게 동작할 수 있습니다 — 이론적 주장은 1층 케이스에 대한 것이고, 경험적 스케일링은 다루지 않았습니다.
이게 LLM 파인튜닝에 대한 사고방식을 바꾸는 지점
세 가지입니다.
첫째, reversal curse는 autoregressive transformer의 근본적 한계가 아닙니다. 데이터 문제이고, 데이터 해결책이 있으며, 그 해결책은 "더 많은 예제를 넣자"보다 미묘합니다. 특정 종류의 정규화를 유도하는 구조적 증강입니다.
둘째, 증강의 형태가 내용보다 중요합니다. 단순 identity 예제와 OCR identity bridge는 첫눈에 거의 같아 보입니다. 하나는 아무것도 안 하고, 다른 하나는 50포인트 정확도 향상을 unlock합니다. 차이는 전적으로 구조적입니다 — identity가 관계 loop를 닫느냐, 고립돼 있느냐. "데이터 좀 더 넣어봤다"와 "올바른 암묵적 편향을 유도했다"를 가르는 종류의 디테일입니다.
셋째, 이건 LLM 행동에 관한 더 넓은 논지를 뒷받침하는 증거입니다 — 모델은 필요한 capacity를 다 가지고 있습니다. 다만 그걸 써야 한다는 걸 모릅니다. Forward 전용 학습 손실은 reversal 지식을 채울 압력을 만들지 않으니, 안 채워집니다. 손실 지형을 재구성하는 예제를 더하면, 원래 있던 capacity가 unlock됩니다.
도메인 사실로 모델을 파인튜닝하는 실무자 — 회사 내부 지식, 기술 문서, 인물 데이터베이스 — 에게 실용적 시사점은 직접적입니다. Forward 방향만 학습시켜 놓고 reversal이 일반화되길 바라지 마세요. 파인튜닝 전에 데이터셋에 identity bridge를 만들어 넣으세요. 저렴하고, 이론적으로 잘 근거지어져 있고, 경험적으로도 여러분이 신경 쓰지만 측정하지 않았을 reversal 과제에서 0포인트를 50포인트로 옮깁니다.
앞으로
논문의 한계 절이 프로덕션 배팅 전에 알고 싶은 두 가지를 명시합니다.
- Multi-token 개체는 여전히 어렵습니다. 3-token 이름은 정확도를 ~10%까지 떨어뜨립니다. 실제 지식은 multi-token 개체로 가득합니다.
- 지름길 학습은 경쟁하는 실패 모드입니다. 모델이 reversal을 실제로 배우지 않으면서 identity bridge를 부분적으로 만족시키는 패턴 매칭 휴리스틱을 배울 수 있습니다 — 달성 가능 정확도를 60% 근방에서 캡합니다.
둘 다 다룰 만해 보입니다. Shortcut learning은 다른 맥락에서 이미 많이 연구된 주제이고, multi-token 개체는 토크나이저 변경과 개체 길이를 인지하는 identity-bridge 템플릿의 조합으로 대응할 수 있을 것입니다. 제 추측은 1년 이내에 후속 연구가 50%를 현실적 개체에서 80-90%까지 밀어 올릴 것이라는 겁니다. 그게 착륙하면 사실적 지식 파인튜닝 파이프라인의 표준 단계가 됩니다.
그때까지는 — reversal curse에는 실재하고, 재현 가능하고, 이론적으로 근거지어진 fix가 있습니다. 이상한 fix긴 합니다 — 뒤집고 싶은 관계들을 관통해 자기 자신에게 돌아오는 자기참조 예제 — 하지만 작동합니다. 여러분의 파인튜닝에서도 시도해보세요.
*논문: Breaking the Reversal Curse in Autoregressive Language Models via Identity Bridge, Xutao Ma, Yixiao Huang, Hanlin Zhu, Somayeh Sojoudi. ICML 2026 포스터, 2026년 7월 8일.*
이메일로 받아보기
관련 포스트

스스로 진화하는 AI 에이전트 — 2026년의 새로운 패러다임
GenericAgent, Evolver, Open Agents — 스스로 스킬을 만들고, 실행 경로를 기억하고, 실패에서 배우는 자가 진화 에이전트 3종 비교.

나만의 LLM Knowledge Base 구축하기 — Karpathy 스타일 지식 시스템
Obsidian + Claude Code로 영구적인 개인 지식 체계를 만드는 완전 가이드. 위키 + 메모리 두 축의 지식 시스템.

Karpathy의 CLAUDE.md가 48K 스타를 받은 이유 — 그리고 나만의 CLAUDE.md 작성법
마크다운 파일 하나로 AI 코딩 정확도를 65%에서 94%로. Karpathy의 4가지 규칙과 실전 작성법을 분석합니다.