Transformer의 attention은 과거 token을 거의 손실 없이 보존하지만 context가 길어질수록 계산량이 커진다. 반대로 recurrent memory는 고정 크기 state에 문맥을 압축해 효율적이지만, 긴 입력에서는 무엇을 남기고 무엇을 지울 것인지가 어려워진다. Proteus가 겨냥한 것은 memory의 크기 자체가 아니라 언제 그 capacity를 열어 줄 것인가이다.
저자들은 기존 memory model이 sequence 전체에서 같은 memory를 처음부터 노출하는 관행을 문제 삼는다. 초반 token은 비어 있는 memory를 만나 압축 압력이 거의 없고, 지나치게 많은 degree of freedom을 차지한다. 그 결과 뒤늦게 들어오는 token은 이미 포화된 state에 써야 하므로 overwriting과 interference를 겪는다. Proteus는 초반에는 memory 일부만 읽고 쓰게 하고, context가 자랄수록 잠겨 있던 block을 순차적으로 해제한다. early bottleneck은 초기 문맥을 요약하도록 압박하고, fresh capacity는 후반 정보를 위한 빈 자리를 남긴다.
기억이 많아도, 처음부터 다 쓰면 초반 문맥이 자리를 독점한다
Proteus는 long-context failure를 ‘capacity 부족’ 하나로 설명하지 않는다. early overfitting과 late interference라는 시간적 비대칭에서 출발한다.
Transformer는 기억을 키우고, RNN은 기억을 압축한다
Softmax attention은 sequence의 각 token을 key–value 형태로 보존하는 lossless memory에 가깝다. context가 길어질수록 memory size가 선형으로 커지고, attention 계산은 sequence length에 대해 quadratic cost를 갖는다. retrieval에는 유리하지만 긴 문맥에서 비용이 커진다.
현대 recurrent model은 반대 선택을 한다. 고정 크기 hidden state에 history를 압축하므로 token당 decoding cost는 일정하고 전체 계산량은 linear 또는 sub-quadratic이 될 수 있다. 대신 무한히 길어질 수 있는 context를 고정 state에 넣어야 하므로 training length를 넘어서는 length extrapolation에서 약점이 나타난다.
초반 token은 압축되지 않고, 후반 token은 덮어쓰기와 싸운다
저자들이 강조하는 새 관점은 무엇을 쓰느냐보다 언제 쓰느냐이다. memory가 거의 비어 있을 때 도착하는 초기 token은 capacity 경쟁이 없어서 과도한 degree of freedom을 쓸 수 있다. 이 단계의 optimization은 compact summary를 학습하기보다 초기 샘플을 그대로 맞추는 방향으로 흐를 수 있다.
반대로 후반 token은 이미 많은 정보를 담은 state와 경쟁한다. 새 association을 기록할수록 기존 association을 overwrite하거나 interference를 일으킬 가능성이 커진다. 그 결과 fixed-memory recurrent model은 initial token에 편향되고 later context를 흡수하는 능력이 약해질 수 있다는 것이 논문의 문제 설정이다.
Failure mode A · Early pollution
초기 입력이 full capacity를 사용하면서 지나치게 구체적으로 memorization되고, generalizable compression이 약해진다.
Failure mode B · Late interference
후반 입력은 이미 채워진 state에 write해야 하므로 기존 정보와 충돌하고 retention이 어려워진다.
초반에는 일부러 좁게, 뒤로 갈수록 넓게
Proteus는 sequence 초반에 capacity bottleneck을 만들어 history를 요약하도록 강제하고, context가 진행될수록 사용하지 않았던 memory block을 단계적으로 연다. 논문의 Figure 1은 locked memory, activated memory, past memory를 구분하면서 context chunk가 진행될 때 active subset이 점점 커지는 과정을 보여 준다.
이 설계에서 중요한 점은 memory 자체가 커지는 것이 아니라는 사실이다. total capacity는 고정되어 있고, 그중 어느 subset이 현재 read/write에 참여하는지만 바뀐다. 모든 block은 결국 활성화되며 activation은 monotone하다.
서로 다른 sequence model을 ‘온라인 associative memory’라는 한 언어로 읽는다
논문의 Preliminaries는 Proteus를 특정 RNN에 묶지 않기 위해 memory objective, update rule, parameterization을 공통 틀로 정리한다.
Associative memory는 key를 value에 연결하는 최적화 문제이다
key 집합 \(K\subseteq\mathbb{R}^{d_k}\), value 집합 \(V\subseteq\mathbb{R}^{d_v}\)가 있을 때, memory operator \(M(\cdot)\)는 key를 value로 매핑한다. 내부 objective \(\widetilde{\mathcal L}\)를 최소화하는 memory는 다음처럼 쓸 수 있다.
sequence modeling에서는 입력 \(x_t\)로부터 보통 \(k_t=x_tW_k\), \(v_t=x_tW_v\), \(q_t=x_tW_q\)를 만든다. 여기서 tilde가 붙은 loss는 full model의 outer training loss가 아니라, memory가 key–value association을 학습하기 위한 내부 objective다.
이 관점의 장점은 서로 달라 보이는 architecture를 같은 좌표계에 놓는 데 있다. objective, optimizer, memory parameterization을 어떻게 고르느냐가 architecture를 결정하며, attention과 recurrent memory는 context compression spectrum의 서로 다른 위치로 해석된다.
각 token은 state에 쓰이는 하나의 optimization step이다
온라인 memory는 token이 하나씩 들어올 때 update와 read를 반복한다.
gradient는 현재 key–value association이 기존 memory와 얼마나 어긋나는지 나타내는 surprise signal처럼 읽을 수 있다. 이 generic form에서 update objective와 optimizer를 바꾸면 여러 memory architecture가 나온다.
Proteus가 바꾸는 것은 objective도 optimizer도 아니다
논문은 step \(t\)에서 update와 read에 참여하는 memory parameter 수를 effective capacity라고 부른다. 전체 capacity를 \(C\), 시점별 active subset을 \(c(t)\le C\)라고 하면 Proteus는 이 \(c(t)\)를 context position에 따라 schedule한다.
중요하게도 이 axis는 memory objective, optimizer, memory architecture와 orthogonal하다. 같은 gating principle을 Hebbian, delta, Titans 같은 서로 다른 update rule에 그대로 붙일 수 있다는 일반성이 여기서 나온다.
Nested Learning 관점에서는 parameter 자체도 memory로 볼 수 있다
논문은 Nested Learning 관점을 받아들여 gradient-based MLP update도 associative memory의 한 형태로 본다. 각 layer는 local error signal을 value처럼 받아 parameter에 sample contribution을 쓴다.
저자들은 이 관점 전체를 새로 증명하려는 것이 아니라, recurrent state에 적용한 incremental activation을 MLP parameter subset에도 적용할 수 있는 근거로 사용한다.
capacity control의 고전적 논리를 sequence position으로 옮긴다
autoencoder와 model-selection 연구에서 bottleneck이 task-relevant structure를 남기는 데 도움이 된다는 생각은 오래됐다. Proteus는 이를 online sequence의 위치축에 적용한다. early position에서 full capacity를 주면 initial sample을 fit하기 쉽고, late position에서는 이미 saturated state 때문에 interference가 커진다. 따라서 적절한 capacity는 sequence 초반과 후반에 같을 이유가 없다는 주장이다.
Proteus의 알고리즘은 ‘잠근다, 읽지 않는다, 쓰지 않는다, 때가 되면 푼다’이다
복잡한 router를 추가하지 않는다. memory를 block으로 나누고 deterministic prefix mask를 context position에 따라 확장한다.
Capacity-Scheduled Associative Memory
activation operator \(G_t\)는 step \(t\)에서 memory parameter 일부만 선택한다. indicator \(g_t\in\{0,1\}^{\dim(M)}\)를 두고 active subset을 \(M_{t-1}^{(g)}:=G_t(M_{t-1})\)라고 정의하면 update는 다음과 같이 제한된다.
inactive component는 update되지 않을 뿐 아니라 read에도 참여하지 않는다. 그리고 값은 그대로 보존된다. 이것은 매 step 새 memory를 optimization하는 것이 아니라, 하나의 online trajectory에서 active set만 점점 커지는 과정이다.
fixed-size memory의 일부 coordinate block만 노출한다
matrix-valued memory \(M\in\mathbb R^{d_k\times d_v}\)에서는 row나 column group 같은 contiguous block을 capacity unit으로 사용할 수 있다. Proteus는 total memory를 늘리지 않고 block activation만 schedule한다. 또한 pruning처럼 capacity를 영구 제거하지 않는다. activation은 monotone하며 마지막에는 모든 block이 열린다.
memory를 \(E\)개의 같은 크기 block으로 나눈다
Proteus는 memory parameter를 \(E\)개의 contiguous block으로 partition한다. mask는 active block의 parameter만 1로 만든다.
write는 active component에만 gradient를 적용하고, read 역시 active subspace에서만 수행한다.
저자들은 modern neural memory가 대체로 linear map 또는 MLP로 parameterize되어 있기 때문에 이런 multiplicative gating만으로 effective capacity를 제어할 수 있으며, 추가 parameter나 memory를 요구하지 않는다고 설명한다.
context가 한 구간 진행될 때마다 block을 하나씩 더 연다
maximum context length를 \(N\), block 수를 \(E\), memory dimension이 \(E\)로 나누어 떨어진다고 할 때 block size는 \(d=\dim(M)/E\)이고 unlock interval은 다음과 같다.
step \(t\)에서 active block 수는
이며 prefix mask는 첫 \(k(t)d\)개 coordinate만 활성화한다. 따라서 \([1,\Delta]\)의 token은 memory의 첫 \(1/E\), 다음 구간은 \(2/E\), 이런 식으로 점점 큰 fraction을 읽고 쓴다.
실험에서는 training context length를 \(N=8\mathrm{K}\)로 두고 evaluation에서도 같은 schedule을 유지한다. 8K를 지나면 이미 full memory가 활성화되어 이후 16K, 32K에서는 추가 unlock이 발생하지 않는다. 이 사실은 뒤의 length-extrapolation 결과를 해석하는 데 중요하다.
같은 스케줄을 Hope-Attention의 MLP block에도 건다
recurrent state에만 적용되는 트릭이 아니라 parameter update 자체의 active subset을 조절하는 proof of concept까지 확장한다.
gradient를 모두 흘리지 않고 active parameter에만 쓴다
generic parameter update에 schedule mask를 곱하면 다음과 같다.
AdamW에서도 같은 원리로 gradient와 moment update가 gated된다. 논문은 bias-corrected first/second moments \(\hat m,\hat v\), decoupled weight decay를 유지하면서 active parameter만 update하도록 작성한다.
attention 뒤의 MLP chain을 시간적으로 활성화한다
Hope architecture는 Transformer와 유사한 attention backbone을 가지면서, post-attention MLP 하나 대신 서로 다른 update frequency를 가진 MLP block chain을 둔다. 논문은 다음 관계를 사용한다.
Proteus는 각 block parameter update에 Equation (14)의 mask를 적용해 training이 진행될수록 MLP parameter를 점진적으로 활성화한다. 저자들은 이 부분을 별도 핵심 기여라기보다 recurrent memory 밖으로 원리를 확장하는 lightweight proof of concept로 위치시킨다.
objective와 optimizer를 바꾸지 않고 exposure schedule만 바꾼다
이 점이 Proteus의 실용성을 설명한다. model-specific memory rule을 새로 고안하지 않는다. SWLA의 update rule, Comba의 control structure, Titans의 momentum/forgetting, Hope-Attention의 MLP chain은 그대로 두고, 현재 position에서 어느 block이 읽고 쓰는지 제한한다.
짧은 문맥에서는 대체로 중립적이고, 길고 어려워질수록 이득이 커진다
4개 backbone, 2개 model scale, language modeling·commonsense·NIAH·retrieval·LongBench를 통해 architecture-agnostic 효과를 점검한다.
FineWeb 8K training, 760M/1.3B 두 scale
평가 backbone은 Hope-Attention, SWLA, Comba, Titans 네 계열이다. reference baseline으로 Transformer++, RetNet, DeltaNet도 보고한다. 별도 언급이 없으면 Proteus block 수는 \(E=16\)이다.
760M scale
760M parameters, 50B training tokens.
1.3B scale
1.3B parameters, 100B training tokens.
Training
FineWeb, 8K context, AdamW, learning rate \(4\times10^{-4}\), cosine annealing, batch 0.5M tokens, weight decay 0.1.
Evaluation
Wikitext/LAMBADA perplexity, LAMBADA·PIQA·HellaSwag·WinoGrande·ARC-Easy·ARC-Challenge·SIQA·BoolQ zero-shot accuracy.
Language modeling & commonsense reasoning — 760M
| Model | Wiki ppl↓ | LMB ppl↓ | LMB acc↑ | PIQA | Hella. | Wino. | ARC-e | ARC-c | SIQA | BoolQ | Avg↑ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Transformer++ | 22.08 | 22.41 | 38.2 | 68.9 | 44.1 | 56.8 | 67.0 | 34.9 | 40.2 | 62.4 | 51.56 |
| Hope-Attention | 20.67 | 21.36 | 39.5 | 70.4 | 50.1 | 56.3 | 66.9 | 37.5 | 40.7 | 63.8 | 53.15 |
| + Proteus | 19.87 | 19.72 | 40.5 | 70.2 | 51.9 | 58.2 | 67.3 | 38.5 | 41.4 | 63.9 | 53.99 |
| RetNet | 23.54 | 23.87 | 35.7 | 66.4 | 42.8 | 53.6 | 64.8 | 33.1 | 38.7 | 57.4 | 49.06 |
| SWLA (c=2) | 22.76 | 22.85 | 36.7 | 67.5 | 44.2 | 54.7 | 64.6 | 34.3 | 39.9 | 59.1 | 50.12 |
| + Proteus | 21.82 | 20.88 | 37.5 | 67.1 | 44.9 | 54.7 | 66.0 | 35.8 | 41.0 | 60.2 | 50.90 |
| DeltaNet | 22.89 | 23.13 | 37.2 | 68.0 | 45.2 | 52.9 | 65.4 | 33.4 | 40.2 | 59.8 | 50.26 |
| Comba | 21.94 | 21.77 | 38.4 | 67.1 | 47.1 | 53.0 | 65.9 | 35.5 | 40.8 | 63.7 | 51.43 |
| + Proteus | 21.32 | 21.20 | 39.1 | 67.9 | 47.6 | 54.7 | 66.2 | 35.4 | 41.6 | 64.7 | 52.15 |
| Titans | 20.92 | 21.28 | 39.3 | 69.2 | 49.9 | 53.1 | 67.3 | 36.9 | 41.7 | 63.8 | 52.65 |
| + Proteus | 20.44 | 20.93 | 40.0 | 69.5 | 50.7 | 56.1 | 67.2 | 36.8 | 42.6 | 64.0 | 53.36 |
760M에서는 네 backbone 모두 average accuracy가 상승했다. Hope-Attention은 53.15→53.99, SWLA는 50.12→50.90, Comba는 51.43→52.15, Titans는 52.65→53.36이다. Hope-Attention+Proteus가 이 scale에서 가장 낮은 Wikitext/LAMBADA perplexity와 가장 높은 average accuracy를 보고한다.
Language modeling & commonsense reasoning — 1.3B
| Model | Wiki ppl↓ | LMB ppl↓ | LMB acc↑ | PIQA | Hella. | Wino. | ARC-e | ARC-c | SIQA | BoolQ | Avg↑ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Transformer++ | 17.04 | 17.42 | 45.3 | 73.1 | 51.8 | 59.3 | 71.0 | 38.2 | 43.5 | 64.3 | 55.81 |
| Hope-Attention | 15.66 | 13.39 | 48.2 | 72.9 | 55.0 | 59.8 | 72.2 | 38.7 | 43.3 | 65.4 | 56.93 |
| + Proteus | 15.70 | 13.01 | 48.5 | 73.1 | 55.4 | 60.8 | 73.1 | 38.5 | 44.2 | 64.8 | 57.30 |
| RetNet | 18.84 | 17.29 | 40.8 | 70.6 | 48.9 | 56.0 | 67.9 | 35.3 | 41.6 | 62.7 | 52.98 |
| SWLA (c=2) | 18.11 | 16.95 | 40.7 | 71.4 | 49.2 | 57.3 | 68.8 | 37.0 | 42.4 | 62.6 | 53.67 |
| + Proteus | 18.07 | 17.18 | 40.6 | 71.9 | 50.5 | 57.8 | 69.4 | 37.1 | 43.2 | 63.1 | 54.20 |
| DeltaNet | 17.39 | 17.02 | 40.0 | 71.4 | 50.1 | 53.9 | 68.3 | 36.6 | 43.3 | 60.7 | 53.04 |
| Comba | 16.98 | 14.17 | 43.8 | 73.2 | 53.5 | 60.1 | 70.9 | 39.2 | 44.2 | 58.5 | 55.42 |
| + Proteus | 16.95 | 14.01 | 44.6 | 73.1 | 54.2 | 60.4 | 71.4 | 39.5 | 44.6 | 60.2 | 56.00 |
| Titans | 15.36 | 13.18 | 50.9 | 74.0 | 54.6 | 57.3 | 72.2 | 40.9 | 42.6 | 63.1 | 56.95 |
| + Proteus | 14.94 | 13.03 | 51.7 | 75.9 | 54.6 | 60.1 | 72.3 | 41.7 | 43.9 | 63.8 | 58.00 |
1.3B에서도 네 backbone의 average accuracy가 모두 오른다. 가장 강한 memory baseline인 Titans는 average 56.95→58.00, Wikitext perplexity 15.36→14.94, LAMBADA perplexity 13.18→13.03을 기록했다. 다만 모든 metric이 일률적으로 좋아지는 것은 아니다. 예를 들어 Hope-Attention의 Wikitext perplexity는 15.66→15.70으로 아주 소폭 악화되고, SWLA의 LAMBADA perplexity도 16.95→17.18로 나빠진다. 논문 역시 perplexity가 ‘nearly all settings’에서 개선된다고 표현한다.
Needle-in-a-Haystack — single-needle
| Model | S-NIAH-1 · pass-key | S-NIAH-2 · number | S-NIAH-3 · UUID | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 4K | 8K | 16K | 4K | 8K | 16K | 4K | 8K | 16K | |
| Transformer | 97.8 | 86.2 | 83.8 | 100 | 99.2 | 96.4 | 82.2 | 72.0 | 48.4 |
| Hope-Attention | 100 | 100 | 100 | 100 | 99.4 | 96.8 | 83.4 | 72.8 | 50.0 |
| + Proteus | 100 | 100 | 100 | 100 | 99.4 | 97.2 | 83.2 | 73.2 | 54.4 |
| Comba | 100 | 100 | 99.4 | 92.6 | 47.2 | 13.4 | 62.4 | 13.8 | 7.4 |
| + Proteus | 100 | 100 | 99.2 | 91.8 | 49.4 | 21.2 | 60.8 | 18.2 | 10.8 |
| Titans | 100 | 100 | 100 | 99.6 | 84.6 | 69.4 | 74.2 | 42.8 | 21.4 |
| + Proteus | 100 | 100 | 100 | 99.2 | 85.2 | 74.2 | 74.2 | 44.0 | 29.8 |
쉬운 pass-key retrieval에서는 base model이 이미 100에 가까워 Proteus 효과가 거의 중립적이다. 반면 16K의 어려운 variant에서는 차이가 커진다. Titans S-NIAH-3는 21.4→29.8, S-NIAH-2는 69.4→74.2, Comba S-NIAH-2는 13.4→21.2다.
Needle-in-a-Haystack — multi-key, multi-query, multi-value
| Model | MK-NIAH-1 | MQ-NIAH | MV-NIAH | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 4K | 8K | 16K | 4K | 8K | 16K | 4K | 8K | 16K | |
| Transformer | 80.0 | 79.4 | 60.8 | 57.4 | 46.2 | 28.8 | 36.6 | 33.8 | 20.2 |
| Hope-Attention | 81.4 | 85.2 | 62.2 | 62.0 | 47.6 | 30.6 | 37.2 | 36.2 | 23.0 |
| + Proteus | 80.8 | 85.2 | 64.8 | 62.2 | 48.4 | 34.2 | 36.6 | 36.0 | 25.8 |
| Comba | 22.8 | 20.4 | 10.4 | 22.2 | 16.0 | 6.2 | 15.8 | 14.2 | 6.6 |
| + Proteus | 23.4 | 20.2 | 14.2 | 23.8 | 16.6 | 8.4 | 14.8 | 14.0 | 8.2 |
| Titans | 27.0 | 22.8 | 11.8 | 23.2 | 18.4 | 10.2 | 24.8 | 15.4 | 8.8 |
| + Proteus | 28.4 | 22.6 | 16.8 | 23.2 | 18.6 | 12.0 | 24.6 | 14.8 | 10.2 |
16K에서 Titans MK-NIAH-1은 11.8→16.8, Hope-Attention MQ-NIAH는 30.6→34.2, MV-NIAH는 23.0→25.8로 오른다. 이 표는 Proteus의 장점이 base model이 어려움을 겪는 긴 문맥과 복합 retrieval에서 커진다는 저자 해석과 잘 맞는다.
16K에서는 이미 unlock이 끝났는데도 이득이 남는다
training schedule은 8K 안에서 full memory activation을 끝낸다. 따라서 16K 평가에서 Proteus가 더 좋은 것은 8K 이후 추가 block을 열었기 때문이 아니다. 저자들은 이를 early bottleneck 아래에서 형성된 cleaner, better-compressed state가 training window 밖에서도 더 천천히 degrade하는 증거로 해석한다.
SWDE, SQuAD, FDA retrieval에서 긴 context일수록 격차가 커진다
Figure 2는 Hope-Attention, Comba, Titans를 512, 1K, 2K, 16K context에서 비교한다. Comba와 Titans는 base model의 accuracy가 context와 함께 크게 떨어지지만 Proteus variant는 하락을 완화한다. Hope-Attention은 원래 강한 편인데도 전 구간에서 Proteus가 개선을 보인다. 저자들은 baseline 대비 gain이 context length와 함께 커진다고 보고한다.
LongBench — six long-context tasks
| Model | Narrative | Qasper | MultiField | Hotpot | 2WikiMulti | Musique | Average |
|---|---|---|---|---|---|---|---|
| Hope-Attention | 12.1 | 9.4 | 19.2 | 20.6 | 26.7 | 6.3 | 15.72 |
| + Proteus | 12.6 | 10.2 | 20.9 | 21.5 | 27.3 | 7.4 | 16.65 |
| Comba | 7.6 | 10.4 | 15.9 | 14.6 | 23.1 | 6.7 | 13.05 |
| + Proteus | 7.8 | 10.8 | 16.2 | 14.5 | 23.2 | 6.9 | 13.23 |
| Titans | 8.0 | 10.3 | 17.4 | 15.6 | 24.8 | 6.7 | 13.8 |
| + Proteus | 8.4 | 10.4 | 17.9 | 16.4 | 25.1 | 6.7 | 14.15 |
세 backbone 모두 average가 상승한다. 개별 task 대부분도 개선되지만 Comba Hotpot은 14.6→14.5로 소폭 하락하고 Titans Musique는 6.7로 동일하다. 평균 개선은 Hope-Attention에서 가장 크다(15.72→16.65).
너무 거친 schedule도, 너무 잘게 쪼갠 schedule도 최적은 아니다
Appendix A는 block 수가 성능을 비단조적으로 바꾸고, 관련 연구는 Proteus가 compute routing이나 growing memory와 다른 축에 있음을 정리한다.
\(E=1\)은 baseline, \(E=16\)이 최소 perplexity
Appendix A는 \(E\in\{1,4,8,16,32\}\)를 비교한다. \(E=1\)이면 block이 하나라 처음부터 full memory가 활성화되므로 원래 base model과 동일하다. perplexity는 \(E=1\)에서 \(E=8\)까지 빠르게 좋아지고 \(E=16\)에서 최저가 되지만 \(E=32\)에서는 다시 악화된다.
이 비단조성은 논문의 메커니즘 가설과 맞는다. partition이 더 세밀해지면 early bottleneck이 강해져 compression이 좋아지지만, 너무 세밀하면 첫 token이 memory의 1/32만 쓸 수 있어 필요한 정보까지 지나치게 압축하게 된다.
초반 성능을 희생해서 후반을 얻는 trade-off는 관찰되지 않았다
Figure 4는 Titans와 Titans+Proteus의 validation perplexity를 token index별로 비교한다. Proteus는 모든 position에서 더 낮은 perplexity를 보이며, gap은 schedule이 진행될수록 커져 memory가 full-active가 되는 8K 부근에서 가장 크다. 8K 이후에는 더 이상 block이 unlock되지 않지만 advantage는 서서히 줄어들 뿐 32K까지 양수로 유지된다.
Figure 3은 \(E\)에 대한 U자형 경향을, Figure 4는 2K–32K token position에 걸친 Proteus의 지속적 perplexity 우위를 시각화한다. 본 글에서는 그래프의 눈금에서 임의의 중간 수치를 읽어내지 않고, 논문이 서술한 방향성과 비교만 사용한다.
Proteus는 새로운 memory rule보다 ‘capacity exposure’라는 별도 축을 추가한다
Related Work는 linear attention, RetNet, RWKV, S5에서 시작해 input-dependent transition, delta rule, Mamba 계열, Gated Delta, Comba, deep memory, momentum-based Titans, nonlinear recurrence, OmegaNet, Oja rule 등으로 이어지는 recurrent sequence modeling 흐름을 정리한다.
또 최근 log-linear attention과 Memory Caching처럼 effective memory가 sequence length와 함께 실제로 커지는 architecture를 구분한다. Proteus는 fixed-size state를 유지하면서 parameter activation만 늘리므로 이들과 orthogonal하며, 두 방식을 결합하는 것이 future direction으로 제시된다.
Mixture-of-Depths는 compute를, Proteus는 memory capacity를 배분한다
conditional computation, adaptive computation time, early exit, Mixture-of-Depths, Mixture-of-Recursions는 모든 token에 동일한 계산을 쓰지 않는다는 점에서 Proteus와 닮았다. 그러나 이들은 Transformer에서 token별 compute depth를 조절하고, Proteus는 recurrent state의 memory capacity를 position에 따라 조절한다.
또 Mixture-of-Recursions의 routing은 learned, data-dependent인 반면 Proteus의 schedule은 현재 fixed function of position이다. 저자들은 MoR에서 recursion depth가 token의 contextual predictability를 따라간다는 결과를 근거로, 향후 Proteus도 content-dependent activation policy로 확장할 수 있다고 본다.
모델 capacity를 균등하게 배분하는 것이 항상 최선은 아니다
고전적 capacity control과 minimum-description-length, over-parameterization에서 memorization이 generalization을 해칠 수 있다는 연구가 Proteus의 논리적 배경이다. 가장 가까운 최근 예로 Tapered Language Models는 fixed parameter budget 아래에서 earlier layer에 더 많은 capacity, later layer에 더 적은 capacity를 두는 non-uniform allocation을 제안한다. Proteus는 layer depth가 아니라 context position을 따라 capacity를 schedule한다.
Hopfield에서 fast-weight programmers까지 이어지는 계보
논문은 associative memory를 Hopfield network의 energy-minimization 관점까지 거슬러 올라가 설명한다. dense associative memory와 modern Hopfield network는 storage capacity를 키웠고, attention과의 이론적 연결도 제시돼 왔다. Schmidhuber의 fast-weight programmer는 slow network가 fast network의 weight를 생성하고 sequence를 처리하게 하는 관점을 정립했다.
이 계열에서 Hebbian learning과 delta rule은 key–value association을 쓰는 대표적 update rule이며, Proteus는 이 rule 자체를 바꾸지 않고 active parameter subset을 schedule한다.
Proteus가 보여 준 것은 ‘더 큰 memory’가 아니라 ‘더 좋은 memory budget 사용법’이다
효과는 일관되지만 universal law로 보기에는 아직 이르다. schedule은 손으로 정했고, parameter-gating 확장은 하나의 architecture에서만 proof of concept다.
네 architecture에서 공통으로 나타난 개선은 allocation principle의 가능성을 지지한다
저자들은 SWLA, Comba, Titans, Hope-Attention에 동일한 incremental activation을 넣었고, standard language modeling과 reasoning뿐 아니라 long-context retrieval, NIAH, LongBench에서 개선을 보고한다. 특히 context가 길고 base model이 취약한 조건에서 gain이 커지는 패턴이 반복된다.
한 architecture의 특수한 update rule을 바꾼 것이 아니라 여러 memory design에 같은 scheduling mechanism을 적용했다는 점에서, 저자들은 성능 이득이 특정 architecture보다 capacity를 context에 어떻게 배분하는가에서 비롯된다고 해석한다.
논문이 스스로 적어 둔 세 가지 한계
Fixed hand-designed schedule
active set은 position에 따라 uniform하게 증가한다. optimal schedule이 무엇인지, data distribution이나 update rule에 따라 어떻게 달라져야 하는지는 규명하지 않았다.
MLP extension is narrow
parameter-level activation은 Hope-Attention 한 architecture에서 proof of concept로만 검증됐다. recurrent state에서의 일반성만큼 충분히 검증된 결과는 아니다.
Gains are regime-dependent
base model이 이미 포화하는 쉬운/짧은 task에서는 효과가 거의 중립적이다. Proteus는 long-context capacity가 실제 bottleneck인 조건에서 가장 유용하다.
fixed schedule 다음에는 learned activation, growing memory, inference-time stretching이 남는다
강한 결론과 아직 열려 있는 결론을 구분해야 한다
기억을 잘하는 모델이란 ‘많이 저장하는 모델’이 아니라 ‘늦게까지 빈 자리를 남기는 모델’일 수 있다
long-context modeling에서 capacity는 흔히 총량으로 논의된다. 몇 개 token을 넣을 수 있는가, hidden state가 얼마나 큰가, KV cache가 얼마나 늘어나는가를 묻는다. Proteus는 여기에 시간이라는 축을 하나 더 넣는다. 같은 capacity라도 sequence 초반에 다 열어 쓰는 것과 후반을 위해 일부를 비워 두는 것은 서로 다른 optimization problem을 만든다.
이 아이디어의 매력은 단순함에 있다. 새 memory를 발명하지 않고 memory의 사용 순서만 바꾼다. 하지만 단순하다는 이유로 결론까지 단순해지는 것은 아니다. 가장 흥미로운 후속 질문은 오히려 이제부터다. 어느 token에서 어떤 block을 열어야 하는가, content surprise와 activation을 연결할 수 있는가, training 때의 bottleneck과 inference 때의 context extension을 어떻게 함께 설계할 것인가. Proteus는 그 질문을 위한 최소한의 실험적 출발점이다.
논문의 87개 참고문헌 중 논지의 축을 이루는 문헌
첨부 PDF에는 총 87개의 참고문헌이 수록돼 있다. 본문에서는 related-work 전 범주를 모두 설명했으며, 아래에는 Proteus의 문제 설정·associative-memory 관점·long-context benchmark·최근 memory architecture와 직접 연결되는 핵심 문헌을 추렸다. 전체 87개 bibliography는 원문 PDF의 pp. 13–17에 있다.