Глубокое обучающее супермасштабирование

Глубокое обучающее супермасштабирование (англ. Deep Learning Super Sampling, DLSS) — группа технологий глубокого обучения для улучшения и супермасштабирования изображений в реальное время, разработанных компанией Nvidia и применяемых во множестве видеоиграх. Их основная задача — позволить запускать большую часть графического конвейера на понижённом разрешении с целью увеличения производительности, а затем с помощью алгоритма восстановить итоговое изображение с качеством, близким к отрисованному в высоком разрешении. Это позволяет повысить настройки графики и/или частоту кадров при сохранении целевого разрешения вывода, в зависимости от предпочтений пользователя[1].

Все поколения DLSS доступны на всех видеокартах серии RTX при наличии поддержки в игре. Однако функция генерации кадров работает только на графических процессорах 40-й серии и новее, а Multi Frame Generation — лишь на 50-й серии[2].[3]

История

DLSS стал ключевой особенностью серии видеокарт GeForce 20, представленной в сентябре 2018 года[4]. На тот момент поддержка ограничивалась лишь несколькими играми, такими как Battlefield V[5] и Metro Exodus, поскольку для каждого проекта нейросеть требовала отдельного обучения, а качество полученных кадров уступало более простому масштабированию разрешения[6].[7] В 2019 году в игре Control появилась поддержка трассировки лучей в реальном времени и собственного алгоритма обработки изображений, приближающегося к DLSS, но реализованного без использования тензорных ядер[8].[9]

В апреле 2020 года Nvidia представила усовершенствованную версию DLSS 2.0 (начиная с драйвера 445.75), поддержанную такими играми, как Control и Wolfenstein: Youngblood, а позже — внедрённую во многие новые игры и игровые движки (Unreal Engine, Unity)[10].[11] Второе поколение снова использовало тензорные ядра и уже не требовало отдельного обучения модели под каждую игру[4].[12] Хотя обе версии носили название DLSS, они существенно различались по реализации и были несовместимы друг с другом[13].[14]

В январе 2025 года компания заявила о поддержке DLSS более чем в 540 играх и приложениях, при этом свыше 80 % обладателей видеокарт Nvidia RTX включают DLSS[15].

В марте 2025 года более 100 игр уже поддерживали DLSS 4, а к маю их число выросло до 125[16].[17][18]

Первая игровая консоль с поддержкой DLSS — Nintendo Switch 2, поступила в продажу 5 июня 2025 года[19].

Хронология версий

Выпуск Дата Ключевые особенности
1.0 февраль 2019 Пространственный супермасштабатор изображения, требовал отдельного обучения для каждой игры, реализован в Battlefield V и Metro Exodus[5]
«1.9» (неофициальное название) август 2019 DLSS 1.0, адаптированный для работы на CUDA-ядрах вместо тензорных, применялся в Control[8][4][20]
2.0 апрель 2020 Управляемый ИИ аналог TAA с применением тензорных ядер, универсальная нейросеть[21]
3.0 сентябрь 2022 Алгоритм генерации кадров на основе оптического потока (только для RTX 40), позволяет создавать промежуточные кадры[2][22]
3.5 сентябрь 2023 Добавлена Ray Reconstruction — единая AI-модель для подавления шумов трассировки лучей, обученная на объёме данных в 5 раз больше DLSS 3[23][22]
4.0 январь 2025 Введена Multi Frame Generation, новая AI-модель на базе архитектуры трансформер, улучшена стабильность кадров, снижено потребление памяти, повышена детализация освещения[3][24]

Пресеты качества

В зависимости от игры при использовании DLSS доступны различные предустановки качества, а также возможность ручной настройки разрешения для апскейлинга:

Стандартные предустановки DLSS
Пресет качества[a] Масштабный коэффициент[b] Внутреннее разрешение[c]
DLAA 1x 100 %
Ultra Quality[25] (не используется) 1,32x 77,0 %
Качество 1,50x 66,7 %
Сбалансированный 1,72x 58,0 %
Производительность 2,00x 50,0 %
Ультра-Производительность (с версии 2.1; рекомендуется только для 8K)[25]) 3,00x 33,3 %
Авто Внутреннее разрешение динамически регулируется в реальном времени для достижения заданной пользователем частоты кадров (например, 144 fps на мониторе 144 Гц)[26].

Реализация

DLSS 1.0

Первая версия DLSS являлась преимущественно пространственным супермасштабатором и выполнялась в два этапа на основе сверточных автоэнкодерных нейросетей[27]. Первый этап — повышающий качество сети, принимающий текущий кадр и вектор движения для усиления контуров и пространственного сглаживания. Второй — этап апскейлинга одного низкокачественного кадра к выходному разрешению. Использование лишь одного кадра требует от сети генерации значительных объёмов новых данных, что может приводить к появлению «галлюцинаций» (например, стилистических искажений листвы)[13].

Нейросети обучались отдельно для каждой игры на основе данных «идеального кадра», полученного многократным семплированием (до 64 на пиксель) и векторов движения. Для максимального охвата собирались всевозможные комбинации уровней, времени суток, настроек графики и других условий, а затем данные дополнялись искусственно (повороты, изменение цвета, шум). Модели DLSS обучались на суперкомпьютере Nvidia Saturn V[14].[28]

Первая версия DLSS вызвала разнообразную критику, особенно за мягкость картинки и артефакты в некоторых сценах[29],[6][5] что было следствием ограниченности данных единственного кадра. Nvidia демонстрировала также возможность обучения сети воспроизводить глубину резкости и размытие движения[14], но эти функции не были реализованы в конечных продуктах.

DLSS 2.0

DLSS 2.0 — это временное сглаживание с апскейлингом (TAAU), интенсивно использующий данные предыдущих кадров с субпиксельным сдвигом для повышения детализации и уменьшения артефактов. Входными данными служат исходный низкоразрешённый кадр, вектор движения, глубинный буфер и информация о яркости[13]. При использовании этого алгоритма без апскейлинга (рендеринг в 100%-ном разрешении) технология позиционируется как DLAA (глубокое обучающее сглаживание)[30].

Хотя TAA(U) давно применяются во многих играх и игровых движках[31], ранее они полагались на ручные эвристики для борьбы с такими артефактами, как призраки и мерцание. Пример — алгоритм соседнего зажима, устраняющий резкие отличия между кадрами, но приводящий к блюру. DLSS 2.0 реализует эти задачи через обученную сверточную нейросеть-автоэнкодер[29], а не «жёсткие» правила. Благодаря этому технология не только устраняет большую часть временных артефактов, но и иногда выдаёт изображение резче, чем обычный TAA при рендеринге в высоком/родном разрешении. Тем не менее, артефакты (особенно «призраки») наблюдаются и здесь.

Появление временных артефактов схоже во многих жанрах и графических стилях, поэтому одну и ту же нейросеть можно использовать практически во всех играх. Однако Nvidia выпускает отдельные минорные ревизии DLSS 2.0 под разные проекты[32], что свидетельствует о возможной дополнительной оптимизации обучения. Среди основных отличий DLSS 2.0: существенно лучшее сохранение деталей, универсальная сеть без необходимости переобучения, примерно двукратное снижение издержек (~1–2 мс против ~2–4 мс)[13]

В отличие от обычных апскейлеров (ESRGAN, DLSS 1.0), TAAU (в т. ч. DLSS 2.0) не генерирует принципиально новые детали, а воссоздаёт утраченную информацию из предыдущих кадров. На практике это означает, что низкоразрешённые текстуры будут выглядеть так же, как и при стандартном рендере; именно поэтому советуется применять mip map bias для использования более детализированных текстур.[13]

DLSS 3.0

DLSS 3.0 расширяет DLSS 2.0 за счет внедрения интерполяции кадров. Алгоритм генерирует новые кадры на основе двух последовательных отрисованных кадров, плавно переходя между ними, т. е. на каждый отрисованный кадр создаётся ещё один виртуальный.[2]. Технология требует нового Optical Flow Accelerator (OFA), присутствующего только в графических процессорах поколения Ada Lovelace (GeForce RTX 40 series). OFA в этих видеокартах быстрее и точнее предшественников (Turing и Ampere)[33]. DLSS 3.0 эксклюзивен для RTX 40 и на момент релиза не работал в VR.

DLSS 3.5

DLSS 3.5 вводит Ray Reconstruction — единую нейросетевую модель для подавления шумов при трассировке лучей, обученную на в пять раз большем объёме данных, чем DLSS 3. Эта функция поддерживается всеми видеокартами RTX и применяется прежде всего в играх с полной трассировкой лучейCyberpunk 2077: Phantom Liberty, Portal with RTX, Alan Wake 2 и др[23].[22]

DLSS 4.0

Четвёртое поколение DLSS было представлено одновременно с GeForce RTX 50 series. DLSS 4 использует новую модель на основе трансформеров, обеспечивая лучшее качество изображения, уменьшение ghosting-эффектов и большую стабильность кадра в динамике по сравнению с предыдущей сверточной моделью[34]. DLSS 4 позволяет генерировать и интерполировать большее количество кадров на основе одного физически отрисованного (технология Multi Frame Generation), эксклюзивно для RTX 50; предыдущая RTX 40 ограничена одним виртуальным кадром на каждый отрисованный. По заявлению Nvidia, такой подход способен увеличить производительность до 800 % при низкой задержке благодаря Nvidia Reflex[35]. Модель DLSS 4x для генерации кадров требует на 30 % меньше видеопамяти (пример — Warhammer 40,000: Darktide при 4K с экономией 400 МБ)[36]. Ожидается, что 75 игр внедрят Multi Frame Generation на старте, в числе которых — Alan Wake 2, Cyberpunk 2077, Indiana Jones and the Great Circle, Star Wars Outlaws[37].

GeForce RTX 20 series GeForce RTX 30 series GeForce RTX 40 series GeForce RTX 50 series
Трансформер-модель Да Да Да Да
2× генерация кадров Нет Нет Да Да
3–4× генерация кадров Нет Нет Нет Да

Ручное обновление DLSS в играх

Пользователи могут вручную заменять DLL-файлы DLSS в играх, чтобы использовать более новую версию. Открытая утилита DLSS Swapper может делать это автоматически для всех установленных игр[38]. Однако простая замена файлов не добавит DLSS в игры, где его изначально не было, хотя некоторые моды позволяют реализовать поддержку генерации кадров[39].

Сглаживание

DLSS включает собственный алгоритм сглаживания, поэтому (в зависимости от игры и пресета качества) иногда позволяет превзойти по качеству даже рендеринг в «родном» разрешении[40]. В основе — подходы, схожие с TAA, где информация из предыдущих кадров используется для построения текущего, но DLSS использует машинное обучение и аппаратную поддержку тензорных ядер. Nvidia также предлагает вариант DLAA, задействующий те же алгоритмы сглаживания без операций масштабирования[30].

Архитектура

За исключением версии на shader-ядрах в Control, DLSS реализован только для видеокарт GeForce RTX 20, GeForce RTX 30, GeForce RTX 40, GeForce RTX 50 и Quadro RTX, в которых есть специальные ускорители ИИтензорные ядра[29]. Впервые тензорные ядра появились в архитектуре Nvidia Volta, дебютировавшей в Tesla V100[41]. Они выполняют операции FMA со значительными объёмами параллельно: поддерживаются режимы FP16, INT8, INT4 и INT1, до 1024 операций FMA на такт для INT1 на ядро, большинство GPU Turing содержат сотни таких ядер[42]. Для оптимизации используются CUDA-примитивы на уровне warp из 32 нитей[43]. Начиная с Windows 10 1903, реализована поддержка DirectML (в составе DirectX) для работы тензорных ядер.

Восприятие

Особенно на ранних версиях DLSS пользователи отмечали «размытые» кадры. Сотрудник Nvidia Эндрю Эдельстен комментировал в 2019 году, что DLSS преимущественно обучался на материалах в 4K и при работе с низким разрешением (например, Full HD) испытывает недостаток информации для воссоздания качественного изображения[44].

Использование генерации кадров (Frame Generation) может приводить к повышению задержки ввода[45], а также к появлению артефактов[46]. Существуют мнения, что с появлением DLSS разработчики перестали оптимизировать игры под «родное» разрешение — например, для Alan Wake 2 на максимальных настройках в 4K и трассировкой лучей DLSS в режиме Performance рекомендуется даже для Nvidia GeForce RTX 4080 для достижения 60 fps[47].

Модель апскейлинга на основе трансформеров (DLSS 4) получила положительные отзывы за снижение ghosting-артефактов и повышение стабильности, детализации, качества сглаживания, обратную совместимость и лучшие перспективы масштабирования с будущими улучшениями[48].[49]

Примечания

Литература

Ссылки