Talus: 게임 지형을 위한 23M 파라미터 확산 모델 (WebGPU에서 브라우저 실행)
요약
Talus는 지형 유형과 5가지 속성 조건화가 가능한 23M 파라미터 확산 모델입니다. 이 모델은 WebGPU를 통해 브라우저에서 구동 가능하며, 64x64 높이맵(최대 1,200m)을 생성합니다. 개발자는 절차적 생성기로 만든 45,000개 지도를 학습 데이터로 사용했으며, 높은 성능의 테스트 결과를 보여주었습니다.
핵심 포인트
- 지형 조건화가 가능한 확산 모델 Talus를 소개함.
- WebGPU와 ONNX Runtime Web을 사용하여 브라우저 구동이 가능함.
- 높은 품질의 높이맵 생성이 가능하며, 다양한 지표에서 우수한 성능을 보임.
- 개발자는 능선과 스펙트럼 대역 개선에 대한 조언을 요청하고 있음.
Talus는 지형 유형과 측정된 다섯 가지 속성 중 임의의 부분집합에 조건화되어 64x64 높이맵(4km, 최대 1,200m)을 생성합니다. 저는 RTX 5060 한 대에서 총 약 4.5시간 동안 여러 버전에 걸쳐 처음부터 이를 학습시켰습니다. 데이터는 제가 직접 만든 절차적 생성기(fBm/ridged noise, stream-power erosion, hillslope diffusion, thermal erosion)로 만든 45,000개의 지도입니다. 모델은 Pixel-space U-Net, v-prediction, cosine schedule, quadratic spacing을 사용한 50단계 DDIM과 classifier-free guidance 2.0으로 구성되어 있습니다. 각 속성은 학습된 '알 수 없음(unknown)' 임베딩을 가지며, 훈련 중 독립적으로 제거되므로 어떤 부분집합이든 추론 시 작동합니다. 상대 높이의 경우: 모델은 지도의 모양을 그 리리프(relief)로 정규화하여 생성하고, 샘플러는 요청된 평균 고도와 리리프로 배치합니다 (지정되지 않은 경우 16개 가장 가까운 학습 지도에서 가져옴). 이 고정된 거친 평야의 경우: 평야 거리 비율이 3.98에서 1.23으로 감소했습니다.
평가: 모든 거리(W1 over 25 per-map terrain metrics, radially averaged power spectrum, 높이 및 경사 분포)는 실제 지도 두 개의 분리된 절반 사이의 동일한 거리에 의해 나누어지므로, 1.0은 해당 샘플 크기에서 구별할 수 없음을 의미합니다. 체크포인트는 VAL에서 선택되었으며, TEST 점수는 한 번에 측정되고 암기 여부는 학습 데이터셋과 비교됩니다. 현재 모델의 TEST 성능: 지표 W1은 기준치보다 1.51배, 스펙트럼은 9.1배, 경사는 1.65배입니다.
브라우저: fp16으로 저장된 가중치를 가진 ONNX 내보내기(로드 시 fp32로 캐스팅), WebGPU에서 ONNX Runtime Web을 사용하며, RTX 5060에서 지도당 약 3초가 소요됩니다 (CPU 폴백). 샘플러의 JavaScript 재구현은 기준 샘플에 대해 PyTorch와 0.6m 이내의 일치를 보입니다.
데모: https://talus.tersa.tech 코드, 가중치, 점수표(Apache-2.0): https://github.com/osfv/talus
개선할 점: 능선과 가장 미세한 스펙트럼 대역, 너무 매끄러운 산맥과 너무 거친 평야입니다. 만약 작은 확산 모델에서 이처럼 스펙트럼 간의 격차를 메운 경험이 있다면 어떤 것이 효과적이었는지 듣고 싶습니다.
제출자: u/Old_Cow_6636 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/MachineLearning (hot)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기