Deep learning super sampling
Суперсемплінг за допомогою глибокого навчання (англ. deep learning super sampling, DLSS) — технологія масштабування зображення, розроблена компанією Nvidia для використання в режимі реального часу у вибраних відеоіграх, за допомогою глибокого навчання для збільшення масштабу зображень з нижчою роздільною здатністю до більш високої роздільної здатності для відображення на моніторах з більш високою роздільною здатністю. Nvidia стверджує, що ця технологія збільшує масштаб зображень із якістю, подібною до якості зображення в рідній роздільній здатності, але з меншими навантаженнями на відеокарту, що забезпечує більш високі графічні налаштування та частоту кадрів для даної роздільної здатності.[1]
Станом на травень 2023 року ця технологія доступна на графічних процесорах GeForce RTX 20, GeForce RTX 30 та GeForce RTX 40.
Звільнення | Дата випуску | Основні моменти |
---|---|---|
1.0 | Лютий 2019 | Перша версія, що використовує ШІ та спеціально навчена для деяких конкретних ігор, зокрема Battlefield V та Metro Exodus[2] |
2.0 (перша ітерація) | Серпень 2019 | Перша версія 2.0, на яку також посилаються як версія 1.9, використовуючи приблизний ШІ незавершеної версії 2.0, що працює на ядрах шейдерів CUDA і спеціально пристосована для відеогри Control[3][4][5] |
2.0 (друга ітерація) | Квітень 2020 | Друга версія 2.0, з використанням ядер Tensor та загальним навчанням[6] |
3.0 | Вересень 2022 | DLSS 2.0, доповнений алгоритмом генерації кадрів оптичного потоку для подвоєння частоти кадрів |
В Nvidia команда DLSS знаходить кадри в грі з не згладженими краями, генерує для кожного кадра аналогічний але ідеально згладжений, використовуючи повноекранне згладжування на основі методів надмірної вибірки (MSAA) або змішаного рендеринга. Ці два кадра передаються суперкомп'ютеру NVIDIA, який навчає нейронну мережу DLSS розпізнавати не згладжені кадри і генерувати ідентичні згладжені кадри. Також нейронну мережу навчають генерувати пікселі, щоб збільшити розширення кадра. В результаті тензорні ядра в відеокарті отримують достатньо інформації для обробки кадра і створення згладженого кадра, час створення таких кадрів практично однаковий.
Nvidia пояснила, що DLSS 1.0 працювала для кожного цільового ігрового зображення, генеруючи «ідеальний кадр», використовуючи традиційні супервибірки, а потім навчила нейронну мережу на цих отриманих зображеннях. На другому кроці модель була навчена розпізнавати псевдоніми вхідні дані на початковому результаті.
DLSS 2.0 працює наступним чином:[7]
- Нейромережа навчена Nvidia з використанням «ідеальних» зображень відеоігор надвисокої роздільної здатності на суперкомп'ютерах і зображень низької роздільної здатності тих самих ігор. Результат зберігається на драйвері відеокарти. Кажуть, що Nvidia використовує сервери DGX-1 для навчання мережі.[8]
- Нейронна мережа, що зберігається на драйвері, порівнює фактичне зображення з низькою роздільною здатністю з еталонним та дає повний результат із високою роздільною здатністю. Вхідні дані, що використовуються навченою нейронною мережею, — це псевдоніми з низькою роздільною здатністю, що передаються ігровим механізмом, і вектори руху з низькою роздільною здатністю з тих самих зображень, також створені ігровим механізмом. Вектори руху повідомляють мережі, в якому напрямку об'єкти на сцені рухаються від кадру до кадру, щоб оцінити, як буде виглядати наступний кадр.[9]
Доповнює DLSS 2.0, використовуючи інтерполювання руху[en]. Алгоритм генерації кадрів DLSS бере два відрендерених кадри з конвеєра рендерингу і генерує новий кадр, який плавно переходить між ними. Таким чином, для кожного відрендереного кадру генерується один додатковий кадр.
DLSS 3.0 використовує нове покоління прискорювачів оптичного потоку (англ. Optical Flow Accelerator, OFA), що входить до складу графічних процесорів RTX покоління Ada Lovelace. Новий OFA швидший і точніший, ніж OFA, який вже був доступний у попередніх графічних процесорах RTX Turing і Ampere. Це призводить до того, що DLSS 3.0 є ексклюзивним для серії RTX 4000.
На момент випуску DLSS 3.0 не працює для VR-дисплеїв.
DLSS доступний лише на графічних процесорах GeForce RTX 20, GeForce RTX 30 та GeForce RTX 40, у виділених ШІ-прискорювачах під назвою Tensor Cores.[10][11]
Ядра тензора (англ. tensor cores) доступні з часів мікроархітектури графічного процесора Nvidia Volta, яка вперше була використана в лінійці продуктів Tesla V100.[12] Їх специфіка полягає в тому, що кожне ядро Tensor працює на 16 бітах з матрицями з плаваючою комою 4 x 4 і, розроблено для використання на рівні CUDA C++, навіть на рівні компілятора.[13]
Ядра Tensor використовують примітиви CUDA Warp-Level на 32 паралельних потоках, щоб скористатися перевагами їх паралельної архітектури.[14] Деформація — набір із 32 потоків, які налаштовані на виконання тієї самої інструкції.
Вихід відеокарт Nvidia RTX зустрів багато критики. Технологія DXR повинна була зробити великий крок вперед в ігровій графіці, адже кадри які показала Nvidia на презентації свого нового покоління відеокарт виглядали красиво і реалістично. За словами Хуанга Технологія DXR не мала впливати на FPS, а DLSS повинна збільшити FPS, адже дані технології працюють на окремих тензорних ядрах відеокарти. З виходом 20-го покоління відеокарт виявилось, що ігор, які підтримують DXR і DLSS, немає. Першою грою з підтримкою даних технологій стала Battlefield 5, але увімкнення технології DXR у перших версіях гри Battlefield 5 зменшувало FPS у середньому на 30 кадрів, а увімкнення технології DLSS не збільшувало FPS у порівнянні з іншими методами згладжування. Виправити ситуацію вдалось лише співпрацею з розробниками ігор і новими версіями драйверів.
- Масштабування зображень
- Глибоке навчання
- Тензорний блок обробки — спеціальна інтегральна схема (ASIC), прискорювач ШІ, розроблена Google
- ↑ Nvidia RTX DLSS: Everything you need to know (англійською) . Digital Trends. 14 лютого 2020. Архів оригіналу за 2 листопада 2018. Процитовано 5 квітня 2020.
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.
- ↑ Battlefield V DLSS Tested: Overpromised, Underdelivered. techspot.com. 19 лютого 2019. Архів оригіналу за 19 лютого 2019. Процитовано 6 квітня 2020.
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.
- ↑ Remedy's Control vs DLSS 2.0 – AI upscaling reaches the next level. Eurogamer. 4 квітня 2020. Архів оригіналу за 4 квітня 2020. Процитовано 5 квітня 2020.
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 in 2020: stunning results. techspot.com. 26 лютого 2020. Архів оригіналу за 28 лютого 2020. Процитовано 5 квітня 2020.
- ↑ Edelsten, Andrew (30 серпня 2019). NVIDIA DLSS: Control and Beyond. nividia.com. Архів оригіналу за 10 квітня 2020. Процитовано 11 серпня 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. 5 квітня 2020. Архів оригіналу за 14 грудня 2020. Процитовано 6 квітня 2020.
- ↑ NVIDIA's Deep Learning Super Sampling (DLSS) 2.0 Technology Is The Real Deal. Forbes. 29 березня 2020. Архів оригіналу за 12 грудня 2020. Процитовано 7 квітня 2020.
- ↑ NVIDIA DLSS 2.0: A Big Leap In AI Rendering. Nvidia. 23 березня 2020. Архів оригіналу за 10 грудня 2020. Процитовано 25 листопада 2020.
- ↑ NVIDIA DLSS 2.0: A Big Leap In AI Rendering. Nvidia. 23 березня 2020. Архів оригіналу за 10 грудня 2020. Процитовано 7 квітня 2020.
- ↑ NVIDIA DLSS 2.0: A Big Leap In AI Rendering. Nvidia. 23 березня 2020. Архів оригіналу за 10 грудня 2020. Процитовано 7 квітня 2020.
- ↑ NVIDIA TENSOR CORES. Nvidia. Архів оригіналу за 10 грудня 2020. Процитовано 7 квітня 2020.
- ↑ On Tensors, Tensorflow, And Nvidia's Latest 'Tensor Cores'. tomshardware.com. 11 квітня 2017. Архів оригіналу за 21 червня 2020. Процитовано 8 квітня 2020.
- ↑ The NVIDIA Titan V Deep Learning Deep Dive: It's All About The Tensor Cores. AnandTech. 3 липня 2018. Архів оригіналу за 9 листопада 2020. Процитовано 8 квітня 2020.
- ↑ Using CUDA Warp-Level Primitives. Nvidia. 15 січня 2018. Архів оригіналу за 14 березня 2020. Процитовано 8 квітня 2020.
NVIDIA GPUs execute groups of threads known as warps in SIMT (Single Instruction, Multiple Thread) fashion