TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 26 READS

엔비디아 DLSS 5 신경 렌더링망을 비트 단위로 재현한 오픈소스 'OpenDLSS-NR'

엔비디아 DLSS 5 신경 렌더링망을 비트 단위로 재현한 오픈소스 'OpenDLSS-NR'
SOURCE IMAGE · HACKER NEWS

엔비디아의 최신 DLSS 기술 가운데 신경 렌더링(Neural Rendering) 부분을 벌칸(Vulkan)으로 처음부터 다시 구현한 오픈소스 프로젝트 OpenDLSS-NR이 공개됐다. 이 프로젝트의 핵심 주장은 단순한 '비슷한 구현'이 아니라 원본과 비트 단위로 동일하다는 점이다. 개발자는 DLSS-NR 빌드 310.8.0과 같은 71개 블록 구조의 Swin/ViT 네트워크를 텐서 코어 위에서 FP8로 돌렸고, 최종 이미지뿐 아니라 75개 블록 경계의 중간 산출값까지 바이트 단위로 일치한다고 설명한다. 그래픽 파이프라인처럼 작은 수치 오차가 누적되기 쉬운 영역에서 중간값까지 맞춘다는 것은 상당히 높은 수준의 재현 목표다.

업스케일러가 아니라 '재렌더링' 네트워크

많은 사람이 DLSS를 해상도를 끌어올리는 업스케일러로 알고 있지만, 여기서 다루는 신경 렌더링은 성격이 다르다. 입력과 출력 해상도가 같고, 엔진이 이미 그린 프레임을 다시 렌더링한다. 주입된 노이즈로부터 디테일을 만들어내고, 스타일 설정에 따라 톤과 구조, 피부 표현을 조정하는 '생성형(generative)' 방식이다. 구조적으로는 여섯 단계 풀링에 걸친 71개의 시프트드-윈도우 트랜스포머 블록으로 이뤄진 U-Net에, 가장 아래 단계에 전역 ViT를 둔 형태다. 활성값은 FP8(E4M3), 누적은 FP16으로 처리하며 가중치 크기는 141MiB다.

입력은 렌더링된 프레임 한 장의 저동적범위(LDR) 프록시와 세 채널의 가우시안 노이즈, 재투영된 이전 프레임 출력, 그리고 다섯 개의 조건 스칼라값이다. 출력은 픽셀마다 네 개의 f32 채널로, RGB 잔차(residual)와 시간적 혼합을 결정하는 로짓 하나로 구성된다. 원본 모델에 대한 설명은 엔비디아의 보고서 'DLSS 5: Generative Neural Rendering'에 담겨 있다.

텐서 코어 없이도 돌아가는 두 번째 구현

흥미로운 점은 벌칸 구현과 별개로 WebGPU 포트가 함께 들어 있다는 것이다. 이 브라우저용 구현은 텐서 코어도, FP8도 쓰지 않으면서 같은 바이트 결과를 낸다. 특수 하드웨어 경로에 의존하지 않고도 동일한 수치를 재현할 수 있음을 보여주는 독립 검증 역할을 하는 셈이다. 데모는 더블클릭으로 실행할 수 있고, scenes 폴더의 장면 목록을 드롭다운으로 보여주며 glTF 파일을 직접 지정해 불러올 수도 있다.

성능은 RTX 4070 SUPER 기준으로 전체 네트워크를 프레임마다 돌렸을 때 40프레임 중 최솟값으로 측정했다. 어떤 해상도에서든 241회의 디스패치가 발생한다. 개발자는 GPU가 지속 부하에서 두 가지 클럭 상태를 오가기 때문에 중앙값은 몇 퍼센트 높게 나오며, 비교할 때는 최솟값을 봐야 한다고 못 박는다. 벤치마크를 읽을 때 유의할 대목이다.

검증을 전제로 설계된 프로젝트

이 저장소에서 가장 특징적인 부분은 정합성(parity) 검증 체계다. nr::Model은 manifest.json을 읽어 stage 파일에 담긴 E4M3 가중치를 커널이 쓰는 행렬 형태로 다시 배치한다. 네트워크 그래프는 310.8.0의 71블록 구조로 고정돼 있어, 블록 수가 다른 모델은 로드 단계에서 거부된다. 검증은 GPU가 실행되기 전에 모두 수행되며, 참조가 없는 선언이나 그래프에 존재하지 않는 이름을 가리키는 참조 등 조건을 하나라도 어긴 픽스처는 그대로 거부된다. 판정은 비트 단위 일치(통과), 0의 부호까지만 다른 경우(실패), 8비트 캡처에서 한 코드 이내 차이, 그리고 불일치로 나뉜다.

다만 실무자가 반드시 짚어야 할 한계가 분명하다. 가중치는 사용자가 직접 제공해야 하며, 저장소 안에는 그런 모델 디렉터리를 만들어내는 도구가 없다. 비교 기준이 되는 원본 캡처 역시 포함돼 있지 않다. 즉 코드 자체는 MIT 라이선스로 공개됐지만, 실제로 돌리려면 별도로 확보해야 하는 모델 데이터가 전제된다. 또한 DLSS-SR(초해상도)은 별개의 네트워크로 구현 대상이 아니다. 시간적 경로는 데모 안에서 재투영 피드백 루프로 구현돼 있지만, 레퍼런스 캡처를 만든 dlss5vk 도구는 히스토리 없이 단일 프레임만 처리한다.

프로젝트는 엔비디아와 무관하며 엔비디아의 소프트웨어, 가중치, 헤더, 또는 그 입수 방법을 일절 포함하지 않는다고 명시한다. 어떤 모델 데이터를 쓰든 그에 적용되는 라이선스 책임은 사용자에게 있다는 경고도 붙어 있다. 결국 OpenDLSS-NR은 바로 쓰는 제품이라기보다, 상용 신경 렌더링망의 내부 구조와 수치 동작을 공개 코드로 재현해 연구하고 검증할 수 있게 만든 레퍼런스에 가깝다. GPU 추론 파이프라인의 정밀한 비트 재현이 어떤 수준까지 가능한지, 그 방법론이 궁금한 실무자에게는 들여다볼 가치가 있는 사례다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/maanHimself/OpenDLSS-NR
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...