本文從英偉達 Turing 架構下全新 DLSS(深度學習超取樣)技術切入,講述如何讓深度學習邁入圖形增強技術。將從以下幾個方面進行詳述:

深度學習以什麼方式融入

圖形增強 Pipeline

如何在 Turing 架構中

使用深度學習

Turing 架構適合怎樣

複雜度

的深度學習模型

新一代 Turing 架構引入了 Tensor Core 以及全新的 RT Core,展現出英偉達對 AI 及 Ray Tracing 技術未來將廣泛應用於遊戲圖形的預期。

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

GeForce RTX Battlefield V Demo:利用Ray-Tracing計算反射光線

Turing 架構

英偉達 CEO 黃仁勳將圖靈架構描述為英偉達十多年來在計算機圖形領域最重要的創新。

圖靈架構是英偉達的第八代GPU架構,使全球首款光線追蹤GPU成為可能。相比於 Pascal 架構,承載了

全新的RT Core 以及 Tensor Core

專為深度學習設計的 Tensor Core 並非圖靈架構獨佔

,英偉達在2017 年 5 月釋出 的 Volta 架構中便開始引入了名為 Tensor Core(張量核心)的新單元。

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

“RTX 是自 2006 年以來英偉達推出的最重要的一塊 GPU”:最高每秒 10 GigaRays 的光線跟蹤,峰值 14 TFlops,每秒 455 萬億張量運算。

人工智慧正在推動這一史上最偉大的技術進步,而 Turing 已將其應用於計算機圖形領域。搭載 Tensor Core,可提供 AI 計算效能,其可以實時執行強大的 AI 演算法,打造清晰明快、栩栩如生的畫面和特效。

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

歷經英偉達十年的打磨,Turing 架構相比於 Quadro 過去的架構 Pascal,在 Shader、Compute 的基礎上增加了具備 AI 訓練和推理能力的 Tensor Core 和支援光線跟蹤的 RT Core。其中,Tensor Core 的 INT4 算力達到驚人的 455 TOPS,能以極高效率進行深度學習Inference

Turing架構下的深度學習:DLSS,英偉達讓深度學習邁向實時圖形學

人工智慧是近年來的科技前沿的方向,從 ImageNet 開始,深度學習驅動了近年來的各領域的發展。新 Turing 架構讓深度學習圖形增強成為可能,得益於新硬體

Tensor Cores 帶來的極強的推斷(Inference)能力

新卡釋出以來,除 Ray-Tracing 外,最值得關注的莫過於 DLSS 深度學習超取樣,透過深度學習提供的圖形重建能力,為遊戲帶來穩定及細膩的抗鋸齒畫面。不同於上一代抗鋸齒技術 TAA、FXAA、MSAA 等,DLSS 在產生實時高質量畫面同時,避免了模糊、透明、遮擋帶來的問題,DLSS 輸出的畫面能穩定

近似 64X 超取樣效果

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

DLSS 在避免 TAA 中模糊,遮擋,透明等問題的同時,重建出近似64x超取樣的圖片

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

2017 年 7 月英偉達發表的 NVIDIA Research Brings AI to Computer Graphics 中初步展示了深度學習超取樣的技術

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

SIGGRAPH 2017 Course,英偉達 Marco Salvi ,講述深度學習在實時渲染中的應用

為何 Turing 架構之前英偉達遊戲顯示卡中不使用該技術?

首當其衝的是

效率問題,Turing 前的架構不支援這樣大量的運算

。遊戲畫面的渲染,時間資源要求極為嚴苛——不同於科研環境中在小尺寸(240p 及以下)圖片上動輒幾百毫秒的執行時間,實時圖形學通常要求在全尺寸(1080p / 2k / 4K)畫面經過 Rendering Pipeline 之後穩定在至少 30 FPS,這對以大計算量為特點的深度學習應用在實時圖形學中提出了極為嚴苛的要求。

即使在當前(2019 年初)頂級消費級顯示卡 RTX 2080Ti 上,英偉達官方釋出星球大戰的實時渲染 2560x1440 畫面,渲染畫面平均耗時 45 ms,甚至略微低於實時渲染的要求。

Hybrid Rendering Pipeline

Turing 架構前,渲染遊戲依賴於光柵化技術。在 Turing 架構引入了 Tensor Core 以及 RT Core 後,渲染方式發生了變化,圖形 API 也隨之進行了適配。

一個標準的 Turing 架構渲染 Pipeline 包含了

光柵化、光線追蹤、著色、AI 降噪、深度學習超取樣

等眾多流程,在 Turing Architecture Whitepaper 中指出 Tensor Core 不能與RT Core、CUDA Core 併發執行,對於降噪以及超取樣兩個深度學習驅動的、需要大量運算的流程來說,必須對深度神經網路模型的複雜度做出限制。

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

英偉達 Turing 架構遊戲渲染畫面時間分佈、處理器上執行位置分佈。Tensor Cores 執行指令時,SM 中 的 RT Cores、CUDA Cores 不執行任何操作

DLSS 作為最具代表性的深度學習工作流(紫色),佔用 One Turing Frame 20% 的時長,剩下 80% 用於渲染(黃色)。

剩下的渲染時長,一部分用於進行光線跟蹤,另一部分用於傳統的光柵化、G-Buffer生成、著色計算。

NGX/ TensorRT:用於圖形增強的深度學習工具集

DirectX Raytracing 和 Windows ML 釋出在 Windows 10 October 2018 update 中。用於支援新的 Hybrid Rendering Pipeline 中光線跟蹤以及 AI 圖形增強。

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

專為深度學習融入實時渲染設計的NGX框架,用於實時圖形增強

Turing 架構下深度學習分析

TODO

深度神經網路計算量與訪存量

TensorRT實踐

TODO

TensorRT 是一個高效能的深度學習推斷(Inference)的最佳化器和執行的引擎,英偉達即將開放的深度學習框架 NGX 底層基於該技術。

Nvidia-Docker 是為 TensorRT 這類框架構建 GPU支援的最簡單方法,主機只需要安裝 NVIDIA 驅動程式(不必須安裝 NVIDIA CUDA Toolkit)。TensorRT 相關 Docker 資源參閱 NVIDIA GPU CLOUD。

英偉達Turing架構解讀:如何讓深度學習邁向實時圖形學?

Volta 架構引入的 Tensor Core 上 Resnet-50 處理速度達到每秒5000+張

總結與展望

TODO

Appendix A:Figures

Fig。1 NVIDIA at SIGGRAPH 2018,GeForce RTX: A Whole New Way To Experience Games

Fig。2 NVIDIA-Turing-Architecture-Whitepaper

Fig。3 NVIDIA Research Brings AI to Computer Graphics | NVIDIA Blog

Fig。4 Deep Learning: The Future of Real-Time Rendering? Marco Salvi, NVIDIA

Appendix B:Tensor Cores

機器之心:英偉達Volta架構深度解讀:專為深度學習而生的Tensor Core到底是什麼?

NVIDIA TENSOR CORES

Tensor Cores in NVIDIA Volta GPU Architecture

The NVIDIA Titan V Deep Learning Deep Dive: It‘s All About The Tensor Cores

Volta Tensor Core GPU Achieves New AI Performance Milestones

機器之心:英偉達Volta架構深度解讀:專為深度學習而生的Tensor Core到底是什麼?

*NVIDIA深度學習Tensor Core全面解析(上篇)

Appendix C:Turing 架構

NVIDIA-Turing-Architecture-Whitepaper

機器之心:十年磨一劍:英偉達最閃GPU 登場,揭曉新一代晶片架構圖靈

NVIDIA Turing Architecture In-Depth | NVIDIA Developer Blog

NVIDIA Turing架構解析:追光逐影,成敗未定

追光者 NVIDIA GeForce RTX 2080 Ti圖靈架構淺析

NVIDIA-Turing-Architecture-Deep-Dive

Appendix D:Benchmark

量子位:英偉達RTX 2080 Ti值得買麼?深度學習測試來了

CNN-Benchmarks-Github

Mixed-Precision ResNet-50 Using Tensor Cores with TensorFlow

NVIDIA Tensor Core Programmability, Performance & Precision

Appendix E:GPU Concepts

Basic Concepts in GPU Computing

Life of a triangle - NVIDIA’s logical pipeline

Appendix F:Frameworks

NVIDIA TensorRT

Windows Machine Learning

NVIDIA-Turing-Architecture-Whitepaper

NVIDIA NGX Technology - AI for Visual Applications

How to Speed Up Deep Learning Inference Using TensorRT | NVIDIA Developer Blog

TensorRT 3: Faster TensorFlow Inference and Volta Support | NVIDIA Developer Blog

阿里云云棲社群:高效能深度學習支援引擎實戰——TensorRT

Appendix G:Tools

NVIDIA GPU CLOUD

GPU-ACCELERATED INNOVATION

Appendix H:CUDA Cores Concurrency

SMT on CUDA Cores and Tensor Cores

Whether Both CUDA and Tensor Cores can be Used Simultaneously

NVIDIA-Turing-Architecture-Whitepaper

GPU Performance is Calculated as 2 Times

Appendix I:DLSS

DLSS: What Does It Mean for Game Developers? - NVIDIA Developer News Center

Appendix J:Performance & Complexity Theory

Michael Yuan:卷積神經網路的複雜度分析

Michael Yuan:Roofline Model與深度學習模型的效能分析

Roofline Theory for Float Point Computations

Roofline model - Wikipedia

Momenta:讓深度學習更高效執行的兩個視角 | Paper Reading第二季第一期

Appendix K

計算機圖形學與機器學習(深度學習)怎麼結合起來?