들어가며
컨베이어 위를 지나가는 컵을 잡는 로봇을 떠올려 보겠습니다. 카메라 사진 한 장에는 컵이 지금 어디 있는지가 담기지만 컵이 어느 쪽으로 얼마나 빨리 움직이는지는 담기지 않습니다. 여러 단계로 이어진 작업도 마찬가지라서 지금 장면만 봐서는 그릇을 이미 하나 옮겼는지 아직 안 옮겼는지 구분하기 어려울 때가 많습니다. 로봇이 제때 맞는 행동을 하려면 과거 영상, 곧 visual history가 필요합니다.
world-action model(WAM)은 카메라 영상과 언어 지시를 받아 로봇의 action과 그 action으로 바뀔 장면의 미래 영상을 한 생성 모델에서 함께 예측하는 정책입니다. 영상을 시간 순서대로 다루는 모델이니 history를 길게 넣는 것도 자연스러워 보입니다. 하지만 history를 많이 넣을수록 처리할 토큰이 늘어 다음 action이 늦게 나오고 그렇게 늦은 action은 움직이는 컵을 놓칩니다. history로 얻으려던 반응성을 history 때문에 잃게 됩니다.
Long-WAM은 이 문제를 두 갈래로 다룹니다. 하나는 "history를 길게 넣으면 정말 성공률이 오르는가, 오른다면 무엇이 그 차이를 만드는가"라는 모델 쪽 질문이고 다른 하나는 "그 긴 history를 실시간 제어 안에서 어떻게 감당하는가"라는 시스템 쪽 질문입니다. 첫 질문에 저자들은 history에 접근할 수 있는 것과 history를 쓸 줄 아는 것은 다르다고 답합니다. 영상 모델을 autoregressive(AR) 방식으로 사전학습해 둔 경우에만 history를 늘린 만큼 성공률이 올랐습니다.
📄 Long-WAM: Scaling the Context of World-Action Models — Wei Huang, Bohan Zhang, Chenzhi Liu, Isabella Liu, Shuai Yang, Weian Mao, Luozhou Wang, Yicheng Xiao, Weifeng Lin, Qixin Hu, Bryan Chu, Sifei Liu, Linxi Fan, Xiaojuan Qi, Song Han, Yukang Chen / NVIDIA · MIT · HKU · UCSD, 2026-10-07, cs.RO, arxiv 식별자 2610.10528
코드는 NVlabs/LongLive에, 영상과 설명은 프로젝트 페이지에 있습니다.
초록 요약
실시간 로봇 제어에는 움직임과 작업 진행 상황을 읽어 낼 만큼의 visual history가 필요하지만 그 history를 처리하는 시간이 action을 늦춥니다. Long-WAM은 causal world-action model의 context를 실시간 제약 안에서 늘리기 위한 모델·시스템 설계입니다.
모델 쪽에서는 action label이 없는 로봇 영상과 사람 1인칭(egocentric) 영상으로 AR video prediction을 먼저 학습하고 action에 적응시키는 단계에서도 "과거에서 미래로" 흐르는 그 causal 구조를 그대로 유지합니다. RoboCasa GR-1에서 context를 0.0초에서 19.2초로 늘리면 성공률이 63.3%에서 78.7%로 오르는데 bidirectional 방식으로 사전학습한 영상 모델에서 출발하면 이런 순이득이 나타나지 않습니다. LIBERO-Long, RoboTwin 2.0, DOMINO에서도 비교한 방법 가운데 가장 좋은 결과를 냅니다.
시스템 쪽에서는 관측을 들어오는 대로 인코딩하는 streaming VAE, 추론과 로봇 실행을 겹치는 asynchronous execution, 장치별 가속을 묶어 RTX 5090, DGX Spark, Jetson AGX Thor에서 미래 예측을 빼지 않고 돌립니다. RTX 5090에서는 미래 영상 latent 예측까지 포함해 action chunk 하나에 107.4 ms가 걸립니다. Unitree G1 휴머노이드로 움직이는 컵을 쌓는 과제에서는 95%를 성공했는데 같은 과제에서 π0.5와 Fast-WAM은 20번 중 한 번도 성공하지 못했습니다.

그림 1 — (1) 로봇·사람 1인칭 영상 약 10,000시간으로 AR video pretraining을 해 LongLive2.0-Robot을 만듭니다. (2) causal 구조를 유지한 채 action expert를 붙여 action chunk를 denoise합니다. (3) history를 늘리면 RoboCasa GR-1은 63.3%에서 78.7%로, LIBERO-Long은 94.5%에서 99.5%로 오릅니다. (4) asynchronous execution, streaming VAE, KV 재사용, 장치별 가속으로 세 종류의 NVIDIA 장치에서 실시간 제어를 합니다.
1. 문제의식 — history 접근과 활용의 차이
최근 WAM들도 history를 버리지는 않습니다. causal cache에 지난 관측을 쌓아 두거나, 압축한 기억이나 골라 둔 장면을 들고 다니는 식으로 과거에 접근할 길을 열어 둡니다. 그런데 이들 대부분은 출발점이 bidirectional로 사전학습된 영상 생성 모델입니다. DreamZero와 LingBot-VA가 그런 예로, 클립 전체를 한꺼번에 만들도록 배운 영상 모델을 가져와 "과거를 보고 미래와 action을 예측하는" causal 구조로 바꿔 씁니다. LingBot-VA 2.0은 causal 영상과 학습된 latent action을 처음부터 함께 사전학습하는 다른 길을 택했습니다.
저자들은 여기서 두 가지를 구분합니다. 모델이 과거 프레임을 attention으로 볼 수 있다는 것은 접근의 문제이고 과거 프레임에서 앞으로 일어날 일을 읽어 내는 능력은 학습의 문제입니다. bidirectional 사전학습은 클립 안의 모든 프레임이 서로를 보면서 그럴듯한 영상을 만드는 법을 가르칠 뿐, 과거만 보고 미래를 맞히는 법을 따로 가르치지는 않습니다. 그렇다면 action 적응 단계에서 attention mask만 causal로 바꿔 준다고 그 능력이 저절로 생길까요?
Long-WAM은 순서를 바꿔 이 질문에 답합니다. 먼저 action 없이 영상만으로 AR video prediction을 충분히 배우고 그 다음 action을 붙일 때 이미 배운 "history에서 future로" 흐르는 구조를 건드리지 않습니다. 그리고 같은 실험을 bidirectional로 사전학습한 영상 모델에서도 출발해 돌려 보면서 history를 늘렸을 때 어느 쪽이 실제로 이득을 보는지 비교합니다.
2. 전체 구조
Long-WAM은 세 단계로 만들어집니다.
첫 단계에서 공개된 AR 영상 생성 모델 LongLive-2.0을 로봇 영상으로 더 학습해 LongLive2.0-Robot을 만듭니다. 둘째 단계에서 여기에 action expert를 붙여 world-action model로 적응시키고 셋째 단계에서 그 모델을 실제 로봇 제어 주기 안에 들어오도록 배포 쪽을 다듬습니다. 아래에서 차례로 살펴봅니다.
3. LongLive2.0-Robot — 로봇 영상 AR video pretraining
bidirectional과 autoregressive의 차이
영상 생성 모델이 프레임 다섯 장짜리 클립을 만든다고 해 보겠습니다. 두 방식은 3번째 프레임을 만들 때 참고할 수 있는 프레임이 다릅니다.
| 사전학습 방식 | 3번째 프레임이 참고하는 프레임 | 주로 배우는 것 |
|---|---|---|
| bidirectional (예: Wan2.2) | 1·2·4·5번 전부 | 클립 전체가 앞뒤로 어울리게 만드는 법 |
| autoregressive (예: LongLive-2.0) | 1·2번만 | 지나간 장면으로 다음 장면을 맞히는 법 |
bidirectional 모델은 미래 프레임을 보면서 현재 프레임을 다듬으니 영상 품질은 좋지만 "지금까지 본 것만으로 다음을 예측하는" 상황을 학습 중에 겪지 않습니다. 로봇 제어는 정확히 그 상황입니다. 미래 관측은 아직 없고 지금까지의 관측으로 다음 action을 정해야 합니다. AR 모델은 사전학습 내내 바로 그 일을 연습합니다.
이 논문의 비교 실험에서 "bidirectional"은 사전학습 방식만 가리킵니다. action 적응 이후의 정책은 세 초기화 모두 같은 causal mask를 씁니다.
학습 데이터
LongLive2.0-Robot은 LongLive-2.0의 16초 AR 체크포인트에서 이어 학습합니다. 데이터는 로봇 영상 두 종류와 사람 1인칭 영상 세 종류입니다.
| 데이터 | 종류 | 샘플 수 | 비율 |
|---|---|---|---|
| RoVid-X | 로봇 조작 영상 | 1,898,562 | 82.7% |
| AgiBot World (full146 + 보충분) | 로봇 조작 영상 | 110,331 | 4.8% |
| EgoDex | 사람 1인칭 | 207,044 | 9.0% |
| EgoVerse | 사람 1인칭 | 59,742 | 2.6% |
| VITRA | 사람 1인칭 | 19,210 | 0.8% |
| 합계 | 2,294,889 | 100% |
AgiBot World는 full146 69,834개와 5.2–32초 보충분 40,497개를 더한 값입니다. 비율은 그림 1의 값입니다.
"약 10,000시간"은 고유한 원본 영상의 길이가 아니라 학습 샘플 수를 시간으로 환산한 값입니다. 학습용으로 나눈 2,251,021개 샘플에 각각 16초를 곱하면 10,004.5시간이 되는데 겹치는 구간과 padding이 섞여 있어서 실제로 찍힌 영상의 길이와는 다릅니다.
이 단계의 감독 신호는 영상뿐이라서 데이터마다 로봇의 action 좌표계나 관절 수가 달라도 문제가 되지 않습니다. 한 팔 로봇이든 양팔 로봇이든 사람 손이든 모두 같은 "다음 장면 예측" 문제로 묶입니다. 사전학습에는 H100 64장으로 약 30,720 GPU-시간(장당 480시간)이 들었고 이후 WAM 학습은 GB200 16장에서 했습니다.
teacher forcing과 error recycling
로봇 영상은 최대 30초 길이의 시퀀스로 학습합니다. 이렇게 긴 시퀀스는 GPU 한 장에 들어가지 않아서 LongLive-2.0의 sequence-parallel AR 학습으로 시퀀스를 여러 GPU에 나눠 싣습니다.
AR 모델을 있는 그대로 학습하면 앞 chunk를 생성하고 나서야 다음 chunk를 학습할 수 있어 느립니다. teacher forcing은 이 순서를 풉니다. 각 chunk를 만들 때 모델이 생성한 앞부분 대신 정답 영상의 앞부분을 조건으로 주고 block-causal attention으로 모든 chunk의 학습을 한 번에 병렬로 돌립니다. 첫 조건 이미지는 잡음을 섞지 않은 채 두고 loss 계산에서도 뺍니다.
문제는 실제 생성 때는 정답 앞부분이 없고 모델이 만든 앞부분을 이어 받는다는 데 있습니다. 앞에서 조금 틀리면 뒤로 갈수록 오차가 쌓입니다. 그래서 LongLive-2.0이 SVI에서 가져온 error recycling을 그대로 씁니다. 모델이 이전에 낸 오차를 버퍼에 모아 두었다가 학습 입력(앞부분 context, 목표 latent, 잡음)에 섞어 넣고 정답 target은 원래 깨끗한 영상으로 둡니다. 모델은 자기가 실제로 저지를 법한 실수가 섞인 입력을 받고도 올바른 다음 장면으로 돌아오는 법을 배웁니다.

그림 9 — 이미지 한 장과 작업 문구만 주고 LongLive2.0-Robot이 예측한 영상입니다. 냄비에 뚜껑 얹기, 지정한 신발을 상자로 옮기기, 서랍 열기, 붓기, 티셔츠 개기에서 팔의 움직임과 물체의 변화가 작업 순서대로 이어집니다.
4. causal-to-causal world-action adaptation
두 expert 사이의 attention 규칙
action을 내려면 영상 모델 옆에 action을 맡는 모델이 필요합니다. Long-WAM은 DreamZero, LingBot-VA와 같이 video expert θ와 action expert ψ 두 개를 두고 둘 사이의 attention을 한쪽으로만 열어 둡니다.
| query 쪽 | 볼 수 있는 것 | 볼 수 없는 것 |
|---|---|---|
| video expert | 자기 블록과 그보다 앞선 visual 블록 | action token, 뒤쪽 visual 블록 |
| action expert | 관측 history, 부분 denoise된 미래 latent, action chunk 전체 | 없음 |
video expert가 action token을 보지 않으니 사전학습에서 익힌 "과거 영상 → 미래 영상" 의존 관계가 action 학습 때문에 흐트러지지 않습니다. 이 구조 자체는 DreamZero, LingBot-VA와 같지만 Long-WAM에서는 history에서 future로 흐르는 순서를 사전학습 때 이미 배웠고 적응 단계는 그 순서를 그대로 이어받습니다. 논문이 이 단계를 causal-to-causal adaptation이라고 부르는 까닭입니다.
IDM 추론 순서
제어 시점 t에서 Long-WAM은 다음 순서로 action chunk 하나를 만듭니다.
- 지금까지의 카메라 관측을 VAE로 인코딩해 깨끗한 latent 로 둡니다.
- video expert가 순수 잡음에서 출발해 미래 latent 를 4 step denoise하는데 깨끗한 영상까지 가지 않고 잡음 수준 σ⋆ = 0.9에서 멈춥니다.
- 관측 latent와 미래 latent로 각 layer의 key·value를 한 번 계산해 KV cache 로 고정합니다.
- action expert가 이 KV cache와 언어 지시, 로봇 상태 를 조건으로 H step짜리 action chunk를 4 step denoise합니다. 매 step 같은 KV cache를 다시 씁니다.
미래를 먼저 그리고 그 그림을 보고 action을 고르는 방식이라 저자들은 이 모드를 inverse dynamics modeling(IDM)이라고 부릅니다.
IDM 모드의 추론 한 번. 미래 latent는 σ = 0.9에서 멈추고 픽셀로 풀지 않습니다. action expert는 4 step 내내 같은 KV cache를 읽습니다.
σ는 flow matching 경로 에서 잡음의 비율입니다. σ = 0.9라면 입력은 정답 latent 10%에 잡음 90%를 섞은 모양이라 사람 눈으로 보면 미래 영상이라고 부르기 어려운 상태입니다. 그래도 action expert가 읽는 것은 이 입력 자체가 아니라 그 입력을 처리하는 video expert의 key·value이고 거기에는 video expert가 앞으로의 장면을 어떻게 내다보는지가 담겨 있습니다. 미래 latent를 픽셀로 디코딩하지 않으니 VAE 디코더 비용도 들지 않습니다. flow matching이 낯설다면 Flow Matching 논문해석을 먼저 보면 좋습니다.
두 번 나눠 하는 학습
학습은 두 번의 forward pass로 나뉩니다.
- video pass — 깨끗한 관측 history를 조건으로 미래 latent에 flow matching loss를 겁니다.
- action pass — 관측 history와, 정답 미래 latent를 σ⋆ = 0.9까지 잡음으로 덮은 것을 조건으로 action chunk에 flow matching loss를 겁니다. 이때 visual cache는 gradient를 끊어 두어서 action loss는 action expert와 고유수용 감각(proprioception) adapter만 갱신합니다.
전체 loss는 두 항의 가중합 입니다. 추론 때 미래 latent는 잡음에서 출발해 video expert가 만든 것이고 학습 때는 정답 미래 latent에 잡음을 덮은 것이라 둘의 출처가 다릅니다. 잡음 수준은 같아도 학습용 입력에는 정답 성분이 남아 있으니 저자들도 이것을 같은 분포라고 주장하지 않고 학습용 근사로 둡니다.
미래 영상 예측의 효과
미래를 예측하는 단계가 실제로 도움이 되는지는 action을 만드는 방식을 바꿔 가며 비교합니다. 원문 그림 2가 네 방식의 attention 패턴을 보여 주는데 정리하면 다음과 같습니다.
| 방식 | action이 참고하는 것 | 미래 영상 예측 |
|---|---|---|
| (a) 현재 관측만 | 현재 프레임 한 장 | 없음 |
| (b) w/o V | 관측 history 전체 | 없음 |
| (c) CoD (co-denoising) | 관측 history + 함께 denoise 중인 미래 latent | 매 step action과 함께 갱신 |
| (d) IDM | 관측 history + 먼저 예측한 미래 latent | action보다 먼저, KV cache 재사용 |
| Long-WAM 방식 | LIBERO 평균 | LIBERO-Long | RoboTwin 2.0 평균 | RTX 5090 latency (V4/A4) |
|---|---|---|---|---|
| w/o V | 97.3 | 94.5 | 92.0 | – |
| CoD | 97.8 | 95.8 | 93.6 | 90.9 ms |
| IDM | 99.5 | 99.5 | 94.4 | 107.4 ms |
성공률(%)은 원문 표 1·2, latency는 부록 F의 표 11 값입니다. w/o V의 latency는 보고되지 않았습니다.
IDM과 다른 방식의 차이가 가장 큰 곳은 작업이 가장 긴 LIBERO-Long입니다. 여러 하위 단계로 이어지는 작업에서는 상호작용이 어떻게 흘러갈지를 먼저 내다봐 두면 이어지는 action을 맞추기가 쉬워진다고 저자들은 해석합니다. 원문 본문은 CoD의 LIBERO-Long을 97.8%로 적었지만 표 1에서 97.8은 CoD의 LIBERO 평균이고 LIBERO-Long은 95.8입니다. 이 글의 표는 원문 표 1의 값을 따랐습니다.
CoD는 영상과 action을 한 번에 denoise하니 IDM보다 빠릅니다(V4/A4 기준 90.9 ms 대 107.4 ms). 그래도 저자들은 성공률이 더 높은 IDM을 기본으로 두고 순차 추론의 비용은 뒤에서 볼 배포 설계로 메웁니다.
5. context scaling 실험
실험 설계
이 실험에서 늘리는 것은 causal prefix에 들어가는 실제 관측의 시간 길이입니다. 미래 예측 길이와 action horizon은 benchmark 안에서 고정해 두므로 같은 근미래 결정을 내릴 때 과거 증거가 많을수록 나아지는지만 봅니다.
- context 길이마다 모델을 따로 학습하고 학습한 길이 그대로 평가합니다.
- context 0초는 현재 관측 한 장만 보는 설정입니다.
- 에피소드 초반이라 과거가 모자라면 첫 프레임을 반복해 채웁니다.
- 영상 초기화는 Wan2.2(bidirectional), LongLive-2.0(AR), LongLive2.0-Robot(로봇 영상 AR) 세 가지입니다.
주 실험은 RoboCasa GR-1 Tabletop에서 0초부터 38.4초까지 훑습니다. 여러 물체를 차례로 옮기는 다단계 작업이 많아 긴 기억이 필요할 법한 benchmark입니다. LIBERO-Long에서는 0초부터 9.6초까지 보조 실험을 합니다. 부록 G의 환산으로 제어 간격 하나는 1/20초라서 19.2초는 제어 step 384개에 해당합니다.
RoboCasa GR-1 결과
원문 그림 6(b)의 값을 context window 순서대로 다시 그렸습니다. 가로축 눈금은 원문처럼 등간격이고 위쪽 띠는 실제 초 단위 길이입니다. 오른쪽 패널의 latency는 부록 G의 RTX 5090 값입니다.
| context (s) | LongLive2.0-Robot | LongLive-2.0 | Wan2.2 (bidirectional) | 로봇 AR − bidirectional |
|---|---|---|---|---|
| 0 | 63.3 | 62.4 | 60.0 | 3.3 |
| 2.4 | 66.3 | 65.7 | 61.7 | 4.6 |
| 4.8 | 71.2 | 66.9 | 62.4 | 8.8 |
| 9.6 | 74.5 | 69.8 | 64.1 | 10.4 |
| 19.2 | 78.7 | 76.7 | 61.6 | 17.1 |
| 38.4 | 75.2 | 74.2 | 61.6 | 13.6 |
RoboCasa GR-1 성공률(%). 원문 그림 6(b)의 점 값이고 마지막 열은 그 차이입니다.
두 AR 초기화는 2.4초에서 19.2초 사이에 각각 12.4점(66.3 → 78.7), 11.0점(65.7 → 76.7)을 얻습니다. bidirectional 초기화는 2.4초의 61.7%에서 9.6초에 64.1%까지 올랐다가 19.2초에서 61.6%로 돌아옵니다. 0초 기준으로 보면 bidirectional도 1.6점(60.0 → 61.6) 오르긴 했지만 같은 구간에서 로봇 AR 초기화가 15.4점(63.3 → 78.7), 일반 AR 초기화가 14.3점(62.4 → 76.7) 오른 것과 비교하면 사실상 제자리입니다. 초록이 말하는 "순이득 없음"은 이 차이를 가리킵니다.
같은 비교를 거꾸로 읽으면 AR 사전학습의 이점 자체가 history와 함께 커집니다. history가 없을 때 로봇 AR 초기화와 bidirectional 초기화의 차이는 3.3점이지만 19.2초에서는 17.1점입니다. 세 초기화 모두 action 적응 이후에는 같은 causal mask를 쓰니 과거 프레임을 볼 수 있느냐는 셋이 똑같습니다. 그런데도 긴 context의 이득은 AR 초기화에서만 나옵니다. 저자들은 AR 사전학습이 이미 history에서 future로 이어지는 의존 관계를 익혀 두었고 적응 단계가 그 구조를 그대로 물려받기 때문에 추가 관측이 예측을 거쳐 제어로 흘러들 수 있다고 봅니다. 저자들도 이것을 "그럴듯한 설명"이라고만 적었습니다.
19.2초의 78.7%는 GR-1에서 가장 강한 기존 방법인 Cosmos Policy(67.1%)보다 11.6점 높습니다.
38.4초에서는 두 AR 초기화 모두 75.2%, 74.2%로 내려갑니다. 이 window는 학습 궤적 평균 길이 12.1초의 세 배가 넘어서 샘플링한 history 프레임의 80.4%가 첫 프레임을 반복한 padding입니다. 저자들은 이 하락이 모델의 기억 한계라기보다 데이터에 긴 history가 부족한 탓이라고 가정합니다.
원문 표 4는 63.3%를 "Long-WAM (2.4 s)"으로 적었지만 그림 6과 본문은 63.3%를 0초, 66.3%를 2.4초의 값으로 적고 초록과 그림 1도 "0.0초 → 19.2초에 63.3% → 78.7%"로 씁니다. 이 글은 그림 6과 본문을 따랐습니다.
LIBERO-Long 결과
| context (s) | LongLive2.0-Robot | LongLive-2.0 | Wan2.2 (bidirectional) |
|---|---|---|---|
| 0 | 94.5 | 94.2 | 93.4 |
| 2.4 | 99.5 | 99.0 | 96.5 |
| 4.8 | 99.0 | 99.0 | 97.1 |
| 9.6 | 99.0 | 99.0 | 96.2 |
LIBERO-Long 성공률(%). 원문 그림 6(a)의 점 값입니다.
LIBERO-Long은 2.4초만 넣어도 이득을 거의 다 얻고 그 뒤로는 평평합니다. GR-1이 19.2초까지 계속 오른 것과 나란히 놓고 보면 필요한 기억의 길이는 작업마다 다릅니다. 두 benchmark 모두 로봇 영상으로 사전학습한 LongLive2.0-Robot이 가장 높은 최고점을 냅니다.
context의 비용
history를 늘리면 처리할 토큰이 늘어 latency도 따라 늘어납니다.
| context (s) | context P (제어 step) | RTX 5090 chunk 당 latency | GR-1 성공률 (LongLive2.0-Robot) |
|---|---|---|---|
| 0 | 0 | 74.6 ms | 63.3 |
| 2.4 | 48 | 107.4 ms | 66.3 |
| 4.8 | 96 | 138.3 ms | 71.2 |
| 9.6 | 192 | 204.5 ms | 74.5 |
| 19.2 | 384 | 341.0 ms | 78.7 |
latency는 부록 G 표 12, 성공률은 그림 6(b)의 값입니다.
history를 2.4초에서 19.2초로 8배 늘리면 latency는 107.4 ms에서 341.0 ms로 약 3.2배 늘어납니다. 초록의 107.4 ms는 2.4초 context 기준이고 GR-1에서 78.7%를 낸 19.2초 설정은 같은 장치에서 chunk 하나에 341.0 ms가 걸립니다. 저자들은 그래서 context를 "실행 자원"이라고 부르고 예측에 주는 이득과 반응 시간이라는 비용을 함께 따져 정해야 한다고 봅니다.
6. 실시간 배포 설계
asynchronous execution
action chunk는 H step 길이로 나오지만 그중 앞의 R step만 실행 대상입니다. 추론은 S step마다 새로 시작하고(R/2 ≤ S < R ≤ H) 이전 chunk와 새 chunk가 겹치는 구간의 길이는 O = R − S입니다. 로봇이 이전 chunk를 실행하는 동안 다음 추론이 돌고, 새 chunk가 도착하면 controller는 추론하는 동안 이미 지나간 앞부분을 버리고 시점이 맞는 뒷부분부터 실행합니다. 새 chunk가 겹침 구간이 끝나기 전에 도착하지 못하면 로봇은 기다려야 합니다. 이 마감 조건이 식 (4)입니다.
여기서 Δt는 제어 간격이고 에는 trigger 관측이 들어온 시점부터의 전송, 대기, 계산 시간이 모두 들어갑니다.
asynchronous execution의 고질적인 문제는 이웃한 두 chunk가 겹침 구간에서 서로 다른 동작을 말하는 경우입니다. 그래서 기존 연구들은 추론 때 guidance를 걸거나(real-time chunking), 앞 chunk를 조건으로 넣어 학습하거나, denoise 중에 두 chunk를 섞는 장치를 붙였습니다. Long-WAM은 이런 장치 없이 새 chunk로 그냥 갈아탑니다. 시간적으로 매끄러운 LongLive2.0-Robot의 미래 예측을 조건으로 받으니 연속한 chunk가 겹침 구간에서 대체로 같은 동작을 내기 때문이라고 저자들은 설명합니다.
| 방법 | 동기 실행 SR | 비동기 실행 SR | overlap RMSE | jerk |
|---|---|---|---|---|
| Fast-WAM | 91.8 | 76.4 | 0.0731 | 0.1316 |
| LingBot-VA | 92.2 | 46.7 | 0.1432 | 0.6592 |
| Long-WAM (CoD) | 93.6 | 93.2 | 0.0260 | 0.0479 |
| Long-WAM (IDM) | 94.4 | 94.2 | 0.0246 | 0.0436 |
RoboTwin 2.0 성공률(%)과 chunk 경계의 연속성 지표(낮을수록 매끄러움). 비동기 실행은 R = 24, S = 12입니다.
비동기로 바꾸면 Fast-WAM은 15.4점, LingBot-VA는 45.5점을 잃는데 Long-WAM(IDM)은 0.2점만 잃습니다. overlap RMSE와 jerk는 Fast-WAM의 약 3분의 1입니다.
streaming VAE와 overlap 길이
겹침 구간을 줄이면 chunk 경계가 더 매끄러워집니다. 같은 R = 24에서 S만 바꿔 보면 다음과 같습니다.
| S (stride) | overlap O | SR (%) | overlap RMSE | jerk |
|---|---|---|---|---|
| 12 | 12 | 94.2 | 0.0246 | 0.0436 |
| 16 | 8 | 95.0 | 0.0063 | 0.0156 |
| 20 | 4 | 94.3 | 0.0058 | 0.0143 |
RoboTwin 2.0, Long-WAM (IDM). 원문 부록 E 표 10입니다.
O를 12에서 8로 줄이면 RMSE는 약 4배, jerk는 3배 가까이 줄어듭니다. 다만 O를 4까지 줄이면 성공률은 오히려 떨어지는데 S가 커질수록 추론 사이 간격이 길어져 새 관측을 반영하는 빈도가 낮아지기 때문입니다. 매끄러움만 최대로 만든다고 성공률이 최대가 되지는 않습니다.
O를 줄이면 그만큼 마감도 빠듯해집니다. 부록 G의 환산대로 Δt를 1/20초로 두면 O = 12의 마감은 0.6초, O = 8은 0.4초입니다. 여기서 시간을 잡아먹는 것이 관측 인코딩입니다. trigger 시점에 history window 전체를 VAE로 인코딩하면 그 시간만큼 handoff가 늦어지고 그 지연이 다음 trigger까지 밀려 로봇이 기다리는 시간이 쌓입니다. streaming VAE는 관측 프레임 묶음이 들어오는 대로 미리 인코딩해 두고 trigger 뒤에는 남은 몇 프레임만 인코딩해 이어 붙입니다.

그림 3 — 위는 streaming VAE, 아래는 trigger 뒤에 전체 window를 인코딩하는 방식입니다. 같은 S와 O에서도 아래쪽은 handoff가 늦어 WAIT 구간이 생기고 그 지연이 다음 trigger로 이어집니다.
edge 가속
로봇 위에서 직접 추론하면 네트워크 지연은 없지만 영상까지 예측하는 모델을 제한된 onboard 연산으로 돌려야 합니다. 저자들은 세 장치에 공통으로 쓰는 최적화와 장치별 튜닝을 나눠 쌓습니다.

그림 4 — 공통 최적화(NVFP4, CUDA Graph와 compile, 재사용, 공유 입력 quantization, online softmax)와 장치별 튜닝(Quant/GEMM 튜닝, backend 선택)의 구성입니다.
- NVFP4 — video expert의 linear layer는 weight와 activation을 모두 4비트(W4A4)로 돌리고 action 계산과 KV 저장은 BF16으로 둡니다. action 쪽은 quantization으로 줄어드는 시간이 작은 데 비해 제어 정밀도를 해칠 수 있어서입니다.
- CUDA Graph와 compile — NVFP4는 작은 quantization·scaling kernel을 추가해서 혼자 쓰면 kernel 실행 비용이 계산 절감을 상쇄합니다. CUDA Graph replay와 PyTorch compile을 함께 써야 실제로 빨라집니다.
- denoising 불변 재사용 — 텍스트·상태 KV, 관측 영상 KV, RoPE 표는 denoise step이 바뀌어도 같으니 추론 한 번 안에서 한 번만 계산합니다.
- 공유 입력 quantization과 online softmax — Q/K/V projection의 공통 입력을 한 번만 quantize하고 video KV와 action KV를 이어 붙이지 않은 채 online softmax로 한 attention처럼 합칩니다.
| 최적화 단계 (누적) | RTX 5090 | DGX Spark | Jetson AGX Thor |
|---|---|---|---|
| BF16 eager | 356.0 ms (1.0×) | 1342.8 ms (1.0×) | 1215.2 ms (1.0×) |
| + NVFP4 + CUDA Graph + compile | 172.4 ms (2.1×) | 686.4 ms (2.0×) | 762.4 ms (1.6×) |
| + denoising 불변 재사용 | 144.9 ms (2.5×) | 464.5 ms (2.9×) | 524.5 ms (2.3×) |
| + 공유 입력 quantization | 130.3 ms (2.7×) | 427.8 ms (3.1×) | 476.5 ms (2.6×) |
| + video–action online softmax | 126.9 ms (2.8×) | 419.9 ms (3.2×) | 468.2 ms (2.6×) |
| + Quant/GEMM 튜닝 (장치별) | 119.1 ms (3.0×) | 415.6 ms (3.2×) | 458.9 ms (2.6×) |
| + backend 선택 (장치별) | 107.4 ms (3.3×) | 328.2 ms (4.1×) | 378.7 ms (3.2×) |
action chunk 하나의 end-to-end latency, V4/A4, 관측 VAE 포함. 원문 표 8입니다.
장치별 튜닝만으로 15–22%가 더 줄어 최종적으로 BF16 eager 대비 3.2–4.1배 빨라집니다. Jetson AGX Thor의 378.7 ms는 앞의 환산으로 따지면 O = 8의 마감(0.4초) 안에 들어가는 계산입니다. 다만 마감에는 전송과 대기 시간도 들어가고 논문은 실기 실험을 어느 장치에서 돌렸는지 밝히지 않았습니다.
다른 WAM과의 latency 비교
| 방법 | RTX 5090 latency | RoboTwin 2.0 SR |
|---|---|---|
| LingBot-VA | 3618.4 ms | 92.2 |
| Motus | 1201.1 ms | 87.8 |
| Cosmos Policy | 470.6 ms | – |
| Fast-WAM | 244.1 ms | 91.8 |
| Long-WAM, BF16 eager | 356.0 ms | 94.4 |
| Long-WAM, 최적화 V4/A4 | 107.4 ms | 93.5 |
| Long-WAM, 최적화 V2/A2 | 81.8 ms | 92.5 |
원문 표 6입니다. 비교 대상은 각자의 기본 배포 설정과 denoise 횟수로 측정했습니다.
Long-WAM은 미래 영상까지 예측하면서도 Fast-WAM보다 2.3배 빠릅니다. 최적화로 성공률은 94.4%에서 93.5%로 0.9점 내려갔고 video·action을 각 2 step만 denoise하는 V2/A2는 1.0점을 더 내주는 대신 latency를 24% 더 줄입니다.
7. 시뮬레이션 benchmark 결과

그림 5 — 시뮬레이션 benchmark 네 개(LIBERO, RoboTwin 2.0, DOMINO, RoboCasa)와 G1·YAM의 실기 과제 8가지(속도 4단계의 컨베이어 컵 집기, 움직이는 컵 쌓기, 그릇 쌓기, 색깔별 벽돌 분류, 만두를 팬에 담기)입니다.
LIBERO, RoboTwin 2.0, DOMINO의 주 결과는 최대 2.4초 context를 씁니다. 긴 context 실험은 앞 절의 RoboCasa GR-1이 맡습니다.
| benchmark | Long-WAM | 비교 대상 중 최고 | 차이 |
|---|---|---|---|
| LIBERO 평균 | 99.5 | LingBot-VA 98.5 | +1.0 |
| LIBERO-Long | 99.5 | LingBot-VA 98.5 | +1.0 |
| RoboTwin 2.0 평균 | 94.4 | ABot-M0.5 94.1 | +0.3 |
| DOMINO SR | 34.9 | Fast-WAM 19.9 | +15.0 |
| DOMINO manipulation score | 45.1 | PUMA 35.0 | +10.1 |
| RoboCasa GR-1 (19.2 s) | 78.7 | Cosmos Policy 67.1 | +11.6 |
성공률(%), DOMINO manipulation score는 점수입니다. Long-WAM은 모두 IDM 모드입니다.
LIBERO-Long에서 Long-WAM은 Fast-WAM(95.2%)보다 4.3점 높습니다. LIBERO와 RoboTwin은 이미 상위권 점수가 몰려 있어 차이가 1점 안팎인 반면 움직이는 물체를 다루는 DOMINO에서는 차이가 크게 벌어집니다. 한 장의 이미지로는 알 수 없는 물체의 움직임을 최근 관측이 알려 주고 그 덕분에 예측을 조건으로 한 가로채기 동작이 가능해진다는 것이 저자들의 해석입니다.
| 방법 | RoboCasa GR-1 SR |
|---|---|
| Diffusion Policy | 32.7 |
| Fast-WAM | 47.5 |
| DreamZero | 62.4 |
| π0 | 62.5 |
| GR00T-N1.5 | 64.1 |
| Cosmos Policy | 67.1 |
| Long-WAM (2.4 s) | 66.3 |
| Long-WAM (19.2 s) | 78.7 |
원문 표 4입니다. Long-WAM (2.4 s)는 원문 표의 63.3% 대신 그림 6과 본문의 66.3%를 적었습니다.
8. 실기 실험 — Unitree G1 · YAM
실기 실험은 Unitree G1 휴머노이드로 움직이는 물체를 다루는 동적 과제를, YAM 양팔 로봇으로 긴 작업을 평가합니다. 정책과 조건마다 20번씩 시도했습니다.

그림 7 — 위: 컨베이어 속도별 컵 집기와 움직이는 초록 컵을 파란 컵에 쌓는 과제의 성공 횟수입니다. 회색은 사람이 원격조작한 결과입니다. 아래: Long-WAM은 두 과제를 모두 성공하고 Fast-WAM은 움직이는 컵을 놓칩니다.
| 과제 | 컨베이어 속도 | π0.5 | Fast-WAM | Long-WAM | 사람 원격조작 |
|---|---|---|---|---|---|
| 컵 집기 | 3.0 cm/s | 3/20 (15%) | 15/20 (75%) | 20/20 (100%) | 50/52 |
| 컵 집기 | 4.5 cm/s | 0/20 | 6/20 (30%) | 20/20 (100%) | 50/53 |
| 컵 집기 | 6.0 cm/s | 0/20 | 0/20 | 19/20 (95%) | 50/52 |
| 컵 집기 | 7.5 cm/s | 0/20 | 0/20 | 18/20 (90%) | 50/58 |
| 초록 컵을 파란 컵에 쌓기 | 3 cm/s | 0/20 | 0/20 | 19/20 (95%) | 50/54 |
그림 7의 성공 횟수입니다.
컨베이어가 빨라질수록 차이가 벌어집니다. 3.0 cm/s에서 7.5 cm/s로 가는 동안 Fast-WAM은 75%에서 0%로, π0.5는 15%에서 0%로 떨어지는데 Long-WAM은 100%, 100%, 95%, 90%를 유지합니다. 7.5 cm/s에서는 사람 원격조작(50/58, 약 86%)과 비슷한 수준입니다. 컵 쌓기는 움직이는 컵을 가로챈 뒤 다른 컵 안에 맞춰 넣기까지 해야 해서 더 어렵습니다. 여기서도 Long-WAM은 20번 중 19번을 성공했고 두 비교 정책은 한 번도 성공하지 못했습니다.
π0.5는 VLA 계보 7편에서 다룬 모델로, 현재 관측을 보고 action을 내는 VLA입니다. 부록 H의 실패 사례를 보면 π0.5와 Fast-WAM은 파란 컵은 잡지만 컨베이어 위에서 움직이는 초록 컵에 손을 뻗었다가 놓칩니다. 컵이 얼마나 빨리 움직이는지 알려면 적어도 두 시점의 관측이 필요한데 Long-WAM은 history에서 읽은 그 움직임을 미래 예측으로 바꿔 action에 씁니다.
YAM에서는 평균 40초가 넘는 긴 작업 세 가지를 평가했습니다.
| 과제 | 성공률 |
|---|---|
| 색깔별 벽돌 분류 | 80% |
| 만두를 팬에 담기 | 80% |
| 그릇 쌓기 | 85% |
| 평균 | 81.7% |
과제마다 20번씩 시도했습니다.
9. high-level planner와의 결합 — RoboCasa365
긴 작업 전체를 low-level 정책 하나에 맡기지 않고 planner와 나누는 구성도 실험합니다. RoboCasa365는 단일 가정 기술(atomic)과 그 기술들을 이어 붙인 다단계 작업(composite)을 나눠 평가하는 benchmark입니다. 여기서 Long-WAM은 2.4초 context로 학습한 체크포인트를 쓰고 GPT-6 Astra를 planner로 붙이되 정책은 추가로 학습하지 않습니다. planner는 작업 목표를 하위 지시로 쪼개고 chunk를 몇 step까지 실행할지 정합니다. 필요하면 end-effector를 조금 보정하라는 지시도 냅니다.
| 방법 | Atomic Seen | Composite Seen | Composite Unseen | 전체 |
|---|---|---|---|---|
| GPT-6 Astra 단독 | 31.5 | 22.4 | 20.8 | 25.2 |
| π0.5 | 39.6 | 7.1 | 1.2 | 16.9 |
| π0.5 + GPT-6 Astra | 46.5 | 24.0 | 19.0 | 30.5 |
| ABot-M0.5 | 75.6 | 37.7 | 3.3 | 40.3 |
| Long-WAM | 67.9 | 15.8 | 6.1 | 31.4 |
| Long-WAM + GPT-6 Astra | 85.6 | 38.8 | 35.0 | 54.4 |
성공률(%). 전체는 50개 작업(Atomic-Seen 18, Composite-Seen 16, Composite-Unseen 16)의 평균입니다. 원문 표 5에서 일부만 옮겼습니다.
planner를 붙이면 Long-WAM의 전체 성공률은 31.4%에서 54.4%로 23.0점 오르고 π0.5는 16.9%에서 30.5%로 13.6점 오릅니다. 같은 planner라도 아래에서 실행하는 정책이 강할수록 planning의 효과가 커집니다. 처음 보는 조합(Composite Unseen)에서 Long-WAM 조합은 35.0%로, planner 단독(20.8%)과 π0.5 조합(19.0%)을 모두 넘습니다.
planner 없이 Long-WAM을 15 step마다 다시 호출하기만 해도 Atomic Seen은 84.4%까지 올라 planner 조합(85.6%)에 가깝습니다. 하지만 composite 작업은 11.2%, 5.0%에 그쳐서 composite 작업의 이득은 단순히 실행 간격을 줄인 효과가 아니라 planner가 작업을 나눠 준 효과로 봐야 합니다.
10. 의의
history를 넣었을 때 성공률이 오르는지는 영상 모델을 어떻게 사전학습했느냐에 달려 있습니다. 같은 causal mask, 같은 context 길이를 줘도 bidirectional 초기화는 긴 history를 거의 쓰지 못했고 AR 초기화는 19.2초까지 꾸준히 이득을 봤습니다. 이 결과는 WAM의 바탕 영상 모델을 고를 때 영상 품질 말고도 사전학습 목표가 제어에 맞는지를 따져야 한다는 근거가 됩니다.
그 사전학습에 action label이 필요 없어서 데이터를 모으기도 쉽습니다. 로봇마다 action 공간이 달라 한데 모으기 어려운 데이터를, 영상 예측이라는 공통 문제로 묶어 약 10,000시간 규모로 쓸 수 있습니다. 로봇 영상으로 더 학습한 LongLive2.0-Robot이 일반 LongLive-2.0보다 두 benchmark 모두에서 최고점이 높았던 것도 이 방향을 뒷받침합니다.
시스템 쪽에서는 미래 예측을 그대로 둔 채 실시간 제어 주기를 맞췄습니다. 영상 예측이 비싸다는 이유로 영상 출력을 건너뛰는 설계도 있지만 Long-WAM은 미래 latent를 σ = 0.9에서 멈추고 픽셀로 풀지 않는 선에서 예측 경로를 지켰습니다. 나머지 비용은 streaming VAE와 quantization, kernel 튜닝으로 줄였습니다. 미래 예측 덕분에 chunk 경계가 매끄러워져 asynchronous execution에 별도 보정 장치가 필요 없었던 것도, 예측을 제어용 중간 표현으로 본 저자들의 주장과 맞아떨어집니다.
마지막으로 low-level 정책과 planner의 역할 분담을 구체적인 수치로 보였습니다. 저자들은 시간 단위의 목표나 작업 분해는 planner가 맡고 low-level 정책은 최근 움직임과 상호작용 상태를 기억하면 된다고 봅니다. RoboCasa365에서 같은 planner가 Long-WAM 위에서는 23.0점, π0.5 위에서는 13.6점을 올렸습니다.
11. 한계
- context 길이마다 따로 학습한 모델 — 길이별 효과를 깨끗하게 보려는 설계지만 실제로 쓰려면 하나의 정책이 상황에 따라 window를 조절해야 합니다. 저자들도 이것을 다음 과제로 꼽습니다. latency가 74.6 ms(history 없음)에서 341.0 ms(19.2초)까지 벌어지니 필요할 때만 길게 보는 방식이 줄일 수 있는 계산도 큽니다.
- 38.4초 context의 하락 — 학습 궤적이 평균 12.1초라 긴 window의 80.4%가 padding입니다. 하락 원인이 데이터 부족이라는 것은 저자들의 가정이고 더 길고 촘촘한 로봇 기록으로 확인해야 합니다.
- context scaling은 시뮬레이션에서만 — 실기 실험은 정해진 설정 하나로 돌렸고 실제 로봇에서 context 길이를 바꿔 본 실험은 없습니다. 저자들도 이것을 다음 단계로 둡니다.
- 헤드라인 latency의 조건 — 107.4 ms는 2.4초 context, RTX 5090, V4/A4 기준입니다. GR-1의 78.7%를 낸 19.2초 설정은 같은 장치에서 341.0 ms이고 Jetson AGX Thor는 2.4초 context에서도 378.7 ms입니다. 실기 실험을 돌린 장치는 논문에 나오지 않습니다.
- 학습과 추론의 미래 latent 차이 — 학습 때 action expert가 보는 미래 latent에는 정답 성분이 남아 있고 추론 때는 video expert가 잡음에서 만든 것입니다. 저자들도 둘이 같은 분포라고 주장하지 않습니다.
- 처음 보는 로봇으로 옮겨 가는 능력 — 영상만으로 사전학습하니 action 공간이 달라도 데이터를 쓸 수 있지만 그 덕분에 새 로봇으로 더 잘 옮겨 가는지는 따로 평가하지 않았습니다.
- 원문 수치의 불일치 — 표 4의 "Long-WAM (2.4 s) 63.3"과 본문의 CoD LIBERO-Long "97.8%"는 그림 6과 표 1의 값과 맞지 않습니다. 이 글은 그림과 표 쪽을 따랐습니다.
12. 정리 — 사전학습이 정하는 history의 쓸모
Long-WAM은 로봇·사람 1인칭 영상으로 AR video prediction을 먼저 배우고 action expert를 붙일 때도 그 causal 구조를 그대로 둡니다. 그렇게 만든 world-action model은 history를 0초에서 19.2초로 늘렸을 때 RoboCasa GR-1 성공률이 63.3%에서 78.7%로 올랐고 같은 조건의 bidirectional 초기화는 거의 오르지 않았습니다. 과거 프레임을 볼 수 있게 열어 두는 것만으로는 부족하고 과거에서 미래를 읽는 법을 사전학습에서 배워 둬야 history가 제어에 쓰입니다.
그 history를 실시간 안에 넣는 일은 streaming VAE, 별도 보정 장치 없는 asynchronous execution, NVFP4와 장치별 kernel 튜닝이 맡습니다. RTX 5090에서 미래 latent 예측까지 포함해 chunk 하나에 107.4 ms가 걸리고 Unitree G1은 7.5 cm/s로 움직이는 컵을 90% 잡고 움직이는 컵 쌓기를 95% 성공했습니다. 다만 긴 context는 latency를 몇 배로 늘리므로 다음 숙제는 작업과 연산 예산에 맞춰 얼마나 멀리 돌아볼지를 정책이 스스로 정하게 하는 일입니다.