CV Time
BitDance: Scaling Autoregressive Generative Models with Binary Tokens [2/3]
Продолжаем разбирать работу ByteDance на тему авторегрессионной генерации изображений. В первой части рассказали, как авторы пытались увеличить размер кодбука и боролись с «коллапсом» с помощью lookup-free-квантизации.
Однако полечив одно, неизбежно столкнулись с другой проблемой: в авторегрессионных языковых моделях для предсказания очередного токена используют линейную классификационную голову, выходная размерность которой равна размеру словаря токенизатора. Чтобы применить такой способ к генерации картиночного токена, где размер кодбука VQ-VAE равен 2^D, нужно хранить в памяти матрицу размера h x 2^D, где h — размерность скрытого слоя трансформерного бэкбона. Для сколь-нибудь больших D и h порядка 10^3 это будет приводить к OOM.
Можно попробовать предположить независимость каждого из D каналов бинарного токена, как было сделано в Infinity — одной из прошлых работ ByteDance по авторегрессионной генерации. Это снизит рост матрицы головы с экспоненциального до линейного: теперь нам потребуется матрица размера h x 2D. Однако при таком предположении качество картиночной генерации заметно падает.
Именно в этом месте исследователям на помощь приходит диффузия. Для предсказания D-мерного бинарного токена (он же — вершина D-мерного куба) предлагают выучить отображение распределения гауссовского шума в вершины D-мерного куба при условии эмбеддинга z, для которого мы и предсказываем бинарный токен. Дизайн денойзера в статье особо не обсуждается и не проверяется: берут «небольшой» трансформер и обучают его по замшумлённому токену x_t, времени t и эмбеддингу z предсказывать x. Причём диффузионный лосс считают во flow-matching-формате, то есть предсказание сети перепараметризовывается в предсказание скорости. После финального шага диффузии от предсказания берётся знак. По сравнению с диффузией на стандартных VAE-латентах, значения которых никак не ограничены, такая жёсткая схема помогает избежать н
❤6🔥5👍3
10 · 1.4K ·