Prefill bottleneck
긴 agentic prompt에서는 N−1개 토큰이 다음 토큰을 직접 예측하지 않고 deep memory를 쓰기 위해 전체 층을 통과한다. 저자들은 이 write path가 read path보다 얕다고 본다.
SEED turns write–read asymmetry and a low-rank state sink into a two-axis serving optimization
좁은 화면에서는 다이어그램을 좌우로 스크롤할 수 있습니다.
핵심은 고정 크기 상태를 단순히 “O(1) 메모리”라고 부르는 데서 멈추지 않고, 실제 바이트·HBM traffic·prefill FLOPs·prefix-cache 수용량으로 다시 분해하는 것이다.
문맥 길이에 독립적인 recurrent state라 해도, 실제로는 왜 수천 토큰의 KV cache만큼 크고 매 decode step의 병목이 될 수 있는가?
2026년 11월 4일 arXiv에 공개된 v1 프리프린트 Shallow Encoding Emits Deep Memories은 하이브리드 언어모델의 메모리를 두 축으로 얕게 만든다. Prefill에서는 깊이를, decode에서는 표현 rank를 줄인다. 저자들은 이를 SEED라 부르며, 30B에서 320B급 다섯 production hybrid의 여섯 checkpoint에 적용했다. 조사 기준일까지 정식 학회·저널 발표나 개정본은 확인되지 않았다.
LFM은 Liquid AI의 모델군이고, Mamba는 입력 의존 선택성을 가진 상태공간 아키텍처 계열이다. LFM2는 입력 의존 gated short convolution과 일부 GQA를 결합하며, LFM3는 Liquid AI가 2026년 10월 공개한 별도의 tri-hybrid 제품군이다. 따라서 LFM=LTC=LNN=Mamba라는 동일시는 틀리며, SEED의 Mamba-2 결과를 모든 LFM 세대에 소급해서는 안 된다.
Hybrid language model은 소수의 softmax attention 층과 다수의 linear-attention 또는 state-space 층을 섞는다. Attention 층은 토큰별 KV cache를 저장하고, recurrent 층은 head별 고정 크기 행렬 상태를 저장한다. 이 상태의 크기는 문맥 길이에 직접 비례하지 않지만 head 수·층 수·상태 차원·정밀도에는 비례한다.
공통 목표는 긴 이력, 낮은 추론 비용, 높은 정확도를 동시에 만족하는 것이다. 실무에서는 품질을 최대화하되 p95 지연, peak memory, 에너지, 처리량을 제약으로 둔다.
표준 full attention의 prefill은 길이에 대해 이차 연산이고, KV cache는 선형으로 증가하며, decode 한 토큰의 attention은 이력 길이에 선형이다. 고정 상태 순수 SSM은 총 선형 연산과 길이에 독립적인 순환 상태를 갖는다. 그러나 hybrid는 두 메모리를 모두 가진다. GQA는 KV 크기의 계수를 줄일 뿐 길이 의존을 제거하지 않는다.
| 메모리/연산자 | 문맥 길이 의존 | 실제 serving 병목 | SEED 적용 범위 |
|---|---|---|---|
| Full attention KV | 토큰 수에 선형 | 장문 cache capacity와 read traffic | 압축하지 않음 |
| Mamba-2 / GDN / KDA state | 길이와 독립 | 층·head마다 dense matrix를 매 step read/write | sink + low-rank factors로 압축 |
| Prefill deep computation | 모든 prompt token × 모든 layer | compute-bound, 특히 긴 agent prompt | N−1 tokens를 anchor depth까지만 계산 |
| Hybrid total | 두 경로의 합 | load·batch·prefix hit에 따라 병목 이동 | 구성요소별로 opt-in |
이 논문은 “아키텍처의 점근 복잡도”를 “서비스의 바이트와 request capacity”로 번역한다.
선택성은 입력별 기억·망각·읽기의 조절이며 추론 중 가중치를 학습한다는 뜻이 아니다. Mamba-2는 state-space duality 관점에서 head별 matrix state를 쓰고 읽는다. SEED는 이 recurrence를 새 것으로 바꾸지 않고, 이미 학습된 상태가 실제로 어떤 구조를 갖는지 측정한다.
한 토큰이 깊은 층의 memory에 무엇을 쓸지는 그 층으로 들어오는 residual stream과 write path로 정해진다. 반면 다음 토큰을 읽어 예측하려면 deep attention·recurrent read·FFN을 모두 통과해야 한다. 저자들은 5개 모델에서 anchor depth가 전체의 63–89%에 놓이더라도 deep write를 복원할 수 있음을 관찰했다. Prompt의 마지막 토큰과 모든 생성 토큰은 원래처럼 모든 층을 통과한다.
저자 정의에서 a v̄ᵀ는 head별 고정 방향을 따르는 rank-one state sink이고, UVᵀ는 prompt-dependent content다. 다섯 모델에서 sink는 head를 합쳐 state energy의 69–99.7%를 담았다. 그러나 에너지가 크다는 것과 정보가 많다는 것은 다르다. Sink는 normalization 뒤 bias와 gain처럼 작동하고, prompt-specific read content는 비교적 짧은 저랭크 working memory에 놓인다.
SEED는 Shallow Encoding Emits Deep Memories의 약자다. Prefill에서는 shallow-in-depth, decode에서는 shallow-in-representation이라는 서로 다른 인코딩을 사용한다.
SEED의 핵심 기여는 prefill FLOPs 절감과 decode state 절감을 같은 “압축”으로 뭉개지 않고, 각 phase의 다른 병목에 맞춘 두 방법으로 분리한 것이다.
긴 문맥에서 KV cache가 커지는 문제는 잘 알려져 있다. 반면 recurrent state는 길이에 독립이라는 이유로 종종 “상수이므로 작다”고 취급된다. 하지만 production hybrid는 수십 층, 다수 head, fp32 state를 가지며 매 decode step 전체 상태를 읽고 다시 쓴다. HBM capacity는 batch와 prefix cache를 제한하고, HBM traffic은 step time에 직접 들어간다.
긴 agentic prompt에서는 N−1개 토큰이 다음 토큰을 직접 예측하지 않고 deep memory를 쓰기 위해 전체 층을 통과한다. 저자들은 이 write path가 read path보다 얕다고 본다.
Qwen3.8-Flash-Next의 recurrent state는 request당 113.2 MB다. 작은 batch에서는 weight가 bytes를 지배하지만 높은 concurrency에서는 state pool이 capacity를 제한한다.
SGLang hybrid serving에서 cached prefix도 recurrent-state pool의 slot을 차지한다. 상태가 작아지면 running request와 cached prefix를 더 많이 유지할 수 있다.
SEED는 base weight를 바꾸지 않고 emitter와 prompt code만 학습한다. 이는 새 아키텍처 사전학습보다 도입 위험을 낮추지만 checkpoint별 calibration은 남는다.
LFM2의 hardware-in-the-loop 설계, Mamba-3의 이산화·복소수 상태·MIMO, Samba의 SSM+sliding-window attention은 서로 다른 문제를 푼다. SEED는 그 위에서 serving memory representation을 후처리하는 방법이다.
| 난제 | SEED의 답 | 남은 제한 |
|---|---|---|
| Deep memory를 얕은 residual에서 쓸 수 있는가 | checkpoint별 probe로 anchor depth 선택, emitter 학습 | anchor는 63–89%이며 더 얕아질 조건은 미해결 |
| 저랭크 state를 갱신하면 rank가 계속 커짐 | 매 step exact factor update, W step마다 rank-R 압축 | closed-loop 반복 압축의 완전한 이론은 없음 |
| Attention cache가 장문 메모리를 지배 | KV compression과 조합 가능 | SEED 자체는 attention cache를 전혀 줄이지 않음 |
| 논문상 byte 절감과 실제 latency의 간극 | SGLang·GB300·agentic trace로 end-to-end 측정 | GB300과 MoE hybrid 중심, CPU/NPU/다른 GPU 미검증 |
| 정확도 손실 검증 | 같은 질문·sampling seed의 paired comparison | 시험 성적이 장기 agent 성공률·안전성을 대체하지 않음 |
| 저정밀 장기 안정성 | 16K decode와 NVFP4 drift 비교 | 훈련 길이 밖 세션, fp16/fp8 state, 오염·reset 검증 필요 |
특히 open-loop bound는 같은 input update를 본다는 가정 아래 compression error가 횟수에 따라 무한히 누적되지 않음을 보인다. 실제 closed loop에서는 오차가 이후 key와 value도 바꾼다. 저자 측정에서는 16K decode의 첫 4K에서 마지막 4K까지 drift가 1.2–1.4배 증가했지만 compression 횟수는 4배였다. 이는 고무적이지만 보편적 안정성 증명은 아니다.
저자들은 각 checkpoint에서 untrained probe로 anchor depth를 선택한다. Qwen3.8-Flash-Next는 48층 중 31층, Nemotron-3.5-Lightning은 52층 중 33층, Kimi-Linear는 27층 중 19층, GLM-5.3-Flash는 45층 중 31층, Nemotron-3.5-Super는 88층 중 78층까지 prompt token을 실행한다. Qwen3.8-Flash-Next의 prompt parameter FLOPs는 저자 계산으로 token당 12.1에서 9.1 GFLOP으로 줄었다.
Sink의 평균 방향은 request 간 공유하고, request별로 coefficient a와 factors U,V를 저장한다. Mamba-2, Gated DeltaNet, Kimi Delta Attention의 update는 factor에 새 column을 추가하는 형태로 정확히 확장된다. 근사는 오직 매 W step의 rank truncation에서 생긴다. 저자 설정은 모델에 따라 R=W=16 또는 R=W=32다.
여섯 component set을 원 모델과 같은 질문·request seed로 비교했다. GPQA-Diamond, AIME 2024+25, MATH-500, MMLU, IFEval, LiveCodeBench v6, HumanEval+, LongBench v2, RULER 32K/64K/128K 등 11개 시험을 사용했다. 66개 checkpoint–exam cell 중 63개가 원 모델 대비 2 standard errors 안이거나 그 이상이었다는 것이 저자 결론이다.
SGLang과 NVIDIA GB300 GPU에서 agentic-coding trace를 replay했다. 각 measurement는 900초 단일 run이며 SEED 자체 emitter·compression 비용을 포함한다. Qwen3.8-Flash-Next에서 aggregated NVFP4 TP1, aggregated bf16 TP2, disaggregated bf16 1P:1D를 비교했다.
| 저자 보고 조건 | Original peak | SEED peak | Peak ratio | 40 tok/s 동일 사용자 rate |
|---|---|---|---|---|
| Aggregated · NVFP4 · TP1 | 80,219 tok/s/GPU · 28 sessions | 95,989 · 36 sessions | 1.20× | 1.23× |
| Aggregated · bf16 · TP2 | 46,492 · 32 sessions | 54,047 · 40 sessions | 1.16× | 1.26× |
| Disaggregated · bf16 · 1P:1D | 33,906 · 48 sessions | 48,141 · 64 sessions | 1.42× | 1.42× |
긴 repository context와 tool history가 prefill을 지배하고 다수 session이 state pool을 압박한다. 논문의 직접 serving 실험 영역이다.
Evidence chunk가 길고 반복 prefix가 많은 환경에서 shallow prefill과 더 높은 prefix-cache hit가 결합될 수 있다. 근거 회수율은 별도 검증해야 한다.
온디바이스 text·speech·vision assistant에서 고정 state는 유리하지만 state precision과 energy를 함께 측정해야 한다. 이 논문은 GB300 결과만 제공한다.
Gated DeltaNet, KDA, Mamba-2를 attention과 섞은 모델에서 state pool과 KV cache를 서로 다른 정책으로 운영할 수 있다.
센서 상태 추적·로봇 고수준 계획·edge 운영지능에서 compressed state + 필요한 구간 attention + 외부 evidence memory의 3계층 구조를 시험한다.
저수준 제어의 안정성은 별도 검증 대상이다. State compression의 language-model drift 결과가 actuator safety를 보장하지 않는다.
제안압축 recurrent state + 필요한 구간의 attention + 외부 evidence memory를 계층화한다. State는 최근 동적 문맥, attention은 선택된 정확 회수 구간, 외부 memory는 감사 가능한 근거를 담당한다.
제안항상 같은 R과 W를 쓰지 말고 retrieval uncertainty, state novelty, tool boundary, safety-critical step에서 rank를 늘린다. 평상시에는 작게 유지하고 필요한 순간에만 memory budget을 확장한다.
제안Perplexity와 tok/s만으로 끝내지 않는다. 성공 작업당 Joule, p95 TTFT, peak HBM, 근거 회수율, 오류 복구율, state reset 후 회복 시간, 장기 session drift를 함께 보고한다.
| 단계 | 실험 | 통과 기준 예시 | 상태 |
|---|---|---|---|
| 1 · 통제 비교 | 동일 학습데이터·checkpoint·quantization·hardware에서 dense vs low-rank | 품질 비열화 한도와 memory/latency 동시 개선 | 연구 제안 |
| 2 · 고장 주입 | state contamination, evidence deletion, 통신 단절, reset | 오류 탐지율·회복률·최악 지연 | 연구 제안 |
| 3 · 장기 실증 | 로봇·설비의 고수준 계획과 edge 운영지능 | 성공 작업당 Joule·근거 회수·안전 handoff | 연구 제안 |
| 4 · 저수준 제어 | 별도 control-theoretic safety 검증 | stability margin·fail-safe·independent monitor | 분리 과제 |
논문·공식 기술보고서·공식 기업 발표를 구분했다. 실행일 이후 자료는 포함하지 않았다. 실험 수치는 별도 표기가 없는 한 저자 보고다.