Вернуться к генератору

Как это устроено и сколько занимает

Сервис работает на одной видеокарте RTX 3090 с 24 гигабайтами памяти. Все числа ниже сняты на этом железе, а не взяты из описаний модели.

Модель

Используется Wan 2.2 в двух вариантах. Для генерации из фотографии берётся вариант I2V-A14B, для генерации из одного описания вариант T2V-A14B. Это разные наборы весов, а не режимы одной модели.

Оба варианта состоят из двух моделей-экспертов, которые работают по очереди, а не одновременно.

Момент передачи задаётся параметром «Точка передачи». Обучены модели по-разному, поэтому подмена одной другой не работает. Первая на почти готовом кадре оставляет изображение мыльным. Вторая на случайном шуме разваливает структуру и движение.

Суммарно это около 28 миллиардов настраиваемых величин, но на каждом шаге считается только одна модель из двух. Получается качество крупной модели без её стоимости на каждом шаге.

Квантование и память

Веса хранятся в сжатом виде Q8_0 и занимают 14,3 гигабайта на каждую модель. Обе сразу в память видеокарты не помещаются, поэтому первая выгружается перед загрузкой второй.

Более сильное сжатие не применяется намеренно. На Q4 заметно ухудшается именно то, ради чего выбрана эта модель: правдоподобность лиц, кожи и волос.

Сколько занимает

Измерено при длине 81 кадр, то есть 5 секунд при скорости 16 кадров в секунду.

КадрРежимШаговВремя
832 на 480Быстро42,5 минуты
832 на 480Глубоко2017 минут
1280 на 720Быстро47 минут
1280 на 720Глубоко20около часа

Один шаг на кадре 832 на 480 в глубоком режиме занимает около 50 секунд. Пик занятой памяти видеокарты на кадре 1280 на 720 составил 20,4 гигабайта из 24.

Почему глубокий режим на 1280 на 720 недоступен

Около часа на одну задачу при одной видеокарте означает 28 роликов в сутки, и всё это время очередь стоит. Сочетание отключено, остальные три доступны.

Почему быстрый режим быстрее в семь раз, а не в пять

Шагов в пять раз меньше, но экономия больше. Ускоряющая надстройка работает при силе описания, равной единице, и модель считает каждый шаг один раз. В глубоком режиме сила описания выше единицы, поэтому каждый шаг считается дважды: с описанием и без него, с последующим сравнением.

Постоянные затраты

Загрузка одной модели в память занимает от 30 до 43 секунд, и за одну генерацию она происходит дважды. В глубоком режиме эти полторы минуты составляют около десятой части времени. В быстром режиме они занимают больше половины.

Отсюда следует важное для быстрого режима: дальнейшее уменьшение числа шагов почти не сокращает время, потому что упирается в загрузку весов.

Кэш весов не помогает

Проверено четырьмя задачами подряд. Повторный запуск с теми же весами занимает столько же, сколько запуск со сменой модели.

Причина в порядке работы. Внутри задачи первая модель уступает место второй. Каждая задача заканчивается с загруженной второй моделью и начинается с потребности в первой, то есть запрашивает ровно тот вес, который сама только что вытеснила. Промах происходит всегда.

Длина ролика

Число кадров должно делиться на 4 с остатком 1. Ограничение исходит от модели: она сжимает время вчетверо. При другом значении расчёт округляется вниз, и ролик получается не той длины, которую запросили. Сервис такое значение отклоняет.

Диапазон составляет от 17 до 121 кадра. Обучение шло на 81 кадре, и на этой длине результат наиболее устойчив.

Размер кадра

Доступны только те размеры, на которых модель обучалась: 832 на 480, 480 на 832, 640 на 640, 1280 на 720, 720 на 1280, 960 на 960. Промежуточные значения модель не видела, и качество на них ниже.

Стоимость растёт быстрее числа точек. Кадр 1280 на 720 содержит в 2,3 раза больше точек, чем 832 на 480, а считается вчетверо дольше. Причина в том, что расход на связи между частями кадра растёт быстрее линейного.

Генератор Как получить хороший результат О сервисе