Возвращаем нашу рубрику с обзорами.
Интересная работа – VisionZip: Longer is Better but Not Necessary in Vision Language Models. Если по сути, то рассматривается старая, как мир, идея, что изображения, в отличие от текста, достаточно неплотный по семантике формат и с этим что-то можно сделать.
Вся область компьютерного зрения всеми возможными способами танцует вокруг этой проблемы. Но, в контексте больших мультимодальных моделей она приобретает новые краски, поскольку, как известно, с количеством токенов квадратично растёт и сложность.
А в последних моделях, с учётом всех трюков, количество визуальных токенов уже совсем неслабое. Например, в LLaVA-NeXT изображение 672х672 будет преобразовано в 2880 токенов.
Авторы считают, что так жить нельзя и предлагают следующее решение: изображение прогоняется через визуальный энкодер на трансформерной архитектуре, после чего извлекаются значения внимания и на этой основе принимается решение, какие токены очень важны, а какие чуть менее и вообще просто кодируют контекст. При этом, по-разному производится работа с FE, где есть CLS-токен и где нет. В первом случае, считается внимание по отношению к CLS-токену (т.к. в нём глобальная информация), в других же случаях просто усредняется внимание по отношению ко всем остальным токенам по оси количества голов.
Критически важные токены берутся без изменений, а остальные агрегируются (через усреднение, опять же) по принципу похожих. Дальнейший процесс как обычно, см. схему.
Метод можно использовать прямо как есть, без файнтюна, но будет чуть хуже - пространства могут не совпадать. Но даже так неплохо.
А с трейном так и совсем хорошо. У авторов вышло, что, порезав 77.8% токенов в LLaVA-NeXT, можно сохранить 98.9% оригинальной точности. Рост скорости очевиден – 13B модель начинает работать быстрее 7B. И при этом, всё ещё чуть качественнее.
Разгорячившись, ребята попробовали с наскока залезть и в видео. Вышло, что Video-LLaVA на 136 токенах (вместо 2048) сохраняет 93.2% оригинального качества в варианте без тренировки.
Тут, конечно, стоит быть осторожными с выводами. Результаты выглядят впечатляюще, и статья получила заметное внимание, но стоит помнить о некотором кризисе с замером качества у моделей общего назначения. Может оказаться, что эти несколько процентов убивают весь перформанс в реальных задачах.
Но, можно пощупать самостоятельно в демке, пока она жива. С наскока кажется, что вроде бы как минимум работоспособно, ну и там есть интересная визуализация.
Интересная работа – VisionZip: Longer is Better but Not Necessary in Vision Language Models. Если по сути, то рассматривается старая, как мир, идея, что изображения, в отличие от текста, достаточно неплотный по семантике формат и с этим что-то можно сделать.
Вся область компьютерного зрения всеми возможными способами танцует вокруг этой проблемы. Но, в контексте больших мультимодальных моделей она приобретает новые краски, поскольку, как известно, с количеством токенов квадратично растёт и сложность.
А в последних моделях, с учётом всех трюков, количество визуальных токенов уже совсем неслабое. Например, в LLaVA-NeXT изображение 672х672 будет преобразовано в 2880 токенов.
Авторы считают, что так жить нельзя и предлагают следующее решение: изображение прогоняется через визуальный энкодер на трансформерной архитектуре, после чего извлекаются значения внимания и на этой основе принимается решение, какие токены очень важны, а какие чуть менее и вообще просто кодируют контекст. При этом, по-разному производится работа с FE, где есть CLS-токен и где нет. В первом случае, считается внимание по отношению к CLS-токену (т.к. в нём глобальная информация), в других же случаях просто усредняется внимание по отношению ко всем остальным токенам по оси количества голов.
Критически важные токены берутся без изменений, а остальные агрегируются (через усреднение, опять же) по принципу похожих. Дальнейший процесс как обычно, см. схему.
Метод можно использовать прямо как есть, без файнтюна, но будет чуть хуже - пространства могут не совпадать. Но даже так неплохо.
А с трейном так и совсем хорошо. У авторов вышло, что, порезав 77.8% токенов в LLaVA-NeXT, можно сохранить 98.9% оригинальной точности. Рост скорости очевиден – 13B модель начинает работать быстрее 7B. И при этом, всё ещё чуть качественнее.
Разгорячившись, ребята попробовали с наскока залезть и в видео. Вышло, что Video-LLaVA на 136 токенах (вместо 2048) сохраняет 93.2% оригинального качества в варианте без тренировки.
Тут, конечно, стоит быть осторожными с выводами. Результаты выглядят впечатляюще, и статья получила заметное внимание, но стоит помнить о некотором кризисе с замером качества у моделей общего назначения. Может оказаться, что эти несколько процентов убивают весь перформанс в реальных задачах.
Но, можно пощупать самостоятельно в демке, пока она жива. С наскока кажется, что вроде бы как минимум работоспособно, ну и там есть интересная визуализация.
🔥14👍3
По каким-то причинам, известная фотография великого Николы Теслы особенно хорошо работает в нашем пайплайне редактирования изображений :)
Не иначе как, фото заряжено на науку.
Не иначе как, фото заряжено на науку.
🔥10😁3 3 2👍1
A Noise is Worth Diffusion Guidance
Довольно любопытная работа.
В диффузионных моделях применяется механизм под названием Classifier Free Guidance (есть и другие вариации, но CFG — де-факто стандарт). Без него сгенерированные на основе текстового промпта изображения выглядят очень печально (см. картинки 1 и 4), потому что тогда модель не получает достаточный сигнал от условия и искажает структуру.
С CFG диффузию прогоняют два раза: один раз с условием, другой раз без, разница взвешенно добавляется к безусловному выводу.
Применение метода даёт невероятное улучшение качества, но проблема с ростом вычислительных затрат, которые и без того находятся за пределами добра и зла, всех очень беспокоит.
Есть различные способы от CFG избавиться, например, при обучении с дистилляцией (учитель - ученик), можно сразу обучать на результате с CFG. Так сделали в открытой версии нашумевшей модели FLUX.1-schnell.
Работает хорошо, но это дорого и больно.
В очередной попытке вопрос решить, авторы исходят из своего наблюдения: если инвертировать качественное изображение в изначальный шум (при помощи DDIM или других методов с детерминированным сэмплированием), то, затем, из этого шума получается хорошее изображение уже без всякого гайденса.
Выходит, что нужен просто правильныймёд шум. Его правильность, кстати, тоже исследуют и приходят к выводу, что разница с гауссовским, в общем-то, невелика и сводится к небольшим низкочастотным элементам.
Имея этот расклад, остаётся придумать, как отобразить одно пространство в другое.
Для этого используется всё та же диффузионная модель. Внимательный читатель может спросить — опять прогонять ещё одну модель? А мы не сделали круг?
Не сделали, поскольку используется LoRA с рангом 128 и оптимизируется она напрямую на конечных изображениях (оптимизация на шуме даёт результат хуже) и работает на этапе инференса в один шаг.
Результаты метода, названного Refined Noise, получаются, если верить статье и черри-пикам, хорошие, при этом не страдает ни разнообразие, ни способность модели к генерализации.
Более того, при Side-By-Side сравнении с CFG моделью, Refined Noise немного даже выигрывает.
По метрикам на бенчмарках чуть пониже оригинала, но сравниваются уже с пайплайном с СFG + PAG (Perturbed-Attention Guidance, ещё один гайденс для улучшения структуры). Т.е. разница в вычислительных затратах между методами уже не в 2, а в 3 раза.
К сожалению, в статье используется StableDiffusion 2.1, было бы интересно посмотреть на результат на более современных моделях.
Есть ещё один малозаметный нюанс. И для генерации обучающих данных и при сравнении всех моделей использовались CFG + PAG. Но, если верить подписям, в SBS, внезапно, сравнение проводилось против просто CFG модели, что противоречит собственной же аргументации:
Тем не менее, впечатляет гибкость метода и что им можно заменять сразу несколько гайденсов.
Код обещают выложить.
Довольно любопытная работа.
В диффузионных моделях применяется механизм под названием Classifier Free Guidance (есть и другие вариации, но CFG — де-факто стандарт). Без него сгенерированные на основе текстового промпта изображения выглядят очень печально (см. картинки 1 и 4), потому что тогда модель не получает достаточный сигнал от условия и искажает структуру.
С CFG диффузию прогоняют два раза: один раз с условием, другой раз без, разница взвешенно добавляется к безусловному выводу.
Применение метода даёт невероятное улучшение качества, но проблема с ростом вычислительных затрат, которые и без того находятся за пределами добра и зла, всех очень беспокоит.
Есть различные способы от CFG избавиться, например, при обучении с дистилляцией (учитель - ученик), можно сразу обучать на результате с CFG. Так сделали в открытой версии нашумевшей модели FLUX.1-schnell.
Работает хорошо, но это дорого и больно.
В очередной попытке вопрос решить, авторы исходят из своего наблюдения: если инвертировать качественное изображение в изначальный шум (при помощи DDIM или других методов с детерминированным сэмплированием), то, затем, из этого шума получается хорошее изображение уже без всякого гайденса.
Выходит, что нужен просто правильный
Имея этот расклад, остаётся придумать, как отобразить одно пространство в другое.
Для этого используется всё та же диффузионная модель. Внимательный читатель может спросить — опять прогонять ещё одну модель? А мы не сделали круг?
Не сделали, поскольку используется LoRA с рангом 128 и оптимизируется она напрямую на конечных изображениях (оптимизация на шуме даёт результат хуже) и работает на этапе инференса в один шаг.
Результаты метода, названного Refined Noise, получаются, если верить статье и черри-пикам, хорошие, при этом не страдает ни разнообразие, ни способность модели к генерализации.
Более того, при Side-By-Side сравнении с CFG моделью, Refined Noise немного даже выигрывает.
По метрикам на бенчмарках чуть пониже оригинала, но сравниваются уже с пайплайном с СFG + PAG (Perturbed-Attention Guidance, ещё один гайденс для улучшения структуры). Т.е. разница в вычислительных затратах между методами уже не в 2, а в 3 раза.
К сожалению, в статье используется StableDiffusion 2.1, было бы интересно посмотреть на результат на более современных моделях.
Есть ещё один малозаметный нюанс. И для генерации обучающих данных и при сравнении всех моделей использовались CFG + PAG. Но, если верить подписям, в SBS, внезапно, сравнение проводилось против просто CFG модели, что противоречит собственной же аргументации:
We observe that some proportion of images generated with CFG [13] in Stable Diffusion 2.1 [36] exhibit low quality, often appearing blurry or displaying distorted facial features, eyes, and noses
To enhance the quality of samples, we apply PAG along with CFG, as PAG has been shown to reduce blurriness and improve anatomical structure effectively
Тем не менее, впечатляет гибкость метода и что им можно заменять сразу несколько гайденсов.
Код обещают выложить.
🔥8❤5 2 1