Ай Дайджест

Свежая выжимка ml и AI статей - каждый день

SnapGen: Эффективные архитектуры и обучение высококачественных моделей текст-в-изображение для мобильных устройств

Современные модели диффузии, способные генерировать изображения на основе текстовых описаний (T2I), достигли значительных успехов в создании контента. Однако многие из них сталкиваются с проблемами больших размеров моделей, медленной работы и низкого качества генерации на мобильных устройствах. В данной статье рассматривается SnapGen — новая модель T2I, которая решает эти проблемы, предлагая компактные и быстрые архитектуры, способные генерировать изображения высокого разрешения на мобильных платформах.

Проблемы существующих моделей T2I

Большинство моделей T2I, таких как SDXL и другие, имеют миллиарды параметров, что делает их неэффективными для использования на мобильных устройствах. Они также требуют значительных вычислительных ресурсов, что приводит к высоким затратам на облачные вычисления и проблемам с безопасностью данных. Кроме того, многие из этих моделей не могут генерировать изображения с высоким разрешением, что ограничивает их применение в реальных сценариях.

Цели и задачи SnapGen

SnapGen был разработан с целью преодоления этих ограничений. Основные задачи включают:

  1. Снижение размера модели: Разработка компактной модели с меньшим количеством параметров без потери качества генерации.
  2. Ускорение времени генерации: Обеспечение быстрого времени отклика для генерации изображений на мобильных устройствах.
  3. Поддержка высоких разрешений: Возможность генерировать изображения разрешением 1024x1024 пикселей на мобильных устройствах.

Архитектура и методы

Эффективные архитектуры сети

SnapGen использует модифицированную архитектуру UNet, которая была оптимизирована для снижения вычислительных затрат. Основные изменения включают:

  • Удаление слоев самовнимания (SA) на высоких разрешениях, что уменьшает вычислительную сложность и память.
  • Замена обычных сверток на разделяемые свертки (SepConv), что позволяет сократить количество параметров и ускорить обработку.
  • Снижение коэффициента расширения в полносвязных слоях, что также уменьшает количество параметров и вычислительных ресурсов.

Обучение модели

SnapGen использует несколько инновационных методов обучения:

  1. Многоуровневая дистилляция знаний: Модель обучается на основе представлений, полученных от более крупных моделей, что позволяет ей быстрее и эффективнее обучаться.
  2. Адаптивная дистилляция шагов: Использование методов противостояния для уменьшения количества шагов, необходимых для генерации изображения, что значительно ускоряет процесс.
  3. Объединение различных методов обучения, таких как flow matching и adversarial training, для достижения более высокой стабильности и качества генерации.

Результаты

SnapGen продемонстрировал впечатляющие результаты на различных бенчмарках. Например, на ImageNet-1K модель с 372 миллионами параметров достигла FID 2.06 для генерации изображений размером 256x256 пикселей. Это сопоставимо с результатами более крупных моделей, но с гораздо меньшими затратами на ресурсы.

Примеры генерации

SnapGen позволяет генерировать изображения на основе текстовых подсказок, таких как:

  • "молодая суданская женщина, гламурная, естественная, фронтальный вид, экстремально детализированная текстура кожи"
  • "дельфин в скафандре"
  • "старый енот в цилиндре и с яблоком"

Генерируемые изображения обладают высоким качеством и детализацией, что делает SnapGen конкурентоспособным на рынке T2I.

Заключение

SnapGen представляет собой значительный шаг вперед в области текст-в-изображение генерации, предлагая эффективные архитектуры и методы обучения, которые позволяют генерировать высококачественные изображения на мобильных устройствах. Эта модель не только решает проблемы, связанные с большими размерами и медленной работой существующих моделей, но и открывает новые возможности для мобильного использования технологий генерации изображений.