multimodalart's picture
multimodalart HF Staff
Upload folder using huggingface_hub
f7dc16a verified
|
Raw History Blame Contribute Delete
2.9 kB

A newer version of the Gradio SDK is available: 6.31.0

Upgrade
metadata
title: Multics Multiplayer Video
emoji: 🎮
colorFrom: gray
colorTo: green
sdk: gradio
sdk_version: 6.30.0
app_file: app.py
short_description: 4-player interactive video world model
python_version: '3.12'
startup_duration_timeout: 1h

Multics · Generative Multi-Player Video World Model

Demo Space for TencentARC/Multics — a hierarchical multi-player video world model (Wan2.2-TI2V-5B backbone) that renders one synchronous 4-player Counter-Strike-style clip from per-player first frames, captions, and real in-game action/camera tick logs. Project page / code: github.com/TencentARC/Multics.

What the demo does

  • Bundled scenes — the authors' five 4-player example scenes ship with the Space (examples/4players/4_01 … 4_05), each containing per-player first frames, the original 64 Hz tick logs (keyboard/mouse actions + camera poses), and the grouping state. Picking a scene replays it: the tick logs drive each player's actions and camera, and pose-based grouping decides which players share a local hub. Non-empty captions override the scene's own captions.
  • Custom mode — upload four first frames and per-player captions. There are no tick logs for custom content, so the demo uses zero actions, identity cameras (static view), and a fixed 2+2 grouping (players 1+2 and 3+4 share a local hub), which stays well inside the model's communication budget for 4 players.
  • Output is a 165-frame (~8 s at 20 fps) 352×640-per-player 4-up grid video.

Heavy job — PRO needed

One generation runs ~1.4k forward passes of the ~5B DiT (50 steps × 14 latent blocks × 2 CFG passes + context recaches) and takes several minutes of GPU time. It exceeds the free ZeroGPU daily quota; a PRO account is needed to run it. Reduce Inference steps in Advanced options for faster (lower-quality) runs.

Implementation notes / deviations from the reference config

The Space vendors the model's inference package (multics/) and follows the authors' inference.py load path (pipeline → enable_stage2 → build_dit → strict checkpoint load). Two attention settings differ from configs/inference.yaml to stay ZeroGPU-compatible:

  • attn_impl: sdpa instead of flex (flex requires torch.compile, unsupported on ZeroGPU; the flex block-mask is bypassed during cached inference anyway).
  • WAN_HIER_INFER_KERNEL: packed_varlen instead of paged_kv (paged_kv needs flashinfer; packed_varlen implements the same hierarchical packing on the native torch varlen flash-attention op).

Example-content credit

The bundled example frames and tick logs are from the Multics repository (© Multics authors). The demo content derives from the OpenCS2 dataset. See that repo for license and attribution details.