딥 러닝 슈퍼 샘플링
Deep learning super samplingDLSS(Dynamic Link Super Sampling)는 Nvidia가 개발한 실시간 딥 러닝 이미지 확장 및 업스케일링 테크놀로지 시리즈로, RTX 계열의 그래픽 [1]카드 전용으로, 다수의 비디오 게임에서 이용 가능합니다.이러한 테크놀로지의 목적은 그래픽 파이프라인의 대부분을 낮은 해상도로 실행하여 퍼포먼스를 향상시킨 후, 이 해상도에서 이미지를 렌더링한 것과 같은 상세도를 포함한 고해상도 이미지를 추론하는 것입니다.이를 통해 사용자 [2]선호도에 따라 특정 출력 해상도에 대해 더 높은 그래픽 설정 및/또는 프레임 속도를 사용할 수 있습니다.
이 소프트웨어는 이미지를 가져와 사용자 측에서 수행된 저해상도 렌더와 16k 이상의 마스터 렌더를 모두 링크하는 방식으로 작동합니다.두 이미지를 서로 링크하는 이 프로세스는 텐서 코어가 두 이미지 간의 차이를 분석하고 사용자 렌더가 부족한 마스터 렌더에서 세부 정보를 적용합니다.
2022년 5월 현재 이 기술은 튜링 및 암페어 마이크로아키텍처를 기반으로 한 GeForce RTX 20 및 GeForce RTX 30 시리즈 그래픽 카드에서만 사용할 수 있으며, Ada Lovelace 마이크로아키텍처를 기반으로 한 GeForce RTX 40 시리즈도 이 기능을 갖추고 있으며, 데이터 침해로 인해 정보가 유출되었습니다.또, NVIDIA는, 그래픽을 고해상도로 렌더링 한 후, AI에 의한 다운샘플링 알고리즘을 사용해 네이티브 디스플레이 해상도로 다운샘플링 해, 네이티브 [3]해상도로 렌더링한 DLDSR(Deep Learning Dynamic Super Resolution)도 도입했습니다.
역사
Nvidia는 2018년 9월 출시 [4]당시 DLSS를 GeForce RTX 20 시리즈 카드의 주요 기능으로 광고했습니다.그 당시에는 알고리즘이 적용된 각 게임에 대해 특별히 훈련을 받아야 했고, 보통 단순한 해상도 [6][7]업스케일링만큼 결과가 좋지 않았기 때문에 결과는 몇 개의 비디오 게임(Battlefield[5] V 및 Metro Exodus)으로 제한되었습니다.
2019년에 비디오 게임 Control은 레이 트레이스와 텐서 [8][9]코어를 사용하지 않는 개선된 버전의 DLSS와 함께 출하되었습니다.
2020년 4월, Nvidia는 드라이버 버전 445.75와 함께 DLSS 2.0이라는 이름의 개량된 버전의 DLSS를 광고하여 출하했습니다.DLSS 2.0은 Control과 Wolfenstein을 포함한 몇 가지 기존 게임에서 사용할 수 있었습니다. 그리고 나중에 언리얼[10] 엔진과 [11]유니티와 같은 많은 새로 출시된 게임과 게임 엔진에 추가될 것이다.이번에 엔비디아는 텐서코어를 다시 사용했으며 AI는 게임마다 [4][12]특별히 훈련할 필요가 없다고 밝혔다.DLSS 브랜딩 공유에도 불구하고 DLSS의 2가지 반복은 크게 다르며 하위 [13][14]호환성이 없습니다.
릴리스 이력
풀어주다 | 발매일 | 하이라이트 |
---|---|---|
1.0 | 2019년 2월 | 첫 번째 버전, AI를 사용하여 배틀필드 V, 메트로[5] 엑소더스 등 특정 게임을 위해 특별히 훈련됨 |
'1.9' (비공식 이름) | 2019년 8월 | 텐서 코어 대신 CUDA 셰이더 코어 상에서 동작하도록 조정된 AI를 사용하는 DLSS 1.0 버전, 특히 Control용으로[8][4][15] 조정된 버전 |
2.0 (두 번째 반복) | 2020년 4월 | 두 번째 2.0 버전, Tensor Core를 다시 사용하고 일반 교육을[16] 받았습니다. |
품질 사전 설정
품질[a] 사전 설정 | 스케일 factor[b] | 밥 scale[c] |
---|---|---|
퀄리티 | 1.50x | 66.6% |
균형 잡힌 | 1.72x | 58.0% |
성능 | 2.00x | 50.0% |
울트라 Performancesince v2.1 | 3.00x | 33.3% |
실행
DLSS 1.0
DLSS의 첫 번째 반복은 주로 2단계의 공간 이미지 업스케일러로, 둘 다 컨볼루션 자동 인코더 신경망에 [18]의존합니다.첫 번째 단계는 현재 프레임과 모션 벡터를 사용하여 에지 강화 및 공간 안티에이리어싱을 수행하는 이미지 강화 네트워크입니다.두 번째 단계는 단일 원시 저해상도 프레임을 사용하여 이미지를 원하는 출력 해상도로 업그레이드하는 이미지 업스케일링 단계입니다.업스케일링에 1프레임만 사용해도 뉴럴 네트워크 자체가 고해상도 출력을 생성하기 위해 대량의 새로운 정보를 생성해야 하므로 소스 [13]콘텐츠와 스타일이 다른 잎과 같은 약간의 환각을 일으킬 수 있습니다.
뉴럴 네트워크는 기존의 픽셀당 64개의 샘플과 각 프레임의 움직임 벡터를 사용하여 "완벽한 프레임"을 생성함으로써 게임별로 훈련됩니다.수집된 데이터는 가능한 한 많은 수준, 시간, 그래픽 설정, 해상도 등을 포함하여 포괄적이어야 합니다.이 데이터는 또한 회전, 색상 변화 및 무작위 노이즈와 같은 일반적인 증강 기능을 사용하여 증가하여 테스트 데이터를 일반화하는 데 도움이 됩니다.트레이닝은 Nvidia의 Saturn V [14][19]슈퍼컴퓨터로 실시됩니다.
이 첫 번째 반복은 많은 사람들이 종종 부드러운 외관과 [20][6][5]특정 상황에서 인위적인 행동을 하는 것을 비판하면서 엇갈린 반응을 얻었다. 모든 시나리오와 [13][14]엣지 케이스에서 최적으로 수행하도록 훈련할 수 없는 신경 네트워크에 대한 단일 프레임 입력만 사용하는 것으로부터 제한된 데이터의 부작용일 수 있다.
Nvidia는 또한 자동 인코더 네트워크에서 필드 깊이와 모션 [14]흐림을 재현하는 기능을 학습할 수 있다는 것을 증명했습니다.그러나 이 기능은 공개된 [citation needed]제품에는 포함되어 있지 않습니다.
DLSS 2.0
DLSS 2.0은 일시적인 안티에이리어싱 업샘플링(TAAU) 구현으로 서브픽셀 지터를 통해 이전 프레임의 데이터를 광범위하게 사용하여 세세한 부분을 해결하고 에일리어싱을 줄입니다.DLSS 2.0이 수집하는 데이터에는 원시 저해상도 입력, 모션 벡터, 깊이 버퍼 및 노출/휘도 [13]정보가 포함됩니다.또한 DLSS에 의해 업샘플링되는 것이 아니라 이미지를 100% 해상도로 렌더링하는 간단한 TAA 구현으로도 사용할 수 있습니다.Nvidia는 이를 DLAA(Deep Learning Anti-Aliasing)[21]라고 부릅니다.
TAA(U)는 많은 현대 비디오 게임과 게임 [22]엔진에 사용되지만, 이전의 모든 구현에서는 고스트나 깜박임과 같은 시간적 아티팩트를 방지하기 위해 수동으로 작성된 휴리스틱스를 사용했습니다.예를 들어 이전 프레임에서 수집된 샘플이 새 프레임의 인근 픽셀에 비해 너무 많이 어긋나는 것을 방지하는 근접 클램핑이 있습니다.이는 많은 시간 아티팩트를 식별하고 수정하는 데 도움이 되지만, 이러한 방식으로 세세한 부분을 의도적으로 삭제하는 것은 흐릿한 필터를 적용하는 것과 비슷하므로 이 [13]방법을 사용하면 최종 이미지가 흐릿하게 보일 수 있습니다.
DLSS 2.0은 위에서 언급한 것처럼 수동으로 프로그래밍된 휴리스틱스 대신 시간적 아티팩트를 식별하고 수정하도록 훈련된 컨볼루션 자동 인코더 신경[20] 네트워크를 사용합니다.이 때문에 DLSS 2.0은 일반적으로 다른 TAA 및 TAAU 구현보다 세부사항을 더 잘 해결하면서 대부분의 시간적 아티팩트를 제거할 수 있습니다.따라서 DLSS 2.0은 기존 TAA를 사용하여 더 높은 해상도로 렌더링하는 것보다 더 선명한 이미지를 생성할 수 있습니다.단, 완벽한 임시 솔루션은 없으며 일부 시나리오에서는 DLSS 2.0을 사용할 때 아티팩트(특히 고스트)가 여전히 보입니다.
시간적 아티팩트는 대부분의 아트 스타일과 환경에서 대체로 동일한 방식으로 발생하므로 DLSS 2.0을 지원하는 뉴럴 네트워크는 다른 게임에서 사용할 때 재교육할 필요가 없습니다.그럼에도 불구하고 Nvidia는 DLSS 2.0의 새로운 마이너 리비전을 새로운 [23]타이틀과 함께 자주 출하하기 때문에 게임 출시 시 마이너 트레이닝 최적화가 수행될 수 있음을 시사합니다.단, Nvidia는 이러한 마이너 리비전에 대해 체인지로그를 제공하지 않습니다.
DLSS 1.0과 비교한 주요 진보는 다음과 같습니다.상세 유지율 대폭 향상, 게임별로 재교육할 필요가 없는 일반화된 신경 네트워크, 오버헤드 최대 2배 절감(~1-2ms 대~2-4ms).[13]
또한 DLSS 2.0 등의 TAAU 형식은 ESRGAN이나 DLSS 1.0 등의 기술과 같은 업스케일러가 아니며, 대신 TAU는 새로운 데이터를 작성하는 것이 아니라 이전 프레임에서 데이터를 복구합니다.실제로 이는 현재 TAAU 기술을 사용할 때 게임 내 저해상도 텍스처가 여전히 저해상도로 보인다는 것을 의미합니다.이것이 바로 Nvidia가 DLSS 2.0을 [13]활성화 했을 때 mip-map bias를 적용하여 주어진 렌더링 해상도에 대해 보통보다 높은 해상도의 텍스처를 사용하도록 게임 개발자에게 권장하는 이유입니다.
안티에이리어스
DLSS에는 독자적인 안티에일리어스 방식이 필요합니다.
TAA와 유사한 원리로 작동합니다.TAA와 마찬가지로 과거 프레임의 정보를 사용하여 현재 프레임을 생성합니다.TAA와 달리 DLSS는 모든 프레임의 모든 픽셀을 샘플링하지 않습니다.대신 다른 프레임에서 다른 픽셀을 샘플링하고 과거 프레임에서 샘플링된 픽셀을 사용하여 현재 프레임에서 샘플링되지 않은 픽셀을 채웁니다.DLSS는 기계 학습을 사용하여 현재 프레임과 과거 프레임의 샘플을 결합하며, 사용 가능한 텐서 [13]코어에 의해 가능하게 된 진보되고 우수한 TAA 구현이라고 생각할 수 있다.
Nvidia는 DLAA(Deep Learning Anti-Aliasing)를 제공합니다.DLAA는 DLSS가 사용하는 것과 동일한 AI 기반의 안티에이리어싱 기능을 제공하지만 업스케일링 또는 다운스케일링 기능은 없습니다.
아키텍처
Control에서 구현된 셰이더 코어 버전을 제외하고 DLSS는 Tensor [20][24]Core라고 불리는 전용 AI 액셀러레이터를 사용하는 GeForce RTX 20, GeForce RTX 30 및 Quadro RTX 시리즈 비디오 카드에서만 사용할 수 있습니다.Tensor Core는 Tesla V100 제품 [25]라인에 처음 사용된 Nvidia Volta GPU 마이크로아키텍처 이후 사용할 수 있습니다.그것들은 가중치에 큰 일련의 곱셈을 적용하기 위해 뉴럴 네트워크 계산에 광범위하게 사용되는 퓨전 다중 가산(FMA) 연산을 수행하는 데 사용되며, 그 뒤에 편향이 추가된다.텐서 코어는 FP16, INT8, INT4 및 INT1 데이터 타입에서 동작할 수 있습니다.각 코어는 클럭당 1024비트의 FMA 연산을 실행할 수 있기 때문에 텐서 코어당 클럭당 1024개의 INT1, 256 INT4, 128 INT8 및 64개의 FP16 연산을 실행할 수 있으며 대부분의 튜링 GPU에는 수백 개의 텐서 [26]코어가 있습니다.
텐서 코어는 32개의 병렬 스레드에서 CUDA 워프 레벨 프리미티브를 사용하여 병렬 아키텍처를 활용합니다.[27]Warp는 동일한 명령을 실행하도록 구성된 32개의 스레드 집합입니다.
「 」를 참조해 주세요.
- 피델리티 FX 슈퍼 해상도– AMD의 경쟁 업샘플링 테크놀로지
- XeSS, 인텔의 향후 AI 확장 업스케일링 테크놀로지
- 딥 러닝 안티에일리어싱 – 업스케일링 없이 DLSS 2.0 안티에일리어싱 알고리즘을 기반으로 합니다.
레퍼런스
- ^ "NVIDIA DLSS Technology for Incredible Performance". NVIDIA. Retrieved 2022-02-07.
- ^ "Nvidia RTX DLSS: Everything you need to know". Digital Trends. 2020-02-14. Retrieved 2020-04-05.
Deep learning super sampling uses artificial intelligence and machine learning to produce an image that looks like a higher-resolution image, without the rendering overhead. Nvidia’s algorithm learns from tens of thousands of rendered sequences of images that were created using a supercomputer. That trains the algorithm to be able to produce similarly beautiful images, but without requiring the graphics card to work as hard to do it.
- ^ Archer, James. "Nvidia DLDSR tested: better visuals and better performance than DSR". Rock Paper Shotgun. Retrieved 23 February 2022.
- ^ a b c "Nvidia DLSS in 2020: stunning results". techspot.com. 2020-02-26. Retrieved 2020-04-05.
- ^ a b c "Battlefield V DLSS Tested: Overpromised, Underdelivered". techspot.com. 2019-02-19. Retrieved 2020-04-06.
Of course, this is to be expected. DLSS was never going to provide the same image quality as native 4K, while providing a 37% performance uplift. That would be black magic. But the quality difference comparing the two is almost laughable, in how far away DLSS is from the native presentation in these stressful areas.
- ^ a b "AMD Thinks NVIDIA DLSS is not Good Enough; Calls TAA & SMAA Better Alternatives". techquila.co.in. 2019-02-15. Retrieved 2020-04-06.
Recently, two big titles received NVIDIA DLSS support, namely Metro Exodus and Battlefield V. Both these games come with NVIDIA’s DXR (DirectX Raytracing) implementation that at the moment is only supported by the GeForce RTX cards. DLSS makes these games playable at higher resolutions with much better frame rates, although there is a notable decrease in image sharpness. Now, AMD has taken a jab at DLSS, saying that traditional AA methods like SMAA and TAA "offer superior combinations of image quality and performance."
- ^ "Nvidia Very Quietly Made DLSS A Hell Of A Lot Better". Kotaku. 2020-02-22. Retrieved 2020-04-06.
The benefit for most people is that, generally, DLSS comes with a sizeable FPS improvement. How much varies from game to game. In Metro Exodus, the FPS jump was barely there and certainly not worth the bizarre hit to image quality.
- ^ a b "Remedy's Control vs DLSS 2.0 – AI upscaling reaches the next level". Eurogamer. 2020-04-04. Retrieved 2020-04-05.
Of course, this isn't the first DLSS implementation we've seen in Control. The game shipped with a decent enough rendition of the technology that didn't actually use the machine learning
- ^ "NVIDIA DLSS 2.0 Update Will Fix The GeForce RTX Cards' Big Mistake". techquila.co.in. 2020-03-24. Retrieved 2020-04-06.
As promised, NVIDIA has updated the DLSS network in a new GeForce update that provides better, sharper image quality while still retaining higher framerates in raytraced games. While the feature wasn't used as well in its first iteration, NVIDIA is now confident that they have successfully fixed all the issues it had before
- ^ "NVIDIA DLSS Plugin and Reflex Now Available for Unreal Engine". NVIDIA Developer Blog. 2021-02-11. Retrieved 2022-02-07.
- ^ "NVIDIA DLSS Natively Supported in Unity 2021.2". NVIDIA Developer Blog. 2021-04-14. Retrieved 2022-02-07.
- ^ "HW News - Crysis Remastered Ray Tracing, NVIDIA DLSS 2, Ryzen 3100 Rumors". 2020-04-19. Retrieved 2020-04-19.
The original DLSS required training the AI network for each new game. DLSS 2.0 trains using non-game-specific content, delivering a generalized network that works across games. This means faster game integrations, and ultimately more DLSS games.
- ^ a b c d e f g h Edward Liu, NVIDIA "DLSS 2.0 - Deep Learning을 통한 실시간 렌더링 이미지 재구성"
- ^ a b c d "Truly Next-Gen: Adding Deep Learning to Games & Graphics (Presented by NVIDIA)". www.gdcvault.com. Retrieved 2022-02-07.
- ^ Edelsten, Andrew (30 August 2019). "NVIDIA DLSS: Control and Beyond". nividia.com. Retrieved 11 August 2020.
we developed a new image processing algorithm that approximated our AI research model and fit within our performance budget. This image processing approach to DLSS is integrated into Control
- ^ "NVIDIA DLSS 2.0 Review with Control – Is This Magic?". techquila.co.in. 2020-04-05. Retrieved 2020-04-06.
- ^ "NVIDIA preparing Ultra Quality mode for DLSS, 2.2.9.0 version spotted". VideoCardz.com. Retrieved 2021-07-06.
- ^ "DLSS: What Does It Mean for Game Developers?". NVIDIA Developer Blog. 2018-09-19. Retrieved 2022-02-07.
- ^ "NVIDIA DLSS: Your Questions, Answered". Nvidia. 2019-02-15. Retrieved 2020-04-19.
The DLSS team first extracts many aliased frames from the target game, and then for each one we generate a matching “perfect frame” using either super-sampling or accumulation rendering. These paired frames are fed to NVIDIA’s supercomputer. The supercomputer trains the DLSS model to recognize aliased inputs and generate high quality anti-aliased images that match the “perfect frame” as closely as possible. We then repeat the process, but this time we train the model to generate additional pixels rather than applying AA. This has the effect of increasing the resolution of the input. Combining both techniques enables the GPU to render the full monitor resolution at higher frame rates.
- ^ a b c "NVIDIA DLSS 2.0: A Big Leap In AI Rendering". Nvidia. 2020-03-23. Retrieved 2020-04-07.
- ^ "What is Nvidia DLAA? An Anti-Aliasing Explainer". Digital Trends. 2021-09-28. Retrieved 2022-02-10.
- ^ https://de45xmedrsdbp.cloudfront.net/Resources/files/TemporalAA_small-59732822.pdf[베어 URL PDF]
- ^ "NVIDIA DLSS DLL (2.3.7) Download". TechPowerUp. Retrieved 2022-02-10.
- ^ "NVIDIA TENSOR CORES". Nvidia. Retrieved 2020-04-07.
- ^ "On Tensors, Tensorflow, And Nvidia's Latest 'Tensor Cores'". tomshardware.com. 2017-04-11. Retrieved 2020-04-08.
- ^ "TENSOR CORE DL PERFORMANCE GUIDE" (PDF). Nvidia. Archived (PDF) from the original on 2020-11-11.
- ^ "Using CUDA Warp-Level Primitives". Nvidia. 2018-01-15. Retrieved 2020-04-08.
NVIDIA GPUs execute groups of threads known as warps in SIMT (Single Instruction, Multiple Thread) fashion