LLM(대규모 언어모델, 사람 말로 묻고 답하는 AI)이 외워둔 사실 하나가 틀렸다. 지금까지 이걸 고치는 일은 뇌수술에 가까웠다. 모델의 '생각하는 두뇌'에 해당하는 수억 개의 숫자를 다시 건드려야 했고, 사실 하나를 바꾸려다 멀쩡한 다른 지식까지 흔들리기 일쑤였다. 이 논문(EngramEdit)은 다른 길을 제안한다. 두뇌는 그대로 두고, 거기 딸린 '기억 포스트잇' 몇 장만 떼어 고쳐 붙이는 것이다.
포스트잇만 바꾸고 두뇌(백본)는 다시 학습시키지 않으니, 다른 능력도 대체로 지켜진다. 대신 공짜는 아니다 — 뒤에서 볼 특정 구조의 모델에서만 통하고, '다르게 물으면 옛 답이 튀어나오는' 함정도 남는다. 이 글은 그 포스트잇을 어떻게 고르고 고쳐 붙이는지, 그래서 실제로 무엇이 좋아졌고 어디까지 믿을 수 있는지를 따라간다.
사실 지식 편집(knowledge editing)이란, 이미 학습을 마친 LLM에서 특정 사실 하나만 바꾸고 나머지는 그대로 두는 작업이다. 예를 들어 모델이 "이 건의 최종 승인권자는 김부장"이라고 알고 있는데 조직 개편으로 승인권자가 이팀장으로 바뀌었다면, 이 사실만 "이팀장"으로 고치되 다른 프로젝트·다른 사실은 흔들지 않아야 한다. (논문은 "Alex의 소속을 Lab M에서 Lab N으로 바꾼다" 같은 예로 같은 작업을 설명한다.)
간단해 보여도 어렵다. 모델 안에서 지식은 수억 개의 숫자에 뒤엉켜 저장돼 있어, 하나를 당기면 엉뚱한 사실까지 딸려 흔들리기 때문이다. 그래서 "어디를" 고치느냐가 관건이다.
이 논문의 열쇠는 요즘 일부 LLM이 쓰는 '조건부 메모리(conditional memory)'라는 구조에 있다. 이름은 어렵지만 그림은 쉽다. 질문이 들어오면 모델이 그 질문과 관련된 포스트잇 뭉치를 미리 서랍에서 꺼내 참고하는 것 — 이게 조건부 메모리다. 모든 걸 머리로만 기억하는 대신, 필요한 메모를 그때그때 꺼내 본다. DeepSeek의 Engram이 내놓은 방식으로, DeepSeek-V4.1-Flash·Qwen3.8-Flash-Next 같은 모델에서 덩치를 키우는 데 쓰인다.
이 포스트잇의 기술적 정체는 'n-gram 임베딩'이다. n-gram은 연속한 몇 개의 단어 조각을 말하고, 임베딩은 그 조각에 대응하는 숫자 묶음이다. 즉 '자주 나오는 말 조각'마다 포스트잇(숫자 묶음)을 하나씩 미리 적어두고, 문장에 그 조각이 나타나면 해당 포스트잇을 꺼내 두뇌(백본, 모델의 범용 추론부) 계산에 넣어주는 식이다. (덩치를 키우는 비슷한 발상으로 'MoE'가 있는데, 이쪽은 기억이 아니라 연산을 조건부로 나눠 쓴다. 여기선 기억 쪽만 보면 된다.)
저자들이 주목한 건 Engram의 한 실험이다. 조건부 메모리를 꺼버리면 사실 지식 성능은 크게 떨어지지만, 문맥으로 주어진 정보를 이해·추론하는 능력은 대체로 유지됐다. '사실 저장'과 '범용 추론'의 역할이 어느 정도 나뉘어 있다는 뜻이다. 그렇다면 두뇌는 손대지 않고 포스트잇 속 사실만 따로 갈아 끼울 수 있지 않을까 — 이것이 '분리된(decoupled) 지식 업데이트'라는 이 논문의 착상이다.
문제는 포스트잇을 꺼내는 단위가 '사실'이 아니라 '말 조각(n-gram)'이라는 점이다. 그래서 편집이 세 방향으로 어긋날 수 있다.
세 가지는 서로 잡아당긴다. 이걸 동시에 잡는 게 이 논문의 과제다.
지금까지 사실을 고치는 방법은 대개 모델의 두뇌(가중치)를 직접 손댔다. 7번 레이어의 전문가 FFN 일부(down-projection)만 미세조정하는 FT, 거기에 제약을 건 FT-L, 작은 보조 모듈을 얹는 AdaLoRA, 그리고 UnKE·MoEEdit 같은 전용 편집기들이다. 공통점은 범용 추론부(백본)를 건드린다는 것 — 좁은 부위라도 두뇌를 째는 뇌수술인 셈이라, 사실 하나를 고치다 다른 능력이 함께 흔들릴 위험을 늘 안고 간다.
EngramEdit과 가장 가까운 쪽은 Memory-FT 계열이다. 이들도 두뇌 대신 포스트잇(기억)만 고친다. 하지만 바꿀 포스트잇을 그냥 직접 학습시켜 덮어쓸 뿐이라, 한 장을 여러 질문이 공유할 때 생기는 충돌과 번짐을 다스리지 못한다. 실제로 같은 조건을 줘도 일반화에서 격차가 벌어진다고 논문은 보고한다.
EngramEdit은 이 문제를 어떻게 풀었을까? 핵심은 포스트잇을 고쳐 쓰는 세 단계에 있다.
1단계 — 포스트잇에 뭐라고 적을지 거꾸로 계산한다. 먼저 같은 편집을 뜻이 같은 여러 문장으로 바꿔 쓴다. "승인권자가 누구죠?" "누구 결재를 받죠?"처럼 말이 달라지면 꺼내지는 포스트잇도 달라지니, 더 많은 장을 포괄하려는 것이다. 그다음 모델의 숫자는 전부 고정한 채, 포스트잇에 더할 '작은 수정량'만 조금씩 움직여 모델이 새 사실(이팀장)을 답하게 되는 지점을 찾는다. 이때 '새 답을 틀리게 말할수록 커지는 점수(예측 손실)'를 줄이는 방향으로 수정량을 역산하는데, 여러 표현에서 잰 점수를 함께 평균 내 반영하므로 한 번의 조정이 여러 표현을 같이 끌고 간다. 포스트잇을 너무 험하게 뜯어고치지 않도록 수정폭에 상한도 걸어둔다.
2단계 — 어떤 포스트잇이 공유되는지 지도를 그린다. 각 표현이 꺼내 쓰는 포스트잇을 모아, 여러 표현·여러 편집이 함께 쓰는 장을 찾아낸다. 같은 장은 한 장으로 합쳐 "이건 공유 포스트잇"이라고 표시한다.
3단계 — 공유 포스트잇은 한 번에, 흔한 포스트잇은 조심스럽게 고친다. 한 장에는 최종 내용을 하나만 적을 수 있다. 그래서 그 장을 쓰는 모든 표현·편집의 요구를 한꺼번에 반영해 하나의 값으로 정한다. 이때 고치는 강도를 장마다 다르게 둔다. 수많은 문장에 딸려 나오는 흔하고 짧은 장은 세게 고치면 엉뚱한 답까지 번지므로 강한 제동을 걸고, 특정 사실에만 쓰이는 긴 장은 비교적 자유롭게 고친다. 재사용 정도는 조각의 길이와 사용 빈도로 가늠한다.
이렇게 식을 짜면 정답 수정값을 복잡한 반복 학습 없이 한 번의 계산으로 딱 떨어지게 구할 수 있다. 그래서 돌릴 때마다 같은 결과가 나온다. 저자들은 이 값이 '같은 효과를 내는 방법 중 고치는 비용이 가장 작은' 답이며, 1단계 목표가 조금 흔들려도 결과가 크게 요동치지 않는 안정성을 지닌다고 증명한다. 실제 추론 때는 고친 포스트잇이 지금 문장에서 실제로 꺼내질 때만 수정 내용이 반영된다.
실험은 LongCat-Flash-Lite 한 모델에서, 편집을 한꺼번에 하지 않고 여러 묶음으로 나눠 순서대로 쌓는 방식('순차 편집')으로 진행됐다. 비교 상대는 앞서 본 FT·FT-L·AdaLoRA·UnKE·MoEEdit과, 포스트잇을 직접 미세조정하는 두 변형 Memory-FT다.
평가는 앞서 본 세 가지 축을 그대로 쓴다 — 바꾼 그 문장에서 되는가(효능), 다르게 물어도 되는가(일반화), 옆 사실은 그대로인가(특이성). 그리고 셋을 평균 낸 종합 점수가 Utility다.
여기엔 읽을 때 조심할 함정이 둘 있다. 효능은 '바꾼 바로 그 문장'에서의 성공만 보므로, 효능이 높아도 다르게 물었을 때 되는지는 일반화가 따로 봐야 한다. 특이성에는 더 미묘한 구멍이 있다 — 이 점수는 '원래 맞던 걸 지킨 경우'뿐 아니라 '원래 틀렸던 무관한 답이 우연히 맞게 된 경우'까지 성공으로 센다. 그래서 특이성이 높다고 곧 "기존 지식을 잘 보존했다"고 단정할 수 없다. 저자들도 이를 인정하고 전이 분석으로 보완한다.
아래는 CounterFact와 ZsRE에서 각각 2,000번을 순차로 편집한 뒤의 종합 점수(Utility)다.
| 방법 | CounterFact (Utility) | ZsRE (Utility) |
|---|---|---|
| Pre-edited(편집 전) | 35.8 | 38.3 |
| FT | 67.4 | 65.5 |
| FT-L | 37.0 | 52.7 |
| AdaLoRA | 46.6 | 60.8 |
| UnKE | 63.3 | 71.9 |
| MoEEdit | 76.6 | 69.4 |
| Memory-FT (Subject) | 81.1 | 53.4 |
| Memory-FT (All Tokens) | 67.1 | 49.3 |
| EngramEdit | 93.9 | 76.4 |
EngramEdit이 두 데이터셋 모두에서 Utility가 가장 높다. 속을 보면 성격이 분명하다. 바꾼 문장에서의 성공(효능)은 최상위 경쟁자들과 엇비슷하거나 앞서는 정도인데, 격차가 뚜렷하게 벌어지는 쪽은 '다르게 물어도 같은 답이 나오는가'(일반화)다. 여러 표현에 걸쳐 포스트잇을 함께 고친 1단계 설계가 여기서 값을 한다. 이 우위는 5,000번 순차 편집까지 이어진다. (초록이 말한 "거의 완벽한 편집 성공"은 효능을 가리키는 표현으로 읽는 게 안전하다.)
여러 단계 추론으로 답하는 멀티홉(MQuAKE, 3,000개 사례)에서는 조건이 갈린다. 곧장 답하는 방식에서는 EngramEdit과 FT가 엇비슷하다. 반면 중간 추론을 적어가며 푸는 CoT 방식에서는 가장 강한 경쟁자의 약 3배 정답률을 내고, 4홉짜리 사례까지 우위를 지킨다. 중간 추론 단계가 바로 그 사실의 갱신된 포스트잇을 꺼내 쓰고, 그 정보가 다음 단계를 이끌기 때문이다. ('약 3배'는 CoT 조건에서의 비교일 뿐, 표준 방식 성적과 섞으면 안 된다.)
보존 쪽 증거도 있다. 5,000번 순차 편집 뒤에도 일반 능력은 편집 전 수준을 대체로 유지한다(범용 과제들의 평균 성적으로 잰다). 대부분 과제는 변화가 작지만, 논문은 두 문장이 같은 뜻인지 판정하는 과제(MRPC)에서 상대적으로 큰 하락을 보고한다. 같은 뜻인지 따질 때 쓰는 두 문장이 서로 다른 포스트잇을 꺼내는 탓에, 한쪽만 고친 수정이 두 문장에 다르게 작용한 것으로 보인다.
이 실패는 가볍게 넘길 게 아니다. 사실(포스트잇의 내용)과 '같은 뜻인가'를 따지는 의미 추론이 이 모델에서도 깔끔히 분리되지 않았다는 증거이기 때문이다. 포스트잇만 바꾸면 추론은 안 건드린다는 이 방법의 대전제에 가느다란 금이 가 있는 셈이다 — 기억과 추론은 칼로 자르듯 나뉘지 않는다.
실패가 무작위가 아니라는 근거도 있다. 무관한 질문에서 새로 생긴 오류는 대부분 '갱신된 포스트잇이 꺼내진 경우'와 얽혀 있었고, 반대로 갱신된 사실 포스트잇이 하나도 안 꺼내진 소수의 표현이 일반화 실패의 상당 부분을 차지했다. 성패가 결국 '어떤 포스트잇이 꺼내졌는가'로 설명되는 것이다. 장치를 하나씩 빼보는 실험에서도, 공유 포스트잇을 하나로 묶어 푸는 결합 풀이를 빼면 Utility가 77.4 / 50.4로 크게 떨어지고, 재사용 제동에 이어 표현 생성까지 빼면 88.5 / 72.1로 내려간다. 결합 풀이가 효능을, 여러 표현 생성이 일반화를 떠받치는 주축임을 보여준다.
짚어둘 전제가 있다. EngramEdit은 Engram식 조건부 메모리를 쓰는 모델에서만 성립한다 — n-gram으로 포스트잇을 꺼내 쓰는 구조가 없으면 "두뇌는 두고 기억만 고친다"는 전제 자체가 사라진다. 실험도 LongCat-Flash-Lite 한 모델에서만 이뤄졌으니, 규모나 메모리 구성이 다른 모델로의 일반화는 이 결과만으로 단정하기 어렵다. 또 이 방법은 모델이 만든 '여러 표현'의 품질에 기대는 만큼, 생성이 특정 어순에 치우치면 그만큼 사각지대가 넓어진다(앞서 본 일반화 실패의 상당 부분이 바로 이 사각지대에서 나왔다). 편집이 아주 많이 쌓였을 때 공유 포스트잇을 둘러싼 충돌이 어디서 한계를 넘는지도 더 긴 시퀀스에서 확인할 몫으로 남는다.
온틀의 AI PM은 고객 프로젝트마다 사실을 쥐고 일한다 — "이 건의 최종 승인권자는 김부장" 같은. 조직 개편으로 승인권자가 이팀장으로 바뀌면, 이 사실을 PM의 '머릿속'에서 갈아 끼워야 한다. 지금 온틀의 현실적 방법은 RAG(검색증강생성: 답하기 직전에 최신 자료를 문맥으로 끼워 넣는 방식)다. 매번 최신 조직도를 들이밀어 사실성을 맞춘다.
그런데 RAG에는 결이 다른 요구가 부딪힌다. "한번 본 고객은 AI가 기억하고 있길 바란다"는 기대다. 매번 문서를 새로 뒤져 참고하는 것과, 고객을 '알고 있는' 것은 체감이 다르다. 이 논문은 RAG 너머, 모델에 고객의 사실을 직접 심어 기억시키는 세 번째 길을 상상하게 한다.
다만 상상과 도입은 다르다. EngramEdit은 Engram식 조건부 메모리를 가진 모델에서만 성립하는데, 온틀의 현 스택은 그 구조가 아니다. 이 방법을 AI PM에 이식하려면 먼저 n-gram으로 포스트잇을 꺼내 쓰는 메모리 구조의 모델로 갈아타야 하고, 편집이 수천 건 쌓여도 공유 포스트잇 충돌이 터지지 않는지 긴 시퀀스로 검증해야 한다. 그 전까지 이건 '지금 쓸 기술'이 아니라 '지켜볼 길'이다.
대신 지금 당장 챙길 건 따로 있다. 이 논문이 또렷하게 못 박은 세 가지 잣대 — 효능·일반화·특이성 — 는 RAG를 쓰든 모델을 직접 고치든 똑같이 들이대야 할 품질 기준이다. 승인권자 교체 하나를 반영했을 때 AI PM은 세 가지를 분리해 확인해야 한다. 바꾼 그 질문에서 이팀장이 나오는가(효능), "누구 결재를 받죠?"처럼 말을 바꿔도 이팀장이 나오는가(일반화), 옆 프로젝트의 승인권자는 안 흔들렸는가(특이성). 특히 온틀의 RAG는 '사실을 읊는' 데서 끝나지 않고 '그 사실로 다음 행동을 끌어내는' 일이 많다. 이 논문에서 이득이 가장 컸던 쪽도 단답이 아니라 추론을 거쳐 답하는 상황이었다는 점은, 우리 평가가 단순 조회 정확도를 넘어 '사실 기반 판단'까지 재야 한다는 뜻이다.
핵심 정리 - 구조 전제: n-gram으로 기억 포스트잇을 꺼내 쓰는 모델에서만 성립한다. 아니면 '지금 쓸 도구'가 아니라 설계 참고다. - 편집은 세 축으로 나눠 재라 — 효능(바꾼 문장)·일반화(다르게 물었을 때)·특이성(옆 사실 보존). RAG 품질도 같은 잣대로 본다. - 특이성 점수는 '우연히 맞은 무관한 답'까지 세니, 숫자만 믿지 말고 '원래 맞던 걸 지켰나'를 따로 확인한다. - 사실 조회보다 '사실 기반 판단(추론)'에서 이득이 크다 — 평가도 거기까지 재야 한다.
이 발췌에는 RAG와 직접 맞붙인 벤치마크가 없습니다. 작동 방식도 다릅니다 — 하나는 답하기 직전 외부 자료를 끼워 넣고, 하나는 모델 내부 기억을 영구히 고칩니다. 그래서 현재로선 우열이 아니라 보완 관계로 보는 게 안전합니다.
아닙니다. 편집 전에 모델이 같은 요청을 뜻이 같은 여러 문장으로 스스로 만들어 씁니다. 다만 이 생성 표현의 폭이 일반화 성패를 크게 좌우하므로, "자동이라 손 안 대도 된다"기보다 "생성 품질을 봐야 한다"에 가깝습니다.
논문은 편집을 순서대로 쌓는 방식을 5,000건 규모까지 다루므로, 같은 사실을 다시 고치는 재편집도 그 흐름 속 또 하나의 편집으로 처리됩니다. 다만 명시적인 '취소·롤백' 절차는 이 발췌 범위에서 다루지 않아 단정하지 않겠습니다.