요즘 LLM 소식에서는 대화 기록 전체나 수십 권의 책, 심지어 대규모 코드베이스까지 한 번에 처리할 수 있다는 방대한 컨텍스트 윈도우 사양이 빠지지 않고 강조됩니다. 하지만 이런 스펙이 무색하게도, 모델은 맥락을 제대로 유지하지 못해 실수를 반복합니다. 결국 사용자가 이전 대화 내용을 다시 복사해서 붙여넣어줘야 겨우 알아듣는 번거로움이 발생하는 것이죠. 상황에 맞춰 패턴을 파악하고 학습한 내용을 다음 작업에 반영하는 사람과 달리, LLM은 왜 이런 적응력을 보여주지 못하는 걸까요?
본 포스팅에서는 LLM의 메모리와 인간의 메모리 사이의 결정적인 차이점을 짚어봅니다. 그리고 최신 연구인 TTT-E2E(End-to-End Test-Time Training) 방식을 소개합니다. 이 방식은 LLM이 읽고 있는 컨텍스트를 ‘다음 토큰 예측(Next-token Prediction)’ 과정을 통해 모델의 가중치(Weights) 속으로 압축해 넣는 기술입니다.

그림 1은 컨텍스트 길이에 따른 스케일링 효율을 손실값(좌)과 레이턴시(우) 측면에서 분석한 핵심 결과입니다. 기존의 Full Attention Transformer는 손실값 성능은 뛰어나지만 컨텍스트가 길어질수록 레이턴시가 급격히 늘어나는 단점이 있습니다. 반면 Mamba 2나 Gated DeltaNet 같은 RNN 계열은 레이턴시 제어에는 유리하지만 손실값 성능이 떨어집니다. TTT-E2E는 이 두 가지 지표 모두에서 뛰어난 스케일링 성능을 보여주는 유일한 방식입니다.
왼쪽 그래프: TTT-E2E는 128K 컨텍스트 길이에서 가장 하단에 위치했던 성능 곡선(회색)을 최상단(연두색)으로 끌어올렸습니다. y축인 Loss ∆(↓)는 ‘해당 방식의 손실값 – Full Attention Transformer의 손실값’으로 계산됩니다. 따라서 기준점인 Full Attention(진한 녹색)의 Loss ∆는 y=0에서 수평선을 유지합니다. 다른 방식들은 컨텍스트가 길어질수록 손실값이 악화되는 반면, TTT-E2E는 Full Attention 대비 우위를 안정적으로 유지합니다.
오른쪽 그래프: RNN과 유사하게 TTT-E2E 역시 컨텍스트 길이에 관계없이 추론 레이턴시가 일정하게 유지됩니다. 그 결과 NVIDIA H100 기준 128K 컨텍스트에서 Full Attention보다 2.7배 빠르며, 2M 컨텍스트에서는 35배나 더 빠릅니다. (모든 모델은 3B 파라미터 규모로, 164B 토큰을 학습했습니다.)
손실값과 레이턴시, 두 측면 모두에서 컨텍스트 길이에 따라 성능을 안정적으로 확장하는 일은 롱 컨텍스트와 LLM 연구의 핵심 과제입니다. 기존 방식들이 일정 지점에서 한계를 드러내는 반면, TTT-E2E는 이 문제에 실질적인 해법의 가능성을 보여준 첫 사례로 주목받고 있습니다. 수많은 실험에서도 TTT-E2E는 뚜렷한 성능 한계 없이 꾸준한 스케일링을 이어갔습니다. 이번 결과는 2026년, 롱 컨텍스트 문제에 대한 해법의 실마리를 찾기 시작했음을 보여줍니다.
관련 논문과 코드는 공개되어 있으며 바로 확인하실 수 있습니다.
LLM 메모리와 인간의 메모리는 어떻게 다를까요?
사람은 세부적인 내용을 완벽하게 기억하지 못하더라도, 삶의 경험이라는 ‘컨텍스트’가 쌓일수록 실력이 비약적으로 향상됩니다. 예를 들어, 머신러닝 첫 수업에서 강사가 내뱉은 첫 마디가 무엇이었는지는 기억나지 않을 수 있습니다. 하지만 그때 익힌 기본 개념과 감각은 수년이 지난 지금 이 블로그 포스트를 이해하는 데 큰 도움을 줍니다.
반면, 셀프 어텐션(Self-attention) 기반의 트랜스포머는 컨텍스트가 길어질수록 비효율적입니다. 이는 트랜스포머가 데이터를 거의 손실 없이 복구(Lossless recall)하도록 설계되었기 때문이기도 합니다. 셀프 어텐션의 기본 형태인 ‘풀 어텐션(Full attention)’은 모든 토큰의 키(Key)와 값(Value)을 캐싱하고 비교함으로써 모든 기억을 유지합니다. 이 덕분에 모든 세부 사항을 놓치지 않고 참조할 수 있지만, 토큰당 처리 비용이 컨텍스트 길이에 따라 선형적으로 증가한다는 치명적인 단점이 있습니다. 1,000만 번째 토큰을 처리하는 데 드는 시간이 10번째 토큰을 처리할 때보다 100만 배나 더 걸리는 식입니다.
막대한 연산 비용이라는 환경적 부담 없이 롱 컨텍스트를 처리하기 위해, 최신 아키텍처들은 점점 더 다양한 대안을 모색하고 있습니다. 풀 어텐션 대신 슬라이딩 윈도우 어텐션, 맘바(Mamba), 게이티드 델타넷(Gated DeltaNet) 레이어 같은 근사 기법들을 조합하는 방식이 대표적입니다. 이러한 접근법은 토큰당 처리 비용을 일정하게 유지할 수 있다는 장점이 있지만, 컨텍스트가 길어질수록 풀 어텐션에 비해 효율이 급격히 저하됩니다. [그림 1]에서도 확인할 수 있듯, 이들 근사 기법은 미래를 예측하는 데 핵심적인 정보를 놓치는 경향이 있기 때문입니다.
핵심 솔루션: 컨텍스트를 가중치로 압축하기
토큰당 처리 비용을 일정하게 유지하면서도 롱 컨텍스트 내의 중요하고 직관적인 정보를 기억할 방법은 없을까요?
그 핵심 기법은 바로 압축입니다. 사람은 방대한 경험을 뇌 속에 압축하여 저장함으로써 사소한 디테일은 덜어내고 중요한 정보만 남깁니다. 언어 모델 또한 ‘다음 토큰 예측’ 학습을 통해 방대한 데이터를 가중치 속에 압축한다는 사실을 알고 있습니다. 그렇다면 모델이 추론하는 시점(Test-time)에도 주어진 컨텍스트를 바탕으로 다음 토큰 예측 학습을 계속 이어가면 어떨까요?
저희는 이러한 단순한 형태의 테스트 타임 학습(TTT)에 한 가지 핵심 요소를 더해 매우 뛰어난 효과를 확인했습니다. 바로 일반적인 사전 학습 대신 메타 러닝(Meta-learning)을 통해 TTT를 위한 최적의 초기화 상태를 만드는 것입니다. 이 과정을 통해 저희의 방식은 두 가지 측면에서 엔드 투 엔드(E2E)를 완성합니다. 우선 이너 루프(Inner loop)는 기존 연구(예: Titans)와 달리 네트워크의 마지막 단계에서 다음 토큰 예측 손실을 직접 최적화합니다. 그리고 아우터 루프(Outer loop)는 TTT가 완료된 후의 최종 손실값을 직접 최적화합니다.
RAG의 역할은 무엇일까요?
TTT가 인간의 뇌 자체를 업데이트하는 과정이라면, RAG와 같은 검색 기반 방식은 수첩이나 달력에 메모를 남기고 이를 찾아보는 것과 같습니다. 장보기 목록처럼 아주 세부적인 사항이 중요할 때는 수첩이 훌륭한 보조 도구가 될 수 있습니다. 하지만 인간의 생산성을 근본적으로 결정하는 것은 수첩이 아니라 뇌의 능력입니다. AI 에이전트 역시 마찬가지입니다. 방대한 컨텍스트를 얼마나 잘 압축하여 미래를 예측하고 직관적인 정보를 추출하느냐에 따라 그 성능이 결정될 것입니다.
한계점
TTT-E2E의 학습 단계인 메타 러닝 과정에서는 ‘그래디언트의 그래디언트(Gradients of gradients)’ 연산이 필요합니다. 현재 저희의 구현 방식은 표준 프리트레이닝 대비 약 3.4배(8K 컨텍스트 기준) 더 느린데, 이는 현재 FlashAttention의 표준 API가 해당 연산을 지원하지 않기 때문입니다. 이 문제는 그래디언트의 그래디언트를 지원하는 커스텀 어텐션 커널을 개발하거나, TTT 없이 학습된 표준 트랜스포머에서 TTT-E2E를 초기화하는 방식으로 극복할 수 있습니다. 저희는 커뮤니티가 이 여정에 함께해주길 기대하고 있습니다.
결론
구체적인 방법론과 실험 결과, 구현 디테일이 궁금하시다면 전체 논문인 End-to-End Test-Time Training for Long Context를 확인해 보세요. 공개된 리포지토리의 코드와 데이터셋을 통해 모든 실험을 직접 재현해 보실 수 있습니다.