📄 기술 보고서 | 🤗 데이터 | 💻 코드
저희는 StateBench를 소개합니다. 이는 *긴 컨텍스트(long-context)*에서의 *상태 추적(state tracking)*을 위한 벤치마크로, 언어 모델이 긴 문서에서 엔티티에 대한 정보를 그것이 진화함에 따라 얼마나 잘 유지하는지를 측정합니다.
상태 추적은 변수가 할당되고 재할당되는 코드를 읽는 것부터, 캐릭터가 물리적으로 움직이고 사물이 손을 거쳐 변화하는 이야기를 따라가는 작업에 이르기까지 다양한 작업을 근간으로 합니다. 예를 들어, 미스터리 소설에서 살인이 발생하기 직전에 “John이 Mary에게 칼을 주었다”고 언급한다면, 각 캐릭터의 상태가 변했다는 것을 아는 것이 중요합니다. 하지만 모든 상태 추적 문제가 동일한 것은 아닙니다. 일부는 최신 업데이트를 찾는 것만 요구하는 반면, 더 어려운 문제들은 변화의 사슬(chain of changes)을 따라가는 것을 요구하며, 한 단계라도 놓치면 최종 답변이 틀어질 수 있습니다. 예를 들어, 저희 미스터리 상태 추적의 더 어려운 변형은 'John이 자신의 백팩에 있는 물건을 Mary에게 주었는데, 이 물건은 이전에 Edward가 John의 백팩에 칼을 넣어둔 것'이라는 정보가 알려져 있을 경우일 것입니다.
Transformer는 긴 의존성 사슬(long dependency chains)을 가진 상태 추적의 어려운 변형에 대해 잘 문서화된 이론적 한계를 가지고 있으며, 이는 전방으로 실행 메모리(running memory)를 전달하는 Gated DeltaNet과 같은 순환 및 하이브리드 아키텍처를 동기 부여했습니다. 기존의 상태 추적 테스트는 가장 어려운 사례에 초점을 맞추는 경향이 있지만, 이러한 설계가 더 일반화됨에 따라 연구자들은 각 아키텍처가 어떤 종류의 상태 추적을 처리할 수 있는지 알아야 합니다. 우리는 아키텍처 간의 차이를 단순히 가장 어려운 상태 추적 유형에서뿐만 아니라, 더 간단하고 잠재적으로 더 흔한 유형에서도 이해하고자 합니다.
이러한 목적을 위해, 우리는 다양한 복잡성을 가진 상태 추적(state-tracking) 문제를 포착하는 StateBench 벤치마크를 개발했으며, 이를 사용하여 서로 다른 아키텍처를 가진 언어 모델 간의 차이를 평가했습니다. 우리의 연구에 따르면, 순환형(recurrent) 및 하이브리드(hybrid) 모델은 이러한 작업에서 직접 학습되었을 때 트랜스포머(transformers)보다 훨씬 더 넓게 일반화할 수 있는 것으로 나타났습니다. 반면, Gemini 3.8 Flash, Claude Opus 5.5, GPT-6 Sol, Luna를 포함한 최신 모델들조차 입력 길이가 길어짐에 따라 더 어려운 형태의 상태 추적에서는 여전히 성능이 저하되는 현상을 보였습니다.
StateBench는 점진적으로 복잡해지는 상태 업데이트 작업을 허용하는 네 가지 난이도 레벨로 구성되어 있습니다. 프로그래머에게 이 상태 추적 복잡성 레벨은 서로 다른 유형의 변수 할당(variable assignment) 연산을 허용하는 것으로 이해될 수 있습니다:
R-trivial 문제: 불변 할당(immutable assignment)을 사용합니다. 변수의 값은 절대 변하지 않으므로, 모델은 처음에 설정된 값을 복구하기만 하면 됩니다. 코드에서는 let x = 4;와 같은 형태이며, 일상생활에서는 생년월일과 같습니다—고정되어 있습니다.
Aperiodic 문제: 값에 의한 재할당(reassignment by value)을 허용합니다. 모델은 가장 최근의 값을 찾아야 하며 이전 값들은 무시해도 됩니다. 코드에서는 x = 4 다음에 나중에 x = 2;와 같은 형태이며, 일상생활에서는 최신 설정이 현재 온도를 결정하는 온도 조절기(thermostat)와 같습니다.
Soluble 문제: 자기 참조 업데이트(self-referential updates)를 추가합니다. 각 업데이트는 현재 값에 기반하여 구축되므로, 모델은 단순히 가장 최근의 할당을 찾는 것이 아니라 변화를 계속 전달해야 합니다. 코드에서는 x = x + 5;와 같은 형태이며, 일상생활에서는 점수판과 같아, 매 포인트가 누적 총점에 더해집니다.
일반 유한 문제(General finite problems): 참조에 의한 할당(assignment by reference)을 추가합니다. 한 변수가 다른 변수의 현재 값을 가질 수 있어 업데이트 전반에 걸쳐 의존성(dependencies)이 발생합니다. 코드에서는 x = y 또는 두 변수를 교환하는 형태와 같습니다. 마술사가 다섯 개의 컵 중 하나 아래에 공을 숨긴 후, 그 위치를 반복적으로 바꾸는 상황을 상상해 보십시오. 이 공을 찾는다는 것은 이러한 스왑(swap)이 그 위치를 어떻게 변화시키는지 추적하는 것을 의미합니다.
이는 S₅ 상태 추적 문제(state-tracking problem)를 보여주는데, 이는 연속적인 교환이 다섯 개의 객체를 어떻게 재배열하는지 추적하는 문제입니다. 이 문제는 네 가지 레벨 중 가장 어려운 범주에 속하며, 이전 연구에서 상태 추적의 한계에 대해 논의된 바 있습니다.
이러한 레벨들은 변수 할당(variable assignments) 측면에서 직관적으로 이해할 수 있지만, 동시에 Krohn–Rhodes 이론이라는 대수학(algebra)의 한 분야에 뿌리를 둔 이론적인 구분을 나타냅니다. 이 이론은 상태 추적 문제—이는 유한 모노이드(finite monoid) 위의 단어 문제(word problem)로 간주될 수 있습니다—가 어떻게 원자적 기본 요소(atomic primitives)로 분해될 수 있는지 설명합니다. 우리의 계층 구조에서 각 레벨은 서로 다른 기본 요소 세트로 구축될 수 있는 상태 추적 문제의 한 클래스에 해당합니다.
네 가지 레벨을 공정하게 비교하기 위해, 우리는 일반적인 유한 변수 할당 시퀀스로 시작하여 이로부터 세 가지 더 쉬운 버전을 도출함으로써 네 개의 비교 가능한 StateBench 문제를 만듭니다. 모든 문제는 동일한 수의 변수와 고유 값을 사용하며, 할당은 시퀀스 내에서 같은 지점에 나타나지만, 변경되는 것은 할당의 유형뿐입니다.
우리는 다양한 개방형 사전 학습 모델(open pretrained models)을 StateBench의 r-trivial, 비주기성(aperiodic), 그리고 일반 유한 레벨에 테스트하여 상태 추적이 어디서 무너지는지, 그리고 서로 다른 아키텍처가 이론이 예측하는 곳에서 실패하는지를 확인했습니다. 표준적인 이론적 가정 하에서 트랜스포머(transformers)는 r-trivial 문제에 대해 견고하게 처리할 수 있으며 (그리고 어느 정도 해결 가능하고 비주기성이지만), 일반적인 문제에서는 실패할 것으로 예측됩니다. 이와 대조적으로, 더 유연한 메모리 업데이트를 가진 Gated DeltaNet은 원칙적으로 네 가지 레벨 모두를 처리할 수 있습니다.
우리는 학습 데이터와 컨텍스트 길이가 완전히 문서화된 오픈 사전 학습 모델부터 시작했습니다. 여기에는 70억 개 매개변수를 가진 두 가지 모델인 Olmo 3(트랜스포머)과 Gated DeltaNet 레이어를 추가한 Olmo Hybrid가 포함되었으며, 각각 2억 750만 개 및 27억 개의 매개변수를 가진 더 작은 모델들도 있었습니다. 이 모든 모델들은 동일한 데이터로 사전 학습되었고, 어떤 모델도 학습 중 64,000 토큰보다 긴 컨텍스트를 본 적이 없었지만, 우리는 대부분의 모델을 그 길이보다 훨씬 긴 입력에 대해 테스트했습니다.
각 모델을 평가했을 때, 거의 모든 모델이 r-trivial 문제에서는 좋은 성능을 보였지만, 입력 크기가 커짐에 따라 비주기적(aperiodic) 문제에서는 정확도가 떨어졌고, 일반 유한(general finite) 문제에서는 우연 수준에 머물렀습니다. 여기서 문제 형식(format)이 중요했습니다. 2억 750만 개 매개변수의 하이브리드 모델과 Gated DeltaNet 모델은 RULER 스타일의 r-trivial 문제에서는 최고점에 가까운 점수를 받았지만, 스프레드시트 편집으로 구성된 동일한 문제에서는 우연 수준에 가까웠습니다. 이 격차는 StateBench가 동일한 근본적인 문제를 여러 형식으로 테스트하는 이유 중 하나입니다.
다음으로 우리는 네 가지 최첨단 모델(frontier models)—Gemini 3.8 Flash, Claude Opus 5.5, GPT-6 Sol 및 Luna—을 테스트하며, 각 변수 할당 시퀀스를 읽고 모든 변수의 최종 값을 생성하도록 요청했습니다.
네 모델 모두 r-trivial 및 비주기적 문제에서는 좋은 성능을 보였습니다. 그러나 해소 가능(soluble)하고 일반 유한 문제의 경우, 입력이 길어질수록 정확도가 급격히 떨어져 가장 긴 일반 유한 문제에서는 13% 이하로 하락했습니다. 한 가지 가능한 요인은 *민감도(sensitivity)*입니다. 이처럼 어려운 수준에서는 훨씬 더 많은 단계가 최종 결과에 영향을 미칠 수 있어, 모델이 업데이트를 놓치더라도 결과를 틀리지 않을 여지가 줄어듭니다.
다음으로, 우리는 모델이 어려운 수준에서 어려움을 겪는 것이 아키텍처 자체의 한계를 반영하는 것인지, 아니면 단순히 사전 학습만으로는 모델에게 이를 해결하도록 가르치지 못했기 때문인지를 조사했습니다. 표적 직접 학습(Targeted direct training)은 상태 추적 문제(state-tracking issues)가 모델을 사전 학습시키는 데 사용된 데이터보다는 근본적인 아키텍처와 최적화기(optimizer)에서 비롯되는 정도를 밝혀내는 더 유리한 설정입니다.
우리는 StateBench에서 여러 개의 2억 7,500만 개 매개변수(parameter) 모델을 처음부터 학습시켰습니다. 이 모델들은 트랜스포머 변형 2가지, 하이브리드 변형 2가지, 그리고 다양한 메모리 업데이트 제약 조건을 가진 Gated DeltaNet 변형 2가지로 구성되었습니다. 이 모델들은 최대 256개의 할당(assignments) 시퀀스로 학습되었으며, 최대 훈련 길이의 250배에 달하는 64,000개의 할당을 가진 시퀀스에서 테스트되었습니다.
시퀀스가 길어짐에 따라 아키텍처 간의 차이가 나타나기 시작했습니다. Gated DeltaNet과 하이브리드 모델은 우리가 테스트한 가장 긴 시퀀스인 수만 개의 할당에 이르기까지 r-trivial, 비주기적(aperiodic), 그리고 가해성(soluble) 문제에서 거의 완벽하게 일반화되었습니다. 트랜스포머는 쉬운 수준에서는 학습했지만, 더 긴 시퀀스에서는 성능이 저하되었고, 일반적인 유한 문제에 대해서는 전혀 학습하지 못했습니다. 가장 어려운 수준에서는 메모리 업데이트가 더 유연한 Gated DeltaNet 변형이 가장 멀리까지 일반화되어, 훈련 중 본 가장 긴 시퀀스의 길이의 약 10배까지 거의 완벽한 성능을 유지했습니다.
Gated DeltaNet과 하이브리드 모델의 경우, 성능 격차는 아키텍처보다는 훈련 과정에 기인합니다. 이들을 직접 훈련했을 때, 사전 학습된(pretrained) 버전으로는 처리할 수 없었던 상태 추적(state-tracking) 수준을 다루는 방법을 배웠습니다. 트랜스포머는 달랐습니다—직접 훈련했음에도 불구하고 가장 어려운 수준은 결코 학습할 수 없었습니다.
여전히 해결되지 않은 질문들이 남아 있습니다. 저희의 새로운 증명은 더 제한적인 메모리 업데이트(비음수 고윳값)를 가진 Gated DeltaNet이 논문에서 제시한 반올림을 포함하는 고정 정밀도 산술 연산 하에서 모든 비주기적 작업과, 반복된 입력이 짝수 또는 홀수 번 발생했는지 추적하는 것과 같은 특정 주기적 작업을 해결할 수 있음을 보여줍니다. 이 구조가 계층 내에서 정확히 어디에 위치하는지는 여전히 미지수이며, 모든 해결 가능한 작업을 풀 수 있는지 여부와 수치 정밀도 또는 어텐션 레이어(attention layers)와 결합했을 때 그 능력이 어떻게 영향을 받는지 등이 포함됩니다. StateBench는 또한 고정된 수의 변수를 가정하지만, 실제 작업에서는 시간이 지남에 따라 새로운 개체(entity)를 도입하는 경우가 많습니다. 예를 들어, 긴 대화가 진행됨에 따라 새로운 사람이나 사물이 나타날 수 있으며, 모델은 이들 역시 추적하기 시작해야 합니다. 현재 프레임워크는 아직 그러한 설정을 다루지 못합니다.
순환(recurrent) 및 하이브리드 아키텍처의 새로운 유형들이 등장함에 따라, 각 아키텍처가 어떤 종류의 상태 추적을 처리할 수 있는지 이해하는 것은 미래 시스템이 어떻게 개발되고 훈련되어야 하는지 안내하는 데 도움이 될 수 있습니다. 저희는 StateBench가 연구자들에게 모델이 어느 지점에서 실패하는지(break down)를 더 세밀하게 파악하고, 여전히 부족한 능력을 위한 훈련 및 평가 데이터를 구축할 수 있는 방법을 제공하기를 바랍니다. 더 근본적으로는, 이것이 연구자들이 현재 모델보다 더욱 강력한 상태 추적 능력(state-tracking abilities)을 가진 새로운 아키텍처를 개발하기 위한 북극성(North Star) 역할을 하기를 바랍니다.