Forwarded from Machinelearning
AdaCache основан на наблюдении, что «не все видео одинаковы»: некоторым видео требуется меньше шагов денойза для достижения приемлемого качества, чем другим.
AdaCache использует кэширование остаточных вычислений в блоках трансформера (например, выходные данные механизмов внимания или MLP) на определенном шаге диффузии и повторного использования их на нескольких последующих шагах, количество которых зависит от генерируемого видео.
Решение о том, когда нужно выполнить следующее вычисление, принимается на основе метрики расстояния, которая измеряет скорость изменения между сохраненными и текущими представлениями.
Чтобы избежать артефактов для динамики используется регуляризация движения (MoReg).
MoReg оценивает движения в латентном пространстве на основе разности остаточных кадров, а чтобы эта оценка была эффективна на ранних шагах диффузии, MoReg вычисляет градиент движения, который выступает в качестве разумного раннего предиктора. И оценка движения, и градиент движения используются в качестве масштабирующего фактора метрики расстояния для регуляризации схемы кэширования AdaCache.
AdaCache был протестирован на Open-Sora-v1.2, Open-Sora-Plan-v1.1 и Latte. Результаты показали, что AdaCache обеспечивает ощутимое ускорение без ущерба для качества генерации. Фактически, он достигает ускорения в 4.49x, 3.53x и 2.46x соответственно на трех рассмотренных базовых видео.
Прикладной кейс использования AdaCache предлагается на бейслайне Open-Sora с вариантами запуска: Baseline, AdaCache и AdaCache+MoReg.
⚠️ Пример инференса рекомендуются на одном GPU A100 (80Gb)
# Baseline
bash run_sample_video.sh configs/sample.py
# AdaCache
bash run_sample_video.sh configs/sample_adacache.py
# AdaCache+MoReg
bash run_sample_video.sh configs/sample_adacache_moreg.py
@ai_machinelearning_big_data
#AI #ML #DiT #AdaCache #Text2Video
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM