Нейронні шейдери під мікроскопом: куди приведе нас генеративне майбутнє від NVIDIA

Опублікував Владислав Василенко

З виходом нового покоління RTX Blackwell тихенько і без зайвих урочистостей NVIDIA показала куди далі буде рухатися графіка. Не тільки для ігор, а й для інших сфер. Сьогодні продовжуємо тему, що була задана в попередній статті, і спробуємо зрозуміти для чого нам знадобляться нейронні шейдери та новітні технології, які побачимо за кілька років.

Революція продовжується

Продуктивність графічного процесора та якість зображення безперервно покращуються завдяки використанню методів Нейронного Рендерингу (Neural Rendering). Технології NVIDIA DLSS Super Resolution і Frame Generation значно підвищили частоту кадрів, водночас забезпечуючи якість зображення на рівні класичного рендерингу та генеруючи переважну більшість пікселів.

Подібним чином DLSS Ray Reconstruction (RR) суттєво зменшує кількість променів, які необхідно прорахувати для створення високоякісних сцен із трасуванням променів або визначення їх траєкторії, використовуючи передові методи штучного інтелекту для зменшення шуму та реконструкції відсутніх деталей. Майбутні технології штучного інтелекту продовжуватимуть збільшувати та покращувати якість зображення за значно менших обчислювальних витрат і обсягу пам’яті.

Технології нейронного рендерингу та Нейронних Шейдерів (Neural Shading) Blackwell прискорять використання розробниками АІ у своїх програмах, включаючи реалізацію та використання в реальному часі методів рендерингу та моделювання на основі Генеративного АІ (Generative AI).

Генеративне АІ допоможе розробникам ігор динамічно створювати різноманітні ландшафти, впроваджувати більш реалістичні фізичні симуляції та генерувати складнішу поведінку NPC “на льоту”. Професійні додатки для 3D-моделювання зможуть створювати варіанти дизайну швидше, ніж будь-коли, на основі заданих вхідних критеріїв. Ці та багато інших сценаріїв будуть доповнені в рамках архітектури RTX Blackwell і можливостями нейронного рендерингу.

На графіку бачимо, що з кожним новим поколінням відеокарт починає зростати роль АІ в створенні кадрів. Архітектура Turing заклала основу для нової ери в графіці, поєднуючи програмоване затінення, трасування променів у реальному часі та алгоритми АІ для надання реалістичної та фізично точної графіки в іграх і професійних програм.

Архітектура NVIDIA Ampere оновила SM блоки, покращила RT і Тензорні ядра, вперше застосувала підсистему пам’яті GDDR6X у RTX 3090, покращила можливості DLSS і забезпечила величезний загальний приріст продуктивності.

Архітектура NVIDIA Ada забезпечила ще вищу продуктивність, зменшення енергоспоживання і візуальну точність для трасування променів і нейронної графіки на основі штучного інтелекту, додавши нові функції DLSS: генерація кадрів та Ray Reconstraction.

RTX Neural Materials, RTX Neural Faces, RTX Neural Radiance Cache (NRC) і нова модель Transformer є ефективнішими з погляду обчислень, але при цьому можуть реконструювати зображення ще кращої якості. Як показано на графіку вище – настала ера нейронної візуалізації.

Нейронні шейдери (+ коротенька історія шейдерів до них)

Почнемо з основ. Шейдер — це програма, яка виконується на GPU для керування відтворенням графіки, складність якої різниться залежно від необхідних візуальних ефектів і обробки. У своїй основній формі шейдери дозволяють обчислювати світло, темряву та кольори, які використовуються під час візуалізації сцени в 3D-просторі гри. Цей процес називають Шейдінгом (Shading).

Еволюція шейдерів у графічних процесорах відзначена значним прогресом у графічному програмуванні та можливостях візуалізації. Ось короткий огляд основних етапів розвитку графічних технологій:

  • Конвеєр із фіксованою функцією (Fixed-Function Pipeline, до 2000-х) – Графіка, оброблена за допомогою Конвеєра з фіксованими функціями, де операції визначені та налаштовані, але не програмовані та з обмеженим контролем над відтворенням простих ефектів, таких як освітлення та текстурування.
  • Вершинні шейдери (Vertex Shaders, DirectX 8.0 / OpenGL 1.4, ранні 2000-ні). Програмовані Вершинні шейдери надали розробникам доступ до даних вершин (vertex), включаючи перетворення та обчислення освітлення, дозволяючи створювати складніші ефекти.
  • Фрагментні / Піксельні шейдери (Fragment / Pixel Shaders, DirectX 9.0 / OpenGL 2.0, початок 2000-х). Дозволили розробникам писати спеціальний код для операцій на рівні пікселів, дозволяючи робити динамічне освітлення та текстурування, розширюючи гнучкість візуалізації за допомогою Shader Model 2.0.
  • Уніфікована архітектура шейдерів (Unified Shader Architecture, DirectX 10.0 / OpenGL 3.3, 2006). Уніфікація геометрії, вершинних і фрагментних шейдерів, що забезпечує краще використання ресурсів і високу ефективність. Представлено Shader Model 4.0, яка підтримувала просунутіші технології та оптимізацію.
  • Геометричні шейдери (Geometry Shaders, DirectX 10 / OpenGL 3.2, 2006). Геометричні шейдери дозволяли створювати та маніпулювати примітивами у конвеєрі шейдерів. Новими ефектами є Динамічна Тесселяція (Dynamic Tessellation) та Система Частинок (Particle System).
  • Покращена Тесселяція та Обчислювальні шейдери (Compute Shaders, DirectX 11 / OpenGL 4.0, 2009). Переосмислена геометрія з вищою деталізацією поверхні та плавнішими кривими в 3D-моделях. Shader Model 5.0 додала більше функцій для методів візуалізації в реальному часі. Обчислювальні шейдери додали підтримку Паралельної обробки (Parallel processing) та Комплексної симуляції (Сomplex Simulation).
  • Примітивні та Сітчасті шейдери (Primitive and Mesh Shaders, доповнення DirectX 12 Ultimate / Vulkan, 2018–2020). Розширено можливості та продуктивність конвеєра геометрії шляхом об’єднання функцій Вершинних і Геометричних шейдерів в один шейдер. Сітчасті шейдери дозволили GPU обробляти складніші алгоритми, забравши більше роботи з CPU.
  • RTX (Архітектура NVIDIA Turing / DirectX Raytracing, 2018). Додано можливості Трасування Променів у реальному часі (RTX) безпосередньо до SM-блоків у графічному процесорі, що забезпечує реалістичне освітлення, тіні та відображення.
  • Нейронні шейдери (Архітектура NVIDIA Blackwell, 2025) – Об’єднання AI та традиційних шейдерів. Штучний інтелект вбудовано в обчислювальний процес традиційного конвеєра візуалізації, прокладаючи шлях до повного Нейронного шейдінгу (Neural shading). МИ ТУТ!

Як бачите, кожен новий тип шейдеру задавав планку реалізму в графіці. Нові технології того часу змушували купувати нову відеокарту кожне покоління, бо все більше і більше ставали схожі на «реальне життя». Очі бачили прогрес, а гаманець відкривався.

Із запуском Blackwell NVIDIA представила Еру «Нейронних шейдерів» наступним еволюційним кроком у програмованому шейдингу. Замість того, щоб писати шейдерний код, розробники навчатимуть АІ моделі отримувати наближений результат, який би вони могли отримати від використання коду. В майбутньому всі ігри використовуватимуть технологію AI для візуалізації.

До цього моменту NVIDIA використовувала нейронні шейдери для DLSS, використовуючи CUDA для тензорних ядер. NVIDIA працювала з Microsoft над створенням нового API Cooperative Vectors. Завдяки йому можна отримати доступ до тензорних ядер через будь-який тип шейдера у графічному додатку, що дозволяє використовувати безліч нейронних технологій.

Скоріш за все, не тільки Microsoft була задіяна. Я про AMD, хто не зрозумів натяку.

Без DLSS (чи його аналогів) ніяк.

Нові технології

Якщо вам ліньки читати, NVIDIA запропонувала аж два відео. В першому показано красиве відрендерене 3D демо Zorah, а в іншому – технології, про які написано нижче.

Це взагалі яке співвідношення екрана? 21:9?

RTX Neural Materials

У великобюджетних фільмах CGI деяких матеріалів можуть бути дуже складними та складатися з кількох оптичних шарів. Трасування променів само по собі складне завдання, а в режимі реального часу стає дуже складним. Однак технології AI замінюють оригінальну математичну модель матеріалу на нейронне наближення (neural approximation). Це дозволяє краще відобразити матеріали та водночас дає змогу відтворювання у кіноякості з високою частотою кадрів.

RTX Neural Texture Compression (NTC)

Детальніше описано в спеціальній науковій статті.

З ростом прогресу у фотореалістичній візуалізації збільшується і кількість необхідних текстурних даних, що висуває додаткові вимоги до сховища та пам’яті, а також впливаючи на продуктивність через обмеження пропускної здатності. RTX Neural Texture Compression використовує нейронні мережі для ефективнішого стиснення та розпакування текстур. В демо Zorah, демонстрація Neural Materials використовує 1110 мегабайтів пам’яті для стандартних матеріалів на ліхтарі та тканині. Однак для нейронних матеріалів використовує лише 333 мегабайти – економія понад 3 рази з набагато кращою візуальною якістю.

Neural Radiance Cache (NRC)

NRC використовує нейронний шейдер для кешування та збереження приблизної інформації про яскравість. Тим самим складну інформацію про освітлення можна зберігати та застосовувати для створення високоякісного глобального освітлення та динамічних світлових ефектів у режимі реального часу. Технологія покращує ефективність шляхом зменшення обчислювального навантаження на GPU та забезпечує покращену якість зображення та масштабованість.

NRC отримує результати променя після їх першого відскоку та визначає кінцеві значення освітлення для наступних відбиттів. Виходить так, що запускається початковий набір променів, але не відбувається їх повний підрахунок. Потім надсилаються значення шляхів променів у кеш після одного відскоку та моделюються, як виглядала сцена, якби промінь був повної довжини з багатьма відбиттями. А оскільки нейронні мережі тренуються під час гри, NRC контекстно обізнаний під різноманітність сценаріїв, що дозволяє йому налаштовуватися, щоб забезпечити точний профіль непрямого освітлення для кожної ігрової сцени.

RTX Skin

Шкіра є однією з проблем для візуалізації, адже в іграх вона може бути різних типів. По суті, шкіра (skin) — це набір мешей/сіток, які утворюють зовнішню частину об’єкта. Це добре працює, якщо матеріал непроникний для світла (дерево чи метал), де промені потребують лише обчислення світла, яке є загальним для сцени. Однак напівпрозорі матеріали працюють інакше. Відбувається проникнення світла в матеріал та об’єкт, потім переміщується або розсіюється всередині об’єкта, а далі випромінюється в інших частинах об’єкта. RTX Skin є першим прикладом підповерхневого розсіювання в іграх із трасуванням променів, і його можна застосовувати як забажає художник.

RTX Neural Faces

Ще однією проблемою для візуалізації в реальному часі було реалістичне відтворення облич. RTX Neural Faces пропонує інноваційний новий підхід до покращення якості обличчя за допомогою генеративного АІ.

Neural Faces використовує просте растеризоване обличчя та дані тривимірної пози як вхідні дані та використовує генеративну модель штучного інтелекту в реальному часі, щоб створити природніше обличчя. Далі відбувається тренування на основі тисяч згенерованих в автономному режимі зображень цього обличчя під будь-яким кутом, за різних умов освітлення, емоцій і оклюзії.

У навчальному конвеєрі можуть використовуватися реальні фотографії або зображення, згенеровані АІ, із варіантами, створеними за допомогою дифузійної моделі. Потім навчена модель оптимізується TensorRT для застосування обличчя в реальному часі. RTX Neural Faces є першим кроком на шляху до перегляду графіки в реальному часі за допомогою генеративного штучного інтелекту.

Таймінг 2:20. Поки виглядає не дуже. Занадто сильно вибивається із загальної картини.

До анімацій від живих акторів та MetaHuman – ще далеко.

Як ми змогли подивитися, ці всі представлені та й наступні технології для майбутніх поколінь відеокарт, дадуть високий приріст продуктивності для нейронного рендерингу і саме він стане «головним козирем» перед основним конкурентом — AMD.

А що там AMD?

На CES 2025 були анонсовані нові відеокарти архітектури RDNA 4 — RX 9070 та RX 9070 XT. Однією з особливостей нового покоління стало застосування AI обчислень. Насправді це дуже непогано. Все більше розробників ПЗ будуть оптимізувати свої додатки до відеокарт AMD. Але це не точно.

А ось що точно, RDNA 4 забезпечить кращу підтримку RT, новий апскейлер та генератор кадрів. Це все буде називатися AMD FidelityFX Super Resolution 4. По простому — FSR 4. Інтернет-спільнота звісно підняла бунт і зрозуміло чому: FSR 4 не матиме підтримки старих відеокарт. Цікаво, що розуміється під «старими відеокартами»?

Спочатку з простого. NVIDIA вже з 2018 року випускає відеокарти з апаратною підтримкою RT. Пройшло 7 років, вже четверте RT покоління зʼявилося. Є велика ймовірність підтримки FSR 4 на відеокартах NVIDIA.

А ось з GPU та APU від AMD все якось неоднозначно. Наприклад, у Z1 / Z1 Extreme немає апаратної підтримки RT, бо це спеціально обмежені версії процесорів для ноутбуків без AI. Покоління Z2 (три різні процесори з різних поколінь) теж під великим питанням. Хоча, сподіваюся, що і вони будуть з FSR 4.

Перейдемо до відеокарт. Ще в серії RX 6000 були перші RT ядра. Хоча так, вони так не називалися, проте якісь аналоги вже були закладені (Ray та AI Accelerators). А це 2020 рік. Тобто вже з того часу (5 років!) почалися перші заходи з впровадження АІ. Якщо FSR 4 зроблять ексклюзивним для RX 9000 — буде не кінця ясно, чому це так.

Консолі PS6 та новий Xbox взагалі не зрозуміло коли з’являться. Якщо через два роки, тоді вийде нове покоління відеокарт AMD та отримаємо вже FSR 5 чи нову назву для них.

Взагалі, анонс RDNA 4 хоча і був на CES 2025, але з нього поки не вистачає інформації. Чекаємо з нетерпінням повноцінної презентації, а не 4-5 слайдів.