GN⁺: 디퓨전 모델은 실시간 게임 엔진임
(gamengen.github.io)Diffusion Models Are Real-Time Game Engines
- GameNGen: 신경 모델로 구동되는 최초의 게임 엔진으로, 복잡한 환경과의 실시간 상호작용을 고품질로 제공함
- DOOM 시뮬레이션: 단일 TPU에서 초당 20프레임 이상으로 고전 게임 DOOM을 상호작용적으로 시뮬레이션할 수 있음
- PSNR: 다음 프레임 예측에서 29.4 PSNR을 달성, 이는 손실 JPEG 압축과 유사함
- 인간 평가자: 인간 평가자가 게임 클립과 시뮬레이션 클립을 구별하는 데 있어 무작위 추측보다 약간 나은 수준임
전체 게임 플레이 비디오
에이전트 플레이를 통한 데이터 수집
- 자동 RL 에이전트: 대규모 인간 게임 플레이 데이터를 수집할 수 없기 때문에, 첫 번째 단계로 자동 RL 에이전트를 훈련시켜 게임을 플레이하게 하고, 이 훈련 에피소드의 행동과 관찰을 기록하여 생성 모델의 훈련 데이터로 사용함
생성적 확산 모델 훈련
- Stable Diffusion v1.4: 이전 행동과 관찰(프레임) 시퀀스를 조건으로 하는 작은 확산 모델을 재사용함
- 가우시안 노이즈 추가: 훈련 중 인코딩된 프레임에 가우시안 노이즈를 추가하여 컨텍스트 프레임을 손상시킴으로써, 네트워크가 이전 프레임에서 샘플링된 정보를 수정할 수 있도록 함. 이는 긴 시간 동안 시각적 안정성을 유지하는 데 중요함
잠재 디코더 미세 조정
- Stable Diffusion v1.4의 사전 훈련된 오토인코더: 8x8 픽셀 패치를 4개의 잠재 채널로 압축하는데, 이는 게임 프레임을 예측할 때 의미 있는 아티팩트를 초래함. 특히 작은 디테일과 하단 바 HUD에 영향을 미침
- 디코더 훈련: 이미지 품질을 향상시키기 위해, 목표 프레임 픽셀에 대해 MSE 손실을 계산하여 잠재 오토인코더의 디코더만 훈련함
GN⁺의 정리
- GameNGen은 신경 모델을 사용하여 실시간으로 복잡한 게임 환경과 상호작용할 수 있는 최초의 게임 엔진임
- DOOM 시뮬레이션을 통해 높은 품질의 프레임 예측을 제공하며, 인간 평가자가 실제 게임과 시뮬레이션을 구별하기 어려울 정도로 정교함
- Stable Diffusion v1.4와 같은 기존 모델을 재사용하여 효율성을 높였으며, 가우시안 노이즈 추가와 같은 기법을 통해 시각적 안정성을 유지함
- 잠재 디코더 미세 조정을 통해 이미지 품질을 개선하여 게임 프레임의 디테일을 보존함
Hacker News 의견
-
Google의 SD 1.4를 사용한 확산 모델이 예상보다 더 많은 원인, 결과, 순서를 포함하고 있음
- 무한 훈련 데이터를 얻기 위해 에이전트가 Doom을 플레이하게 함
- 소스 프레임에 가우시안 노이즈를 추가하고 에이전트가 순차 프레임을 '수정'하도록 보상함
- 모델이 오류 수정 및 안정성을 유지하도록 가르치는 것이 중요함
- 이 모델을 '사진 실사' 또는 레이 트레이싱 스타일로 미세 조정할 수 있을지 궁금함
-
이 논문은 실시간 사용자 입력을 받아 출력을 조정하는 시스템을 설명하지 않음
- 에이전트가 Doom을 플레이한 대규모 데이터 세트로 훈련됨
- 사용자 입력이 실시간으로 시뮬레이션에 반영되지 않음
- 논문에서 실시간 사용자 게임 플레이에 대한 설명이 생략됨
-
이 모델이 20fps로 렌더링할 수 있다는 것이 놀라움
- 확산 모델과 RNN의 교차점처럼 보임
- 모델이 많이 플레이한 게임을 꿈꾸는 것과 유사함
- 인간도 다음 순간을 예측하는 기계일 수 있음
-
Doom을 모든 것에 실행하려는 시도가 계속됨
- 이 모델은 가장 높은 하드웨어 요구 사항을 가진 Doom임
- 하드웨어 사양의 양 끝에 Doom이 위치함
-
무의미하다고 지적하는 댓글을 읽는 것이 재미있음
- 모든 것이 이익을 위해 만들어질 필요는 없음
- 학습 경험, 도전, 호기심을 위해 무언가를 만드는 것도 중요함
- 즐거움을 느끼는 시간은 결코 낭비가 아님
-
Doom 시스템 요구 사항과 Stable Diffusion v1 비교
- Doom: 4MB RAM, 12MB 디스크 공간
- Stable Diffusion v1: 860M UNet 및 CLIP ViT-L/14, 체크포인트 크기 4.27GB, TPU-v5e에서 실행
- 모델이 게임을 수백 번 기억할 수 있는 용량을 가졌음에도 불구하고 최적화의 여지가 많음
- 게임을 충분히 자동화하면 게임을 복제할 수 있음
-
게임 엔진의 역할은 세계를 렌더링하는 것임
- "이 문은 파란 키가 필요함"이라는 메시지가 사용자에게 파란 키를 제공하지 않음
- 게임 엔진은 새로운 게임을 만들고 기존 게임의 규칙을 실시간으로 수정할 수 있음
- 확산 모델은 게임 엔진이 아님
-
텍스트 조건이 제공되지 않았지만, 텍스트 프롬프트만으로 새로운 게임을 만드는 것이 가능할 수 있음
- RL을 사용하여 Doom의 모양과 작동 방식을 학습함
- 무한한 상태를 가진 오픈 월드 게임을 시뮬레이션하는 것은 어려울 것임