이미지·영상 생성
최종 업데이트
Mac에서 DIAMOND 실행하기: CSGO 월드 모델을 MPS로 조작하는 법
이동과 시점 조작을 입력하면 AI가 다음 게임 화면을 생성해요.
DIAMOND는 입력 행동을 받아 다음 게임 화면을 확산 모델1로 생성하는 월드 모델이에요. 이 가이드는 원본 eloialonso/diamond 저장소의 csgo 브랜치를 설치하고 Apple Silicon에서 MPS CPU2 fallback을 켜 조작 화면을 여는 방법을 안내해요.
입력을 받아 다음 게임 화면을 만드는 모델이에요
DIAMOND는 현재 게임 화면과 플레이어의 행동을 바탕으로 다음 화면을 그리는 확산 월드 모델이에요. 연구용 CSGO 브랜치에서는 행동을 입력하면 모델이 다음 프레임3을 생성하고, 화면의 상태가 이어지도록 반복해요. 아래 절차는 Mac에서 직접 조작할 수 있는 이 CSGO 경로를 사용합니다.
Mac에서는 원본 저장소 eloialonso/diamond의 csgo 브랜치를 사용해요. MPS가 지원하지 않는 연산을 CPU에 맡기도록 설정하면, 모델이 만든 화면을 보며 직접 이동하고 시점을 바꿔볼 수 있어요.

원본 CSGO 브랜치를 준비해요
Apple Silicon이 들어간 Mac과 conda가 필요해요. 프로젝트는 Python 3.10 환경을 안내하며, CSGO 플레이 경로는 첫 실행 때 Hugging Face에서 모델 가중치와 스폰 지점·플레이어 행동 자료를 내려받아요. 공개 안내의 가중치 크기는 1.5GB예요. 이 경로에는 Atari ROM이 포함되지 않습니다.
git clone https://github.com/eloialonso/diamond.git
cd diamond
git switch csgo
conda create -n diamond python=3.10 -y
conda activate diamond
python -m pip install -r requirements.txtMPS fallback을 켜고 조작 창을 열어요
Apple Silicon에서 일부 PyTorch4 연산이 MPS로 처리되지 않으면 PyTorch가 CPU로 넘기도록 환경 변수를 지정해요. 아래 명령은 실행하는 한 번의 프로세스에만 설정을 적용합니다. 첫 실행은 모델 파일을 내려받으므로 인터넷과 저장 공간이 필요해요.
PYTORCH_ENABLE_MPS_FALLBACK=1 python src/play.py생성된 게임 화면은 조작 가능한 창에 표시돼요. 실행이 멈추면 터미널의 첫 traceback을 보고, 현재 위치가 저장소 안인지와 git branch --show-current 결과가 csgo인지 확인하세요.
Atari 예제는 ROM 사용 권한부터 확인해요
Atari 예제도 해보고 싶다면 기본 브랜치의 사전학습 모델을 사용할 수 있어요. 이 경로는 의존성을 설치할 때 Atari ROM을 함께 내려받으므로, 먼저 ROM을 사용할 라이선스가 있는지 확인해야 해요. 이용 권한을 확인한 경우에만 아래 절차를 진행하세요.
git switch main
conda create -n diamond-atari python=3.10 -y
conda activate diamond-atari
python -m pip install -r requirements.txt
python src/play.py --pretrained
첫 실행 오류와 화면 상태를 점검해요
No module named ...가 나오면 diamond conda 환경이 활성화됐는지 확인하고 그 환경에서 requirements 설치를 다시 확인해요. 모델 다운로드가 끊기면 오류에 표시된 Hugging Face 파일을 다시 받을 수 있도록 연결과 디스크 여유를 확인한 다음 같은 실행 명령을 다시 입력하세요. MPS 관련 연산 오류는 환경 변수가 빠지지 않았는지, 명령 앞에 PYTORCH_ENABLE_MPS_FALLBACK=1을 붙였는지 살펴봅니다.
시작 로그의 device가 mps면 Mac GPU5를 사용하고 있어요. cpu가 선택됐다면 화면 갱신이 느려지므로, 설치한 PyTorch가 MPS를 지원하는지 먼저 확인하세요.
다른 월드 모델도 살펴보세요
DIAMOND의 조작 화면을 본 뒤에는 다른 모델이 어떤 입력을 받는지 비교해보세요. 월드 모델 입문은 여섯 프로젝트의 용도를 나눠 설명해요. RTX 5090에서 게임 엔진과 AI 렌더링을 함께 써보고 싶다면 Matrix-Game 4.0 가이드로 이어갈 수 있어요.

용어 각주
확산 모델 — 학습 중 데이터에 노이즈를 더하고 이를 되돌리는 과정을 익힌 뒤, 생성 때 노이즈에서 출발해 데이터를 만드는 모델 계열입니다. 이미지·음성·영상 생성에 쓰입니다.
본문으로 돌아가기CPU — 운영체제와 일반 프로그램 명령을 실행하고, AI에서는 전처리·데이터 이동 등 범용 연산을 맡는 중앙 처리 장치입니다.
본문으로 돌아가기프레임 — 영상의 한 장면을 이루는 단일 이미지입니다.
본문으로 돌아가기PyTorch — AI 모델을 만들고 실행하는 소프트웨어 프레임워크입니다. 모델과 함께 호환되는 PyTorch 버전 및 하드웨어 지원도 확인해야 합니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- DIAMOND는 입력 행동을 받아 다음 게임 화면을 확산 모델로 생성하는 월드 모델이에요. 이 가이드는 원본 eloialonso/diamond 저장소의 csgo 브랜치를 설치하고 Apple Silicon에서 MPS CPU fallback을 켜 조작 화면을 여는 방법을 안내해요.
- 조건과 출처는 어디서 확인하나요?
- Atari 예제도 해보고 싶다면 기본 브랜치의 사전학습 모델을 사용할 수 있어요. 이 경로는 의존성을 설치할 때 Atari ROM을 함께 내려받으므로, 먼저 ROM을 사용할 라이선스가 있는지 확인해야 해요. 이용 권한을 확인한 경우에만 아래 절차를 진행하세요.
