[논문 리뷰]/[최신 논문] / [arXiv 2607.15275] RoboTTT: 8K 시각운동 문맥을 fast weights에 압축하는 로봇 정책.md

[arXiv 2607.15275] RoboTTT: 8K 시각운동 문맥을 fast weights에 압축하는 로봇 정책

조회

RoboTTT: Context Scaling for Robot Policies

https://arxiv.org/abs/2607.15275

Yunfan Jiang, Yevgen Chebotar, Ruijie Zheng, Fengyuan Hu, Yunhao Ge, Jimmy Wu, Tianyuan Dai, Scott Reed, Li Fei-Fei, Yuke Zhu, Linxi “Jim” Fan | NVIDIA, Stanford University, The University of Texas at Austin | arXiv:2607.15275 | 2026년 7월


1. 서론: 현재 프레임만 보는 로봇이 긴 작업에서 잃어버리는 것

1.1 장기 조립은 물체 인식보다 진행 상태 추적에 가깝다

최신 Vision-Language-Action(VLA) 모델은 언어 지시와 카메라 영상을 받아 연속 로봇 행동을 생성하지만, 실제 제어 시점에는 현재 관측 한 장이나 2~8개 정도의 짧은 프레임만 보는 경우가 많다. 이 설정은 컵을 집거나 서랍을 여는 짧은 기술에는 충분할 수 있어도, 부품을 순서대로 조립하고 공구를 양손 사이에 넘기며 이전 단계의 성공 여부를 확인해야 하는 과제에는 구조적인 제약을 만든다. 카메라에 보이는 장면이 비슷해도 로봇이 이미 나사를 조였는지, 부품 삽입을 실패했는지, 사람이 방금 장착한 바퀴를 다시 빼 놓았는지에 따라 다음 행동은 달라져야 한다. 현재 영상만으로 이 숨은 진행 상태를 복원하기 어려운 현상은 부분 관측성과 상태 aliasing의 문제로 볼 수 있다.

RoboTTT가 던지는 질문은 단순하다. 언어 모델에서 문맥 길이가 하나의 스케일링 축이 된 것처럼, 로봇 정책도 수천 시점의 시각운동 기록을 학습하고 배포 중 활용할 수 있는가. 저자들은 이를 위해 Test-Time Training을 GR00T N1.7 계열 로봇 foundation model의 행동 헤드에 통합하고, 최대 8K timestep의 연속 궤적을 fast weights라는 고정 크기 상태로 압축한다. 30Hz 제어에서 8,000 시점은 약 4분 27초이며, 논문이 평가하는 가장 긴 Gear Bot 조립은 평균 5분에 걸친다. 정책은 8K 이후에도 fast weights를 계속 갱신하므로, 훈련에서 본 길이를 넘어선 실행에서도 같은 메커니즘으로 이력을 누적한다.

1.2 왜 KV cache를 늘리는 것만으로는 부족한가

과거 프레임을 Transformer에 모두 넣는 방식은 표현력은 높지만, 추론할 때 저장해야 할 key와 value가 문맥 길이에 따라 늘고 새 토큰이 참조해야 할 과거도 길어진다. 실로봇은 매 시점 deadline 안에 행동 청크를 생성해야 하므로, 몇 분짜리 영상을 그대로 attention history로 유지하는 비용은 서버형 언어 모델보다 더 직접적인 운영 제약이 된다. 반대로 LSTM이나 선형 recurrent memory는 고정 크기 상태를 유지하지만, 조명 변화와 반복되는 손·공구·부품 영상에서 어떤 사건을 오래 남겨야 하는지 학습할 용량이 부족할 수 있다. RoboTTT는 고정 크기 recurrent state를 유지하되, 그 상태를 벡터가 아닌 작은 신경망의 가중치로 만든다.

이 설계에서 fast weights는 학습이 끝난 뒤 고정되는 일반 모델 파라미터와 역할이 다르다. 전체 모델의 slow weights는 배포 중 고정되지만, 각 TTT 층의 작은 MLP 가중치는 현재 토큰을 자기지도 목표로 처리할 때마다 경사하강으로 바뀐다. 과거 key와 value를 명시적으로 보관하는 대신, 스트림에서 반복되거나 중요하지 않은 정보는 덜 남기고 과제 진행과 교정에 필요한 패턴을 parameter space에 써 넣도록 바깥 과제 손실이 업데이트 규칙 자체를 학습시킨다. 따라서 RoboTTT의 주장은 “메모리를 추가했다”보다 더 구체적이다. 배포 중 온라인 최적화되는 메모리가 긴 시각운동 문맥을 정해진 크기의 상태로 압축하고 다시 질의하도록 만들었다는 주장이다.

1.3 논문이 제시하는 네 가지 능력과 해석 범위

논문은 긴 문맥이 실제 로봇에서 네 종류의 이득으로 연결된다고 보고한다. 첫째, 세 개의 장기 양팔 조립 과제에서 평균 completion score 79%를 기록해 single-step GR00T N1.7의 42%와 Gated DeltaNet의 56%를 앞선다. 둘째, Circuit의 미지 조립 구성에서 사람의 시범 영상 한 개를 문맥으로 받아 10회 중 6회 완전 성공한다. 셋째, 설치한 지붕이나 타이어를 사람이 다시 제거하는 교란에 대응해 이전 단계로 돌아간다. 넷째, DAgger Distillation을 통해 실패 행동과 인간 교정의 관계를 fast weights에 학습하여 같은 사전 상태보다 상대 36% 높은 점수를 얻는다.

다만 네 결과를 무훈련 범용 적응으로 읽으면 범위가 넓어진다. one-shot imitation은 20개 훈련 구성 각각에서 인간 영상과 로봇 궤적의 대응 관계를 미리 학습한 뒤 새로운 구성을 영상 한 개로 지정하는 조건부 모방이다. 교란 회복도 30분의 roof·tire 제거 데이터를 모든 방법에 함께 학습시킨 결과다. DAgger Distillation 역시 테스트 중 보상으로 새로운 전략을 발명하는 온라인 강화학습과 구별되며, 100개 인간 개입 궤적에서 실패와 교정의 연결을 메타학습한 정책이 실행 중 그 패턴을 재현하는 과정이다. 이 구분을 지켜야 RoboTTT가 실제로 증명한 긴 문맥 기반 진행 추적과 회복을 과장 없이 평가할 수 있다.

2. 배경 및 관련 연구: attention history에서 weight-space memory로

2.1 짧은 문맥 VLA와 긴 문맥 정책의 간극

로봇 foundation model의 일반적인 구조는 대규모 vision-language backbone으로 장면과 지시를 표현하고, 별도의 행동 생성기가 이 표현을 관절 명령으로 변환하는 형태다. OpenVLA처럼 행동을 이산 토큰으로 생성하는 계열도 있고, $\pi_0$·GR00T N1.7처럼 연속 행동 공간을 diffusion 또는 flow matching으로 모델링하는 계열도 있다. 그러나 행동 표현과 무관하게 많은 모델은 현재 관측만 사용하거나 몇 프레임을 이어 붙이는 데 그친다. 과거 영상을 단순 연결하면 현재 행동과 우연히 같이 나타났던 배경, 손 위치, 이전 액션이 강한 shortcut으로 작동해 배포 중 시간적 분포가 조금만 달라져도 정책을 흔들 수 있다.

긴 이력을 다루는 기존 접근은 크게 세 갈래로 나뉜다. 첫째, 모든 rollout history를 autoregressive Transformer에 넣어 높은 표현력을 유지하는 방법이 있다. 둘째, keyframe·언어 요약·외부 memory bank처럼 고수준 의미만 남기는 방법이 있다. 셋째, RNN이나 Gated DeltaNet처럼 고정 크기 recurrent state로 스트림을 압축하는 방법이 있다. 첫 방법은 지연과 메모리의 문맥 의존성이 문제이고, 두 번째는 어떤 장면을 보존해야 할지 별도 규칙이나 요약기 품질에 의존한다. 세 번째는 계산량이 안정적이지만 수천 시점의 조밀하고 반복적인 영상에서 비선형 구조를 충분히 담는지가 관건이다. RoboTTT는 세 번째 부류의 운용 특성을 가지면서 fast model의 파라미터 공간을 상태로 사용해 용량을 높인다.

2.2 Test-Time Training은 모델 전체의 재학습이 아니다

Test-Time Training(TTT)이라는 용어는 배포 시 적응 전반에 느슨하게 쓰이지만, 이 논문의 정의는 좁다. 학습과 추론 모두에서 small fast model의 일부 가중치를 자기지도 손실로 빠르게 업데이트하고, 나머지 slow weights는 고정한다. 로봇에서 테스트 과제의 데이터를 더 모아 전체 VLA를 fine-tuning하는 방식과 구별된다. RoboTTT의 fast weights는 각 rollout 시작 시 메타학습된 초기값 $W_0$에서 출발하고, 매 관측마다 update-then-apply를 반복한다. 새 데이터셋을 축적해 다음 배포 전에 모델을 재훈련하는 방식과 달리, 단일 실행의 연속 문맥을 처리하는 recurrent computation이다.

이 메커니즘은 최근 언어·비전 모델에서 긴 문맥을 다루는 선형 attention 대안과 연결된다. key projection $K_t$가 들어오면 fast model $f_W$가 대응 value projection $V_t$를 내도록 MSE를 줄이는 한 번의 경사 업데이트를 수행하고, 같은 시점의 query $Q_t$를 갱신된 모델에 넣어 출력을 읽는다. 바깥 학습은 어떤 projection을 key·value·query로 만들지, 초기 fast weights를 어떻게 둘지, inner-loop learning rate를 얼마로 할지를 task loss로 최적화한다. 그러므로 fast-weight MSE는 로봇 성공을 직접 보상하지 않지만, 그 MSE를 통해 기억되는 표현과 초기화는 행동 flow-matching 손실의 gradient가 결정한다.

2.3 고정 상태 비교군 Gated DeltaNet이 중요한 이유

RoboTTT의 성과를 단순히 “history를 썼기 때문”으로 돌리지 않으려면 같은 고정 상태 계열과 비교해야 한다. 논문은 각 TTT 층을 Gated DeltaNet(GDN)으로 교체하고 층 위치, gating, parameter count를 맞춘 기준선을 둔다. GDN도 과거를 선형 associative state로 압축하므로, Transformer처럼 history 길이에 따라 KV cache를 늘리지 않는다. 차이는 상태 업데이트가 테스트 시 경사하강을 거치는 비선형 MLP인가, 학습된 선형 delta rule인가에 있다.

실험에서 GDN은 Circuit과 Gear Bot에서 single-step GR00T보다 높은 부분 완료 점수를 내지만, context length를 128에서 8K까지 늘려도 RoboTTT처럼 일관된 상승 추세를 보이지 않는다. 저자들은 gradient-based update와 MLP 표현력이 조밀한 로봇 스트림에서 필요한 구조를 추출하는 데 유리하다고 해석한다. 다만 이 비교에는 업데이트 규칙과 fast model의 비선형성이 동시에 섞여 있다. TTT-linear ablation이 MLP보다 상대 27% 낮다는 결과는 표현력의 몫이 크다는 사실을 보여 주므로, GDN 대비 우위를 “경사하강 하나”의 효과로만 귀속하는 것은 조심해야 한다.

2.4 기존 로봇 학습 흐름과의 연결

이전의 Data-Driven Robot Learning 계열은 자동 수집·정제·평가 루프를 통해 더 많은 실제 상호작용을 slow policy에 축적한다. PAC-ACT처럼 행동 청크 단위 강화학습은 이미 학습된 action prior에서 크게 벗어나지 않도록 제한하면서 task reward에 맞게 정책을 후학습한다. RoboTTT는 그보다 짧은 시간척도를 다룬다. 배포 에피소드 안에서 파라미터화된 메모리를 계속 갱신하지만, slow policy 자체를 보상으로 바꾸지 않는다. 장기적으로 수집된 데이터가 slow weights를 개선하는 루프와, 한 실행 안의 실패·교정·진행 상태가 fast weights를 바꾸는 루프를 구분하면 이 논문의 위치가 명확해진다.

언어 모델의 latent working memory와도 비교할 수 있다. RiM 같은 접근이 고정 크기의 잠재 memory block에서 중간 추론을 반복한다면, RoboTTT는 작은 신경망의 weights를 작업공간으로 쓴다. 둘 다 원시 토큰 전체를 유지하지 않고 고정 크기 상태를 순환시키지만, RoboTTT의 상태 전이는 명시적인 inner-loop gradient update다. 로봇에서는 이러한 weight-space memory가 과제 단계, 과거 행동, 가려진 물체, 인간 교정처럼 서로 다른 시간적 단서를 같은 recurrent state에 흡수할 수 있는지가 핵심 평가 대상이 된다.

3. 방법론: TTT fast weights를 DiT 행동 헤드에 심는 과정

3.1 update-then-apply로 정의되는 fast model

입력 토큰 시퀀스를 $X$라 하고, 학습 가능한 projection $\theta_Q$, $\theta_K$, $\theta_V$가 만든 시점별 query, key, value를 $Q_t$, $K_t$, $V_t$라 하자. fast weights $W$는 $f_W:\mathbb{R}^d\rightarrow\mathbb{R}^d$인 작은 신경망을 파라미터화한다. RoboTTT의 구현에서는 각 층의 fast model이 GeLU를 포함한 2층 MLP다. 시점 $t$에서 먼저 key를 value에 대응시키는 자기지도 손실을 줄인다.

$$W_t \leftarrow W_{t-1}-\eta\nabla_W\mathcal{L}_{\mathrm{FW}}\left(f_{W_{t-1}}(K_t),V_t\right),\qquad \mathcal{L}_{\mathrm{FW}}(\hat v,v)=\lVert\hat v-v\rVert^2.$$

그 다음 갱신된 같은 fast model에 query를 넣어 $O_t=f_{W_t}(Q_t)$를 계산한다. update 다음 apply 순서이므로 현재 관측도 현재 행동 예측에 반영되고, $W_t$는 다음 시점으로 전달된다. inner-loop의 기본 learning rate는 0.1이며 그 위에 학습 가능한 learning rate를 둔다. key·value·query projection과 $W_0$는 바깥 action loss로 학습되기 때문에, 어떤 시각운동 특징을 쓰고 읽을지는 과제 수행에 맞게 메타학습된다.

이 수식에서 구분해야 할 파라미터가 두 종류다. GR00T backbone, DiT, projection, 초기값 $W_0$처럼 optimizer가 training step 사이에서 갱신하는 값은 slow weights다. 반면 $W_t$는 한 trajectory 안에서 자기지도 MSE의 gradient로 변하고 rollout이 끝나면 다음 rollout에서 다시 $W_0$로 초기화된다. 논문이 말하는 “추론 중 학습”은 전자의 전체 재학습보다 후자의 일시적 상태 전을 가리킨다.

3.2 GR00T N1.7 위의 DiT와 시간축 역할 분리

기반 모델 GR00T N1.7은 Eagle vision-language backbone과 Diffusion Transformer(DiT) action head로 구성된다. 시점 $t$의 입력에는 언어 지시 $l$, 영상에서 나온 VL tokens $\Phi_t$, proprioception $q_t$, noise가 섞인 행동 청크 $\tilde A_t$, 그리고 16개의 learned register tokens $R_t$가 있다. DiT의 self-attention과 cross-attention은 한 시점 안에서 state·action·register token을 처리하고 그 시점의 VL token을 참조한다. 이후 모든 시점의 attention 출력을 시간축으로 이어 TTT 층에 넣는다.

이 역할 분리는 계산량과 의미를 동시에 조절한다. attention은 현재 장면과 행동 후보 사이의 세밀한 관계를 계산하고, TTT는 시점 사이의 긴 의존성을 fast weights로 누적한다. 원본 VL tokens를 모두 TTT에 통과시키면 영상 토큰 수 때문에 inner update가 무거워진다. 저자들은 각 시점에 16개 register token을 두고, register가 그 시점의 VL 정보에 attention한 뒤 작은 수의 토큰으로 시간축 TTT에 들어가도록 한다. proprioception과 noised action token도 TTT를 통과하므로 정책은 무엇을 보았는지와 무엇을 실행했는지를 함께 기억할 수 있다.

RoboTTT sequence training and inference architecture

Figure 1: RoboTTT의 sequence training과 streaming inference 구조. 논문 Figure 2를 원본 PDF에서 고해상도로 렌더링했다.

Figure 1의 왼쪽은 각 시점의 state·register·noised action token을 먼저 attention으로 처리한 뒤 시간축으로 평탄화해 TTT fast weights를 연속 갱신하는 훈련 흐름을 보인다. 각 행동 청크에는 서로 다른 noise level이 적용되고, loss가 걸린 token과 문맥으로만 쓰이는 token이 분리된다. 오른쪽 추론에서는 $W_0$에서 시작한 가중치가 시점마다 $W_1,W_2,\ldots$로 전달되며, 과거 KV 전체를 다시 읽지 않고 고정 크기 상태로 다음 action chunk를 생성한다.

3.3 tanh gate로 사전학습 능력을 보존한다

새 recurrent module을 사전학습된 DiT 16개 층에 곧바로 크게 더하면 기존 VLA의 행동 분포를 무너뜨릴 수 있다. RoboTTT는 각 층에서 feature dimension과 같은 $\alpha\in\mathbb{R}^d$를 학습하고 0.001 근처로 초기화한다. attention output $O_{\mathrm{attn}}$과 TTT output $O_{\mathrm{TTT}}$는 다음처럼 합쳐진다.

$$O=\tanh(\alpha)\odot O_{\mathrm{TTT}}+O_{\mathrm{attn}}.$$

초기에는 $\tanh(\alpha)$가 거의 0이므로 모델이 GR00T N1.7의 기존 계산에 가깝게 동작한다. sequence pretraining이 진행되면서 각 feature에서 긴 문맥이 유용한 정도만큼 gate가 열린다. 이 구조는 residual adapter와 비슷한 안정화 효과를 가지지만, adapter 출력이 시점마다 동일한 고정 함수와 달리 계속 갱신되는 fast weights에서 나온다는 차이가 있다. 논문은 GR00T에 같은 수의 register token만 추가한 대조군도 두어 추가 token capacity와 TTT temporal modeling의 효과를 분리한다.

3.4 sequence action forcing: 한 궤적의 난이도를 균일하게 만들지 않는다

행동 헤드는 flow matching으로 $H$ step action chunk를 생성한다. 실제 행동 $A_t$와 Gaussian noise $\epsilon$ 사이의 보간 $A_t^{\tau}=\tau A_t+(1-\tau)\epsilon$을 입력으로 받고, 목표 vector field $A_t-\epsilon$을 예측한다. 일반적인 단일 시점 훈련에서는 샘플마다 noise level $\tau$를 뽑으면 되지만, 긴 궤적을 하나의 sequence로 학습할 때 모든 action chunk에 같은 $\tau$를 공유하면 전체 궤적이 동시에 매우 쉽거나 매우 어려워진다. fast weights가 긴 구간에서 안정적인 learning signal을 받지 못하고, 특히 high-noise sequence 전체에서 부정확한 action representation이 반복 전달될 수 있다.

저자들은 각 시점별로 독립적인 $\tau_t$를 샘플링하는 sequence action forcing을 사용한다. $u\sim\mathrm{Beta}(1.5,1)$와 $s=0.999$에 대해 $\tau_t=s(1-u)$로 두고, 전체 sequence loss를 다음처럼 계산한다.

$$\mathcal{L}_{\mathrm{fm}}(\xi;W_0)=\frac{1}{T}\sum_{t=1}^{T}\mathbb{E}_{\tau_t,\epsilon}\left[\left\lVert v_\theta(\Phi_t,A_t^{\tau_t},q_t;W_{t-1})-(A_t-\epsilon)\right\rVert^2\right].$$

여기서 중요한 점은 forcing이라는 이름이 과거의 정답 행동을 단순 teacher forcing으로 넣는다는 뜻에만 머물지 않는다는 것이다. 각 action chunk가 서로 다른 diffusion 난이도를 갖도록 만들어 sequence 전체에 고른 supervision을 공급하는 것이 핵심이다. ablation에서 이 장치를 제거하면 로봇이 의미 있는 단계까지 진행하지 못할 정도로 completion score가 낮아진다. 긴 문맥을 넣는 것만으로는 충분하지 않고, 그 문맥을 가로질러 안정적으로 action denoising loss를 배치해야 한다는 결과다.

3.5 TBPTT는 gradient를 끊되 memory를 끊지 않는다

8K 시점의 모든 activation을 보관한 채 full backpropagation through time을 수행하면 GPU 메모리가 sequence 길이에 비례해 증가한다. RoboTTT는 궤적을 여러 segment로 나누고, 각 segment 안에서만 gradient를 역전파하는 truncated BPTT(TBPTT)를 사용한다. segment 경계에서 fast weights의 computational graph는 detach되지만, 그 값 자체는 다음 segment로 전달된다. 따라서 모델이 읽는 문맥은 전체 8K를 이어 가고, training memory는 한 segment 길이에 의해 결정된다.

이 절충은 장점과 한계를 함께 가진다. $W_0$는 첫 segment를 통해 직접 meta-gradient를 받지만, 먼 미래 시점의 loss가 수천 update를 거슬러 초기값까지 완전히 전파되지는 않는다. 그럼에도 각 segment의 시작 fast weights는 앞 구간의 상태를 포함하므로, 모델은 긴 실행 분포에서 fast model이 어떤 상태로 들어오는지 학습한다. 논문이 “임의로 긴 training context”를 가능하게 했다고 말하는 근거는 activation memory를 총 길이와 분리했다는 뜻이며, 모든 장기 dependency의 exact gradient를 보존했다는 뜻은 아니다.

3.6 loss masking으로 영상과 실패를 context로만 사용한다

RoboTTT의 학습 설계에서 가장 활용도가 높은 장치는 시점별 action loss masking이다. 어떤 구간의 flow-matching loss를 0으로 만들어도 그 구간의 token은 TTT fast weights를 계속 업데이트할 수 있다. 이때 해당 구간은 imitation target 대신 pure context가 된다. 인간 시범 영상에는 로봇 관절 action label이 없지만, visual sequence가 fast weights를 바꾸도록 하고 이어지는 robot trajectory에만 action loss를 계산하면 영상이 지정한 과제 구성을 읽는 법을 학습할 수 있다.

DAgger trajectory에서도 같은 비대칭을 쓴다. 실행된 suboptimal robot action은 정답으로 모방하지 않고, 관측과 함께 failure context로 fast weights에 들어간다. 인간이 개입한 correction action에서만 imitation loss를 계산한다. 표준 DAgger가 인간 교정만 모아 현재 state에서 맞는 action을 학습한다면, DAgger Distillation은 직전에 어떤 실패 행동이 있었는지까지 condition으로 삼아 failure-to-correction mapping을 학습한다. 테스트에서는 인간이 없어도 정책 자신의 잘못된 action과 그 결과 관측이 fast weights를 갱신하고, 훈련 중 익힌 회복 패턴을 다음 action chunk에 반영한다.

3.7 모델 크기와 훈련 레시피

원래 GR00T N1.7 DiT action head는 538M parameter다. 16개 DiT 층마다 약 10M parameter의 TTT layer를 더해 RoboTTT action head는 총 690M이 된다. pretraining에서는 GR00T의 기존 구성요소를 freeze하고 새 sequence layer만 학습하며, downstream post-training에서는 모든 파라미터를 fine-tuning한다. positional encoding은 $\mathrm{RoPE}$와 $\theta_{\mathrm{rope}}=10000$을 사용한다. fast model은 2층 MLP와 GeLU, inner update는 표준 gradient descent다.

구성 설정 해석
Backbone GR00T N1.7, Eagle VLM + DiT VLM 표현과 연속 action flow matching 결합
TTT 배치 16개 DiT 층마다 2층 MLP 층별 fast weights를 recurrent state로 사용
Parameter 538M → 690M TTT 층당 약 10M 추가
Register token 시점당 16개 VL 정보를 작은 token 집합으로 시간축에 전달
Inner optimizer Gradient descent, base LR 0.1 + learned LR 배포 중 fast weights만 갱신
Stabilization tanh gate, 초기값 0.001 사전학습 attention 경로를 초기에 보존

표의 숫자는 성능 비교를 해석할 때 중요하다. RoboTTT와 GR00T는 동일한 기반을 공유하지만 action head parameter가 152M 늘어난다. GDN은 parameter count와 층 위치를 맞췄고, GR00T+register ablation도 token capacity를 통제한다. 그럼에도 fast model의 비선형성, update rule, sequence training recipe는 하나의 묶음으로 작동한다. 따라서 결과는 RoboTTT 전체 설계의 효능을 지지하지만, 어떤 단일 구성요소가 79% 중 몇 점을 담당하는지까지 완전히 분해하지는 않는다.

3.8 한 시점의 데이터가 16개 fast model을 통과하는 경로

배포 시 계산 순서를 더 세밀하게 따라가면 고정 문맥 비용의 의미가 드러난다. 네 카메라 영상과 언어 지시는 Eagle VLM에서 VL token으로 변환되고, proprioception과 현재 noised action chunk는 DiT token으로 투영된다. 각 DiT block의 attention은 현재 시점 token끼리 self-attention하고 VL token에 cross-attention한다. 그 결과 중 state·action·register token이 해당 block의 TTT layer에 들어가 key·value·query projection을 만들고, 그 block에 속한 fast MLP를 한 번 갱신한 뒤 query output을 계산한다. 이 과정이 16개 block에서 반복되므로 정책에는 하나의 거대한 memory가 있는 대신 깊이별 표현 수준을 담당하는 여러 fast-weight state가 존재한다.

문맥 길이 $T$가 늘어도 저장되는 fast model의 parameter 수는 일정하고, 현재 시점에 수행하는 inner update와 apply의 크기도 이전 시점 수에 의존하지 않는다. full attention history라면 새 시점이 과거 $T$개의 key·value에 접근하면서 history storage가 증가한다. RoboTTT는 이미 처리한 token을 다시 읽지 않고 그 효과가 반영된 $W_{t-1}$만 받는다. 이 때문에 incremental inference의 시간·메모리 복잡도는 문맥 길이에 대해 상수로 유지된다. 다만 fast MLP를 16회 갱신하는 절대 비용과 152M 추가 parameter는 남으므로, 실측 latency가 single-step backbone과 같다는 뜻으로 해석할 수는 없다.

압축에는 필연적인 정보 손실도 있다. 서로 다른 과거가 같은 fast weights로 수렴하면 이후 정책은 두 이력을 구분하지 못한다. RoboTTT는 task loss가 필요한 구분을 유지하도록 projection과 초기값을 학습하지만, 특정 시점의 원본 frame을 정확히 재검색하는 explicit memory는 제공하지 않는다. 장기 조립처럼 “어느 단계를 했는가”가 중요할 때는 유리할 수 있으나, 수천 시점 전의 작은 serial number나 텍스트를 그대로 복원해야 하는 과제에는 외부 episodic memory가 더 적합할 수 있다. weight-space memory와 retrieval memory는 서로 대체재보다 정보 유형에 따라 조합할 구성요소다.

4. 실험 설정: 30Hz 양팔 로봇과 세 가지 장기 조립 과제

4.1 데이터셋과 pretraining·post-training 분리

pretraining mixture는 탁상 양팔 로봇 데이터와 EgoScale 계열 egocentric human video를 섞고 긴 trajectory를 강조해 구성한다. 모든 pretraining run은 16개의 NVIDIA GB200 GPU에서 30K step 수행한다. 문맥 4K 이하에서는 device당 batch 4, global batch 64를 쓰고, 4K를 넘으면 device당 batch 1, global batch 16으로 줄인다. WSD learning-rate schedule의 peak는 $2\times10^{-5}$이고, AdamW weight decay는 $1\times10^{-5}$다. pretraining 동안 기존 GR00T 구성은 freeze하고 TTT 또는 GDN sequence layer만 학습한다.

task-specific post-training은 8개의 GB200 GPU에서 20K step, 1K context로 수행하며 모든 parameter를 fine-tuning한다. cosine schedule peak learning rate는 $5\times10^{-5}$이고 device당 batch는 1이다. 논문은 target context까지 길이를 점진적으로 늘린 curriculum을 쓴다. 이 분리는 8K에서 배운 fast-weight update dynamics를 downstream 데이터가 상대적으로 짧은 1K 구간에서도 유지하도록 한다. 한편 context scaling 결과를 볼 때 4K 초과에서 global batch가 64에서 16으로 바뀐다는 점은 핵심 통제 변수로 남는다.

단계 문맥·step GPU·batch 학습 범위·LR
Pretraining 128~8K, 30K step GB200 16개, global 64(≤4K)·16(>4K) 새 sequence layer만, WSD peak $2\times10^{-5}$
Post-training 1K, 20K step GB200 8개, device당 1 전체 parameter, cosine peak $5\times10^{-5}$
Deployment streaming rollout RTX 5090, 30Hz slow weights 고정, fast weights 갱신

4.2 YAM 플랫폼과 평가 과제

배포 플랫폼은 YAM 양팔 탁상 로봇이며, top·bottom·left wrist·right wrist 위치의 RealSense D405 네 대가 480p RGB를 제공한다. 추론 workstation은 RTX 5090이고 제어 주파수는 30Hz다. 평가에서는 방법마다 동일한 초기 조건을 맞추기 위해 물체 배치를 기록하고 재현한다. Pup Go Car와 Circuit은 각 20 rollout, 평균 5분이 걸리는 Gear Bot은 10 rollout으로 평가한다. 지표는 task-specific rubric으로 계산한 0~1 completion score와 모든 단계를 끝낸 fully successful rollout 수다.

Pup Go Car Circuit Gear Bot evaluation task sequences

Figure 2: Pup Go Car, Circuit, Gear Bot의 단계별 조립 장면. 논문 Figure 5를 원본 PDF에서 고해상도로 렌더링했다.

Figure 2는 과제 길이 차이를 직관적으로 보여 준다. Pup Go Car는 지붕 배치·전동드릴 체결·공구 handoff·차체 뒤집기·타이어 삽입으로 이어지고, Circuit은 구성에 따라 두세 부품을 지정 순서로 끼운 뒤 스위치를 켠다. Gear Bot은 차체를 두 번 뒤집으며 양쪽에 기어와 바퀴를 달고 머리·리모컨까지 조작한다. 중간 장면의 외형이 반복되므로 현재 프레임만으로 완료 단계와 실패 이력을 판별하기 어렵다는 문제 설정과 직접 대응한다. 특히 같은 drill과 chassis가 여러 단계에 다시 등장해 action history 없이는 접촉의 성공 여부를 구별하기 어렵다.

과제 실로봇 데이터 평균 길이 주요 단계·평가
Pup Go Car 8시간 2분 지붕·나사·드릴 handoff·차체 뒤집기·타이어, 최대 두 번 타이어 시도
Circuit 6시간 1분 약 80 구성 중 20개 훈련·60개 테스트, 순서 오류는 부분점수 없음
Gear Bot 5시간 5분 두 차례 flip, 기어·바퀴·머리·리모컨 총 10단계

4.3 비교군과 공정성 조건

비교군은 세 종류다. GR00T N1.7은 현재 관측만 쓰는 single-step 정책이다. GR00T N1.7 Hist.는 history frame 하나를 추가한 짧은 문맥 정책이다. GDN은 RoboTTT의 TTT layer를 Gated DeltaNet으로 바꾼 recurrent-memory 정책이다. 모든 방법은 같은 task data로 post-training되고, sequence model은 1K context를 사용하며 non-sequence model은 compute budget을 맞춘다. GDN은 Flash Linear Attention 구현을 사용하고 TTT와 layer placement·gate·parameter count를 맞춘다.

이 비교 설계는 현재 영상, 단순한 한 프레임 history, 선형 recurrent state, gradient-updated nonlinear fast weights를 순차적으로 대조한다. 다만 RoboTTT의 8K pretraining과 task post-training을 하나의 최종 결과로 볼 때, 긴 pretraining trajectory의 양과 모델이 소비한 token 수까지 완전히 같은지는 별도 문제다. 특히 scaling sweep은 training step을 30K로 고정했지만 context가 길수록 한 sample이 포함하는 timestep 수가 커지고 4K 이후 batch가 바뀐다. 따라서 matched task data라는 조건과 matched total token·FLOP 조건은 동일하지 않다.

4.4 rubric이 측정하는 진행률과 완전 성공의 차이

Pup Go Car rubric은 긴 horizon을 촘촘히 나눈다. 지붕을 집으면 0.05, 차체에 놓으면 0.10, 나사를 제대로 끼우면 0.25, drill을 집으면 0.30, tip이 screw에 닿으면 0.35, roof screw를 완전히 조이면 0.45다. 이후 drill handoff 0.50, 차체 뒤집기와 고정 0.55, tire pickup 0.60, tire insertion 0.75, drill 재획득 0.80, wheel screw contact 0.85, wheel tightening 0.90, 마지막 handoff 1.0으로 증가한다. 로봇이 앞 절반을 안정적으로 수행하면 완주하지 못해도 높은 부분점수를 얻을 수 있으므로, 89% completion과 9/20 full success는 서로 다른 정보를 제공한다.

Circuit rubric은 두세 부품 설치 수와 switch 동작을 균등하게 나누되 assembly order가 틀리면 부분점수를 주지 않는다. 두 부품에 switch가 없으면 개당 0.5, switch가 있으면 부품 두 개와 전원 동작이 각각 약 0.33이다. 세 부품과 switch가 있으면 네 조건에 각각 0.25가 배정된다. 그래서 잘못된 구성이나 순서는 손이 정확해도 낮은 점수를 받고, human video에서 목표 sequence를 읽는 능력이 직접 반영된다. Gear Bot은 두 차례 chassis flip, 각 gear·wheel 설치, head 설치, remote control 성공에 각각 0.1을 더해 총 10단계를 계산한다.

rubric 기반 평가는 long-horizon 정책의 오류 위치를 파악하는 데 유용하지만 evaluator의 단계 판정이 필요하다. 논문은 동일 초기 배치를 재현하고 trial 수를 명시했으나, 평가자의 blind 여부, inter-rater agreement, 실패 중단 기준은 본문과 부록에 상세히 나오지 않는다. 향후에는 stage detector의 자동 로그, 영상별 두 명 이상 독립 채점, score variance와 성공까지 걸린 시간, 재시도 횟수를 함께 공개하면 79% 평균이 특정 단계 가중치나 평가자 판단에 의존하는 정도를 줄일 수 있다.

5. 주요 실험 결과: 긴 문맥이 진행 추적과 완전 성공으로 이어지는가

5.1 세 과제 평균 79%와 완전 성공 수

RoboTTT의 평균 task completion score는 79%다. single-step GR00T N1.7은 42%, GR00T N1.7 Hist.는 49%, GDN은 56%다. 논문은 79%가 single-step 대비 상대 87%, 가장 강한 기준선 GDN 대비 상대 41% 높다고 보고한다. 표시된 반올림 숫자로 다시 계산하면 비율이 조금 달라질 수 있으므로, 상대 향상률은 저자가 raw 평균에서 계산한 값으로 이해하는 편이 안전하다. 과제별로 RoboTTT는 Pup Go Car 89%, Circuit 78%, Gear Bot 71%를 기록해 세 과제 모두 가장 높다.

Main task completion scores across three robot assembly tasks

Figure 3: 세 장기 조립 과제의 completion score와 평균. 논문 Figure 7을 원본 PDF에서 고해상도로 렌더링했다.

Figure 3에서 단순 history frame 추가는 평균적으로 single-step을 소폭 웃돌지만 과제별 변동이 크다. Pup Go Car에서는 no-history GR00T가 57%인데 history 버전은 39.5%로 떨어져, 과거 관측을 붙이는 것만으로는 spurious correlation과 시간적 분포 이동을 해결하지 못함을 보여 준다. GDN은 Circuit과 Gear Bot에서 개선되지만 Pup Go Car는 57%로 single-step과 같다. RoboTTT는 세 과제 모두에서 우위를 유지해, 특정 rubric 한 단계의 편향보다 장기 진행 추적 전반의 개선이라는 해석을 지지한다.

방법 평균 Pup Go Car Circuit Gear Bot
RoboTTT 79% 89% 78% 71%
GR00T N1.7 42% 57% 23% 47%
GR00T N1.7 Hist. 49% 39.5% 54% 54%
GDN 56% 57% 53% 59%

부분 완료 점수만 보면 긴 과제에서 조금씩 진행한 rollout과 완전 조립을 구분하기 어렵다. 완전 성공 수에서도 RoboTTT는 Pup Go Car 9/20, Circuit 13/20, Gear Bot 2/10으로 모두 가장 높다. 특히 Gear Bot의 세 기준선은 각각 10회에서 완전 성공이 0회다. 이 결과는 “기준선이 절대 Gear Bot을 못 한다”는 단정보다 제한된 10회 평가에서 완주하지 못했다는 뜻이며, 2/10 역시 넓은 신뢰구간을 가진다. 그래도 5분·10단계의 완전 성공이 RoboTTT에서만 관찰됐다는 사실은 completion score 상승과 독립적인 질적 신호다.

방법 Pup Go Car Circuit Gear Bot
RoboTTT 9/20 13/20 2/10
GR00T N1.7 3/20 3/20 0/10
GR00T N1.7 Hist. 0/20 8/20 0/10
GDN 3/20 8/20 0/10

5.2 어떤 행동이 좋아졌는가

저자들의 qualitative 분석은 세 가지 오류 유형에 초점을 둔다. 첫째, task progress tracking이다. 비슷한 조립 장면이 반복될 때 기준선은 이미 끝낸 동작을 다시 하거나 중간 단계를 건너뛴다. RoboTTT는 fast weights에 과거 장면과 행동을 누적해 현재 장면이 어느 단계에 해당하는지 구분한다. 둘째, strategic recovery다. Pup Go Car에서 drill이 roof screw를 놓치면 팔을 들어 다시 정렬하고 재시도하는 반면, 짧은 문맥 기준선은 성공한 것으로 간주하고 다음 단계로 넘어가는 사례가 관찰된다.

셋째, 현재 카메라에서 부품이 gripper나 공구에 가려지는 순간의 정밀도가 높아진다. Circuit의 작은 부품 삽입과 snap 단계에서 과거에 더 잘 보였던 물체 위치와 방향이 fast weights에 남아 현재 action을 돕는다는 해석이다. 논문은 어떤 과거 window가 필요한지 사람이 미리 정하지 않고 학습된 compressor가 선택하도록 한다. 다만 saliency나 memory probing으로 fast weights가 실제로 어느 시점의 정보를 보존했는지는 직접 시각화하지 않는다. 행동 사례는 메커니즘과 일치하지만 memory content의 인과적 증명까지 제공하지는 않는다.

5.3 context length scaling의 핵심 관찰

RoboTTT와 GDN을 128, 256, 512, 1K, 2K, 4K, 8K pretraining context로 각각 학습한 결과, RoboTTT는 1K 이후 계속 상승해 8K에서 71.5%에 도달한다. 논문 본문이 제공하는 정확한 비교점은 RoboTTT-1K 43.9%, RoboTTT-8K 71.5%, short-context GR00T N1.7 Hist. 45.6%다. 8K는 1K보다 상대 약 63%, 가장 강한 short-context 기준선보다 상대 57% 높다. 초록에는 같은 71.5와 43.9를 두고 62%라고 적혀 있어 반올림 불일치가 있으며, 본문 계산의 63%가 표시값과 더 가깝다.

Closed-loop robot performance versus pretraining context length

Figure 4: 128 timestep에서 8K까지의 pretraining context scaling. 논문 Figure 8을 원본 PDF에서 고해상도로 렌더링했다.

Figure 4에서 RoboTTT 곡선은 128~256에서 낮고 512 부근에서 GDN과 비슷하지만, 2K 이후 뚜렷하게 갈라져 8K까지 포화 징후 없이 오른다. GDN은 길이에 따라 오르내리며 일관된 scaling을 보이지 않는다. 점선은 single-step과 short-context 기준선이다. 캡션은 1K부터 short-context를 넘는다고 쓰지만 본문 수치상 1K 43.9%는 short-context 45.6%보다 낮다. 정확한 해석은 1K를 초과한 구간에서 기준선을 넘고 긴 문맥일수록 격차가 커진다는 것이다.

비교점 Completion score 8K 대비 비고
RoboTTT-1K 43.9% 8K가 상대 약 63% 높음 본문의 정확 수치
RoboTTT-8K 71.5% 기준 약 4분 27초@30Hz
GR00T N1.7 Hist. 45.6% 8K가 상대 57% 높음 short-context reference

이 결과는 RoboTTT의 가장 중요한 증거이면서 가장 엄격한 후속 통제가 필요한 부분이다. 모든 run이 30K training step이라는 조건은 같지만 context가 길수록 한 sequence의 timestep 수가 늘고, 4K를 넘으면 global batch가 64에서 16으로 바뀐다. 동일 token 수, 동일 FLOP, 동일 trajectory 수를 각각 고정한 세 대조가 없으므로 71.5% 상승을 context length 하나의 순수 효과로 완전히 분리할 수 없다. 여러 random seed와 error bar도 제공되지 않는다. 따라서 “긴 문맥에서 steady gain을 관찰했다”는 결론은 강하지만, 보편적인 scaling law를 확정했다고 말하기에는 이르다.

5.4 표본 수와 상대 향상률을 읽는 방법

full-success 결과는 binary trial이므로 표본 수의 영향을 크게 받는다. Pup Go Car의 9/20과 GR00T의 3/20은 눈에 띄는 차이지만, Gear Bot 2/10과 0/10은 드문 사건을 10회만 관찰한 결과다. completion score도 같은 초기 배치 세트를 재현해 방법 간 조건을 맞췄지만 rollout 자체의 접촉 오차와 grasp stochasticity가 있다. 논문 Figure는 mean bar를 제공하고 confidence interval이나 seed variance를 제시하지 않는다. method ranking을 더 확실히 하려면 configuration을 block으로 묶은 paired bootstrap과 full-success의 exact binomial interval을 함께 보고해야 한다.

상대 향상률은 출발점이 낮을 때 크게 보인다. 79%와 42%의 차이는 37 percentage point이며, 42를 분모로 두면 약 88% relative gain이 된다. GDN 56%와의 차이는 23 point이고 상대 약 41%다. 논문 수치 87%와 41%는 raw score를 사용한 반올림으로 이해할 수 있다. 운영 관점에서는 relative gain보다 완주율, 실패가 발생한 stage, 인간 개입 시간, task당 평균 소요 시간이 더 직접적인 지표다. RoboTTT가 부분점수와 완전 성공을 모두 제공한 점은 좋지만, recovery가 cycle time을 늘리는지까지는 알려 주지 않는다.

context scaling 곡선도 한 개의 집계 score가 세 과제를 평균한 값이다. 8K가 특정한 5분 Gear Bot에서 대부분의 이득을 얻었는지, 1분 Circuit에서도 긴 문맥이 같은 비율로 필요한지 과제별 curve가 본문에 분리되어 있지 않다. 실제 배포에서는 무조건 8K를 쓰기보다 task horizon과 state-aliasing 정도에 따라 training context를 선택할 수 있다. 과제별 scaling curve, fast-weight update 횟수, context truncation 시점의 성능을 공개하면 “길수록 좋다”에서 “어떤 과제에 얼마의 길이가 필요한가”로 설계 지침을 발전시킬 수 있다.

5.5 짧은 history가 성능을 떨어뜨리는 세 경로

GR00T N1.7 Hist.가 Pup Go Car에서 57%의 no-history 모델보다 낮은 39.5%를 기록한 현상은 history 사용법의 난점을 압축해서 보여 준다. 첫 번째 경로는 observation-action shortcut이다. 훈련 궤적에서 특정 과거 손 위치가 다음 action과 자주 함께 나타나면 모델은 실제 부품 상태보다 그 위치에 의존할 수 있다. 실행 중 grasp가 한 번 미끄러지면 같은 시간 index의 history가 다른 물리 상태를 가리키고, 정책은 이미 끝낸 단계의 action을 반복하거나 필요한 재시도를 건너뛴다. history frame을 하나 추가해도 이 상관관계를 지울 선택 메커니즘이 없으면 입력 차원만 늘어난다.

두 번째 경로는 temporal out-of-distribution이다. 행동 청크의 작은 오차가 누적되면 배포 rollout은 demonstration보다 느리거나 빠르게 진행된다. 고정 offset의 과거 frame은 훈련 때는 직전 단계의 정보를 담았지만 테스트에서는 같은 단계의 중복 장면이나 더 오래된 상태가 될 수 있다. RoboTTT는 고정 위치를 직접 참조하지 않고 순차 update로 상태를 누적하므로, 시간 index 자체보다 관측·행동의 내용에 따라 memory를 바꿀 수 있다. 이 설명은 합리적이지만 speed perturbation이나 frame-rate shift를 직접 가한 실험이 없어 시간 왜곡에 대한 robustness는 후속 검증이 필요하다.

세 번째 경로는 반복 영상의 overwrite다. GDN처럼 선형 associative rule을 쓰는 memory는 비슷한 key가 연속해서 들어올 때 최근 value가 이전 정보를 덮거나 서로 간섭할 수 있다. 로봇 영상은 배경과 손의 외형이 대부분 같고 중요한 차이가 screw contact나 부품 방향처럼 작다. RoboTTT의 2층 MLP와 meta-learned projection은 이런 비선형 차이를 별도 parameter 방향에 저장할 가능성이 있다. TTT-linear가 full MLP보다 상대 27% 낮은 ablation은 이 해석과 맞지만, fast weights의 실제 representation을 probe한 결과는 제공되지 않는다.

세 경로를 분리하려면 동일한 물리 trajectory에서 history만 바꾸는 counterfactual replay가 유용하다. 과거 frame offset을 흔들고, action token을 다른 성공 rollout과 바꾸며, 동일한 현재 관측 앞에 성공·실패 history를 각각 붙여 action distribution이 어떻게 이동하는지 측정할 수 있다. RoboTTT가 성공 history 뒤에는 다음 단계로 진행하고 실패 history 뒤에는 재정렬 action을 선택한다면 strategic recovery의 조건부 인과가 더 분명해진다. 현재 real-robot 완주 결과는 최종 효용을 잘 보여 주며, 이 replay 분석은 그 효용을 만든 memory decision rule을 설명하는 보완 증거가 된다.

6. 추가 분석 및 Ablation Study: 영상 조건화·교란 회복·DAgger 증류

6.1 인간 영상 한 개로 미지 Circuit 구성을 지정한다

Circuit에는 약 80개의 부품 조합과 조립 순서가 있다. 저자들은 20개 구성을 훈련에 사용하고 나머지 60개를 테스트에 둔다. one-shot 설정에서는 훈련 구성마다 초기 배치를 바꾼 인간 시범 영상 5~20개를 추가로 수집한다. 로봇은 영상 구간 동안 움직이지 않으며, 훈련 시 같은 구성의 human video와 robot trajectory를 이어 붙인다. 영상 구간은 fast weights를 갱신하지만 action loss가 mask되고, 뒤의 robot trajectory에서만 flow-matching loss를 계산한다. 모든 구성의 언어 prompt는 동일한 “assemble circuit”이므로 목표 부품과 순서는 영상에서만 알아내야 한다.

Human demonstration conditioned one-shot circuit assembly rollout

Figure 5: 인간 시범 영상 한 개를 문맥으로 받은 뒤 Circuit을 조립하는 rollout. 논문 Figure 9를 원본 PDF에서 고해상도로 렌더링했다.

Figure 5의 윗줄은 사람이 세 부품을 특정 순서로 배치하는 demonstration이고, 오른쪽은 다음 rollout을 위한 reset 장면이다. 아랫줄에서 로봇은 같은 구성의 부품을 선택하고 조립한다. 영상에는 로봇 action label이 없지만 register token과 state token이 fast weights를 갱신해 뒤의 action generation을 조건화한다. 이 결과는 정적인 마지막 이미지 한 장보다 시간 순서 전체가 필요한지까지 분리하지는 않으며, shuffled video·wrong video·last-frame-only 대조가 후속 검증으로 남는다.

방법 Task completion 완전 성공 조건
RoboTTT 65% 6/10 미지 구성의 human video 1개
GDN 33% 0/10 동일한 video context

RoboTTT는 65% completion과 6/10 완전 성공을 기록하고 GDN은 33%와 0/10이다. “GDN이 완전히 실패했다”는 표현은 부분점수 0과 구별되며 완전 조립이 0회였다는 뜻이다. 또한 이 능력은 video-robot pair를 미리 학습한 meta-learning의 결과다. 별도 fine-tuning 없이 한 영상으로 test configuration을 지정한다는 의미의 one-shot이며, 어떤 종류의 인간 영상도 처음 보는 task로 전이하는 범용 imitation은 아직 검증되지 않았다.

6.2 설치한 부품을 다시 제거했을 때 이전 단계로 돌아간다

within-episode context를 시험하기 위해 Pup Go Car에서 사람이 로봇이 설치한 노란 지붕이나 타이어를 다시 뺀다. 정상 정책이 현재 영상만 보면 다음 단계로 진행할 수 있지만, 자신의 rollout을 기억하는 정책은 방금 완료한 단계가 되돌려졌음을 감지하고 부품을 재설치해야 한다. 저자들은 30분의 perturbation data를 task data와 함께 모든 방법에 co-training한다. 그러므로 이 실험은 학습하지 않은 교란에 대한 zero-shot robustness와 구별되며, 같은 교란 패턴을 학습한 정책이 실행 이력을 얼마나 잘 이용하는지 비교한다.

방법 Roof 재설치 Tire 재설치 통합 성공
RoboTTT 15/20 18/20 33/40, 82.5%
GR00T N1.7 10/20 11/20 21/40, 52.5%
GR00T N1.7 Hist. 3/20 5/20 8/40, 20%
GDN 13/20 18/20 31/40, 77.5%

RoboTTT는 roof 15/20, tire 18/20으로 합계 33/40이고 논문은 반올림해 83%라고 보고한다. best short-context baseline은 GR00T N1.7의 21/40, 즉 52.5%이며 53%로 표기된다. GDN도 31/40으로 강하고 tire에서는 RoboTTT와 18/20 동률이다. 이 결과는 fixed-size long memory 자체가 교란 회복에 큰 역할을 하며, roof처럼 더 복잡한 단계 복원에서 RoboTTT의 nonlinear fast weights가 추가 이득을 준다는 정도로 해석하는 편이 정확하다.

6.3 DAgger Distillation은 실패를 target 대신 context로 둔다

저자들은 Pup Go Car에서 RoboTTT와 GR00T를 각각 base policy로 사용해 50개씩, 총 100개의 DAgger trajectory를 수집한다. 인간 operator는 로봇이 잘못된 행동을 할 때 corrective action으로 개입한다. 표준 DAgger는 교정 action만 정답으로 fine-tuning하고 suboptimal robot action을 버린다. full trajectory를 그대로 imitation target으로 쓰면 실패 행동도 모방하게 된다. DAgger Distillation은 두 극단 사이에서 전체 trajectory를 fast-weight context로 읽되, imitation loss는 인간 교정 action에만 건다.

DAgger Distillation completion scores on Pup Go Car

Figure 6: 같은 DAgger 데이터의 사용 방식에 따른 Pup Go Car completion score. 논문 Figure 10을 원본 PDF에서 고해상도로 렌더링했다.

Figure 6의 각 방법에서 빈 막대는 DAgger 이전, 사선은 인간 교정만 학습한 표준 DAgger, 진한 막대는 sequence model에 적용한 DAgger Distillation을 뜻한다. RoboTTT는 약 65%에서 89%로 올라 상대 36% 개선되고, GDN은 약 44%에서 57%로 올라 29% 개선된다. GR00T에 실패 행동까지 target으로 넣은 full-trajectory DAgger는 corrections-only와 같은 57%이므로, robot action의 가치는 모방 대상보다 교정의 원인을 알려 주는 문맥에서 나온다는 해석을 뒷받침한다.

네 방법 전체에서 표준 DAgger의 평균 향상은 9%, sequence model 두 개에서는 13%다. DAgger Distillation은 두 sequence model 평균 33% 향상을 낸다. 테스트 중 task reward로 optimizer를 돌리는 방식은 아니지만, policy가 자신의 실패 결과를 history에 넣고 다음 행동에서 교정 패턴을 재현하므로 rollout 도중 성능이 회복되는 형태를 보인다. 이 메커니즘은 PAC-ACT 같은 slow-policy RL과 경쟁하기보다, reward-based 후학습 전에 어떤 실패 문맥을 기억하고 대응할지 제공하는 보완 구성으로 볼 수 있다.

6.4 무엇을 빼면 성능이 무너지는가

Pup Go Car ablation은 sequence action forcing, fast model 형태, state·action·register token의 기여를 비교한다. sequence action forcing을 제거하면 completion score가 약 2% 수준으로 떨어져 의미 있는 동작을 이어 가지 못한다. TTT를 linear layer로 만들면 약 49%로 MLP fast model보다 상대 27% 낮다. 이는 recurrent state가 weight space에 있다는 사실뿐 아니라, 그 상태가 비선형 함수를 파라미터화할 충분한 표현력을 가져야 한다는 증거다.

RoboTTT ablation of sequence action forcing linear fast model and token types

Figure 7: sequence action forcing, fast-model architecture, action·register token의 ablation. 논문 Figure 12를 원본 PDF에서 고해상도로 렌더링했다.

Figure 7의 위쪽 ablation에서 full RoboTTT는 약 49%인 TTT-linear와 거의 0에 가까운 no-sequence-action-forcing보다 높다. 아래쪽 개발 경로에서는 state token만 쓰는 TTT MLP에 action token을 넣으면 상대 23%, register token까지 넣으면 다시 상대 18% 향상된다. 같은 register token을 GR00T에 추가해도 이득이 없어, token 수 자체보다 TTT가 시간축 정보를 읽고 쓰는 통로로 register가 작동한다는 설명에 힘을 싣는다.

action token의 향상은 로봇 정책에서 observation history만으로 충분하지 않다는 점을 보여 준다. 같은 장면이라도 직전에 어느 방향으로 힘을 가했는지, 어떤 action chunk를 실행했는지에 따라 접촉 상태와 다음 교정이 달라진다. register token은 고차원 VL 정보를 모든 시점에서 직접 TTT에 넣는 비용을 피하면서 압축된 visual-language summary를 전달한다. 세 구성요소는 독립적 add-on보다 하나의 정보 경로를 이룬다. 안정적인 noise schedule이 action representation을 만들고, action·register token이 fast model에 무엇을 저장할지 제공하며, nonlinear MLP가 그 관계를 누적한다.

6.5 context를 실제로 읽는지 확인할 진단 실험

one-shot imitation에는 간단하지만 강한 음성 대조가 가능하다. 올바른 구성의 영상, 다른 구성의 영상, 시간 순서를 뒤집은 영상, frame을 무작위 섞은 영상, 마지막 frame 한 장을 반복한 영상을 같은 초기 로봇 상태에 제공하면 모델이 무엇을 조건으로 쓰는지 분리된다. 올바른 sequence에서만 목표 순서를 따르고 wrong-video에서는 의도적으로 다른 구성을 따른다면 fast weights가 language prompt 밖의 demonstration 정보를 읽는다는 증거가 된다. last-frame-only가 같은 성능을 내면 8K temporal context보다 정적 목표 인식이 주된 원인일 수 있다.

perturbation 실험에서는 memory reset 시점을 조절할 수 있다. 부품을 제거하기 직전 fast weights를 $W_0$로 되돌리거나, perturbation 이전 구간만 보존하거나, action token update만 막아 회복률을 비교하면 visual history와 executed-action history의 기여를 나눌 수 있다. 교란 사실이 현재 영상에서 명확히 보이므로 GDN도 강한 성능을 낸다. unseen perturbation으로 부품 위치를 바꾸거나 tool을 교체하고, 별도 co-training 없이 회복하는 조건을 더하면 memorized recovery routine과 일반적인 progress-state inference를 구분할 수 있다.

DAgger Distillation은 failure-to-correction 관계를 직접 교란해 검증할 수 있다. 인간 correction을 다른 실패 구간과 짝지은 shuffled pairing, 실패 action을 삭제한 corrections-only context, 관측은 유지하고 action token만 mask한 조건을 비교하면 36% gain이 어느 정보에서 나오는지 보인다. fast weights를 중간에 reset했을 때 recovery gain이 사라지고, 정확한 실패·교정 순서를 유지한 경우에만 복원된다면 algorithm distillation 해석이 강해진다. 현재 ablation은 구성요소의 필요성을 보여 주지만, 이 세 능력의 구체적 causal pathway를 각각 닫지는 않는다.

7. 한계점 및 향후 연구 방향: scaling 주장에 필요한 통제와 안전 장치

7.1 저자가 명시한 세 가지 한계

저자들은 첫째로 training context가 길수록 계산비가 증가한다는 점을 든다. TBPTT가 activation memory를 총 길이와 분리해도 모든 시점을 forward하고 fast-weight update해야 하므로 training FLOP은 사라지지 않는다. TNT 같은 더 효율적인 TTT training 방법이 필요하다. 둘째, 현재 fast-weight loss는 key와 value를 연결하는 일반적인 MSE다. 접촉 상태, 가림, 과제 진행 단계처럼 로봇에 중요한 신호를 직접 반영하는 self-supervised objective를 설계할 여지가 있다. 셋째, 긴 문맥도 배포 중 발생하는 모든 실패를 처리하지 못하므로 task success를 직접 최적화하는 reinforcement learning과의 결합을 제안한다.

부록은 test-time optimizer 자체도 연구 대상으로 남긴다. 현재는 base learning rate 0.1 위에 learned rate를 둔 standard gradient descent를 쓰지만, Muon 같은 optimizer가 더 긴 horizon에서 안정적인 update를 제공할 수 있다. 다만 test-time optimizer를 공격적으로 만들면 최근 관측에 과적합하거나 잘못된 행동이 memory를 오염시키는 위험도 커진다. 성능뿐 아니라 fast-weight norm, update size, rollback 조건, reset 주기를 함께 측정하는 설계가 필요하다.

7.2 context scaling의 인과를 분리해야 한다

가장 큰 실험적 한계는 128~8K sweep이 context length만 바꾼 완전 통제 실험과 다르다는 점이다. 모든 run은 30K step이지만 한 step에서 처리하는 timestep 수와 global batch가 다르다. 4K 이하 global batch 64, 4K 초과 16이라는 변화는 token exposure, gradient noise, wall-clock compute를 함께 바꾼다. 동일한 총 token, 동일한 FLOP, 동일한 고유 trajectory 수를 각각 고정한 세 프로토콜이 필요하다. 여러 seed와 bootstrap confidence interval을 공개하면 Figure 4의 단조 상승이 우연한 checkpoint 차이인지도 판단할 수 있다.

memory의 실제 사용을 분리하는 대조도 부족하다. 8K 순서를 무작위로 섞기, 오래된 절반 제거, 실패 직전 구간만 유지, 잘못된 인간 영상 제공, 마지막 video frame만 제공하는 조건을 비교하면 시간 순서와 장기 보존의 기여를 확인할 수 있다. fast weights를 probe해 특정 단계나 부품 위치를 decode하거나, 시점별 update를 선택적으로 rollback하는 실험도 어떤 정보가 parameter space에 남는지 보여 줄 수 있다. 현재 결과는 긴 문맥을 제공했을 때 성능이 오른다는 증거는 강하지만, 모델이 8K 전체에서 어느 구간을 실제로 사용했는지는 열려 있다.

7.3 범용성·실시간성·안전성의 평가 공백

평가는 한 YAM 양팔 플랫폼, 네 대의 D405 카메라, 장난감 조립 세 과제에 집중된다. 평균 79%는 rubric 기반 부분 완료 점수이고 완전 성공 표본은 과제당 10~20회다. 다른 embodiment, 카메라 위치, 조명, 물체 질량, deformable object, 사람과 공동 작업하는 환경으로 넘어갈 때 fast-weight update가 같은 이득을 유지하는지는 알 수 없다. 특히 잘못된 action과 관측을 계속 기억하는 streaming model은 드물지만 치명적인 memory drift를 만들 수 있으므로 8K를 넘는 수십 분 연속 실행과 교란 강도 sweep이 필요하다.

“문맥 길이에 따라 inference latency가 늘지 않는다”는 주장은 fast weights의 크기가 고정이라는 점근적 특성을 뜻한다. 논문은 RTX 5090에서 30Hz 배포를 보고하지만 평균·p95 latency, VRAM, 전력, deadline miss를 GR00T·GDN·full-attention과 표로 비교하지 않는다. action head도 538M에서 690M으로 커진다. 긴 Transformer보다 context 증가율이 유리하다는 결론과, single-step GR00T보다 절대 지연이나 전력이 낮다는 결론은 구분해야 한다. 실제 배포 평가에는 collision, contact force, recovery time, 인간 개입 횟수도 포함되어야 한다.

7.4 안전한 이중 시간척도 학습으로 확장하기

후속 구조는 fast memory와 slow-policy improvement를 분리할 필요가 있다. 에피소드 안에서는 RoboTTT가 진행 상태와 실패 문맥을 저장하고, 에피소드 사이에서는 PAC-ACT 같은 chunk-level RL이 task reward를 최적화하되 기준 VLA의 action distribution에서 벗어나는 정도를 제한할 수 있다. fast update는 reward를 직접 보지 않으므로 빠른 기억에 집중하고, slow update는 여러 rollout의 성공 신호를 통합한다. 두 경로를 동시에 평가하면 회복이 memory에서 온 것인지 정책 자체의 개선에서 온 것인지 분리할 수 있다.

안전장치는 fast weights의 gate와 reset을 정책 출력만큼 중요하게 다뤄야 한다. update uncertainty가 높거나 센서가 가려진 시점에는 fast update를 보류하고, completion detector가 단계 회귀를 감지하면 검증된 checkpoint로 rollback하며, 사람 개입이 발생하면 해당 구간을 별도 provenance와 함께 저장하는 방식이 가능하다. 동일 token·FLOP context sweep, memory ablation, multi-platform 재현, latency·force 계측을 이 구조에 함께 넣으면 context scaling이 실제 운용 가능한 로봇 학습 축인지 더 단단하게 검증할 수 있다.

7.5 fast-weight memory를 위한 운영 평가 프로토콜

실제 공정에 넣기 전에는 장시간 soak test가 필요하다. 동일한 10분 과제를 여러 번 끊어 수행하는 조건, 30분 동안 서로 다른 과제를 연속 수행하는 조건, rollout 사이에 $W_0$로 reset하지 않는 조건을 분리하면 memory drift와 task interference를 찾을 수 있다. 매 시점 fast-weight norm, gradient norm, learned gate의 분포, action uncertainty를 기록하고 실패 직전의 변화율을 분석해야 한다. 성공률이 유지되어도 update magnitude가 계속 커지면 더 긴 배포에서 불안정해질 가능성이 있다.

두 번째 축은 잘못된 문맥에 대한 복원력이다. 한 카메라를 몇 초 가리거나 timestamp를 어긋나게 하고, wrist camera 두 대를 바꾸며, 사람이 의도적으로 잘못된 demonstration을 제공하는 시험이 필요하다. fast weights는 들어온 스트림을 내부 parameter에 쓰므로 입력 오류가 KV cache보다 오래 남을 수 있다. anomaly detector가 update를 차단하는 방식, 일정 주기 snapshot을 두고 rollback하는 방식, 서로 독립적인 fast memory 두 개가 합의할 때만 action에 반영하는 방식을 비교하면 안전장치의 비용과 회복률을 계량할 수 있다.

세 번째 축은 latency와 물리 안전의 공동 측정이다. 평균 FPS만 보면 rare deadline miss를 놓칠 수 있으므로 p50·p95·p99 action-generation latency, VRAM peak, inner update 시간, control jitter를 context 길이별로 측정해야 한다. 동시에 end-effector force·torque, collision count, 인간 emergency stop, 실패 후 정상 궤도로 돌아오는 시간, 불필요한 반복 시도 수를 기록한다. long context가 completion을 높이면서도 접촉 force나 cycle time을 악화시킨다면 production policy로서의 순이득은 줄어든다. 이런 지표가 있어야 “기억을 잘한다”는 결과를 “안전하게 오래 작동한다”는 운영 주장으로 확장할 수 있다.

reset 정책도 benchmark의 일부로 고정해야 한다. 논문은 rollout 시작마다 meta-learned $W_0$에서 출발하므로 이전 task의 오염은 차단하지만, 작업 중 잘못 누적된 memory를 자동으로 되돌리는 규칙은 제시하지 않는다. 생산 라인에서는 task boundary가 명확한 경우, 언어 지시가 바뀌는 경우, completion detector가 종료를 선언한 경우, human takeover가 발생한 경우를 각각 reset trigger로 비교할 수 있다. 너무 잦은 reset은 긴 문맥 이득을 지우고, 늦은 reset은 task interference를 키운다. trigger별 성공률·회복률·false reset과 평균 유지 시간을 공개하면 fast-weight state를 모델 내부 구현에서 관리 가능한 운용 상태로 바꿀 수 있다.

8. 내 해석: 기억과 정책 개선을 분리해야 다음 단계가 보인다

내가 보기에 RoboTTT의 핵심은 8K 프레임을 저장했다는 사실보다, 배포 중 관측과 행동을 16개 DiT 층의 fast weights에 계속 써 넣는 streaming working memory를 만들었다는 데 있다. 이전에 살펴본 latent working memory가 고정 memory block 안에서 중간 추론을 처리했다면, RoboTTT는 고정 크기 weight-space를 시간축 작업공간으로 사용한다. PAC-ACT가 action chunk 단위 reward와 prior 제약으로 slow policy를 교정했다면, RoboTTT는 그 앞단에서 실패와 교정의 긴 맥락을 보존해 다음 chunk 생성을 조건화한다. 두 접근은 정책을 바꾸는 후학습과 실행 중 상태를 바꾸는 기억으로 역할이 다르다.

내가 걸리는 약점은 1K와 8K 비교가 context length만 바꾼 통제 실험과 다르다는 점이다. 30K update는 같아도 global batch가 64에서 16으로 바뀌고 token exposure와 compute가 달라지며 seed별 분산도 없다. 그래서 71.5%를 길이 자체의 효과로 확정하기 어렵다. 내가 확장한다면 fast weights를 에피소드 안의 잠재 기억으로만 업데이트하고, slow policy는 PAC-ACT식 prior-constrained RL로 개선하는 이중 시간척도 정책을 먼저 붙이겠다. 동일 token·FLOP의 1K~8K sweep과 memory reset·rollback 대조를 함께 두면, 기억이 회복을 돕는 몫과 reward 학습이 행동을 개선한 몫을 분리해 측정할 수 있다.

9. 결론: 로봇 foundation model에 문맥 길이라는 축을 추가하다

RoboTTT는 GR00T N1.7의 16개 DiT 층에 2층 MLP fast model을 넣고, 현재 token으로 그 weights를 경사하강 업데이트한 뒤 같은 weights에서 출력을 읽는다. attention은 한 시점의 state·action·VL 관계를 처리하고 TTT는 시점 사이의 이력을 압축한다. tanh gate는 사전학습 경로를 보존하며, 16개 register token은 대량의 VL token을 직접 시간축에 흘리지 않고 요약 정보를 전달한다. sequence action forcing은 action chunk마다 독립 noise level을 부여하고, TBPTT는 gradient graph만 끊은 채 fast weights를 segment 사이에 이어 8K training을 가능하게 한다.

실로봇 결과는 긴 문맥의 가능성을 구체적인 과제 성과로 연결한다. 세 과제 평균 79%, Gear Bot 완전 성공 2/10, 8K scaling score 71.5%, human-video-conditioned Circuit 65%와 6/10 완전 성공, perturbation 33/40 회복, DAgger Distillation 상대 36% 개선이 보고됐다. 특히 현재 관측만으로 구분하기 어려운 과제 단계, 과거 실패, 가려진 부품, 인간 시범의 순서를 고정 크기 recurrent state가 활용했다는 점에서 로봇 foundation model의 문맥 길이를 실제 설계 변수로 끌어올린다.

동시에 범위를 좁혀 읽어야 한다. one-shot과 perturbation, on-the-fly improvement는 각각 대응 훈련 데이터를 사용했고, context scaling에는 batch·token·compute 혼입 변수가 있다. 실측 latency와 memory drift, 여러 플랫폼의 재현도 아직 없다. 현재 가장 단단한 결론은 fast weights가 긴 시각운동 이력을 고정 크기 상태로 압축하고, 짧은 이력 정책보다 실제 장기 조립의 진행 추적과 회복을 개선했다는 것이다. 다음 연구가 통제된 scaling, 안전한 reset, multi-robot 평가, reward-based slow learning과의 결합을 채우면 context length는 로봇 모델의 실질적인 scaling axis로 자리 잡을 수 있다.

재현의 최소 단위도 분명하다. 동일 GR00T checkpoint에서 TTT와 parameter-matched GDN을 시작하고, 시점당 16개 register token·2층 GeLU fast MLP·0.001 tanh gate·독립 action noise를 맞춘 뒤 1K와 8K를 비교해야 한다. training step만 맞추는 결과와 total token·FLOP를 맞춘 결과를 함께 내고, 세 과제의 completion·full success·latency·fast-weight norm을 기록하면 논문의 주요 주장을 독립적으로 시험할 수 있다. one-shot에는 wrong-video와 shuffled-video, DAgger에는 corrections-only와 shuffled failure-correction, 교란에는 memory reset 대조를 추가해야 긴 문맥이 실제 행동 선택을 바꾼 경로까지 확인할 수 있다.

10. 요약 정리: RoboTTT를 판단할 아홉 가지 포인트

  • 문제: 기존 VLA의 single-step 또는 2~8 frame 문맥은 장기 조립의 진행 단계, 가림, 실패 이력을 추적하기 어렵다.
  • 핵심 상태: RoboTTT는 과거 KV를 계속 쌓지 않고, 추론 중 경사하강으로 갱신되는 fixed-size fast weights에 시각운동 이력을 압축한다.
  • 아키텍처: GR00T N1.7의 16개 DiT 층에 2층 TTT MLP를 넣어 action head를 538M에서 690M parameter로 확장한다.
  • 훈련법: sequence action forcing은 action chunk마다 noise를 독립 샘플링하고, TBPTT는 gradient만 끊은 채 fast weights를 segment 사이에 전달한다.
  • 주 결과: 세 실로봇 과제 평균 completion score 79%로 single-step 42%, GDN 56%를 앞섰고 Gear Bot을 2/10회 완주했다.
  • 스케일링: RoboTTT-1K 43.9%가 8K 71.5%로 상승했지만, batch·token·compute와 seed를 통제한 후속 실험이 필요하다.
  • 문맥 학습: human-video pair를 메타학습한 뒤 미지 Circuit 구성 영상 한 개에서 65%와 6/10 완전 성공을 기록했다.
  • 회복: co-training된 부품 제거 교란에서 33/40, DAgger Distillation에서 사전 상태 대비 상대 36% 개선을 보였다.
  • 정확한 결론: 긴 이력을 쓰는 실로봇 정책의 강한 증거이며, 무훈련 범용 one-shot 학습이나 보상 기반 자기개선·안전 보증의 증거는 아니다.

댓글

홈으로 돌아가기

검색 결과

"" 검색 결과입니다.