React
사용자의 key press나 6-DoF camera action이 바로 다음 frame/chunk에 반영되어야 한다.
ReWorld: An Interactive World Model with Long-Horizon Memory
ReWorld는 interactive world model의 세 요구—react, remember, stream—가 하나의 attention horizon으로는 자연스럽게 양립하지 않는다는 구조적 긴장에서 출발한다. Control은 현재 scene과 현재 command가 들어 있는 짧은 horizon이면 충분하지만, long-horizon memory는 먼 과거를 실제로 볼 수 있어야 학습된다.
해법은 “더 큰 cache”가 아니라 학습에서는 control과 memory의 window를 분리하고, 배포에서는 memory를 고정 예산으로 consolidation하는 것이다. 24개 attention head 중 18개는 short local window, 6개는 full-history global window를 사용하고, 매 optimizer step마다 global head identity를 바꾸는 random routing으로 특정 head의 역할고착을 막는다. Inference에서는 모든 head가 동일한 bounded cache를 읽으며, cache는 sink 1개 + recent 5개 + pose-nearest landmarks 6개, 총 B=12 chunks로 고정된다.
여기에 sparse cache를 훈련분포로 만드는 chunk-drop, 여러 source의 physical action scale을 맞추는 metric alignment, revisit evidence를 만드는 palindrome augmentation, 4-step real-time DMD LoRA distillation을 결합한다. 결과적으로 ReWorld는 704×1280 해상도로 photorealistic·game-style·stylized world를 실시간 streaming하면서, 64초·384-latent out-and-back rollout에서도 시작 장면을 재생성한다.
사용자의 key press나 6-DoF camera action이 바로 다음 frame/chunk에 반영되어야 한다.
오래전에 보여준 장소를 다시 방문하면 동일한 geometry와 landmarks가 재현되어야 한다.
전체 clip 완료를 기다리지 않고 interactive rate로 unbounded rollout을 계속 생성해야 한다.
MRoPE 같은 pose-indexed attention은 distant content를 spatial key로 찾는 memory에 유리하다. 반대로 direct action injection은 current command의 제어권을 강화한다. 문제는 모든 head가 둘을 동시에, 같은 long window에서 학습하면 action signal이 pose-keyed retrieval을 crowd out한다는 점이다. 실제 ablation에서 action injection은 control metric을 모두 개선하지만 revisit fidelity를 낮춘다.
Window split은 parameter, auxiliary loss, 별도 memory network를 추가하지 않는다. 배포 시 full history가 사라지므로 fixed head specialization은 사용할 수 없고, random routing으로 모든 head가 두 window role을 경험하게 만든다.
ReWorld는 Wan2.2-TI2V-5B video diffusion transformer를 causal VAE latent space의 streaming generator로 변환한다. 학습 window는 L=12 latent chunks, chunk당 4 latent frames이며, chunk 내부는 full attention, chunk 사이는 causal attention이다. 생성된 chunk의 key/value는 cache에 append된다.
Temporal RoPE에서 revisit location은 단지 “오래전 timestamp”다. ReWorld의 MRoPE는 각 latent frame의 relative camera-to-world pose \(P_f\in SE(3)\)를 descriptor로 만들고 zero-initialized MLP를 통해 RoPE phase에 pose offset을 더한다.
따라서 attention affinity가 temporal distance보다 pose difference에 민감해지고, 오래전에 본 viewpoint도 pose가 비슷하면 다시 addressable해진다. Zero-initialized SE(3) residuals가 value와 output conditioning을 보완한다.
| Design | Attention index | Where pose enters | Passes | Extra cost |
|---|---|---|---|---|
| Temporal RoPE | time + space | – | 1 | – |
| HY-World 1.5 | time + projective pose | separate camera-aware pass | 2 | ≈2× attention FLOPs |
| E-PRoPE | time + projective pose | reduced-token camera pass | 2 | one reduced pass |
| MRoPE | time + space + pose | Q/K phase + V/O residuals | 1 | small MLP + 2 linears |
각 latent frame의 commanded camera pose를 Plücker ray map으로 확장한다. 각 spatial location은 viewing ray의 6-D coordinate \([d,o\times d]\)를 받고, MLP projection 후 transformer input patch embedding에 token-wise로 더해진다. ray map은 “지금 어디를 봐야 하는가”, MRoPE는 “cached token이 어디에서 관측되었는가”를 담당한다.
모든 block의 H=24 heads를 18 local + 6 global로 나눈다. Local heads는 마지막 w=12 latent frames, 즉 3 chunks만 보고 control을 학습한다. Global heads만 full causal history를 보며 long-range retrieval을 학습한다.
global-head set을 고정하면 deployment에서 동일 구조를 재현할 수 없다. ReWorld는 |P|=12개의 random six-head partition pool을 만들고 매 optimizer step마다 다음 partition으로 바꾼다. 모든 head가 global과 local role을 모두 경험하므로 특정 head만 long context에 의존하지 않는다. 이 설계는 “cache policy를 바꿔도 control error는 거의 변하지 않아야 한다”는 검증가능한 예측을 만든다.
sink chunk 하나가 global scene layout anchor 역할을 하고, 최근 5 chunks와 현재 pose에 가장 가까운 6 landmarks를 함께 읽는다. 모든 retained chunk는 full resolution으로 저장되며 pooling, merge, token pruning을 하지 않는다.
landmark bank \(M\)의 capacity는 K=30이다. 전체 bank는 pinned host memory에 유지하고 필요한 working set만 device로 stage한다. Recent window에서 aging out된 chunk는 camera가 마지막 stored landmark 이후 충분한 거리 \(\delta\)를 이동했을 때만 저장된다. 이는 “이미 비슷한 장소가 bank에 있는가”가 아니라 travel distance를 기준으로 하므로 revisit passage도 다시 저장된다.
bank가 가득 차면 pose space에서 nearest neighbour가 가장 가까운, 즉 가장 redundant한 landmark를 evict한다. 최초 두 landmark는 가장 긴 gap 뒤 revisit될 가능성이 높아 보호된다. Landmark transfer는 별도 stream에서 prefetch되어 denoising과 겹친다. Device memory는 rollout length와 무관하게 \(O(B)\)다.
배포 cache는 sparse하고 non-contiguous하지만 teacher forcing은 complete prefix를 보여준다. 이 train–test mismatch가 eviction 이후 blur/drift를 만든다. 학습 중 sink는 항상 남기고, 나머지 history에서 5 chunks를 무작위 survivor로 골라 전체 12 chunks 중 6개만 보게 한다. Query는 drop하지 않으므로 모든 chunk가 denoising loss를 받는다. Keep-set은 매 step resample된다.
즉 inference cache의 “잘린 history”를 예외 상황이 아니라 training distribution 안으로 넣는다.
multi-step model은 teacher, student는 동일 frozen backbone + rank-128 LoRA다. DMD critic도 LoRA이고 attention/FFN에만 adapter를 둔다. Self-forcing rollout으로 student 자신의 KV cache에서 chunk를 생성하며, distillation은 generic long captions 248K만 필요하고 video는 필요하지 않는다.
4 denoising steps
2.6 GB LoRA
2k–4k steps when transferred
No LoRA on action/pose injection
adapter off는 high-fidelity multi-step, adapter on은 real-time 4-step mode다. Production student는 block size 16, single rollout, CFG를 adapter에 fold한다.
| Source | # Clips | Duration | Pose | Caption |
|---|---|---|---|---|
| UE control | 95,895 | 15 s | engine GT c2w, cm | pipeline-generated |
| UE expansion | 42,536 | 30–60 s | engine GT c2w, cm | scene summary + camera |
| DL3DV | 29,864 | 15 s | VIPE | Qwen-VL |
| RealEstate10K | 12,065 | ≥8 s | VIPE re-estimated | pre-computed |
| Sekai real-walking-hq | 14,730 | 60 s | MegaSaM c2w | official CSV |
| Game roaming · 79 games | 18,387 | 15 s | VIPE metric | Qwen-VL |
| OmniWorld-Game | 5,629 | ~12 s | engine w2c→c2w | per-clip JSON |
| Sekai game-walking | 1,618 | 60 s | UE5 engine GT | official CSV |
| Total | 220,724 | – | – | – |
자동화 UE editor service가 337 environments에서 scene loading, geometry survey, NavMesh, POI discovery, trajectory planning, Movie Render Queue rendering을 수행한다. Control trajectory는 두 POI 사이를 direction-balanced random motion으로 채워 forward뿐 아니라 backward, strafe, diagonal motion도 충분히 포함한다. 이 데이터설계가 control 성능에 직접 기여한다.
6-DoF action \(a_k\)가 동일한 의미를 가지려면 estimated pose scale과 engine unit을 통일해야 한다. 각 source의 pooled per-latent translation increment median을 UE anchor에 맞춘다.
Appendix divisor는 UE 100(cm→m), DL3DV 0.1923, RealEstate10K 0.2273, OmniWorld-Game 1.75, Sekai real 0.0086, Sekai game 0.0107, metric VIPE game-roaming 1이다. Rotation은 radians 그대로 두고 translation만 rescale한다.
UE control은 110,204에서 95,895로, expansion은 47,726에서 42,536으로 darkness/wall filtering된다. Game roaming은 494.7 hours, 168 games에서 free-roaming 79 games의 18,387 clips로 정리된다. Mixture는 clip-level uniform sampling으로 63% UE, 26% real, 11% game이 된다.
각 access는 189-frame window를 24 fps로 resample해 약 8초를 만들며, UE 두 source에서는 probability 0.2로 random half + temporal reverse의 palindrome window로 바꾼다. 이는 long-horizon revisit supervision과 reverse-motion coverage를 동시에 제공한다.
480p(384×640) pretraining 후 720p(704×1280) warm-start를 수행한다. 24 heads 중 6 global / 18 local, 12 partition pool, chunk-drop은 12 history chunks에서 sink + 5 survivors를 유지한다. Timed deployment는 4-step DMD LoRA, rank 128, CFG 1, 16 latent frames/block이며 evaluation에서는 모든 head가 bounded cache를 읽는다.
40 start images × 6 canonical trajectories = 240 clips/method. Dolly, strafe, arc_yaw, arc_pitch, s_curve, palindrome을 동일 intent로 각 method의 native interface에 전달하고, ViPE로 re-track한 뒤 Sim(3) + global orientation alignment로 trajectory shape를 비교한다.
| Method | RotErr↓ | TransErr↓ | CamMC↓ | Dolly | Strafe | Arc Yaw | Arc Pitch | S Curve | Palindrome |
|---|---|---|---|---|---|---|---|---|---|
| SANA-WM | 13.02 | 0.123 | 0.388 | 4.95 | 1.51 | 32.01 | 21.33 | 17.54 | 0.80 |
| DreamX | 13.10 | 0.114 | 0.381 | 2.50 | 1.21 | 33.00 | 20.71 | 18.06 | 3.13 |
| HY-WorldPlay | 14.66 | 0.114 | 0.427 | 0.26 | 0.24 | 43.53 | 22.00 | 21.73 | 0.20 |
| Matrix-Game 3.0 | 15.45 | 0.075 | 0.394 | 8.19 | 1.00 | 39.93 | 20.59 | 17.75 | 5.24 |
| LingBot-World | 12.59 | 0.107 | 0.354 | 3.10 | 6.01 | 26.21 | 26.83 | 12.23 | 1.16 |
| Yume-1.5 | 14.24 | 0.131 | 0.428 | 0.84 | 2.01 | 29.05 | 24.57 | 25.60 | 3.38 |
| ReWorld | 11.95 | 0.102 | 0.332 | 2.69 | 1.07 | 27.63 | 23.61 | 16.06 | 0.64 |
ReWorld는 overall rotation error와 camera-motion consistency에서 최고이며 translation-heavy trajectory에서도 first tier를 형성한다.
Palindrome trajectory에서 early frame을 needle로 두고 out-and-back 후 mirror pose로 돌아왔을 때 동일 scene을 재생성하는지 평가한다. Baseline test는 k=48/96 latents(약 8/16초), long rollout ablation은 k=96/192/288/384다. Metric은 SSIM, LPIPS, DINO cosine similarity, ORB matching이며 outbound optical-flow path length도 함께 보고한다.
| Method | k=48 | k=96 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Path | SSIM↑ | LPIPS↓ | DINO↑ | ORB↑ | Path | SSIM↑ | LPIPS↓ | DINO↑ | ORB↑ | |
| SANA-WM | 296 | 0.318 | 0.433 | 0.810 | 0.174 | 499 | 0.313 | 0.528 | 0.700 | 0.161 |
| DreamX | 279 | 0.214 | 0.553 | 0.740 | 0.180 | 454 | 0.194 | 0.627 | 0.603 | 0.159 |
| HY-WorldPlay | 113 | 0.448 | 0.163 | 0.969 | 0.464 | 210 | 0.427 | 0.247 | 0.942 | 0.460 |
| Matrix-Game 3.0 | 312 | 0.318 | 0.369 | 0.891 | 0.292 | 724 | 0.275 | 0.478 | 0.850 | 0.247 |
| LingBot-World | 352 | 0.274 | 0.557 | 0.663 | 0.177 | 834 | 0.251 | 0.635 | 0.509 | 0.162 |
| Yume-1.5 | 165 | 0.268 | 0.533 | 0.747 | 0.179 | 332 | 0.269 | 0.586 | 0.661 | 0.152 |
| ReWorld | 286 | 0.349 | 0.282 | 0.913 | 0.325 | 615 | 0.384 | 0.332 | 0.932 | 0.379 |
HY-WorldPlay의 similarity score는 가장 높지만 실제 outbound path가 다른 methods보다 크게 짧다. 저자들은 path length를 함께 보고하며 낮은 motion일수록 revisit similarity가 유리해질 수 있음을 명시한다. ReWorld는 k=96에서 615px를 이동하면서 높은 DINO/SSIM/ORB를 유지한다.
| Method | Mean | Imaging | Aesthetic | Subject | Background | Flickering | Dynamic | Smoothness |
|---|---|---|---|---|---|---|---|---|
| SANA-WM | 0.835 | 0.668 | 0.537 | 0.908 | 0.919 | 0.942 | 0.900 | 0.969 |
| DreamX | 0.828 | 0.670 | 0.542 | 0.880 | 0.904 | 0.909 | 0.946 | 0.946 |
| HY-WorldPlay | 0.842 | 0.670 | 0.601 | 0.976 | 0.957 | 0.973 | 0.733 | 0.987 |
| Matrix-Game 3.0 | 0.836 | 0.713 | 0.461 | 0.894 | 0.919 | 0.921 | 0.983 | 0.962 |
| LingBot-World | 0.841 | 0.692 | 0.577 | 0.905 | 0.915 | 0.918 | 0.933 | 0.947 |
| Yume-1.5 | 0.844 | 0.669 | 0.565 | 0.878 | 0.911 | 0.934 | 0.988 | 0.964 |
| ReWorld | 0.850 | 0.665 | 0.579 | 0.929 | 0.929 | 0.952 | 0.912 | 0.979 |
VBench seven intrinsic dimensions의 mean은 ReWorld가 0.850으로 최고다. HY-WorldPlay는 consistency가 높지만 Dynamic Degree가 0.733으로 낮아, quality score는 motion 양과 함께 읽어야 한다.
| Recipe | k=96 | k=192 | k=288 | k=384 |
|---|---|---|---|---|
| Base | 0.4019 | 0.3747 | 0.3698 | 0.3387 |
| + Chunk Drop | 0.4043 | 0.3941 | 0.3846 | 0.3463 |
| + Random Head Routing | 0.4319 | 0.3787 | 0.3836 | 0.3565 |
| + CD + RH | 0.4358 | 0.3929 | 0.3943 | 0.3752 |
| Policy | k=96 | k=192 | k=288 | k=384 |
|---|---|---|---|---|
| Full KV | 0.4463 | 0.4231 | OOM | OOM |
| Sliding window | 0.4129 | 0.3687 | 0.3505 | 0.3476 |
| Naive merge | 0.3741 | 0.3371 | 0.3467 | 0.3541 |
| Consolidation w/o bank | 0.4376 | 0.3758 | 0.3743 | 0.3629 |
| Consolidation w/ bank | 0.4358 | 0.3929 | 0.3943 | 0.3752 |
full-KV는 short horizon upper bound지만 k>192에서 OOM이다. Far-gap k=288/384에서는 pose-retrieved bank가 동일 B=12 budget의 window/merge/static landmark보다 가장 강하다.
| Method | RotErr↓ | TransErr↓ | CamMC↓ | Revisit SSIM↑ |
|---|---|---|---|---|
| MRoPE only | 17.66 | 0.204 | 0.394 | 0.3898 |
| Action + MRoPE | 13.21 | 0.107 | 0.371 | 0.3376 |
| Routing | 12.94 | 0.093 | 0.346 | 0.3752 |
action injection만 추가하면 control은 좋아지지만 memory는 0.3898→0.3376으로 하락한다. Mixed windows + routing은 control을 더 개선하면서 revisit SSIM을 0.3752로 회복한다. 논문의 중심가설인 “window split으로 interference를 줄인다”를 직접 지지하는 ablation이다.
Figure 8의 strafe-and-return qualitative comparison에서는 latent 0의 시작 장면이 latent 94에서 다시 나타나야 한다. ReWorld는 landmark layout을 유지하지만 여러 baseline은 trajectory drift 또는 geometry reinvention을 보인다. Figure 9는 같은 model에서 cache policy만 바꾸어 sliding window와 KV compression이 revisit 시 scene을 다시 만들어버리는 반면 landmark cache는 start view로 돌아오는 모습을 보여준다.
Diffusion Forcing, MAGI-1, StreamDiT, Self-Forcing, Rolling Forcing, LongLive/2.0, DMD 계열. ReWorld는 AR-train-then-distill을 따르되 distillation을 LoRA에 가둔다.
Genie, Vid2World, LingBot-World, Matrix-Game, SANA-WM, DreamX, HY-WorldPlay, Yume, HunyuanWorld. ReWorld는 pose와 direct action을 둘 다 유지하면서 interference를 window design으로 다룬다.
WorldMem, Context-as-Memory, long-term spatial memory, pose-aware attention, attention sinks. ReWorld는 fixed-capacity bank에 full-resolution chunks를 보존하고 pose retrieval로 다시 가져온다.
UE raw run은 337 environments, six trajectory modes(local_explore ~29%, reveal_pan ~26%, aerial ~15.5%, control ~15%, wandering ~8%, boomerang ~6%)를 포함한다. Control speed는 180 cm/s, exploratory modes는 120 cm/s다. Expansion round-robin set은 47,726→42,536, control set은 109,132 captioned→95,895로 darkness filtering된다.
DL3DV는 29,864 frame-aligned 15 s slices, VIPE poses, Qwen-VL captions. RealEstate10K는 ≥8 s 12,065 clips, VIPE로 pose 재추정. Game roaming은 494.7 hours/168 games에서 free-exploration whitelist와 cleanup 후 79 games 18,387 clips. OmniWorld-Game은 reconstruction gap을 teleport로 간주해 merge하지 않고 12 s windows로 5,629 clips. Sekai real/game은 각각 14,730/1,618 clips다.
scale rescaling 후 median \(\|\Delta t\|\) relative to UE는 UE 1.00, DL3DV 0.92, RealEstate10K 1.00, OmniWorld-Game 1.21, Sekai real 0.96, Sekai game 0.94다. Coordinate convention은 모두 OpenCV camera basis(forward +z, down +y)의 c2w로 통일한다. UE basis는 단순 sign flip이 아니라 vertical axis 90° rotation conjugation이 필요하며 OmniWorld의 w2c는 invert한다.
189 frame poses를 48 latent steps로 downsample하고 첫 camera를 identity로 re-anchor한다. Per-step 6-DoF increments(translation 3 + Euler 3)를 chunk-level actions로 묶고, MRoPE는 relative c2w trajectory 자체를 사용한다. Translation은 window maximum radius로 추가 normalization되어 source-agnostic bounded coordinate frame을 만든다. Palindrome mirror point에서는 arithmetic rotation averaging 대신 SE(3)-aware slerp를 사용한다.
논문의 직접 근거는 action-following, revisit fidelity, video quality, bounded-cache scaling의 네 축에 있다. B=12 fixed cache가 sliding-window보다 far-gap memory를 보존하고, routing이 action/memory interference를 줄이며, four-step LoRA가 real-time mode를 제공한다.
Memory key는 camera pose alone이다. 따라서 dynamic object state, object interaction, non-navigational causal state를 직접 address하지 않는다. Long-horizon benchmark도 주로 out-and-back camera revisit다. 저자들이 제시하는 자연스러운 다음 단계는 dynamic scenes와 richer interaction으로 consolidation key와 memory content를 확장하는 것이다.
ReWorld를 “general physical simulator”나 “complete embodied world model”로 확대해석해서는 안 된다. 이 논문이 강하게 보여주는 것은 interactive video world model에서 spatial revisit memory를 constant device budget으로 유지하는 설계다.
Qwen2.5-VL; Genie; Diffusion Forcing; MIDAS; LongLive-2.0; 360Explorer; DreamX-World 1.0; Rectified Flow Transformers; Long-context Autoregressive Video Modeling; World Models; LoRA; ViPE; Vid2World; Self-Forcing; VBench; OmniWorld; StreamDiT; HunyuanVideo; Sekai; MegaSaM; DL3DV-10K; Flow Matching; Rolling Forcing; RealWonder; Dual-Expert Consistency Model; Yume-1.5; Genie 3; DiT; LingBot-World / open-source world models; WorldPlay; HunyuanWorld 1.0; MAGI-1; Wan; Phased Consistency Model; Matrix-Game 3.0; Video World Models with Long-Term Spatial Memory; Attention Sinks; WorldMem; PM-RoPE / dynamic memory; LongLive; CogVideoX; Improved DMD; One-step DMD; Context as Memory; Context Packing; Pyramid Attention Broadcast; RealEstate10K; SANA-WM.
본 게시물은 첨부된 21페이지 논문의 Abstract, Introduction, Method, Figures 1–9, Tables 1–7, Data Pipeline, Experiments, Related Works, Conclusion, References, Appendix A의 data construction·alignment audit·conditioning detail까지 기준으로 재구성했다. Source에서 직접 검증하지 않은 dynamic-scene memory, object-state persistence, general embodied planning capability는 claim으로 추가하지 않았다.