AI Briefing

OpenDLSS-NR, DLSS 5 신경망의 71블록 구조를 FP8으로 비트 단위 재현

·2026.09.30 17:43

핵심 내용

OpenDLSS-NR이 DLSS 5 신경망의 71블록 구조를 FP8으로 비트 단위 재현했다.

1 / 2

자세히 보기

프로젝트 개요

OpenDLSS-NR은 NVIDIA의 DLSS 5 Neural Rendering 네트워크를 **비트 단위 정확도(bit-exact)**로 재현한 Vulkan 기반 프로젝트다. DLSS-NR build 310.8.0에 포함된 71블록 Swin / ViT 네트워크를 복제하며, NVIDIA 텐서 코어에서 FP8 (E4M3) 활성값과 FP16 누적을 사용한다. 일반적인 업스케일러와 달리 이 네트워크는 동일한 해상도로 프레임을 다시 렌더링하여 주입된 노이즈에서 디테일을 생성하고 톤과 구조를 조정한다.

기술 구현

  • 아키텍처: 하단에 전역 ViT를 둔 이동 윈도우 트랜스포머 블록의 U-net으로, 6단계 풀링 수준을 거친다. 141 MiB의 가중치를 처리하며 픽셀당 네 개의 f32 채널(RGB 잔차 및 시간 혼합 로짓)을 출력한다.
  • 정확도: 최종 이미지뿐 아니라 모든 75개 블록 경계에서 바이트 단위로 일치한다. 보조 WebGPU 포트(ports/browser-webgpu/)는 텐서 코어나 FP8 지원 없이 브라우저 환경에서 동일한 비트 정확도를 달성하지만, 성능은 크게 낮다(512x512에서 72 ms vs Vulkan의 2.7 ms).
  • 커널: 프로젝트는 두 가지 경로를 사용한다. 참조용 GLSL 경로는 협동 행렬 FP8 GEMMs를 사용하며, 빠른 PTX 경로는 Python으로 생성되어 mma.sync E4M3 명령어, cp.async 링, 장벽 없는 체이닝을 활용한다.

성능 벤치마크

RTX 4070 SUPER에서 측정된 성능(40프레임 최소값, 프레임당 241회 디스패치):

| 해상도 | 시간 | | :--- | :--- | | 768x768 | 2.8 ms | | 1920x1080 | 7.8 ms | | 2560x1440 | 12.6 ms | | 3840x2160 | 29.3 ms |

요구 사항 및 한계

  • 하드웨어: Windows와 NVIDIA Ada(또는 그 이상) GPU가 필요하며, VK_KHR_cooperative_matrix, VK_NV_cooperative_matrix2, VK_EXT_shader_float8, VK_NV_cuda_kernel_launch를 노출하는 드라이버가 요구된다.
  • 가중치: 저장소에는 NVIDIA 가중치가 포함되어 있지 않다. 사용자는 특정 레이아웃(manifest.json과 함께 패킹된 E4M3 바이트)의 모델 디렉터리를 직접 제공해야 한다. 로더는 71블록 구조를 엄격하게 강제하며 다른 블록 수의 모델은 거부한다.
  • 범위: 이 구현은 Neural Rendering (NR) 네트워크만 다룬다. DLSS-SR(Super Resolution)은 다른 네트워크이며 구현되지 않았다. 프로젝트는 MIT 라이선스이며 NVIDIA와 공식적으로 관련이 없음을 명시한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.