매번 다시 읽지 않는 AI, MemT-1.0이 남기고 버리는 것

과거를 다시 읽는 대신 모델 안의 수치 상태에 기억하는 MemT-1.0. 속도와 저장은 크게 줄지만, 크기가 고정된 기억이 결정 번복을 어떻게 감당하느냐가 관건이다.
English  ·  日本語  ·  한국어
← 목록으로
온
온틀 리서치
2026년 10월 21일 읽기 15분 조회 0

회의 때마다 지난 회의록을 처음부터 끝까지 다시 펼치는 참석자가 있다. 회의가 쌓일수록 읽을 분량이 계속 늘어난다. 다른 참석자는 회의가 끝날 때마다 핵심만 추려 머릿속에 넣어 두고, 다음 회의엔 그 정리만 들고 온다. 원본을 다시 들추지 않아 가볍지만, 추리는 동안 세부가 빠질 수 있다.

MemT-1.0은 두 번째 참석자를 지향하는 AI다. 지난 대화를 매번 통째로 다시 읽는 대신, 그 내용을 모델 안의 '기억'에 눌러 담고 그 기억만 참조해 답한다.

왜 기억을 다시 설계했나

지금 대형 언어 모델이 과거를 기억하는 길은 크게 둘이다. 지난 대화나 문서를 입력에 다시 집어넣거나(긴 컨텍스트), 외부 저장소에서 관련 조각을 찾아 와 붙이거나(검색 증강, RAG). 전제는 같다. 기억하려면 원문을 다시 읽어야 한다.

이 전제가 기록이 길어질수록 비용으로 바뀐다. 트랜스포머는 과거 토큰(모델이 글을 처리하는 작은 단위)의 중간 계산 결과를 'KV 캐시'로 들고 있다가 재활용하는데, 이 캐시가 기록 길이에 비례해 불어난다. 128K 토큰짜리 기록이라면 그만큼을 계속 메모리에 올려 둬야 한다. 지연과 저장 비용이 함께 오른다. RAG는 상주 부담은 덜하지만, 매번 무엇을 꺼낼지 검색하고 그 조각을 다시 밀어 넣는 일이 붙는다.

MemT-1.0은 다른 길을 묻는다. 추론이나 멀티모달이 외부 도구에서 모델 내부로 흡수돼 온 것처럼, 기억도 모델이 타고난 능력이어야 한다는 것이다. 저자들의 이전 모델 Metis가 이 생각을 처음 꺼냈고, MemT-1.0은 그 구조를 이어받아 기억을 저장하고 꺼내 쓰는 방식을 바꾼 후속작이다.

어떻게 기억하고, 어떻게 꺼내 쓰나

작동은 한 문장이다. 새 정보가 들어오면 그 정보로 모델 안의 기억을 고치고, 답할 때 그 기억을 참조한다.

여기서 오해를 하나 걷어내야 한다. 이 '기억'은 사람이 읽을 수 있는 요약문이 아니다. 정보를 반영해 조금씩 갱신되는 수치 상태다. 숫자 묶음이 대화 내용을 머금고 변해 간다고 보면 된다.

기억은 두 층으로 나뉜다. 하나는 대화가 진행되며 매 순간 바뀌는 상태, 곧 지금 이 대화에서 실제로 쌓인 내용이다(로컬 기억). 다른 하나는 '어떻게 기억할지'를 담은 처리 방식으로, 학습이 끝나면 고정되어 대화 중에는 바뀌지 않는다(하이퍼 기억). 앞의 것은 대화마다 새로 채워지고, 뒤의 것은 모델이 모든 대화에 두고 쓰는 규칙이다.

구조의 뼈대는 평범한 인과 언어 모델(앞의 내용만 보고 다음 단어를 예측하는 보통의 언어 모델) 위에 기억 블록을 얹는 것이다. 기억 블록은 일부 층에서 원래의 어텐션(지금 문장에서 어떤 단어에 집중할지 고르는 계산)과 나란히 기억 어텐션을 돌린다. 원래 층의 핵심 파라미터는 건드리지 않는다. 기존 능력은 그대로 두고, 기억만 별도 경로로 더한다.

기억 블록에는 두 가지 숙제가 걸린다. 들어오는 정보로 기억을 어떻게 안정적으로 고칠 것인가, 그리고 그 기억을 얼마나 많이 담을 것인가.

첫째 숙제는 토큰 단위 갱신 장치(GDN-2)가 맡는다. 토큰이 하나 들어올 때마다 세 개의 문이 무엇을 남기고 무엇을 바꿀지 조절한다. 낡은 내용을 덜어 내고, 새 내용을 적어 넣고, 전체를 서서히 희미하게 만든다. 더하고 지우기를 반복하면 기억 값이 한쪽으로 치우쳐 폭주할 수 있는데, 저자들은 갱신 연산을 다듬어 이 발산을 막았다(계산은 글 끝에 따로 뒀다).

둘째 숙제는 용량을 키우는 장치(Mixture-of-Storage)가 맡는다. 기억을 여러 칸으로 나누되, 넣을 때도 꺼낼 때도 모든 칸을 함께 쓴다. 이렇게 대화 중 쓰는 기억 용량과 학습으로 얻는 기억 파라미터를 같이 늘린다. 세부 동작 역시 글 끝에 뒀다.

무엇을 얼마나 잘하나

성능은 네 축으로 봤다. 숫자를 읽기 전에 구분을 하나 해 두는 게 좋다. 공개된 두 모델은 서로 다른 백본(기억 블록을 얹기 전의 바탕 모델) 위에 올라간다. 백본 자체를 후처리 학습한 단계의 성과와, 네이티브 기억이 만든 성과는 다른 숫자다. 둘을 섞으면 기억의 공을 백본에 잘못 돌리게 된다.

기억. 11개 기억 벤치마크에서 두 종류의 기준선과 겨뤘다. 하나는 정보를 모델 가중치나 상태에 담는 '파라미터 기억' 방식으로 MemT-1.0과 같은 계열이고, 다른 하나는 원문을 바깥에서 꺼내 다시 읽는 RAG다. MemT-1.0은 같은 계열인 파라미터 기억 기준선을 평균적으로 앞섰다. 추론 때 원문을 보지 않고도 과거 정보를 끌어 쓴다는 조건에서 나온 결과다. RAG와 견주면 앞서지는 못하고 버금가는 수준에 머물렀다.

범용 능력. 기억에 특화하면 보통 과제 실력이 깎이기 쉽다. 저자들은 기억 기능을 더한 뒤 일반 과제 성능을 '노이즈 설정'이라 부르는 평가로 따로 확인했고, 범용 능력은 대체로 보존됐다.

효율. 기록 길이를 늘려 가며 전체 문맥 방식과 비교했다. 여기서 재는 것은 같은 길이를 다룰 때의 비용이지 답변의 정확도가 아니다.

측정 축 조건 결과
추론 속도 Nano, 128K 기록, 전체 문맥 대비 약 1.86배 향상
상주 저장 크기 Nano, 128K 기록, 전체 문맥 KV 캐시 대비 약 66배 감소

두 값 모두 Nano가 128K 기록을 전체 문맥 방식과 맞붙은 조건이다. 논문 §6.5는 512~256K 구간을 재서, 기록이 짧을 때는 대체로 전체 문맥 방식보다 오히려 느리고, 32K 부근에서 비슷해지며, 64K·128K·256K에서 각각 약 1.20·1.86·3.99배 빨라진다고 밝힌다. 효율 이점은 기록이 길어질수록 커지고, 일정 길이 아래에서는 거꾸로 손해다.

에이전트. '과거에 비슷한 문제를 어떻게 풀었는가'라는 절차적 경험을 기억에 넣으면 에이전트가 더 잘 움직이느냐를 봤다. 코딩 벤치마크 SWE-bench Verified와 SWE-bench Multilingual에서, 절차적 경험을 넣은 에이전트와 넣지 않은 에이전트를 비교했다. 평균 성공률만이 아니라 반복 실행 간 일관성도 함께 봤다. 같은 문제도 돌릴 때마다 결과가 출렁이는데, 그 출렁임이 줄었는지를 본 것이다. 경험을 넣은 쪽이 두 지표를 모두 끌어올렸고, 경험을 텍스트로 직접 넣어 준 방식과도 견줄 만했다. 기억이 단순한 정보 회상을 넘어 여러 단계로 이어지는 실행의 길잡이까지 맡는다는 신호다.

고정된 기억의 딜레마

MemT-1.0의 가장 큰 장점은 기록이 길어져도 상주 상태의 크기가 일정하게 유지된다는 것이다. 바로 거기서 가장 날카로운 질문이 나온다. 그릇 크기가 고정돼 있다면, 정보를 계속 부을 때 무엇이 남고 무엇이 흘러넘치는가.

한 결정이 세 번 번복된 프로젝트를 떠올려 보자. 고정된 기억은 이 한 장면에서 서로 당기는 세 가지 요구를 동시에 받는다.

기억에 거는 요구 고정 용량에서 깨지는 양상 따로 확인할 것
지금 유효한 최신 결론을 안다 최신만 덮어쓰다 변경 이유를 잃는다 최신 결정을 틀리지 않고 떠올리는가
왜 바뀌었는지 변경 이력을 구분한다 이력을 다 쥐려다 그릇이 금세 찬다 이전 결정과 최신 결정을 구분하는가
각 결정의 근거를 되짚는다 압축하며 근거가 뭉개진다 각 결정을 원문 근거에 연결하는가

세 요구는 고정 용량 안에서 맞교환 관계다. 흔한 실패는 이렇다. 최신 결론은 정확히 맞히는데, 왜 그 결론으로 바뀌었는지는 설명하지 못한다. 논문은 상주 상태가 일정하게 유지된다는 사실까지 보여 준다. 번복이 거듭될 때 세 요구를 함께 지키는지는 요약 결과만으로 가릴 수 없고, 표 오른쪽의 세 항목을 각각 측정해야 드러난다.

공개 수치 바깥의 공백도 남는다. 논문 §6.6·Figure 9는 DenseRAG와 저장 비용을 직접 맞붙여 비교했지만, RAG와 추론 속도를 직접 맞붙인 값은 공개돼 있지 않다. 사실이 중간에 바뀌는 상황을 얼마나 견고하게 따라가는지는 실사용에서 특히 중요한데, 저자들은 그 사례 연구를 부록 G에 따로 뒀다. 또 기억이 모델 내부 상태라는 점은 양날이다. 바깥에서 꺼내 읽는 RAG 조각과 달리, 모델 안에 눌러 담긴 기억은 지금 무엇을 담고 있는지 사람이 들여다보기 어렵다.

저자들이 직접 남긴 후속 과제도 있다. 기억에서 배운 것이 다시 가중치로 돌아가는 순환 고리, 그리고 지식 격차를 합성 데이터로 메우는 작업이다. 둘 다 아직 문제를 하나씩 닫는 단계라고 적어 뒀다.

온틀이라면 어디서 시험해 볼까

온틀은 AI 프로젝트 매니저를 파견하는 서비스다. AI PM이 어느 고객사의 3개월짜리 프로젝트를 맡는다고 하자. 매일 회의가 열리고, 담당자가 바뀌고, 지난주에 정한 방식 대신 저번에 얘기한 쪽으로 돌아가자는 요청이 날아온다. 긴 상호작용이 끝없이 쌓이는 전형적인 현장이다.

여기서 검증해 볼 적용 가설은 하나로 좁혀진다. 절차적 경험을 기억에 넣으면 실행 간 흔들림이 준다는 결과가, 반복되는 판단의 일관성으로 이어지느냐다. 예컨대 '이 고객은 보고서를 특정 포맷으로 원한다'가 기억에 들어가면, 같은 상황에서 매번 다른 형식을 내놓을 위험이 줄어들 것이다.

가설을 그대로 믿지 말고 한 판을 짜서 확인하는 편이 낫다. 석 달치 프로젝트 기록에 보고 형식 변경과 결정 번복을 함께 섞어 넣고, 세 가지를 나눠 재 본다. 고객이 원하는 보고 형식을 얼마나 지키는가(형식 준수율), 마지막으로 확정한 결정을 틀리지 않고 떠올리는가(최신 결정 회상), 그 결정이 어느 회의록에서 나왔는지 원문에 이어 붙일 수 있는가(원문 연결). 앞의 하나가 오르는 동안 뒤의 둘이 흔들리지 않는지를 봐야, 긴 프로젝트에 올릴지 판단할 수 있다.

감사 추적이 필요한 원본 근거는, 내부 상태형 기억과 별개로 꺼내 읽을 수 있는 기록으로 따로 보관하는 설계를 함께 두는 편이 현실적이다.

도입 전, 세 가지만

  • 효율: 속도·저장 절감 수치는 Nano가 128K 기록을 전체 문맥과 맞붙은 특정 조건의 값이다. 논문 §6.5를 보면 이점은 64K 이상에서만 서고 그 아래에서는 역전되니, 우리 기록 길이로 다시 재라.
  • 품질: 기억을 붙인 뒤 기존 과제 성능이 떨어지지 않는지, 백본 성과와 기억 성과를 섞지 말고 따로 확인하라.
  • 추적 가능성: 내부 상태형 기억은 지금 무엇을 담고 있는지 들여다보기 어렵다. 규제·고객 대면 영역이라면 해석·감사 경로를 먼저 확보하라.

MemT-1.0은 아직 연구 단계의 아키텍처이고, 핵심 효율 수치도 특정 조건에서 나온 값이다. 당장 제품에 꽂을 기술이라기보다, 긴 상호작용의 기억 비용을 구조로 줄이는 방향이 실증되기 시작했다는 신호에 가깝다. 긴 프로젝트를 다루는 쪽이라면, 위 세 질문을 들고 작게 시험해 볼 값은 충분하다.

더 깊이

기억 값이 폭주하지 않게: 대칭 갱신

토큰마다 더하고 지우기를 반복하면 기억 상태의 값이 한쪽으로 치우쳐 발산할 수 있다. 저자들은 더하는 쪽과 지우는 쪽이 균형을 이루도록 갱신 연산을 대칭 형태로 짰다. 이렇게 하면 값이 눈덩이처럼 불어나는 일을 억제할 수 있다(상세는 논문 부록 C).

Mixture-of-Storage, 그리고 MoE와의 차이

이름은 Mixture-of-Experts(MoE)를 떠올리게 하지만 작동은 반대에 가깝다. 보통의 MoE는 토큰마다 일부 전문가만 골라 쓴다. MoS는 모든 기억 전문가가 매번 참여한다. 전문가마다 독립된 기억 상태를 갖고, 읽기용 라우터와 쓰기용 라우터가 어떻게 읽을지와 어떻게 쓸지를 따로 정한다. 두 라우터는 공유된 '전문가 주소 행렬' 위에서 움직이되, 읽을 때의 투영과 쓸 때의 투영을 다르게 학습한다. 같은 서랍 번호를 쓰더라도 넣는 손길과 꺼내는 손길이 각각 최적화되는 구조다.

공개 모델 사양

가벼운 Nano와 큰 Flash 둘이 공개됐다. 표의 'B'는 10억, 'M'은 100만 단위다.

모델 총 파라미터 활성 파라미터 동적 기억 백본
MemT-1.0-Nano 36B 3B 10M Qwen3.6-35B-A3B
MemT-1.0-Flash 288B 17B 336M 후처리 학습한 DeepSeek-V4-Flash

활성 파라미터는 한 번의 추론에 실제로 쓰이는 몫, 동적 기억은 대화 중 갱신되는 기억 상태의 크기, 백본은 기억 블록을 얹기 전의 바탕 모델이다.

백본 성과와 기억 성과는 왜 나눠 봐야 하나

논문에는 네이티브 기억을 붙이기 전, 백본만 후처리 학습한 단계의 성과도 나온다(논문 Figure 2는 이 수치가 네이티브 기억 없는 백본 준비 후임을 명시한다). 후처리 학습이 주로 높이는 것은 가끔 풀던 문제를 더 안정적으로 푸는 신뢰도이고, 남은 격차의 상당 부분은 정보 부족이다.

이 격차가 정보로 메워진다는 것은 따로 확인된다. 어려운 지식 문제에 관련 사실을 문맥으로 넣어 주자 정확도가 27%에서 91%로 뛰었다. 이것은 '정보를 공급하면 성능이 오른다'는 사실이다. 그 공급을 네이티브 기억이 대신 맡을 수 있다는 것은 그다음 주장이고, 둘은 구분해서 읽어야 한다.

자주 묻는 질문

공개된 모델을 지금 받아서 쓸 수 있나?

Nano와 Flash 두 모델이 공개돼 있다(아래 HuggingFace 링크). 다만 아직 연구 단계의 아키텍처이므로, 운영에 올리기 전 자기 환경에서 효율과 품질을 다시 재 보는 편이 안전하다.

활성 파라미터가 총 파라미터보다 훨씬 작은데 왜인가?

한 번의 추론에 전체 파라미터를 다 쓰지 않고 일부만 골라 쓰기 때문이다. Nano는 총 36B 가운데 3B만, Flash는 288B 가운데 17B만 실제 추론에 참여한다. 전체 규모는 크게 두되 계산 비용은 활성 몫만큼만 치르는 설계다.

기억이 모델 안에 들어가면 RAG는 완전히 필요 없어지나?

그렇지 않다. 내부 상태형 기억은 지금 무엇을 담고 있는지 사람이 들여다보기 어렵다. 결정의 근거를 나중에 원문까지 되짚어야 하는 감사·규제 영역에서는, 꺼내 읽을 수 있는 기록을 RAG처럼 따로 두는 설계가 함께 필요하다.

참고자료