LingBot-World 2.0: 720p 60fps 실시간으로 끝없이 조작 가능한 세계를 생성하는 14B 월드 모델

LingBot-World 2.0 소개

인터랙티브 월드 모델(Interactive World Model)은 사용자의 조작에 반응해 다음 화면을 한 프레임씩 만들어내는 생성 모델입니다. 게임 엔진처럼 미리 만들어 둔 3D 자산을 렌더링하는 것이 아니라 화면 자체를 생성하기 때문에 어떤 장면이든 만들 수 있지만, 대신 두 가지 벽에 부딪힙니다. 하나는 길이입니다. 자기회귀(Autoregressive)로 이어 붙이는 방식은 자기 출력을 다시 입력으로 받으므로 오차가 누적되고, 몇 분을 넘기면 화면이 무너집니다. 다른 하나는 속도입니다. 확산 모델(Diffusion Model)은 프레임 한 장을 만드는 데에도 여러 번의 잡음 제거 단계를 거쳐야 해서, 손이 움직인 즉시 화면이 따라오는 조작감을 내기 어렵습니다.

이번에 소개할 LingBot-World 2.0(LingBot-World-Infinity)은 그 두 벽을 함께 겨냥한 오픈소스 월드 모델입니다. 인과적(Causal) 사전학습으로 무한한 상호작용 구간을 목표로 삼고, 거기서 실시간 변형을 증류(Distillation)해 720p 영상을 60fps로 흘려보낼 수 있는 응답 속도를 확보했다고 저자들은 밝히고 있습니다. 여기에 공격, 궁술, 주문 시전, 사격처럼 이전 버전보다 넓어진 행동군과 텍스트로 지시하는 사건을 더했고, 월드 모델 영역에서는 처음으로 에이전트 하네스(Agentic Harness)를 붙여 캐릭터의 행동 계획과 환경 요소 생성을 각각 다른 에이전트가 맡도록 했습니다.

이 프로젝트는 Robbyant 팀이 공개했고, 기술 보고서와 함께 추론 코드, 그리고 14B 규모 모델 하나의 가중치가 2026년 7월 9일에 공개됐습니다. 코드베이스는 Wan2.2 (:pytorch::kr: Wan2.2: Alibaba에서 공개한 오픈소스 비디오 생성 모델) 위에 올려 두어 설치 절차를 그쪽 문서와 공유합니다. 이 글에서는 저자들이 무엇을 어떻게 했다고 주장하는지, 실제로 손에 들어오는 것이 무엇인지, 그리고 어떤 조건에서 돌려볼 수 있는지를 정리합니다.

기존 인터랙티브 월드 모델과 LingBot-World 2.0의 차이

Robbyant 팀이 기술 보고서 표 1에 실은 비교는 다음과 같습니다. 행 순서는 원문 그대로이며, 저자들이 축약해 적은 두 항목은 참고문헌에 적힌 정식 이름으로 풀어 적었습니다:

모델 생성 길이 의미 기반 상호작용 도메인 동적 표현 정도 실시간 오픈소스
Matrix-Game 3.0 분 단위 없음 게임 중간
DreamX-World 1.0 분 단위 없음 범용 중간
LingBot-World 분 단위 없음 범용 높음
Happy Oyster 분 단위 일부 범용 중간
Genie 3 분 단위 일부 범용 중간
LingBot-World-Infinity 시간 단위(무한) 무한 범용 높음

위 표를 통해 저자들이 내세우는 차별점 두 가지를 알아볼 수 있습니다. 첫째는 생성 길이로, 나머지 다섯 모델이 분 단위에 머무는 자리에서 시간 단위를 주장합니다. 둘째는 그 길이를 의미 기반 상호작용, 높은 동적 표현, 실시간 응답, 가중치 공개와 동시에 갖췄다는 점입니다. 다만 이 표는 저자들이 자신들의 모델을 소개하며 직접 작성한 것이고, 표의 항목 구분 자체가 자신들의 강점 축을 따라 그어져 있다는 점은 감안해서 읽어야 합니다. 실제 길이를 확인하고 싶다면 기술 보고서 그림 10이 60분짜리 단일 세션에서 20개 장면을 추출해 시간축으로 늘어놓은 결과를 보여줍니다.

LingBot-World 2.0의 생성 파이프라인

LingBot-World-Infinity는 인터랙티브 월드 시뮬레이터를 인과적 비디오 모델로 구현합니다. 시작점은 이미지 한 장과 그 배경을 설명하는 문장이고, 이후의 세계 상태는 과거 화면과 그때그때의 사용자 입력을 조건으로 자기회귀 생성됩니다. 사용자 입력은 두 종류로, 카메라 자세와 청크 단위 프롬프트가 확산 트랜스포머(DiT, Diffusion Transformer) 블록에 주입됩니다:

이 구조의 밑바탕에는 원인이 결과를 앞선다는 인과 가정이 깔려 있습니다. 시각 상태 x_t 와 사용자 입력 a_t 의 시퀀스에 대해 각 상태가 자기 이전 맥락에만 의존한다고 두면, 전체 확률은 p_\theta(x_{1:T} \mid a_{1:T}) = \prod_t p_\theta(x_t \mid x_{<t}, a_{\le t}) 로 분해됩니다. 저자들은 이 인과성을 추론 시점의 제약으로 얹는 대신 학습 전 과정에서 강제하는 쪽을 택했고, 자기 어텐션에는 교사 강요(Teacher Forcing) 마스크에 양방향 블록을 덧붙인 혼합 마스크를, 교차 어텐션에는 조건이 새어 나가지 않도록 별도의 인과 마스크를 설계했습니다.

실시간 응답을 만들어낸 2단계 증류

사전학습을 마친 교사 모델은 프레임 한 장에 여러 번의 잡음 제거 단계를 쓰기 때문에 그대로는 조작에 쓸 수 없습니다. 그래서 후속 학습 단계에서 두 가지 증류를 겹쳐 적용합니다. 먼저 일관성 증류(Consistency Distillation)로 같은 교사 확률 흐름 궤적 위에 놓인 잠재 상태들이 동일한 예측으로 매핑되도록 만들어 단계 수를 줄입니다. 그다음 분포 매칭 증류(DMD, Distribution Matching Distillation)로 학생 모델의 출력 분포를 실제 데이터 분포에 맞춰 화질을 되돌립니다.

DMD를 적용하는 방식에 한 가지 선택이 들어가 있습니다. 교사가 정답을 물려준 상태에서만 학습시키지 않고, 학생이 스스로 오래 굴린 궤적 위에서 학습시킨 것입니다. 배포 시점에 학생이 마주할 상태 분포는 자기 예측이 만들어낸 분포이므로, 그 분포에서 직접 최적화해야 긴 자기회귀 구간의 누적 오차가 줄어든다는 논리입니다. 저장소가 지금 공개한 causal-fast 모델이 이 과정을 거친 결과물이고, 예시 명령은 청크당 4단계 샘플링으로 실행됩니다.

한편 배포 쪽에서는 컴파일러 최적화와 효율적인 어텐션 커널로 백본의 처리량을 올리고, 여러 GPU에 계산을 나누는 하이브리드 병렬 추론을 씁니다. 잠재 생성과 프레임 복원을 비동기로 파이프라인화해 잠재 생성이 이미지 디코딩을 기다리지 않게 했고, 디코딩된 결과를 청크 단위로 기다리는 대신 준비되는 대로 흘려보내 첫 화면이 보이기까지의 시간을 줄였습니다.

Director와 Pilot으로 나눈 에이전트 하네스

이 프로젝트가 스스로 월드 모델 분야에서 처음이라고 내세우는 부분이 에이전트 하네스입니다. 영상 생성 모델은 짧은 구간의 시각적 변화는 잘 만들지만 열린 세계를 논리적으로 전개하는 데 필요한 인과 추론(reasoning)은 갖고 있지 않다는 것이 출발점입니다. 그래서 시각 언어 모델(VLM, Vision-Language Model)을 세계의 Director로 두어 거시적인 의미 규칙과 인과 판단을 맡기고, 확산 트랜스포머인 영상 생성기를 Pilot으로 두어 저수준 물리와 실제 화면 생성을 맡깁니다.

사용자가 개입하는 통로는 두 가지입니다. 하나는 장면 안의 대상을 직접 지목해 조작하는 방식이고, 다른 하나는 높은 수준의 텍스트 사건을 던져 넣는 방식입니다. 어느 쪽이든 VLM이 현재 화면을 읽고 그 조작의 논리적 귀결을 예상해 "문 열기", "조명 켜기", "퇴장" 같은 명시적인 사건 후보를 만들어내면, 영상 생성기가 그 의미 지시를 시공간적으로 일관된 화면으로 바꿉니다. 갱신된 세계 상태가 다시 VLM의 입력이 되면서 순환이 이어집니다.

LingBot-World 2.0을 돌려볼 수 있는 조건

지금 공개된 것은 14B causal-fast 모델 하나와 추론 코드입니다. 14B의 인과 사전학습 모델, 14B 양방향 모델, 그리고 단일 GPU 배포를 목표로 한 1.3B 모델은 저장소의 할 일 목록에 올라 있을 뿐 아직 받을 수 없습니다. 기술 보고서가 1.3B를 단일 GPU에서 손쉽게 배포할 수 있는 짝으로 소개하고 있으므로, 개인 장비에서 돌려보려는 쪽에는 이 항목이 실제 출발선입니다.

배포 코드는 공개 계획이 없다고 프로젝트가 명시했습니다. 대신 직접 서비스로 띄우려면 SGLang의 LingBot-World 요리책이나 NVIDIA의 flashdreams를 참고하라고 안내합니다. 직접 돌리지 않고 결과만 보고 싶다면 Reactor에서 실시간 버전을 웹으로 체험할 수 있는데, 저자들은 이쪽이 편의를 위한 환경이며 공식 설정에서는 모델이 온전한 성능으로 동작한다고 구분해 두었습니다.

LingBot-World 2.0 설치 및 사용법

설치는 Wan2.2 문서를 따르되, 저장소의 requirements.txt 가 PyTorch 2.4.0 이상을 요구하고 flash-attention을 별도로 설치해야 합니다:

git clone https://github.com/robbyant/lingbot-world-v2.git
cd lingbot-world-v2
pip install -r requirements.txt
pip install flash-attn --no-build-isolation

가중치는 Hugging Face 또는 ModelScope에서 받습니다:

pip install "huggingface_hub[cli]"
huggingface-cli download robbyant/lingbot-world-v2-14b-causal-fast \
  --local-dir ./lingbot-world-v2-14b-causal-fast

추론은 저장소의 generate.py가 담당하며, 전체 프레임을 한 번에 처리하는 대신 KV 캐시(Key-Value Cache)를 써서 청크 단위로 잘라 처리합니다. 저장소가 제시하는 480P 다중 GPU 예시는 다음과 같습니다:

torchrun --nproc_per_node=8 generate.py --task i2v-A14B --size 480*832 \
  --ckpt_dir lingbot-world-v2-14b-causal-fast \
  --image examples/03/image.jpg --action_path examples/03 \
  --dit_fsdp --t5_fsdp --ulysses_size 8 \
  --frame_num 361 --local_attn_size 18 --sink_size 6 \
  --prompt "A serene lakeside scene with a lone tree standing in calm water, surrounded by distant snow-capped mountains under a bright blue sky with drifting white clouds — gentle ripples reflect the tree and sky, creating a tranquil, meditative atmosphere."

--nproc_per_node=8--ulysses_size 8 에서 보이듯 이 예시는 GPU 8장을 전제로 합니다. 저장소의 run_fast.sh로 같은 실행을 가중치 경로와 프레임 수만 넘겨 축약할 수도 있습니다:

bash run_fast.sh lingbot-world-v2-14b-causal-fast 361

LingBot-World 2.0이 맞는 경우와 맞지 않는 경우

긴 구간에서 무너지지 않는 인과적 비디오 생성이 연구 주제라면 지금 받아 볼 값어치가 있습니다. 14B 가중치와 추론 코드가 함께 있어 사전학습 방식과 증류 방식이 실제로 어떤 화면을 만드는지 직접 확인할 수 있고, 기술 보고서가 데이터 엔진부터 어텐션 마스크 설계, 배포 최적화까지 각 단계를 나눠 서술해 두어 부분만 떼어 참고하기도 좋습니다. VLM을 상위 결정자로 두고 생성 모델을 하위 실행자로 두는 구성 자체가 관심사인 경우에도 참고할 만한 사례입니다.

반대로 지금 무언가를 만들어 쓰려는 목적에는 맞지 않습니다. 라이선스가 비상업적 용도로 제한되어 있고, 예시 실행이 GPU 8장을 전제로 하며, 단일 GPU용 1.3B 모델과 배포 코드는 각각 미공개와 공개 계획 없음 상태입니다. 720p 60fps라는 수치도 저자들이 자체 최적화한 배포 환경에서 나온 것이라, 공개된 추론 코드를 그대로 돌려서 재현되는 값이 아닙니다. 로봇 정책 학습처럼 물리적 정확도가 우선인 용도라면 NVIDIA Cosmos 3 처럼 그 목적으로 만들어진 모델 쪽을 먼저 보는 편이 낫습니다.

LingBot-World 2.0의 라이선스

LingBot-World 2.0은 코드와 모델 가중치 모두 CC BY-NC-SA 4.0으로 공개되어 있습니다. 저작자를 표시하면 공유와 변형이 가능하지만 비상업적 용도로만 사용할 수 있고, 2차 저작물도 같은 라이선스로 배포해야 합니다.

상업적 활용을 검토 중이라면 이 조건 때문에 그대로 쓸 수 없으므로, 도입 전에 라이선스 전문을 확인하고 필요하면 개발팀과 별도 협의를 거쳐야 합니다.

:framed_picture: LingBot-World 2.0 프로젝트 페이지 및 데모 영상

:scroll: LingBot-World 2.0 기술 보고서

:github: LingBot-World 2.0 프로젝트 GitHub 저장소

:hugs: LingBot-World 2.0 14B causal-fast 모델 다운로드

더 읽어보기




이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다. :hugs:

이 도구를 직접 설치해 사용해보셨다면, :pytorch:파이토치 한국 사용자 모임:south_korea: 회원들을 위해 경험이나 팁을 댓글로 남겨주세요! :folded_hands: