Запуск локального сервера генерации изображений на базе stable-diffusion.cpp

Источник

В рамках четвертой части руководства по сборке локального AI-стека рассматривается настройка и запуск сервера генерации изображений с использованием библиотеки stable-diffusion.cpp. Этот инструмент, являющийся аналогом llama.cpp для диффузионных моделей, опирается на движок ggml и поддерживает работу на CPU с использованием mmap и системных флагов. Библиотека способна загружать модели в форматах .gguf, .safetensors и .ckpt/.pt, а также работать с архитектурами SD 1.5, SDXL, FLUX и другими. Ключевой особенностью диффузионных моделей является необходимость явного указания трех компонентов при запуске: основной модели (2–12 ГБ), декодера VAE (150–350 МБ) и текстового энкодера (1.5–7 ГБ). Отсутствие любого из этих компонентов приведет к ошибке запуска.

Для организации файлов создается структура папок, где diffusion-модели размещаются в models/media/, файлы VAE — в models/media/vae/<имя модели>/, а текстовые энкодеры (LLM) — в models/. Это позволяет экономить место за счет переиспользования одних и тех же файлов энкодеров для разных моделей одной архитектуры. В ходе тестирования было опробовано пять моделей, из которых в итоговую сборку вошли две: z_image_turbo-Q4_K.gguf (~3.8 ГБ) и mage_flow_turbo_bf16.safetensors (~8.2 ГБ). Первая модель рекомендуется для быстрых итераций и 3D-сцен, генерируя изображение за 11 минут, вторая — для эпических жанров и аниме, занимая около 7 минут. Остальные модели были удалены из-за низкой скорости, проблем с композицией или нехватки памяти.

Запуск сервера осуществляется через скрипт run_sd_media.sh, который по умолчанию запускает веб-интерфейс на порту 8888. Для корректной работы необходимо задать три обязательных флага: --diffusion-model, --vae и --llm. Рекомендуется использовать флаг --use-mmap для экономии оперативной памяти, однако следует учитывать, что декодирование VAE все равно требует значительного объема анонимной памяти (до 5 ГБ). Параметры сэмплинга, такие как количество шагов (--steps) и CFG scale, должны подбираться строго в соответствии с рекомендациями для конкретной модели, иначе качество генерации может ухудшиться. Веб-интерфейс, написанный на статической странице в стиле Material Dark, автоматически определяет модель и предоставляет поля для ввода промпта и выбора размера изображения, но не позволяет менять модель или настройки сэмплинга без перезапуска сервера.

Текст подготовлен нейросетью Loople по материалам источника.

Читайте также

Похожие новости

Поиск по Loople

Назад