안녕하세요, MoonLight입니다.
nVidia RTX 50 시리즈가 발표되었고, 성능과는 별개로 다양한 문제들로 인해서 시끌시끌합니다.
이 기회를 놓치지 않고 AMD가 9070으로 좋은 기회를 맞이하고 있습니다만, 이런 이야기말고 nVidia가 새롭게 발표한 DLSS 4.0에 대한 기술적 이야기와 AMD의 경재 기술인 FSR도 같이 이야기해 볼까 합니다.
1. DLSS (Deep Learning Super Sampling)
DLSS는 nVidia가 개발한 AI 기반 업스케일링 기술의 이름입니다.
Deep Learning Super Sampling의 약자로, 낮은 해상도에서 렌더링된 게임 이미지를 AI를 활용해 고해상도 이미지로 업스케일링하여 화질 저하를 최소화하면서 프레임률을 향상시키는 기술을 통틀어 일컫는 용어입니다.
NVIDIA DLSS 4 Technology
Supreme Speed. Superior Visuals. Powered by AI.
www.nvidia.com
2. DLSS 핵심 기술 및 작동 원리
DLSS는 크게 Super Resolution , Ray Reconstruction , Frame Generation , Multi-Frame Generation , Deep Learning Anti-Aliasing로 이루어져 있는데 하나씩 알아보도록 하겠습니다.
2.1. Super Resolution
초기 DLSS (1.0, 2.x)는 CNN(Convolutional Neural Network)기반의 공간적 업스케일링(Spatial Upscaling)을 사용했습니다.
CNN은 이미지의 공간적 특징(픽셀 간의 관계)을 추출하여 저해상도 이미지를 고해상도로 확대합니다.
일반적으로 딥러닝을 이용한 해상도 향상은 U-Net과 같은 구조를 이용하지 않았을까 추측합니다.
하지만, 이 방식에서는 움직임이 많은 장면이나 복잡한 텍스처에서 아티팩트(artifacts)나 블러링(blurring)이라는 그림이 깨지는 현상이 발생했습니다.
DLSS 2.x에서는 Temporal Feedback이라는 것을 활용하는 방식으로 개선되었습니다.
이전 프레임의 정보(모션 벡터, 이전 프레임의 고해상도 출력 등)를 활용하여 현재 프레임의 업스케일링 품질을 향상시키는 방식입니다.
이를 통해 움직임이 많은 장면에서도 안정적인 이미지 품질을 제공합니다.
시간적 축적 (Temporal Accumulation)이란 이전 프레임의 고해상도 출력 이미지를 현재 프레임의 업스케일링에 사용하여 시간적 일관성을 유지하고, 깜빡임(flickering) 현상을 줄입니다.
모션 벡터 (Motion Vectors)는 게임 엔진에서 제공하는 모션 벡터를 사용하여 이미지 내 객체의 움직임을 추적하고, 이를 업스케일링 과정에 반영하여 움직임으로 인한 블러링을 줄입니다.
DLSS 3.5, 4.0에 들어와서는 CNN 기법 대신에 NLP 분야에서 혁신적인 향상을 이끌어냈던 Transformer 모델을 도입하여 이미지 품질을 더욱 개선했습니다.
Transformer는 어텐션 메커니즘(Attention Mechanism)을 사용하여 이미지 내의 장거리 픽셀 간의 관계를 효과적으로 모델링하는데, 이는 특히 텍스처의 디테일을 살리고, 앨리어싱(aliasing)을 줄이는 데 효과적입니다.
nVidia의 발표에 따르면, Transformer 모델은 CNN 모델에 비해 파라미터 수는 2배, 계산량은 4배 더 많지만, 이미지 품질은 훨씬 뛰어나다고 합니다.
NLP에서 주로 사용하던 Image 분야에서 사용하려던 연구가 많이 이루어졌고, 이는 Vision Transformer (ViT)와 같은 구조를 이용하였을 것이라고 추측합니다.
작동 원리
1) 저해상도 렌더링 : 게임 엔진은 낮은 해상도(예: 1080p)에서 이미지를 렌더링합니다. 이 때, 모션 벡터, 깊이 정보 등 추가적인 정보도 함께 생성됩니다.
2) 특징 추출 : CNN 또는 Transformer 기반의 DLSS 모델은 저해상도 이미지와 추가 정보(모션 벡터, 깊이 정보)를 입력으로 받아 이미지의 특징을 추출합니다.
3) 업스케일링 및 디테일 복원 : 추출된 특징을 바탕으로 DLSS 모델은 고해상도 이미지를 생성합니다. 이 과정에서 딥러닝 모델은 학습된 데이터를 기반으로 누락된 디테일을 예측하고 복원합니다.
CNN은 디콘볼루션(deconvolution) 또는 업샘플링(upsampling) 레이어를 사용하여 이미지를 확대합니다. Transformer는 디코더 네트워크를 사용하여 고해상도 이미지를 생성합니다.
4) 시간적 안정성 확보 (Temporal Stability): DLSS 2.x 이상에서는 이전 프레임의 정보를 활용하여 시간적 안정성을 확보합니다. 이전 프레임의 업스케일링된 이미지와 현재 프레임의 모션 벡터를 사용하여 현재 프레임의 업스케일링 결과를 조정합니다.
2.2. Ray Reconstruction
DLSS 3.5에서 처음 도입된 기술로, Ray Tracing 효과의 품질을 향상시키는 기술입니다.
기존의 노이즈 제거(denoising) 기법 대신 AI를 활용하여 레이 트레이싱된 이미지의 노이즈를 제거하고, 더 선명하고 정확한 광원 효과를 표현합니다.
작동 원리
1) Ray Tracing : 게임 엔진은 광선을 추적하여 장면의 조명, 그림자, 반사 등을 계산합니다. 하지만, 계산량을 줄이기 위해 제한된 수의 광선만 사용하므로 노이즈가 발생합니다.
2) AI 기반 노이즈 제거 : DLSS Ray Reconstruction은 AI 모델(신경망)을 사용하여 레이 트레이싱된 이미지의 노이즈를 제거합니다. 이 모델은 다양한 Ray Tracing 장면(다양한 재질, 조명 조건 등)을 학습하여 노이즈 패턴을 파악하고, 이를 효과적으로 제거합니다.
3) 고품질 Ray Tracing 효과: 노이즈가 제거된 이미지는 더 선명하고 사실적인 레이 트레이싱 효과를 제공합니다. 특히, 반사되는 표면이나 복잡한 조명 환경에서 큰 효과를 발휘합니다.
4) Ray Tracing Denoising: AI 모델은 레이 트레이싱으로 만들어진 샘플들을 조합해서 더 정확하고 선명한 픽셀을 만듭니다.
2.3. Frame Generation
DLSS 3.0에 도입된 기술로, AI를 사용하여 완전히 새로운 프레임을 생성하여 프레임률을 획기적으로 늘리는 기술입니다.
Optical Flow Accelerator (OFA)라는 하드웨어 가속기를 활용하는데, 여기서 말하는 Optical Flow란 이미지 내 픽셀들이 시간에 따라 어떻게 움직이는지를 나타내는 벡터 필드를 일컫는 말입니다.
Optical Flow Accelerator (OFA)
nVidia RTX 40 시리즈 GPU에 탑재된 하드웨어 가속기로, 이미지 시퀀스에서 픽셀의 움직임(Optical Flow)을 분석하는 데 특화되어 있습니다. DLSS Frame Generation은 OFA를 사용하여 이전 프레임과 현재 프레임 사이의 움직임을 정밀하게 추정합니다.
작동 원리
1) Optical Flow 분석: OFA는 이전 프레임과 현재 프레임의 이미지 데이터와 모션 벡터를 입력으로 받아 픽셀 단위의 움직임을 분석합니다. OFA는 이미지의 각 픽셀이 다음 프레임에서 어디로 이동하는지를 예측합니다.
2) 중간 프레임 생성: 분석된 움직임 정보(Optical Flow), 게임 엔진의 모션 벡터, 그리고 DLSS Super Resolution으로 생성된 고해상도 이미지를 종합하여 DLSS Frame Generation 모델은 이전 프레임과 현재 프레임 사이에 위치할 새로운 프레임을 생성합니다.
이 프레임은 게임 엔진에서 렌더링된 프레임이 아니라 AI에 의해 완전히 생성된 프레임입니다.
3) 프레임 삽입: 생성된 중간 프레임은 이전 프레임과 현재 프레임 사이에 삽입되어 최종 출력됩니다. 이를 통해 프레임률이 두 배로 증가합니다.
2.4. Multi-Frame Generation
DLSS 4에 도입된 기술로, DLSS 3 Frame Generation의 확장판이라고 볼 수 있는데요, 최대 3개의 추가 프레임을 AI가 생성해, 원래 프레임 사이에 삽입하고, 이를 통해 프레임률을 더욱 증폭시켜줍니다.
블랙웰(Blackwell) 아키텍처 GPU에 탑재된 차세대 Optical Flow Accelerator를 통해 동작합니다.
작동 원리
1) 향상된 Optical Flow 분석 : 차세대 OFA는 더욱 정밀하게 이미지 시퀀스에서 픽셀의 움직임(Optical Flow)을 분석할 수 있습니다. Blackwell 아키텍처의 OFA는 이전 세대보다 더 빠르고 정확한 Optical Flow 계산을 제공합니다.
2) 다중 중간 프레임 생성: 분석된 움직임 정보(Optical Flow), 게임 엔진의 모션 벡터, 그리고 DLSS Super Resolution으로 생성된 고해상도 이미지를 종합하여, DLSS Multi-Frame Generation은 3개의 프레임을 생성합니다.
3) 프레임 삽입: 생성된 중간 프레임들은 기존 프레임 사이에 위치하여 4배까지 프레임률이 증가합니다.
https://youtu.be/_YXbkGuw3O8
3. DLSS 기능별 버전 지원 현황
아래 표는 개별 기능이 어느 DLSS에서 지원되는지 정리한 표입니다.
기능
|
DLSS 1.0
|
DLSS 2.x
|
DLSS 3.0
|
DLSS 3.5
|
DLSS 4.0
|
Super Resolution
|
O
|
O
|
O
|
O
|
O
|
Ray Reconstruction
|
X
|
X
|
O
|
O
|
O
|
Frame Generation
|
X
|
X
|
O
|
O
|
O
|
Multi-Frame Generation
|
X
|
X
|
X
|
X
|
O
|
Deep Learning Anti-Aliasing
|
X
|
O
|
O
|
O
|
O
|
4. DLSS 지원 하드웨어
이제 각 기능들에 대해서 알았으니, 내가 가지고 있는 GPU가 해당 기능을 사용할 수 있는도 알면 좋겠죠?
아래 표에서 확인할 수 있습니다.
DLSS 기능
|
GeForce RTX 50
시리즈
|
GeForce RTX 40
시리즈
|
GeForce RTX 30
시리즈
|
GeForce RTX 20
시리즈
|
DLSS Multi Frame Generation
|
O
|
X
|
X
|
X
|
DLSS Frame Generation
|
O
|
O
|
X
|
X
|
DLSS Ray Reconstruction
|
O
|
O
|
O
|
O
|
DLSS Super Resolution
|
O
|
O
|
O
|
O
|
Deep Learning Anti-Aliasing
|
O
|
O
|
O
|
O
|
5. DLSS vs. AMD FSR
nVidia의 경쟁사(?)인 AMD GPU도 앞서 소개한 기능들과 유사한 기능들을 제공하고 있습니다.
FSR(FidelityFX Super Resolution)이라고 하는데, 각 개별 기능 이름은 약간씩 다르지만, 제공하는 기능은 유사합니다.
https://www.amd.com/ko/products/graphics/technologies/fidelityfx/super-resolution.html
AMD FidelityFX™ Super Resolution
AMD FidelityFX™ Super Resolution(FSR)은 프레임률을 부스트하고 고품질 디테일을 제공하는 최첨단 업스케일링 기술을 사용합니다.
www.amd.com
둘의 차이를 비교한 표입니다.
기능
|
NVIDIA DLSS
|
AMD FSR (FidelityFX Super Resolution)
|
기술 기반
|
AI 기반 업스케일링 (딥 러닝): CNN, Transformer (DLSS 3.5/4), Optical Flow Accelerator (OFA, RTX 40/50), Ray Reconstruction (DLSS 3.5).
|
공간적 업스케일링 (Spatial Upscaling): Lanczos 리샘플링, 적응형 샤프닝 (CAS - Contrast Adaptive Sharpening).
FSR 3.0부터 Fluid Motion Frames (프레임 보간, 비동기 컴퓨팅 사용) 도입.
|
하드웨어 요구사항
|
nVidia RTX 시리즈 GPU (텐서 코어). Frame Generation은 RTX 40 시리즈 이상, Multi-Frame Generation은 RTX 50 시리즈 이상.
|
AMD Radeon RX 400 시리즈 이상, NVIDIA GeForce GTX 10 시리즈 이상 등 다양한 GPU 지원.
FSR 3.0 Fluid Motion Frames는 AMD Radeon RX 5000 시리즈 이상, NVIDIA GeForce RTX 20 시리즈 이상 권장.
|
이미지 품질
|
Super Resolution: 일반적으로 FSR보다 더 나은 이미지 품질 제공. 특히 움직임이 많은 장면에서 시간적 안정성(Temporal Stability)이 우수하며, 앨리어싱 및 아티팩트가 적음. Transformer 모델 도입으로 디테일 향상.
Ray Reconstruction : 레이 트레이싱 품질 향상, 더 적은 노이즈.
|
공간적 업스케일링 : DLSS Super Resolution보다 약간 낮은 이미지 품질 (특히 고해상도, 저품질 설정에서). 디테일 손실, 블러링, 앨리어싱 발생 가능성.
FSR 3.0 Fluid Motion Frames : 프레임 보간으로 부드러움을 개선하지만, 아티팩트 발생 가능성.
|
성능 향상
|
Super Resolution : FSR보다 더 높은 성능 향상을 제공.
Frame Generation : 프레임을 최대 2배까지 증폭 (RTX 40).
Multi-Frame Generation: 프레임을 최대 4배까지 증폭 (RTX 50)
|
공간적 업스케일링: DLSS Super Resolution보다 약간 낮은 성능 향상을 보일 수 있음.
FSR 3.0 Fluid Motion Frames : 프레임률을 높이지만, DLSS Frame Generation만큼의 성능 향상은 아님.
|
개방성
|
비공개 기술 (nVidia GPU에서만 사용 가능)
|
오픈 소스 기술 (다양한 GPU 및 플랫폼에서 사용 가능)
|
접근성
|
게임 개발자가 DLSS SDK를 통합해야 함.
|
게임 개발자가 FSR을 비교적 쉽게 통합 가능 (AMD GPUOpen 이니셔티브의 일부).
|
지연 시간 (Latency)
|
Super Resolution: 업스케일링으로 인한 지연 시간 증가가 거의 없음.
Frame Generation/Multi-Frame Generation: 프레임 생성으로 인한 지연 시간 증가. NVIDIA Reflex 기술로 완화 가능.
|
공간적 업스케일링 : 업스케일링으로 인한 지연 시간 증가가 거의 없음.
FSR 3.0 Fluid Motion Frames : 프레임 보간으로 인한 지연 시간 증가.
|
6. 마무리
DLSS는 nVidia의 독점 기술이지만, AI와 전용 하드웨어(텐서 코어, Optical Flow Accelerator)를 활용하여 이미지 품질과 성능 면에서 경쟁 기술인 AMD FSR보다 아직까지는 우위를 점하고 있다는 것은 사실입니다.
특히 DLSS 3.0의 Frame Generation과 DLSS 4의 Multi-Frame Generation은 프레임률을 획기적으로 높여, 고해상도/고주사율 게이밍 경험을 크게 향상시킵니다.
Ray Reconstruction은 레이 트레이싱의 품질을 개선하고 있습니다.
반면, FSR은 오픈 소스 기술로 접근성이 높고 다양한 하드웨어에서 지원된다는 장점이 있지만, 이미지 품질과 성능 향상 면에서는 DLSS에 비해 다소 부족한 모습을 보입니다.
FSR 3.0의 Fluid Motion Frames는 프레임 보간을 통해 부드러움을 개선하지만, DLSS Frame Generation만큼의 성능 향상을 제공하지는 못하며, 아티팩트 발생 가능성도 있어서 전반적으로 봤을때는 관련 기술에서는 nVidia가 조금 앞서는 모습을 보입니다.
하지만, 최근 AMD의 9070 시리즈가 엄청난 가성비로 게이머들을 개무시하고 있는 nVidia를 한 방 먹이는 결과를 보여주었는데요,
AMD가 조금만 더 노력해서 nVidia의 독주를 막아주었으면 좋겠네요.
읽어주셔서 감사합니다.
'Deep_Learning' 카테고리의 다른 글
Pandas Dataframe에 apply()에서도 진척도 확인하기 (0) | 2025.03.03 |
---|---|
Transfer Learning이란 무엇인가? (0) | 2025.02.20 |
PyTorch에서 .to(device)를 사용하는 이유 (0) | 2025.02.20 |
Anaconda PyTorch GPU 설치 (1) | 2024.09.21 |
Learning to (Learn at Test Time): RNNs with Expressive Hidden States (0) | 2024.08.23 |