Genie 3 월드 모델: 인터랙티브 환경을 생성하는 방법
Genie 3의 월드 모델 기술에 대한 심층 분석: 프롬프트에서 일관되고 제어 가능한 3D 공간을 생성하는 방법을 알아봅니다.
작은 걸림돌에서 시작됐다. 워크숍을 위해 간단한 인터랙티브 씬을 프로토타입으로 만들어보려 했다. 거창한 건 아니었다. 캐릭터가 움직이고, 세계가 그에 자연스럽게 반응하는 작은 공간. 게임 엔진을 열고, 물리를 연결하고, 충돌 처리를 쫓느라 오후를 통째로 날리고 싶지 않았다. Genie와 “월드 모델”에 대한 언급을 계속 접하면서, **Genie 3 월드 모델**이 그 부담을 어느 정도 덜어줄 수 있을지 궁금해졌다.
나는 Dora다. 가장 새로운 것을 쫓는 게 아니라, 조용한 종류의 속도를 쫓는다. 머릿속 부담을 줄여주는 그런 속도. 최근(올해 1월)에 더 명확한 메모를 들고 내 발자취를 되짚어봤다. 기능 목록이 아닌, 작은 실제 작업에 월드 모델을 활용했을 때 실제로 어떤 느낌이었는지, 그리고 Genie 방식의 접근이 어떤 때 도움이 되고 어떤 때 방해가 되는지가 눈에 띄었다.
월드 모델이란 무엇인가
월드 모델은 학습된 시뮬레이터다. 규칙을 직접 코딩하는 대신(중력은 이렇게 작동하고, 벽은 저렇게 작동한다), 모델을 훈련시켜 씬에서 다음에 무슨 일이 일어날지 예측하게 한다. 잘 만들어진 모델은 프레임의 외관만이 아니라, 시간이 지나도 프레임이 의미를 갖게 만드는 근본적인 규칙까지 학습한다.
나는 Ha와 Schmidhuber의 World Models 연구에서 나온 원래의 프레이밍을 좋아한다: 세계를 압축된 표현으로 담아내고, 그 표현이 어떻게 변화하는지 학습하고, 이를 계획이나 행동에 활용하는 것. 이후 연구는 그 아이디어를 비디오로 확장했다. 모델은 수많은 영상을 보며 일종의 내부 물리학을 학습한다. 적어도 눈에 보이는 부분만큼은. 그런 다음 모델에 (행동으로) 자극을 주면, 모델이 다음 상태를 예측한다.
이것은 텍스트-투-비디오 생성기와는 다르다. 일반적인 생성기는 그럴듯한 프레임을 그려낸다. 월드 모델은 인과관계를 유지하려 한다. 내가 왼쪽을 누르면, 플레이어가 왼쪽으로 이동한다. 공이 바닥에 부딪히면, 학습한 것과 일치하는 방식으로 튕겨 오른다. 그 보상은 상호작용성이다. 모델은 단순히 세계를 보여주는 게 아니라, 학습된 규칙 안에서 살아갈 수 있게 해준다.
실제로 그 “안에 있는” 느낌은 몇 가지에 달려 있다:
- 압축된 상태 공간 (모델이 그것으로 사고할 수 있도록),
- 역학 모델 (상태가 어떻게 변하는지 알 수 있도록),
- 그리고 입력을 모델의 행동 개념과 연결하는 방법.
Genie 방식의 시스템은 이 세 가지 모두를 목표로 한다. 그것이 나를 끌어들인 약속이었다: Genie 3 월드 모델이 작은 프로토타입에서 복잡한 연결 작업을 건너뛰면서도 그럴듯한 동작을 구현하게 해줄 수 있을까?
Genie 3가 세계를 구축하는 방법
여기서 “Genie 3”는 내가 접한 최신 Genie 연구의 물결을 가리키는 현재 통용되는 약칭이다. 문서화된 기반은 2024년 논문인 Genie: Generative Interactive Environments로, 핵심 접근 방식을 설명한다. 온라인에서는 버전이나 명칭이 다르게 쓰이기도 하지만, 메커니즘은 대체로 동일하다.
문서와 내가 직접 재현해본 내용을 바탕으로, 쉽게 풀어 설명하면 다음과 같다:
- 첫째, 시스템은 시각적 어휘를 학습한다. 원시 프레임은 복잡하고 고차원적이므로, Genie는 비디오를 이산 토큰으로 압축하는 토크나이저를 훈련시킨다. 이렇게 하면 세계가 모델이 조작할 수 있는 압축된 코드로 “말하게” 된다.
- 둘째, 세계가 움직이는 방식을 학습한다. 역학 모델은 현재 토큰과 행동 개념을 입력받아 다음 토큰을 예측한다. 여기서부터 물리학처럼 느껴지기 시작한다. 모델은 질량이나 힘을 계산하는 게 아니라, 자주 보았기 때문에 물리처럼 보이는 일관된 움직임 패턴을 예측한다.
- 셋째, 비디오에서 행동을 학습한다. 게임의 내부 컨트롤을 읽는 대신, Genie는 사람들이 비디오에서 상호작용하는 모습을 보고 행동 공간을 추론한다(게임플레이 영상이 도움이 된다). 그런 다음 실행 시, 키보드나 컨트롤러 신호가 학습된 행동 공간으로 매핑된다. 모델이 이해하는 방언으로 말하는 것과 같다.
- 마지막으로, 토큰을 다시 볼 수 있고 상호작용할 수 있는 프레임으로 디코딩한다. 한 번에 한 단계씩.
이것이 나에게 유용했던 이유는 참신함 때문이 아니라, 필요한 노력의 수준 때문이었다. 나는 2D 플랫포머에서 캐릭터가 움직이는 짧은 클립(약 20초)으로 시작했다. 토크나이징, 사전 훈련된 백본 위에 작은 역학 헤드 피팅, 입력 매핑 보정 등 몇 번의 과정을 거친 후, 캐릭터를 움직이고 세계가 반응하는 것을 볼 수 있었다. 첫 번째 실행은 불안정했다. 가장자리가 떨렸고, 캐릭터가 가끔 유령처럼 벽을 통과했다. 하지만 루프가 짧았다: 조정하고, 실행하고, 관찰한다. 저녁 내내 조작한 끝에, 5초마다 사과하지 않아도 될 만큼 동작이 안정됐다.
두 가지 작은 순간이 눈에 띄었다:
- 잠재 제어가 더 친절하게 느껴졌다. 픽셀 대신 토큰으로 작업하면 작은 변화가 예측 가능한 효과를 냈다. 픽셀 단위의 아티팩트를 쫓느라 시간을 낭비하지 않았다.
- 입력 매핑이 진짜 작업이었다. 내 키 입력을 모델의 추론된 행동 공간으로 변환하는 데 예상보다 훨씬 많은 시행착오가 필요했다. 하지만 딱 맞아떨어지는 순간, 제어감이 즉각적으로 느껴졌다. 새 트랙패드의 감도를 익히는 것과 같았다.
주의사항: 여전히 의도한 동작과 일치하는 데이터가 필요하다. 클립에 점프가 없다면, 깔끔한 점프를 기대하지 마라. 모델은 환각을 일으킬 수 있지만, 학습한 내용의 결을 따라 환각을 일으킬 것이다.
일관성과 물리 처리
사람들이 “실제처럼 느껴진다”고 말할 때, 대개 두 가지를 가리킨다: 시간이 흘러야 하는 방식으로 흐르고, 공간이 제대로 유지된다는 것. Genie 방식의 월드 모델은 일부 특이점은 있지만, 두 가지 모두에서 진전을 이룬다.
시간적 일관성
초기 실행에서는 비디오 모델에서 흔히 볼 수 있는 흔들림이 있었다: 객체가 표류하다가 다시 스냅되는 현상. 시간적 일관성은 모델의 약점에 맞서 싸우는 대신 강점을 활용할 때 개선됐다. 짧은 롤아웃에 빈번한 행동 입력을 결합하면 더 명확한 앵커를 제공했다. 10초의 자유 주행 생성을 밀어붙이려 할 때 이음새가 드러났다.
실제로, 모델은 단기 모멘텀을 매우 잘 유지하는 경향이 있다. 공이 굴러가고 있으면 계속 굴러간다. 캐릭터가 점프 중이면, 다음 수십 프레임 동안 호가 부드럽게 이어진다. 더 긴 호는, 특히 카메라 패닝이나 가려짐 이후에, 흐름을 잃고 새로운 흐름을 만들어낼 수 있는 곳이다. 나는 시간이 통제된 방식으로 계속 흐르고 있음을 상기시키기 위해 부드러운 “핑”(몇 프레임마다 작은 no-op 입력)을 추가하기 시작했다. 그것으로 깜빡임이 어느 정도 줄었다.
지연 시간 대 안정성 문제도 있다. 더 빠른 디코딩은 매력적이지만, 작은 대가가 있었다: 속도를 높이면 미세한 시간적 지터가 발생했다. 거의 보이지 않지만, 조종하는 동안 느껴진다. 디코더를 약간 더 느리고 안정적인 설정으로 조정하면 제어 루프가 더 안정적으로 느껴졌다. 몇 분을 절약해준 건 아니지만, 불필요한 의심을 줄여줬다.
공간적 일관성
공간적 일관성은 사물이 있어야 할 곳에 머물러 있는지, 세계가 자체 레이아웃을 존중하는지의 문제다. 충돌이 가장 명확한 테스트다. Genie 방식의 모델에서 충돌은 코딩된 게 아니라 학습된 것이다. 벽이 훈련 클립에서 명확하고 일관되게 나타나면, 모델은 대개 그것을 경계로 취급한다. 벽이 부드럽거나 모호하면 누수를 예상하라.
단순하고 고대비 씬에서 더 좋은 결과를 얻었다. 깔끔한 실루엣을 가진 플랫포머는 패럴랙스 레이어가 있는 복잡한 씬보다 경계 위반이 적었다. 모델이 공간을 깨뜨릴 때, 예를 들어 캐릭터가 모서리를 통과할 때, 두 가지 해결책을 찾았다:
- 행동 공간을 조정한다. 때로는 모델이 명령을 따르고 있었지만, 컨트롤이 너무 강하게 밀고 있었다. 최대 입력 크기를 제한하면 학습된 벽을 “압도”하는 것을 막을 수 있었다.
- 키프레임으로 재정렬한다. 몇 초마다 실제 프레임을 입력(순수 자기회귀 대신)하면 모델이 실제로 학습한 맵으로 돌아왔다. 우아하진 않지만, 효과가 있었다.
한 가지 더: 카메라 모션. 소스 비디오에서 카메라가 고정되어 있으면 모델이 공간을 더 잘 유지했다. 카메라가 흔들리면, 모델이 가끔 세계 모션과 카메라 모션을 혼합하여 객체가 흔들렸다. 가능하면 카메라를 고정하라.
전통적인 방법에 비한 장점
게임 엔진에서 직접 만든 프로토타입과 비교했을 때, Genie 3 월드 모델은 거래처럼 느껴졌다: 정밀도를 포기하고, 속도와 유연성을 얻었다. 작은 실험에서는 공정한 거래였다.
- 낮은 설정 비용. 물리를 직접 연결하거나 타일 맵을 만들지 않았다. 클립을 입력하고, 입력을 매핑하고, 그날 안에 인터랙티브한 무언가를 만들어냈다. 시간 절약이 시계 기준으로 크진 않았지만(아마 몇 시간), 줄어든 정신적 부담이 중요했다. 더 적은 결정, 더 적은 토끼굴.
- 자연스러운 스타일 전환. 시각과 역학이 함께 학습되기 때문에, 소스 클립의 “느낌”이 그대로 전달된다. 입력에 반응하면서도 음울하고 거친 느낌의 세계를 원한다면, 별도의 조명 작업 없이 구현할 수 있다.
- 통합된 이터레이션. 조정은 한 곳, 즉 데이터와 모델에서만 이루어진다. 물리 패널, 셰이더, 상태 머신 사이를 오갈 필요가 없었다. 하나의 피드백 루프다.
물론 한계도 있다. 픽셀 완벽한 충돌, 결정론적 물리, 또는 흔들림 없는 긴 시간 범위가 필요하다면 전통적인 엔진이 여전히 우위에 있다. 그리고 데이터에 특정 동작이 없으면, 모델이 그것을 안정적으로 만들어내지 못한다. 프로덕션이나 안전이 중요한 환경에서는 월드 모델에 가드레일을 결합하거나 코드로 폴백하겠다.
내게 이것이 중요한 이유: 월드 모델은 아이디어를 시도하는 마찰을 줄여준다. 출시하기 위해서가 아니라, 다음 단계로 나아갈 가치가 있는지 확인하기 위해. 프로토타입 속에서 사는 사람에게는 선물이다.





