Топ питань
Часова шкала
Чат
Перспективи
Deep learning super sampling
З Вікіпедії, вільної енциклопедії
Remove ads
Суперсемплінг за допомогою глибокого навчання (англ. deep learning super sampling, DLSS) — технологія масштабування зображення, розроблена компанією Nvidia для використання в режимі реального часу у вибраних відеоіграх, за допомогою глибокого навчання для збільшення масштабу зображень з нижчою роздільною здатністю до більш високої роздільної здатності для відображення на моніторах з більш високою роздільною здатністю. Nvidia стверджує, що ця технологія збільшує масштаб зображень із якістю, подібною до якості зображення в рідній роздільній здатності, але з меншими навантаженнями на відеокарту, що забезпечує більш високі графічні налаштування та частоту кадрів для даної роздільної здатності.[1]
Станом на травень 2023 року ця технологія доступна на графічних процесорах GeForce RTX 20, GeForce RTX 30 та GeForce RTX 40.
Remove ads
Історія
Історія релізів
Remove ads
Принцип роботи
Узагальнити
Перспектива
В Nvidia команда DLSS знаходить кадри в грі з не згладженими краями, генерує для кожного кадра аналогічний але ідеально згладжений, використовуючи повноекранне згладжування на основі методів надмірної вибірки (MSAA) або змішаного рендеринга. Ці два кадра передаються суперкомп'ютеру NVIDIA, який навчає нейронну мережу DLSS розпізнавати не згладжені кадри і генерувати ідентичні згладжені кадри. Також нейронну мережу навчають генерувати пікселі, щоб збільшити розширення кадра. В результаті тензорні ядра в відеокарті отримують достатньо інформації для обробки кадра і створення згладженого кадра, час створення таких кадрів практично однаковий.
Алгоритм
DLSS 1.0
Nvidia пояснила, що DLSS 1.0 працювала для кожного цільового ігрового зображення, генеруючи «ідеальний кадр», використовуючи традиційні супервибірки, а потім навчила нейронну мережу на цих отриманих зображеннях. На другому кроці модель була навчена розпізнавати псевдоніми вхідні дані на початковому результаті.
DLSS 2.0
DLSS 2.0 працює наступним чином:[7]
- Нейромережа навчена Nvidia з використанням «ідеальних» зображень відеоігор надвисокої роздільної здатності на суперкомп'ютерах і зображень низької роздільної здатності тих самих ігор. Результат зберігається на драйвері відеокарти. Кажуть, що Nvidia використовує сервери DGX-1 для навчання мережі.[8]
- Нейронна мережа, що зберігається на драйвері, порівнює фактичне зображення з низькою роздільною здатністю з еталонним та дає повний результат із високою роздільною здатністю. Вхідні дані, що використовуються навченою нейронною мережею, — це псевдоніми з низькою роздільною здатністю, що передаються ігровим механізмом, і вектори руху з низькою роздільною здатністю з тих самих зображень, також створені ігровим механізмом. Вектори руху повідомляють мережі, в якому напрямку об'єкти на сцені рухаються від кадру до кадру, щоб оцінити, як буде виглядати наступний кадр.[9]
DLSS 3.0
Доповнює 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-дисплеїв.
Remove ads
Архітектура
DLSS доступний лише на графічних процесорах GeForce RTX 20, GeForce RTX 30, GeForce RTX 40 та GeForce RTX 50 у виділених ШІ-прискорювачах під назвою 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 у порівнянні з іншими методами згладжування. Виправити ситуацію вдалось лише співпрацею з розробниками ігор і новими версіями драйверів.
Remove ads
Див. також
- Масштабування зображень
- Глибоке навчання
- Тензорний блок обробки — спеціальна інтегральна схема (ASIC), прискорювач ШІ, розроблена Google
Примітки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads