Репост из: Machinelearning
⚡️ SANA: Генерация изображений изображений высокого разрешения от Nvidia Labs.
Sana - семейство моделей для генерации изображений с разрешением до 4096x4096 пикселей. Главное преимущество Sana - высокая скорость инференса и низкие требования к ресурсам, модели можно запустить даже на ноутбуке.
Секрет эффективности Sana в ее архитектуре, которая состоит из нескольких инновационных компонентов:
🟢Deep Compression Autoencoder (DC-AE)
Сжимает изображение в 32 раза, в результате чего значительно сокращается число латентных токенов, что, в свою очередь, повышает эффективность обучения и позволяет генерировать изображения с разрешением 4K.
🟢Linear Diffusion Transformer (Linear DiT)
Использует линейное внимание вместо традиционного, ускоряя генерацию с разрешением 4K в 1.7 раза.
В Linear DiT вместо модуля MLP-FFN используется Mix-FFN, который объединяет в себе свертку 3x3 и Gated Linear Unit (GLU). Mix-FFN позволяет отказаться от позиционного кодирования без потери качества.
🟢Decoder-only Small LLM as Text Encoder
Энкодер, основанный на LLM Gemma, который лучше понимает текстовые запросы пользователя и точнее передает их смысл на генерации.
Для точного соответствия "текст - изображение" при обучении энкодера применялись "сложные человеческие инструкции" (CHI), которые научили Gemma учитывать контекст запроса.
Sana создавалась с помощью уникальной стратегии обучения и выборки. В процессе обучения используются несколько VLM (VILA, InternVL2) для создания различных аннотаций к каждому изображению. Затем, на основе CLIP-оценки, были отобраны наиболее подходящие пары "текст-изображение".
Обучение происходило постепенно, начиная с разрешения 512x512 и заканчивая 4096x4096, а алгоритм Flow-DPM-Solver ускорил процесс выборки, сократив количество шагов по сравнению с Flow-Euler-Solver.
Результаты тестирования Sana впечатляют:
🟠Sana-0.6B, работающая с изображениями 512x512, в 5 раз быстрее, чем PixArt-Σ, при этом показывает лучшие результаты по метрикам FID, Clip Score, GenEval и DPG-Bench.
🟠При разрешении 1024x1024 Sana-0.6B в 40 раз быстрее PixArt-Σ.
🟠Sana-0.6B превосходит по скорости Flux-12B в 39 раз при разрешении 1024x1024) и может быть запущена на ноутбуке с 16 GB VRAM, генерируя изображения 1024x1024 менее чем за секунду.
⚠️ Для локального инференса модели 0.6B требуется 9GB VRAM, а для модели 1.6B - 12GB VRAM.
▶️ Установка и инференс c GradioUI:
# official online demo
DEMO_PORT=15432 \
python app/app_sana.py \
--config=configs/sana_config/1024ms/Sana_1600M_img1024.yaml \
--model_path=hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth
🟡Страница проекта
🟡Коллекция моделей на HF
🟡Arxiv
🟡Demo
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #Diffusion #SANA #NVIDIA
Sana - семейство моделей для генерации изображений с разрешением до 4096x4096 пикселей. Главное преимущество Sana - высокая скорость инференса и низкие требования к ресурсам, модели можно запустить даже на ноутбуке.
Секрет эффективности Sana в ее архитектуре, которая состоит из нескольких инновационных компонентов:
🟢Deep Compression Autoencoder (DC-AE)
Сжимает изображение в 32 раза, в результате чего значительно сокращается число латентных токенов, что, в свою очередь, повышает эффективность обучения и позволяет генерировать изображения с разрешением 4K.
🟢Linear Diffusion Transformer (Linear DiT)
Использует линейное внимание вместо традиционного, ускоряя генерацию с разрешением 4K в 1.7 раза.
В Linear DiT вместо модуля MLP-FFN используется Mix-FFN, который объединяет в себе свертку 3x3 и Gated Linear Unit (GLU). Mix-FFN позволяет отказаться от позиционного кодирования без потери качества.
🟢Decoder-only Small LLM as Text Encoder
Энкодер, основанный на LLM Gemma, который лучше понимает текстовые запросы пользователя и точнее передает их смысл на генерации.
Для точного соответствия "текст - изображение" при обучении энкодера применялись "сложные человеческие инструкции" (CHI), которые научили Gemma учитывать контекст запроса.
Sana создавалась с помощью уникальной стратегии обучения и выборки. В процессе обучения используются несколько VLM (VILA, InternVL2) для создания различных аннотаций к каждому изображению. Затем, на основе CLIP-оценки, были отобраны наиболее подходящие пары "текст-изображение".
Обучение происходило постепенно, начиная с разрешения 512x512 и заканчивая 4096x4096, а алгоритм Flow-DPM-Solver ускорил процесс выборки, сократив количество шагов по сравнению с Flow-Euler-Solver.
Результаты тестирования Sana впечатляют:
🟠Sana-0.6B, работающая с изображениями 512x512, в 5 раз быстрее, чем PixArt-Σ, при этом показывает лучшие результаты по метрикам FID, Clip Score, GenEval и DPG-Bench.
🟠При разрешении 1024x1024 Sana-0.6B в 40 раз быстрее PixArt-Σ.
🟠Sana-0.6B превосходит по скорости Flux-12B в 39 раз при разрешении 1024x1024) и может быть запущена на ноутбуке с 16 GB VRAM, генерируя изображения 1024x1024 менее чем за секунду.
⚠️ Для локального инференса модели 0.6B требуется 9GB VRAM, а для модели 1.6B - 12GB VRAM.
▶️ Установка и инференс c GradioUI:
# official online demo
DEMO_PORT=15432 \
python app/app_sana.py \
--config=configs/sana_config/1024ms/Sana_1600M_img1024.yaml \
--model_path=hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth
🟡Страница проекта
🟡Коллекция моделей на HF
🟡Arxiv
🟡Demo
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #Diffusion #SANA #NVIDIA