First Principles расчёт realtime видеогенерации
Глава 1: Baseline — считаем от Wan2.1-14B
Для расчётов нам нужна конкретная архитектура, которую можно разложить на числа. Берём Wan2.1-14B — одну из лучших open-source моделей для генерации видео. (Technical Report).
Настоящий realtime на практике почти наверняка будет авторегрессивным — модель генерирует кадр за кадром с фиксированным контекстным окном, а не весь клип целиком. Именно поэтому мы делаем все расчёты в стандартной постановке (5с, 81 кадр, 720p) — это соответствует размеру одного контекстного окна, которое и будет единицей compute в реальной системе. Для ознакомления с работами рекомендую почитать Helios, LongLive, Self-Forcing
Как устроена модель
Генерация видео в Wan2.1 — это три этапа:
Этап 1: Text Encoder. Текстовый промпт кодируется через UMT5 (5.3B параметров) в 512 текстовых токенов. Это делается один раз и кэшируется.
Этап 2: DiT (Diffusion Transformer). Основной вычислительный блок. 14 миллиардов параметров. Берёт шум в latent space и за 50 steps превращает его в сжатое представление видео. Каждый шаг — полный forward pass через все 40 transformer layers.
Этап 3: VAE Decode. Wan-VAE (127M параметров) декодирует latent представление обратно в пиксели. Вычислительно дёшево по сравнению с DiT.
DiT в числах
Число параметров 14B Transformer layers 40 Hidden dimension (d) 5120 Attention heads 40 (head dim = 128) Feedforward dimension (d_ff) 13,824
Сколько токенов обрабатывает DiT?
DiT работает не с пикселями, а с latent tokens — сжатым представлением видео. Считаем:
Формула: tokens = (1 + T/4) × (H/16) × (W/16)
720p (1280×720), 5 сек, 16 fps = 81 кадр:
Temporal: 1 + 80/4 = 21 latent кадров Spatial: (720/16) × (1280/16) = 45 × 80 = 3,600 latent пикселей на кадр Tokens = 21 × 3,600 = 75,600
75 тысяч токенов — вот с чем работает DiT на каждом из 50 шагов деноизинга.
FLOPS на один шаг
Каждый из 40 layers DiT состоит из трёх блоков. Считаем FLOPS для каждого (S = 75,600, d = 5120):
QKV проекции: 8 × S × d² = 8 × 75,600 × 5120² ≈ 15.9 TFLOP
Attention (scores): 4 × S² × d = 4 × 75,600² × 5120 ≈ 117.1 TFLOP
Итого: ≈ 133 TFLOPCross-Attention (текст → видео):
≈ 8.4 TFLOP per layer
4 × S × d × d_ff = 4 × 75,600 × 5120 × 13,824 ≈ 21.4 TFLOP
133 + 8.4 + 21.4 = ~163 TFLOP
40 × 163 = ~6,500 TFLOP = 6.5 PFLOP
Self-Attention = 82% всех вычислений. Обратите внимание на 4 × S² × d — квадратичная зависимость от числа токенов. Удвоение разрешения → учетверение attention compute.
Калибровка по реальности
Теоретические FLOPS — это хорошо, но давайте сверимся с реальными замерами.
Из реальных замеров: 1 секунда видео 720p ≈ 48 секунд на H100 (242 сек / 5 сек). Это наша калиброванная точка отсчёта — все дальнейшие расчёты масштабируем от неё.
Где мы сейчас
Цель: 720p@16fps, streaming realtime — генерировать 1 секунду видео за ≤1 секунду.
Реальность: 1 секунда видео 720p = 242/5 ≈ 48 секунд на H100.
Глава 2: Базовые ускорения — что можно сделать прямо сейчас
Прежде чем менять железо, выжмем максимум из текущего решения. Для реальных цифр рекомендую глянуть блог от Morphic, где они подробно расписали ускорения и провели точные замеры
FlashAttention + torch.compile
FlashAttention не уменьшает FLOPS — он уменьшает обращения к памяти. Вместо материализации матрицы attention (75K × 75K ≈ 5.7 миллиардов элементов), считает блоками, не записывая промежуточные результаты в HBM.
torch.compile добавляет kernel fusion — объединяет операции в один GPU kernel.
Эффект: MFU с ~30% → ~50-60%. Speedup: ~1.5-2×.
Step Distillation: 50 → 4 шага
Каждый step — полный forward pass через 14B модель. Consistency distillation обучает модель делать то же за меньше шагов:
- 50 → 8 steps: качество почти не падает
- 50 → 4 steps: минимальная деградация
- 50 → 1 step: заметная потеря, но usable для preview
Эффект: 50/4 = 12.5×. Консервативно: ~10×.
CFG distillation
CFG делает два forward pass на каждый step (с промптом и без). Guidance distillation учит модель генерировать "guided" за один проход.
Sparse Attention
Не все пары токенов одинаково важны. VSA (Variable Sparse Attention) и Block Sparse пропускают ненужные пары. TurboDiffusion комбинирует sparse attention со step distillation и показывает 100-200× суммарный speedup.
Консервативная оценка sparse attention отдельно: ~3-6×.
Суммарный эффект
Baseline (1 сек видео 720p): 48 сек на 1×H100 Flash + compile: ×1.7 → 28 сек Step distillation: ×10 → 2.8 сек CFG removal: ×2 → 1.4 сек Sparse attention: ×4 → 0.35 сек ✅
Результат: 720p realtime на одном H100 достижим с aggressive optimization (4 steps, sparse, no CFG).
Реалистичный сценарий (8 steps, moderate sparse, partial CFG):
×1.7 × 6 × 1.5 × 3 = ×46 48 / 46 ≈ 1.0 сек — на границе realtime
Глава 3: Квантизация — меньше бит, больше скорость
Современные GPU имеют физически разные Tensor Cores для разных числовых форматов. FP8 Tensor Cores выдают ровно 2× throughput по сравнению с FP16.
Compute: меньше бит → больше операций в секунду.
H100: FP16 = 989 TFLOP/s | FP8 = 1,979 TFLOP/s (×2) B200: FP16 = 2,250 | FP8 = 4,500 | FP4 = 9,000 (×4)
Memory: меньше бит → меньше данных через шину.
14B модель: FP16 = 28 GB | FP8 = 14 GB | FP4 = 7 GB
FP8: потеря качества < 1%, стандарт индустрии. FP4: требует calibration, работает на Blackwell через microscaling.
Aggressive opt, FP16: 0.35 сек → с FP8: 0.18 сек ✅ Moderate opt, FP16: 1.0 сек → с FP8: 0.5 сек ✅
Глава 4: Новое поколение карточек
⚡ Граница: H100 и B200 — реальность, можно купить/арендовать сегодня. B300 объявлен, поставки H2 2025. Всё дальше — экстраполяция на основе NVIDIA roadmap и исторических трендов.
GPU Roadmap
NVIDIA анонсировала roadmap на GTC 2025: Blackwell Ultra (B300), Rubin (2026), Rubin Ultra (2027), Feynman (2028).
Исторический тренд: ~2× achievable FLOPS каждые ~18 месяцев. Memory bandwidth растёт медленнее (~1.5× за поколение), но новые форматы (HBM4, HBM4E) компенсируют.
*экстраполяция по тренду ~2× за 18 мес
Пересчёт для новых GPU
Вывод главы 4: 720p realtime уже достигнут на 1×H100 с оптимизациями. 1080p realtime — 8×H100 уже сейчас или 1×Rubin в 2026. Дальше — запас.
Глава 5: Мои предположения о будущих улучшениях
По моей интуиции, сейчас основных bottleneck видео-генерации является не эффективное представление данных — видео из 81 кадра != 81 изображению по объему информации и даже темпоральное сжатие не сильно помогает, так как к примеру использование видео-кодеков позволяет сжатие видео намного сильнее. По этому мне интересно следить за подходами, которые используют более эффективное предстваление видео, к примеру CoPE-VideoLM
Поэтому хочется сделать предположение, что для видео генерации будет использоваться более сжатое представления, и как ориентир взять Wan2.2 VAE. Таким образом:
Wan2.1 VAE: compression 8×8 spatial → 75,600 tokens для 720p.
Wan2.2 VAE: compression 16×16 spatial:
- Tokens в (16/8)² = 4× меньше → ~18,900 tokens
- Attention compute: 4² = 16× меньше (квадратичная зависимость!)
- Weighted average (attention ~82%): ~13.6× суммарное ускорение
С patchification 2×2: total compression 32×32×4 → ещё 4× меньше.
Использование более эффективного VAE сравнимо с двумя поколениями GPU это уже 2-4 года.
Если финализировать текущие оптимизации на горизонт 2027 года с более эффективными VAE и оптимизации, то мы получаем, что видео генерации это дело ближайших пару лет. При этом запас ускорения позволяет сделать архитектуру еще больше, значит мы получим качественную видеогенерацию в реалтайм уже скоро.
Пока писался этот пост вышла realtime видео генерация в 1080p на базе LTX2.3 https://haoailab.com/blogs/fastvideo_realtime_1080p/. А у LTX сжатие 32x пространственное и 8x темпоральное
Глава 6: А давайте всё на мобилку засунем
Серверные GPU — хорошо, но телефон в кармане — другая история. Хочется взять телефон и например сделать свой персональный Subwafe Surfer симулятор, чтобы мотивировать себя заниматься бегом. Давайте глянем насколько мы далеко от реальности. За основу возьмем архитектуру 1.3B, т.к на мобильных устройствах слабее железо
Baseline:
Модель: 1.3B, INT8 = 1.4 GB Разрешение: 480p FPS на H100 FP8: 24.8 Computational Power H100: 3,958 TFLOPS (FP8)
Текущие мобильные NPU
Давайте глянем на вычислительную мощность современных мобильных чипов.
Qualcomm X2 Elite │ 80 TOPS = 80 TFLOPS (FP8) Snapdragon 8 Elite │ 45 TOPS = 45 TFLOPS (FP8) Apple A18 Pro │ 35 TOPS = 35 TFLOPS (FP8)
Видно, что разница колоссальная текущие вычислительные мощности не позволяют даже близко делать реалтайм на мобильном устройстве. При этом мы даже не учли, что стэк для мобильных устройств менее развит и соответственно реальная скорость будет еще медленнее.
Прогноз TOPS по годам
Да, всё выглядит грустно, однако, давайте сделаем прогноз по годам
Прогноз TOPS: исторический тренд ~2× каждые 2 года. Следуя данному прогнозу мы получим:
2025: 45-80 TOPS (реальность) 2027: ~150 TOPS (Intel Nova Lake анонс + тренд) 2029: ~250 TOPS (экстраполяция ×2 от 2027) 2030: ~400 TOPS 2031: ~600 TOPS 2033: ~1,500 TOPS
Вывод: мобильный realtime с текущим AR подходом — это долгая история. 480p@1FPS: ~2027. 480p@12FPS: ~2031-2033. 720p realtime на мобилке — не раньше 2033-2035.
Но: это без учёта будущих архитектурных прорывов (smaller models, better compression, hardware-aware architectures). Каждое 10× improvement в model efficiency сдвигает timeline на ~3 года влево.
Выводы
Глядя на вычисления, качественная реалтайм генерация на серверах вопрос ближайших 2 лет. Отсюда можно дальше прогнозировать, когда появятся реалтайм игры, я бы поиграл в бесконечный Euro Truck Simulator или Subnautica. Надеюсь это будет к 2030 году.
Для меня оказалось неожиданным насколько мы далеки до realtime генерации на мобильных устройствах в 2030-е года не выглядит как AGI завтра. Возможно мы получим её за счёт качественного сдвига в инференсе - специальные чипы более оптимизированные архитектуры, где будут решены две проблемы: attention и более эффективное представление видео. Тут прогнозирую ближе к 2030 году
Добавлю, что расчеты для архитектуры Wan не слишком реалистичны, потому что более бОльшие архитектуры показывают качественный рост в консистентности, prompt following и эстетике. Чтобы учесть этот фактор и посмотреть, когда будет реалтайм на 30B, 200B архитектурах или попытаться использовать свою интуицию, чтобы оценить время realtime переходите на интерактивное демо.