April 21

Open sora? Hype or not?

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

это не модель мира если она не от open ai и не очень красивая

Back to the roots

Помните была такая dalle1? ну которая картинки, vqvae токены и вот это все. Ну так вот, если у тебя есть модель которая может генерить 256*256 картинку, значит у тебя есть модель которая может генерить 4 картинки 128*128. Или 8 картинок 64*64

ну вот, так работала https://github.com/wilson1yan/VideoGPT и пачка китайских работ про которые я не хочу говорить, ну собственно если вы готовы генерить 1м токенов то 1минутное видео с частотой 60fps не очень то и большая проблема.

С вас две почки и ваша мать за компьют на ring attention.

Мы нищие, значит претрен с нуля не наш путь

Короче что такое видео? это последовательность картинок. Проще говоря для того чтобы из картиночной модели сделать video достаточно доложить temporal канал imagen.research.google/video/

cобственно гугл придумал это еще летом 22, но произошел амнезия инцедент и все на это забили. Хотя в целом никаких ограничений чтобы сделать тоже самое с SD1.4 не было.

Проходит пол года и выходит align your latents

Пресловатая SD, но тут используют встройки temporal layer_ов которые в свою очередь опирируют батчем латентов из 8 кадров. Те размер такого темпорал лайера = [число кадров, latent_dim ]. к слову так же построены https://stability.ai/news/stable-video-diffusion-open-ai-video-model от того же робина ромбаха

к баранам, ой в смысле трансформерам

короче если у вас есть видео которое по сути картинки, то вы очень захотите его сжать по RGB и tempora, быстро пробежимся по тому как это делается

Ну есть три работы magvit1-2 и cavvit. про вторую почитаете сами, а я про magvit расскажу

Меня всегда забавляло что в сообществе называют такие архитектуры Video/Image tokenizer_ом, хотя очевидно к токенизации оно отношения не имеет

а, еще оно умеет привторятся не трансформером, а диффузией, те может предсказывать паралельно ОЧЕНЬ много токенов картинки. Зачем? ДА ЭТОЖ КРУТО!!

Cобственно в чем идея - у нас есть сжималка для видео - мы сжимаем N_frames*H*W в размерность N_FRAMES/1.3*64*64 ~ те это вполне себе штука с которой удобно работать, а еще и сжатая по тайм оси, мы не богатые, токены не бесплатные.

А потом учится трансформер на таких "токенах", по старой гугловой традиции учится мультитаск, например может предсказать новые виды или сделать из картинки/видео 1:1 картинку/видео 16:9

Video poet

Работа которую пропустили почти все(?) мои знакомые блогеры, хотя работа довольно любопытная

https://sites.research.google/videopoet/

Собственно идея простая, берем и скейлим magvit, но еще докидываем токенезацию для аудио. Круто!!

Но вероятно модель была пиздец какой медленной + огромной + гуглу надо закопать еще одну крутую штуку на кладбище. НУ и закопали, хули)))

собственно эээ dalle1 на стероидах странных категорий

Через пол годика опенаи докинет аудио токены в сору и вот тогда будут бурления в интернетах: ААААА, ВОРЛД МОДЕЛЬ ПОНИМАЕТ АУДИО, МЫ В МАТРИЦЕ.

пиздец.

Latte

Собственно что у нас тут, DIT ака трансформер который инферят и учат как диффузию, при этом авторы проводят АБАЛЕЙШН АРХИТЕКТУР И ОН НЕ БЕСПОЛЕЗНЫЙ!!!!(прикинитье можно не только тупо SELF attn махнуть на conv но и что то поумнее сделать)

архитектурные экспы в latte

1) Давайте возьмем Temporal(по кадрам) и Spatial (по сути на токены), а размерность входа выхода получается NUM_FRAMES*TOKEN_PER_FRAME(где то 1024 токена на фрейм)

проще говоря, суют кадры последовательно в трансформер и не выебываются

2)Все тоже самое, просто в начале spatial, потом temporal блоки

3)Тут все довольно просто, давайте возьмем и в один и тот же трансформер блок пихнем и temporal и spatial фичи. Так победим.

Пиздатые идеи для резерча

1) Авторы говорят, учить целиком дифужн трансформер - не наш путь, мы заинитим весами просто DIT который учился на ImageNet, а лейблы переделаем. А позиции токенов переинтим по аналогии с ROPE.

2) Давайте докинем фреймы из видео в претрен сет, нам полезно не забывать что видео это вообще то картинки

рил неплохо докинуло

3)

авторам хуй стоит пожать за такой резерч, очень уважаемо

Сравнение разных вариантов сэмлирования видео, сэмлринга кадров и то как сэмлятся кадры

4) Сompression patch embedings

Ну типа можем патчить не просто кадры, а кадры по времени, но по итогу оно хуже

5) По флопсам кстати довольно выгодным выходит именно 4 вариант

Хотя по метрикам и похуже, но любопытно.

Open sora

По сути это подход Latte, только на большем обьеме данных и больше экспов по video vae и с более высоким разрешением и числом фреймов. А еще зачем то используют DeepFloyd/t5-v1_1-xxl который ээээ, пиздец огромный и ну не секс.

Материалы

https://arxiv.org/pdf/2401.03048v1.pdf -latte

https://github.com/google-research/magvit - magvit