LLM은 “한 번 훈련하고 고정된 채로 배포한다”는 패러다임 위에서 작동합니다. 방대한 데이터로 학습된 가중치는 배포 이후 변하지 않으며, 모델은 새로운 정보나 진화하는 맥락, 혹은 극단적으로 긴 문서를 만났을 때 병목이 생길 수 밖에 없습니다.
이 병목은 크게 두 가지 지점에서 나타납니다.
첫째, 지식의 경직성입니다. 모델이 세상을 이해하는 방식은 학습 종료 시점에 가중치 안에 고정됩니다. 단일 대화 도중에 새로운 패턴을 내면화하거나 방대한 기술 매뉴얼을 ‘체득’하는 일은, 컨텍스트 창에 모든 내용을 밀어 넣는 우회로 외에는 불가능한거죠.
둘째, 메모리 병목입니다. 트랜스포머는 과거 토큰 정보를 KV(Key-Value) 캐시에 누적합니다. 입력이 길어질수록 캐시는 선형적으로 팽창하고, 어텐션 연산 비용은 제곱으로 증가합니다. 수십만 토큰 규모에서는 사실상 감당하기 어려운 수준에 이릅니다. (그래서 터보퀀트가…)
# 기존 TTT의 한계: ‘엔진 교체’의 딜레마
이러한 문제를 풀기 위해 제시한 대안이 테스트-타임 훈련(Test-Time Training, TTT) 이었습니다. 토큰을 캐시에 쌓아두는 대신, 그 정보를 작은 보조 가중치로 압축해 모델 스스로 학습하게 하자는 발상입니다.
그러나 기존 TTT 는 결정적 한계가 있었습니다. 성능을 끌어올리기 위해 트랜스포머의 핵심인 어텐션 레이어를 제거하고, 선형 회귀 형태의 TTT 전용 레이어로 교체해야 했기 때문입니다. 수조 토큰으로 사전학습된 Llama, Qwen, Mistral 같은 검증된 모델 자산을 전부 포기해야 한다는 뜻이었습니다. 결과적으로 기존 TTT는 막대한 재학습 비용을 강요하는 ‘실험실의 이론’에 머물렀습니다.
# In-Place TTT의 핵심 아이디어: 뼈대를 건드리지 않는다
그런데, 바이트댄스가 4월 7일 발표한 〈In-Place Test-Time Training〉 논문은 발상을 뒤집습니다. “기존 모델의 구조는 그대로 두고, 내부의 일부 가중치만 추론 중에 실시간으로 갱신한다”는 것이 핵심입니다.
이 접근은 세 가지 원칙 위에 서 있습니다.
– 구조적 보존:전 세계적으로 검증된 트랜스포머 아키텍처를 그대로 유지
– 부분적 유연성:모델 내부에서 지식을 저장하는 MLP 블록의 특정 가중치만을 ‘학습 가능 영역’으로 지정
– 실시간 적응: 새 데이터가 들어오면 모델 전체가 아니라 지정된 부위만 즉석에서 미세 조정
비유하자면, 매번 뇌에 지식을 주입하는 것이 아니라 대화 도중 시냅스 연결 강도를 실시간으로 조절하며 상대의 의도를 파악하는 인간의 사고방식에 가깝다고 보면 될것 같습니다.
# 아키텍처: MLP 출력 행렬을 ‘Fast Weights’로 재정의
이 논문의 가장 중요한 지점은, 트랜스포머 내부에서 고정된 지식 저장소 역할을 하던 MLP 층을 실시간 학습 가동 부위로 재정의했다는 데 있습니다.
일반적인 모델에서 MLP 블록의 출력 투영 행렬은 학습이 끝나면 영구히 고정됩니다. 그러나 In-Place TTT는 이 행렬을 Fast Weights(빠른 가중치)로 명명하고, 추론 과정에서 들어오는 데이터에 맞춰 값을 즉석에서 수정할 수 있도록 개방합니다.
이러면 모델의 일반적 언어 능력(Pre-trained Knowledge)은 그대로 유지하면서, 지금 읽고 있는 문서의 고유한 맥락(Domain Knowledge)에만 빠르게 동기화되도록 설계된 분업 구조가 됩니다.
# 학습 메커니즘: 다음 토큰 예측을 자기지도 신호로
그렇다면 모델은 추론 중에 무엇을 학습할까요? 답은 언어 모델의 본질인 다음 토큰 예측에 있습니다.
추론이 시작되면 모델은 입력 텍스트의 앞부분을 읽으며 다음 단어를 예측합니다. 이때 발생하는 예측 오차(Loss)를 MLP의 지정된 레이어에만 역전파해 Fast Weights를 갱신합니다. 이 과정에서 모델은 방금 읽은 문장의 문체, 전문 용어, 논리 구조를 가중치에 즉시 반영합니다.
효율성을 위해 논문은 청크 단위 업데이트기법을 도입했습니다. 토큰 하나마다 학습하는 대신 일정 단위로 묶어 가중치를 갱신함으로써 병렬성을 극대화하고, 실시간 추론에서 발생할 지연을 최소화했다고 합니다.
# 실험적 증명: 가중치 압축이 KV 캐시를 넘어서다.
논문은 4B 파라미터 규모의 모델로 기존 트랜스포머 및 RAG 시스템과의 격차를 수치로 입증했습니다.
128k 토큰(약 10만 단어) 이상의 긴 문맥에서 특정 정보를 찾는 Needle In A Haystack 테스트에서, 기존 모델들이 메모리 한계로 성능이 급락하는 지점에서도 In-Place TTT는 100%에 가까운 정확도를 유지했습니다. 과거 정보를 메모리에 저장하는 대신 가중치에 학습시켜 압축했기에 가능한 결과입니다.
복잡한 문맥 이해를 측정하는 RULER 테스트에서, 이 기법은 처음부터 TTT 전용으로 설계된 모델들보다도 더 우수한 성능을 보였습니다. LLM이 이미 보유한 압도적 기초 지능에 실시간 적응력이 결합될 때 어떤 시너지가 발생하는지를 명확히 보여줬습니다.
# 경제적으로 가능한 적응형 LLM
In-Place TTT이 중요한건 단순한 성능 향상이 아니라, 기존 사전학습 자산을 버리지 않고도 적응성을 확보할 수 있다는 점에 있습니다. Llama, Qwen 같은 검증된 모델 위에 곧바로 얹을 수 있다는 사실은, 그동안 ‘실험실의 이론’에 머물렀던 TTT를 현실의 엔터프라이즈 환경으로 끌어내리는 결정적 전환점입니다.
KV 캐시의 물리적 한계와 RAG의 검색 의존성을 동시에 우회하면서, 모델 스스로가 문서를 읽으며 체득하는’새로운 추론 패러다임이 이 논문이 제시하는 방향입니다.
# 에이전트 관점에서 본 의미
현재 Claude Code 같은 로컬 기반 에이전트가 채택한 방식은 CLAUDE.md, 스킬 파일, 파일시스템 기반 컨텍스트입니다. Karpathy의 LLM Wiki 개념도 같은 스타일이죠.
이 방식은
“기억은 모델 바깥에, 사람이 읽을 수 있는 형태로, 파일에 둔다.”
그런데, In-Place TTT는 정반대입니다.
“기억은 모델 안에, 가중치라는 형태로, 즉시 체득된다.”
같은 에이전트의 기억 문제를 푸는 두 접근이지만, 철학이 정반대입니다.
md 기반 방식은 명백한 장점들이 있습니다.
에이전트가 무엇을 아는지가 파일로 보입니다. 열어서 읽고, 고치고, git으로 버전 관리할 수 있는거죠. 또, 프로젝트 A의 CLAUDE.md를 프로젝트 B로 복사하면 그대로 작동합니다. 가중치는 이게 안 됩니다.
무엇을 학습했고 무엇을 잊었는지도 추적 가능합니다. 엔터프라이즈 환경에서는 결정적 요건으로 봐야 합니다. 그리고, 사람과 에이전트가 같은 파일을 공유합니다. md는 사람도 읽고 모델도 읽습니다.
잘못된 학습? git revert 한 줄이면 끝납니다.
이러니 파일시스템이 가장 신뢰할 수 있다는 말이 나옵니다.
그렇다면 In-Place TTT는 무엇을 더하는가?
핵심은 두 방식이 경쟁 관계가 아니라 계층 관계라는 점입니다.
md 기반 방식은 한계도 분명합니다. 결국 매 추론마다 그 md 파일을 컨텍스트에 다시 로드해야 합니다. CLAUDE.md가 500줄이면 매 턴 500줄이 토큰으로 들어갑니다. 1만 줄짜리 도메인 문서를 ‘항상 알고 있는’ 에이전트를 만들고 싶다면, md 방식은 결국 컨텍스트 창과 토큰 비용이라는 물리적 벽에 부딪힙니다. 토큰 도둑들…
In-Place TTT는 이 벽을 우회합니다. 같은 1만 줄을 한 번 읽어서 Fast Weights에 체득시키면, 그 이후로는 토큰 비용 없이 그 지식이 모델의 일부가 됩니다.
이렇게 보면 자연스러운 분업이 그려집니다.
사람이 관리·감사·버전관리하는 규칙·정책·페르소나과 같은 선언적 지식은 md 파일 (CLAUDE.md, 스킬)에,
한 번 읽고 내면화한 도메인 코퍼스, 코드베이스, 매뉴얼휘발성 작업 메모리 등 이미 체득된 직관은 Fast Weights 로,
그래서 In-Place TTT가 md 기반 방식을 대체하기보다는, md로 다루기엔 너무 큰 코퍼스(예) 사내 코드베이스 전체, 법령 데이터베이스, 제품 매뉴얼 1만 페이지)를 다룰 때 보완하는 식으로 자리 잡을 가능성이 높다는 생각이 듭니다.
* 논문 원문 : https://arxiv.org/pdf/2604.06169