NVIDIA Intros DLSS 2.0: тренировка для рвов в игре, добавление векторов движения для лучшего качества

4

Несмотря на то, что ежегодная конференция NVIDIA по технологиям графических процессоров была широко освещена, и основная масса объявлений NVIDIA была отложена на следующий день, как выясняется, у компании все еще есть анонс на этой неделе. И объявление об игре, не меньше. Сегодня утром NVIDIA наконец-то снимает с себя свою технологию DLSS 2.0, которую компания выпускает в качестве основного обновления своей более ранней технологии повышения AI.

Реагируя как на конкурентное давление, так и на реализацию собственных технологических ограничений, последняя итерация технологии масштабирования NVIDIA является довольно существенным пересмотром этой технологии. В то время как NVIDIA все еще выполняет масштабирование AI на базовом уровне, DLSS 2.0 больше не является чистым апскейлером; NVIDIA теперь по существу объединяет это с временным сглаживанием. Результаты, обещает NVIDIA, – это лучшее качество изображения, чем DLSS 1.0, а также более быстрая интеграция в отдельные игры, благодаря отказу от обучения в ходе игры.

В качестве быстрого повышения квалификации Deep Learning Super Sampling (DLSS) был первоначально выпущен после запуска поколения Turing (GeForce RTX 20 series) осенью 2018 года. DLSS была первой крупной попыткой NVIDIA использовать свой быстро растущий опыт в программировании ИИ и Аппаратные средства искусственного интеллекта для применения технологии к качеству изображения в видеоиграх. С учетом того, что все их карты GeForce RTX поставляются с тензорными ядрами, что может быть лучше, чем использовать их для улучшения качества изображения в играх в полуабстрагированном виде? Возможно, это был случай с молотком в поисках гвоздя, но основная идея была разумной, тем более что мониторы 4K дешевеют, а GeForce 2080 Tis – нет.

К сожалению, DLSS 1.0 так и не оправдала своего обещания. NVIDIA придерживалась очень ориентированного на образ подхода к этому процессу, опираясь на обширную программу обучения, которая включала создание различной нейронной сети для каждой игры в каждом разрешении, обучение сетей тому, как должна выглядеть игра, путем подачи их в сверхвысоком разрешении, 64x сглаженные изображения. Теоретически, получившиеся сети должны были бы понимать, как должен работать более детальный мир, и, соответственно, создавать более чистые и четкие изображения.

Иногда это работало хорошо. Чаще результаты были неоднозначными. NVIDIA в первую очередь представила технологию как способ снизить стоимость рендеринга с более высоким разрешением, то есть рендеринг игры с более низким разрешением, а затем масштабирование, с целью сопоставить собственное разрешение игры с временным сглаживанием. Конечные результаты иногда могли бы достигать или превосходить эту цель, а в других случаях изображение все еще было бы мягким и не содержало деталей, раскрывая свое происхождение с более низким разрешением. И все же для добавления DLSS в игру требовалась большая работа: каждая игра и каждое поддерживаемое разрешение требовали обучения еще одной нейронной сети. Между тем, простой фильтр повышения качества и повышения резкости может обеспечить незначительное повышение качества воспринимаемого изображения при минимальной загрузке и использовании графического процессора.

Введите DLSS 2.0

Хотя DLSS 1.0 был чистым, в ретроспективе он был, возможно, немного наивным. Как прямо сейчас заявляет NVIDIA, с DLSS 1.0 было трудно работать, потому что она основывалась на идее, что видеоигры детерминированы – что все будет вести себя предопределенным и предсказуемым образом. В реальности игры не являются детерминированными, и даже если персонажи ИИ делают одно и то же каждый раз, эффекты второго порядка, такие как частицы и тому подобное, могут не выполнять их собственные задачи. В результате было трудно обучать сети DLSS 1.0, которые нуждались в улучшении этого детерминизма, не говоря уже о применении их в играх.

NVIDIA Intros DLSS 2.0: тренировка для рвов в игре, добавление векторов движения для лучшего качества

Так что для второго шага в повышении AI, NVIDIA идет другим путем. Вместо того чтобы полагаться на отдельные нейронные сети для каждой игры, NVIDIA создала единую универсальную нейронную сеть, которую они чертовски оптимизируют. И чтобы восполнить недостаток информации, поступающей из игровых сетей, компания восполняет это, интегрируя информацию о векторах движения в реальном времени из самой игры, фундаментальный аспект временного сглаживания (TAA) и тому подобное. методы. Конечным результатом является то, что DLSS 2.0 ведет себя намного больше как временное решение для масштабирования, что делает его более тупым в некоторых отношениях, но и более умным в других.

NVIDIA Intros DLSS 2.0: тренировка для рвов в игре, добавление векторов движения для лучшего качества

Самым большим изменением здесь, конечно же, является новая общая нейронная сеть. Стремясь устранить дорогостоящее обучение для каждой игры и многие (многие) проблемы, которые недетерминированные игры представляли в процессе обучения, NVIDIA перешла к единой общей сети для всех игр. Эта новая нейронная сеть основана на полностью синтетическом обучающем наборе, а не на отдельных играх, что, в свою очередь, является полностью детерминированным, что позволяет NVIDIA тщательно обучать новую сеть именно тем способом, который необходим для ее повторения и улучшения в течение нескольких поколений. Согласно NVIDIA, эта новая сеть также быстрее выполняется на графическом процессоре, снижая накладные расходы от использования DLSS для начала.

Помимо сокращения времени обучения для каждой игры и изнурения разработчиков по детерминизму, другой результат для NVIDIA заключается в том, что общая сеть предоставляет им больше возможностей масштабирования разрешения. Теперь NVIDIA может увеличивать разрешение кадров до 4 раз – с разрешения 1080p до 4K – и позволяет использовать DLSS 2.0 с более широким диапазоном разрешений ввода / вывода, и позволяет использовать его более активно, из-за отсутствия лучшего термина , DLSS 1.0, напротив, обычно предназначался для увеличения в 2 раза.

Эта новая гибкость также означает, что NVIDIA теперь предлагает несколько режимов качества DLSS, компенсируя внутреннее разрешение рендеринга (и, следовательно, качество изображения) для большей производительности. Эти режимы – производительность, сбалансированность и качество.

В противном случае фактический процесс обучения сети не полностью изменился. NVIDIA все еще тренируется на 16K изображениях с целью научить нейронную сеть как можно больше о качестве. И это все еще выполняется как нейронные сети через тензорные ядра, хотя мне любопытно посмотреть, будет ли вывод DLSS 2.0 работать с тензорными ядрами так же много, как 1.0 до этого.

Однако подвох в DLSS 2.0 заключается в том, что для этого все еще требуется интеграция разработчиков игр, причем совершенно другим способом. Поскольку DLSS 2.0 использует векторы движения для перепроектирования предыдущего кадра и наилучшего вычисления того, как должно выглядеть выходное изображение, разработчикам теперь необходимо предоставить эти векторы для DLSS. Поскольку многие разработчики уже используют в своих играх какую-то временную АА, эта информация часто доступна в движке, и ее просто необходимо подвергнуть воздействию DLSS. Тем не менее это означает, что DLSS 2.0 по-прежнему необходимо интегрировать для каждой игры, даже если обучение для каждой игры прошло. Это не чистое решение для постобработки в конце цепочки, такое как FXAA, или сочетание резкости изображения с масштабированием.

Кроме того, следует отметить, что NVIDIA по-прежнему определяет разрешения DLSS так же, как и раньше; то есть они говорят о выходном разрешении, а не о входном разрешении. Так, например, режим качества 1080p, как правило, будет означать, что внутреннее разрешение рендеринга составляет половину выходного разрешения, или 1280×720, масштабируемое до 1920×1080. А режим производительности, как мне сказали, будет в 4 раза выше.

NVIDIA Intros DLSS 2.0: тренировка для рвов в игре, добавление векторов движения для лучшего качества

Между тем само собой разумеется, что вопрос масштабирования и улучшения изображений стал горячей темой с момента появления DLSS, а также недавних усилий AMD по борьбе с ним с помощью Radeon Image Sharpening. Таким образом, NVIDIA как бы начинает продвигать DLSS 2.0.

На самом деле «продвижение», возможно, является ключевым словом на сегодня. В то время как NVIDIA только наконец объявляет о выпуске DLSS 2.0 сегодня и рассказывает о том, как он работает, компания уже отправила его разработчикам игр. И то и другое Избавь нас от луны и Wolfenstein: Youngblood уже поставляются с DLSS 2.0. И теперь, когда NVIDIA довольна состоянием проверенной в настоящее время технологии, они перешли к ее распространению среди геймеров и разработчиков игр в целом, включая интеграцию в Unreal Engine 4.

Наряду с вышеупомянутыми играми, оба контроль и MechWarrior 5 получают обновления DLSS 2.0. контроль в частности, будет интересный случай, так как это единственная игра в этом наборе, которая также имеет реализацию DLSS 1.x, что означает, что она может использоваться в качестве элемента управления для оценки различий в качестве изображения. Даже NVIDIA идет так далеко, чтобы продемонстрировать некоторые улучшения качества.

NVIDIA Intros DLSS 2.0: тренировка для рвов в игре, добавление векторов движения для лучшего качества

Что касается производительности, NVIDIA в целом обещает такие же показатели производительности, как и DLSS 1.0. Это означает, что сравнимый режим качества может быть немного медленнее, чем DLSS 1.0 в играх, таких как Control, но в целом этот режим качества и его разрешение рендеринга в два раза должны обеспечить значительный выигрыш в скорости по сравнению с играми с собственным разрешением. При этом качество получаемого изображения должно быть лучше, чем у DLSS 1.0. NVIDIA даже рекламирует DLSS 2.0, предлагая лучшее качество изображения, чем игры с собственным разрешением, хотя на данный момент оставляя без внимания субъективную природу качества изображения, это может быть не совсем сравнение яблок и яблок, в зависимости от того, как разработчики эффектов пост-обработки использование (например, замена очень размытого фильтра TAA на DLSS 2.0).

NVIDIA Intros DLSS 2.0: тренировка для рвов в игре, добавление векторов движения для лучшего качества

В любом случае, DLSS 2.0 сегодня официально доступен. Обновления для контроль и MechWarrior 5 будет на этой неделе, и если NVIDIA добьется своего, скоро появятся новые игры.