<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stable Diffusion on kenji.blog</title><link>http://kenji.blog/ru/categories/stable-diffusion/</link><description>Recent content in Stable Diffusion on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ru</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 19:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/ru/categories/stable-diffusion/index.xml" rel="self" type="application/rss+xml"/><item><title>Руководство по настройке локальной среды для инструментов генерации ИИ-изображений (Stable Diffusion и др.)</title><link>http://kenji.blog/ru/p/local-ai-image-generation-setup/</link><pubDate>Fri, 11 Sep 2026 19:00:00 +0900</pubDate><guid>http://kenji.blog/ru/p/local-ai-image-generation-setup/</guid><description>&lt;img src="http://kenji.blog/p/local-ai-image-generation-setup/img/eyecatch.jpg" alt="Featured image of post Руководство по настройке локальной среды для инструментов генерации ИИ-изображений (Stable Diffusion и др.)" />&lt;h2 id="1-введение-почему-стоит-генерировать-ии-изображения-в-локальной-среде">1. Введение: Почему стоит генерировать ИИ-изображения в локальной среде?
&lt;/h2>&lt;p>Технологии генерации ИИ-изображений претерпели взрывную эволюцию, начавшуюся с открытия исходного кода Stable Diffusion. В настоящее время облачные коммерческие сервисы, такие как Midjourney, DALL-E 3 и Adobe Firefly, также являются очень мощными и удобными в использовании. Однако у этих сервисов есть такие недостатки, как ограничения на генерируемый контент в соответствии с условиями использования (например, NSFW-фильтры), постоянные расходы из-за подписок, а также невозможность детального контроля процесса генерации.&lt;/p>
&lt;p>Настройка инструмента для генерации ИИ-изображений в локальной среде (на собственном ПК) дает следующие огромные преимущества:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Полная свобода и безграничная генерация&lt;/strong>: Отсутствие ограничений на количество генерируемых изображений и дополнительных затрат. Вы можете генерировать изображения бесконечно, пока позволяют локальные ресурсы.&lt;/li>
&lt;li>&lt;strong>Высокая степень настройки&lt;/strong>: Возможность детального управления композицией с помощью LoRA (Low-Rank Adaptation) и ControlNet, а также точного воспроизведения определенных персонажей или художественных стилей.&lt;/li>
&lt;li>&lt;strong>Конфиденциальность и безопасность&lt;/strong>: Поскольку данные не отправляются в облако, это идеально подходит для высококонфиденциальных задач дизайна или личных проектов.&lt;/li>
&lt;li>&lt;strong>Мгновенное внедрение новейших технологий&lt;/strong>: Возможность первыми тестировать новейшие модели и расширения, которые ежедневно выпускаются сообществом open-source.&lt;/li>
&lt;/ol>
&lt;p>В этом руководстве, предполагающем использование среды Windows, мы подробно, объемом более 10 000 символов, рассмотрим процесс настройки трех основных современных сред генерации ИИ-изображений (AUTOMATIC1111 Stable Diffusion WebUI, ComfyUI, Fooocus), математические основы, а также методы оптимизации VRAM.&lt;/p>
&lt;hr>
&lt;h2 id="2-математические-основы-и-архитектура-диффузионных-моделей-diffusion-model">2. Математические основы и архитектура диффузионных моделей (Diffusion Model)
&lt;/h2>&lt;p>Для настройки локальной среды и правильной установки параметров очень полезно понимать, как работают &lt;strong>латентные диффузионные модели (Latent Diffusion Model: LDM)&lt;/strong>, такие как Stable Diffusion.&lt;/p>
&lt;h3 id="21-процесс-добавления-шума-forward-process-и-процесс-удаления-шума-reverse-process">2.1 Процесс добавления шума (Forward Process) и процесс удаления шума (Reverse Process)
&lt;/h3>&lt;p>Основной принцип диффузионных моделей состоит из &amp;ldquo;Forward Process&amp;rdquo;, при котором к исходным данным (изображению) поэтапно добавляется гауссов шум, в конечном итоге превращая его в полный шум, и &amp;ldquo;Reverse Process&amp;rdquo;, который восстанавливает исходное изображение из этого шума.&lt;/p>
&lt;p>Forward Process определяется как марковская цепь, где состояние $x_t$ на шаге $t$ выражается следующим уравнением:&lt;/p>
$$ q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1 - \beta_t} x_{t-1}, \beta_t I) $$
&lt;p>Используя трюк репараметризации (Reparameterization trick), состояние на любом шаге $t$ можно вычислить напрямую из начального состояния $x_0$:&lt;/p>
$$ x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon $$
&lt;p>Где $\alpha_t = 1 - \beta_t$, $\bar{\alpha}_t = \prod_{s=1}^t \alpha_s$, а $\epsilon \sim \mathcal{N}(0, I)$ — шум, сэмплированный из стандартного нормального распределения.&lt;/p>
&lt;p>В фазе генерации изображения (Reverse Process) используется нейронная сеть (U-Net) $\epsilon_\theta$ для предсказания и удаления добавленного шума. Функция потерь выглядит просто:&lt;/p>
$$ L_{simple} = \mathbb{E}_{x_0, \epsilon \sim \mathcal{N}(0, I), t} \left[ || \epsilon - \epsilon_\theta(\sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon, t) ||^2 \right] $$
&lt;h3 id="22-сокращение-вычислительных-затрат-с-помощью-латентного-пространства-latent-space">2.2 Сокращение вычислительных затрат с помощью латентного пространства (Latent Space)
&lt;/h3>&lt;p>Прямое удаление шума в пиксельном пространстве (Pixel Space) является очень ресурсоемкой задачей, поскольку объем вычислений увеличивается пропорционально квадрату разрешения изображения. Stable Diffusion использует &lt;strong>VAE (Variational Autoencoder)&lt;/strong> для преобразования изображений в сжатое «латентное пространство» (Latent Space) перед их обработкой.&lt;/p>
&lt;p>Энкодер $E$ сжимает изображение с разрешением $H \times W \times 3$ до $z \in \mathbb{R}^{H/8 \times W/8 \times 4}$. Поскольку пространственные размеры уменьшаются в 8 раз, объем вычислений для механизма внутреннего внимания (Self-Attention) становится $\mathcal{O}((\frac{H \times W}{64})^2)$, что приводит к резкому повышению производительности. После генерации декодер $D$ восстанавливает изображение обратно в пиксельное пространство как $\tilde{x} = D(z)$.&lt;/p>
&lt;h3 id="23-системная-архитектура-stable-diffusion">2.3 Системная архитектура Stable Diffusion
&lt;/h3>&lt;p>Следующая Mermaid-диаграмма иллюстрирует общий процесс генерации в Stable Diffusion (генерация изображения из текста: txt2img).&lt;/p>
&lt;div class="mermaid">graph TD
A["Пользовательский ввод (Текстовый промпт)"] --> B["Текстовый энкодер (CLIP ViT-L/14)"]
B --> C["Вектор условий (Conditioning)"]
D["Случайный шум (Latent Space)"] --> E["U-Net (Предиктор шума)"]
C --> E
E --> F["Планировщик (DDIM, Euler a и др.)"]
F --> D
F --> G["Латентные переменные без шума"]
G --> H["VAE декодер (Variational Autoencoder)"]
H --> I["Финальное сгенерированное изображение (Pixel Space)"]&lt;/div>
&lt;hr>
&lt;h2 id="3-подробный-разбор-требований-к-аппаратному-обеспечению">3. Подробный разбор требований к аппаратному обеспечению
&lt;/h2>&lt;p>При локальной генерации ИИ-изображений выбор оборудования имеет первостепенное значение.&lt;/p>
&lt;h3 id="31-gpu-видеокарта">3.1 GPU (Видеокарта)
&lt;/h3>&lt;p>Это сердце обработки ИИ. Для запуска Stable Diffusion в среде Windows видеокарты от NVIDIA являются фактическим стандартом. Хотя можно использовать AMD Radeon с помощью ROCm, учитывая сложность настройки в Windows и тот факт, что многие расширения зависят от CUDA (архитектура параллельных вычислений NVIDIA), не будет преувеличением сказать, что NVIDIA — единственный разумный выбор.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Минимальные требования&lt;/strong>: VRAM 6GB (например, GTX 1060 6GB / RTX 2060). ※Однако будут серьезные ограничения по разрешению и функциональности.&lt;/li>
&lt;li>&lt;strong>Рекомендуемые требования&lt;/strong>: VRAM 12GB (например, RTX 3060 12GB / RTX 4070). Это пограничный уровень для комфортной работы с моделями SDXL.&lt;/li>
&lt;li>&lt;strong>Идеальные требования&lt;/strong>: VRAM от 16GB до 24GB (RTX 4080 / RTX 3090 / RTX 4090). Необходимо для генерации в высоком разрешении, одновременного использования сложных ControlNet и локального обучения моделей (например, LoRA).&lt;/li>
&lt;/ul>
&lt;h3 id="32-память-ram-и-хранилище">3.2 Память (RAM) и хранилище
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>RAM&lt;/strong>: Настоятельно рекомендуется 32GB или больше. При переносе моделей (размером от нескольких гигабайт до десятков гигабайт) из хранилища в VRAM временно используется системная оперативная память. Нехватка RAM приведет к использованию файла подкачки и фатальному снижению скорости.&lt;/li>
&lt;li>&lt;strong>Хранилище&lt;/strong>: Наличие NVMe M.2 SSD обязательно. Современные ИИ-модели (Checkpoints) весят от 2GB до 7GB каждая. Использование HDD непрактично, так как только загрузка модели может занимать несколько минут.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="4-настройка-базового-программного-обеспечения-для-windows">4. Настройка базового программного обеспечения (для Windows)
&lt;/h2>&lt;p>Перед установкой самих инструментов необходимо подготовить базовое программное обеспечение.&lt;/p>
&lt;h3 id="41-установка-python">4.1 Установка Python
&lt;/h3>&lt;p>Большинство инструментов ИИ написаны на Python. Установите &lt;strong>Python 3.10.6&lt;/strong>, который имеет наилучшую совместимость со Stable Diffusion WebUI и другими (слишком новые версии могут сломать зависимости, такие как PyTorch).&lt;/p>
&lt;ol>
&lt;li>Скачайте &lt;code>python-3.10.6-amd64.exe&lt;/code> из официального архива Python.&lt;/li>
&lt;li>При запуске установщика обязательно отметьте галочкой &lt;strong>&amp;ldquo;Add Python 3.10 to PATH&amp;rdquo;&lt;/strong> в самом низу.&lt;/li>
&lt;li>На экране завершения установки нажмите &lt;strong>&amp;ldquo;Disable path length limit&amp;rdquo;&lt;/strong> (Отключить ограничение длины пути). (Важно: если не снять ограничение Windows на пути в 260 символов, возникнут ошибки с глубоко вложенными библиотеками зависимостей).&lt;/li>
&lt;/ol>
&lt;h3 id="42-установка-git-for-windows">4.2 Установка Git for Windows
&lt;/h3>&lt;p>Git необходим для получения исходного кода и моделей с GitHub.&lt;/p>
&lt;ol>
&lt;li>Скачайте установщик с официального сайта Git for Windows и установите его со всеми настройками по умолчанию.&lt;/li>
&lt;/ol>
&lt;h3 id="43-настройка-cuda-toolkit-и-cudnn">4.3 Настройка CUDA Toolkit и cuDNN
&lt;/h3>&lt;p>Поскольку современный PyTorch при установке загружает необходимые бинарные файлы CUDA, установка CUDA Toolkit в масштабах всей системы больше не является обязательной. Однако при использовании пользовательских расширений (сборка TensorRT или xFormers) рекомендуется установить &lt;strong>CUDA Toolkit 11.8&lt;/strong> или &lt;strong>12.1&lt;/strong> (в зависимости от используемого PyTorch) с официального сайта NVIDIA.&lt;/p>
&lt;hr>
&lt;h2 id="5-процедуры-настройки-трех-основных-фронтендов">5. Процедуры настройки трех основных фронтендов
&lt;/h2>&lt;p>Здесь описаны методы настройки трех основных инструментов генерации ИИ-изображений, популярных в настоящее время. Выбирайте в зависимости от ваших целей и навыков.&lt;/p>
&lt;h3 id="51-настройка-automatic1111-stable-diffusion-webui">5.1 Настройка AUTOMATIC1111 Stable Diffusion WebUI
&lt;/h3>&lt;p>Это самый старый, универсальный инструмент с множеством расширений, позволяющий детально настраивать параметры.&lt;/p>
&lt;p>&lt;strong>Процедура установки:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Откройте командную строку в нужной директории (например, &lt;code>C:\work\ai&lt;/code>).&lt;/li>
&lt;li>Выполните следующую команду для клонирования репозитория:
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cmd" data-lang="cmd">&lt;span class="line">&lt;span class="cl">git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;li>Щелкните правой кнопкой мыши файл &lt;code>webui-user.bat&lt;/code> внутри клонированной директории и откройте его в режиме редактирования.&lt;/li>
&lt;li>Для повышения производительности установите аргументы запуска &lt;code>COMMANDLINE_ARGS&lt;/code> следующим образом:
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bat" data-lang="bat">&lt;span class="line">&lt;span class="cl">&lt;span class="k">set&lt;/span> &lt;span class="nv">COMMANDLINE_ARGS&lt;/span>&lt;span class="p">=&lt;/span>--xformers --opt-sdp-attention --theme dark
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;li>Дважды щелкните &lt;code>webui-user.bat&lt;/code> для запуска. При первом запуске будут загружены огромные библиотеки, такие как PyTorch, что может занять десятки минут в зависимости от вашей среды.&lt;/li>
&lt;li>По завершении появится сообщение &lt;code>Running on local URL: http://127.0.0.1:7860&lt;/code>, после чего можно получить доступ через браузер.&lt;/li>
&lt;/ol>
&lt;h3 id="52-настройка-comfyui-и-преимущества-нодовой-системы">5.2 Настройка ComfyUI и преимущества нодовой системы
&lt;/h3>&lt;p>ComfyUI — это пользовательский интерфейс, в котором процесс генерации визуально соединяется блоками, называемыми &amp;ldquo;нодами&amp;rdquo; (Node-based). Управление VRAM здесь превосходное, и он часто работает в средах, где AUTOMATIC1111 сталкивается с нехваткой памяти.&lt;/p>
&lt;div class="mermaid">graph TD
subgraph "ComfyUI Workflow Example"
A["Загрузка модели (Load Checkpoint)"] --> B["Текстовый энкодер CLIP (Позитивный)"]
A --> C["Текстовый энкодер CLIP (Негативный)"]
A --> D["Пустое латентное изображение"]
B --> E["KSampler (Сэмплирование)"]
C --> E
D --> E
A --> F["Декодирование VAE (VAEDecode)"]
E --> F
F --> G["Сохранение изображения (Save Image)"]
end&lt;/div>
&lt;p>&lt;strong>Процедура установки:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Скачайте файл 7z для Windows Standalone со страницы релизов официального GitHub-репозитория ComfyUI.&lt;/li>
&lt;li>Распакуйте его и просто запустите &lt;code>run_nvidia_gpu.bat&lt;/code> (дополнительная настройка не требуется, так как это портативная версия со встроенным Python).&lt;/li>
&lt;li>&lt;strong>Установка ComfyUI Manager&lt;/strong>: Обязателен для управления расширениями. Откройте командную строку в директории &lt;code>ComfyUI/custom_nodes/&lt;/code> и выполните следующее:
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cmd" data-lang="cmd">&lt;span class="line">&lt;span class="cl">git clone https://github.com/ltdrdata/ComfyUI-Manager.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>После перезапуска в правом нижнем углу интерфейса появится кнопка «Manager», откуда можно устанавливать различные пользовательские ноды (custom nodes).&lt;/li>
&lt;/ol>
&lt;h3 id="53-настройка-fooocus-высококачественная-генерация-для-начинающих">5.3 Настройка Fooocus: Высококачественная генерация для начинающих
&lt;/h3>&lt;p>Fooocus — это интерфейс, созданный с целью &amp;ldquo;получать потрясающе красивые изображения даже с короткими промптами&amp;rdquo;, подобно Midjourney. Он настроен специально для моделей SDXL и автоматически выполняет расширение промптов на базе GPT-2 и сложные конвейеры (pipelines) под капотом.&lt;/p>
&lt;p>&lt;strong>Процедура установки:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Скачайте и распакуйте пакет релиза для Windows с официального GitHub-репозитория Fooocus.&lt;/li>
&lt;li>Запустите &lt;code>run.bat&lt;/code>. Отличные модели SDXL, такие как Juggernaut XL, будут загружены автоматически, и вы сразу будете готовы к началу высококачественной генерации.&lt;/li>
&lt;li>Поставив галочку «Advanced» (Дополнительно), вы можете использовать продвинутые функции, такие как Image Prompt (Изображение-промпт) и Inpainting (Закрашивание).&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="6-управление-моделями-и-понимание-структуры-данных">6. Управление моделями и понимание структуры данных
&lt;/h2>&lt;p>Качество ИИ-генерации изображений полностью зависит от используемых моделей (обученных данных).&lt;/p>
&lt;h3 id="61-checkpoints-базовые-модели">6.1 Checkpoints (Базовые модели)
&lt;/h3>&lt;p>Это основные модели, которые являются ядром генерации изображений. В прошлом формат &lt;code>.ckpt&lt;/code> (формат Pickle) был мейнстримом, но он содержал уязвимость, позволяющую выполнять произвольный код Python (Arbitrary Code Execution). В настоящее время стандартом является формат &lt;strong>&lt;code>.safetensors&lt;/code>&lt;/strong>, который гарантирует безопасность и позволяет выполнять загрузку с диска в память без копирования (mmap). Ни в коем случае не скачивайте файлы &lt;code>.ckpt&lt;/code> неизвестного происхождения.&lt;/p>
&lt;h3 id="62-математическое-поведение-lora-low-rank-adaptation">6.2 Математическое поведение LoRA (Low-Rank Adaptation)
&lt;/h3>&lt;p>LoRA — это технология, которая избегает огромных вычислительных ресурсов, необходимых для тонкой настройки (fine-tuning) полной модели, и позволяет дополнительно обучать конкретных персонажей или стили искусства.&lt;/p>
&lt;p>Вместо того чтобы напрямую обновлять матрицу весов $W_0 \in \mathbb{R}^{d \times k}$ с миллиардами параметров, LoRA вводит две матрицы низкого ранга $A \in \mathbb{R}^{r \times k}$ и $B \in \mathbb{R}^{d \times r}$ (где ранг $r \ll \min(d, k)$). Новые веса вычисляются следующим образом:&lt;/p>
$$ W = W_0 + \Delta W = W_0 + B A $$
&lt;p>Это кардинально сокращает количество параметров для обучения и сохранения с $d \times k$ до $r \times (d + k)$, позволяя применять мощные стили с помощью легких файлов размером в несколько сотен мегабайт.&lt;/p>
&lt;h3 id="63-vae-variational-autoencoder">6.3 VAE (Variational Autoencoder)
&lt;/h3>&lt;p>Как упоминалось ранее, это модель, которая преобразует между латентным пространством и пиксельным пространством. Если в моделях аниме-стиля неправильно настроить VAE, выходные изображения могут быть белесыми, с низким контрастом и «тусклыми». Разместите VAE, специализированный для аниме (например, &lt;code>kl-f8-anime2.ckpt&lt;/code>), в папку &lt;code>models/VAE&lt;/code> и примените его.&lt;/p>
&lt;h3 id="64-пример-структуры-каталогов-automatic1111">6.4 Пример структуры каталогов (AUTOMATIC1111)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">stable-diffusion-webui/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── models/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├── Stable-diffusion/ &amp;lt;-- Размещайте здесь Checkpoints (.safetensors)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├── Lora/ &amp;lt;-- Размещайте здесь модели LoRA
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ├── VAE/ &amp;lt;-- Размещайте здесь модели VAE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └── ControlNet/ &amp;lt;-- Размещайте здесь модели ControlNet
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── embeddings/ &amp;lt;-- Размещайте здесь Textual Inversion (файлы PT)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── extensions/ &amp;lt;-- Расширения, клонированные через Git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└── webui-user.bat &amp;lt;-- Пакетный файл для запуска
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="7-оптимизация-vram-и-настройка-производительности">7. Оптимизация VRAM и настройка производительности
&lt;/h2>&lt;p>Методы для предотвращения &amp;ldquo;Нехватки VRAM&amp;rdquo; (CUDA Out Of Memory), самого большого препятствия в локальной генерации, и максимизации скорости генерации.&lt;/p>
&lt;h3 id="71-оптимизация-механизма-attention-xformers--sdp-attention">7.1 Оптимизация механизма Attention (xFormers / SDP Attention)
&lt;/h3>&lt;p>Большая часть вычислений Stable Diffusion тратится на Cross-Attention внутри U-Net. Поскольку расчет внимания по умолчанию потребляет много памяти, мы оптимизируем его с помощью следующих подходов:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>xFormers (&lt;code>--xformers&lt;/code>)&lt;/strong>: Реализация Attention с эффективным использованием памяти (Memory Efficient Attention), разработанная Meta. Она значительно снижает потребление VRAM и повышает скорость, но из-за недетерминированности вычислений имеет особенность, при которой &amp;ldquo;даже при совершенно одинаковом значении seed генерируются слегка отличающиеся изображения&amp;rdquo;.&lt;/li>
&lt;li>&lt;strong>SDP Attention (&lt;code>--opt-sdp-attention&lt;/code>)&lt;/strong>: Scaled Dot Product Attention, встроенный по умолчанию начиная с PyTorch 2.0. Он имеет тот же эффект скорости и уменьшения VRAM, что и xFormers, с преимуществом в виде меньшего количества зависимостей. Существуют также вариации без недетерминированности, такие как &lt;code>--opt-sub-quad-attention&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h3 id="72-параметры-запуска-для-экономии-vram">7.2 Параметры запуска для экономии VRAM
&lt;/h3>&lt;ul>
&lt;li>&lt;code>--medvram&lt;/code>: Для сред с VRAM от 6GB до 8GB. Он обрабатывает U-Net по частям, экономя память, но скорость немного снижается.&lt;/li>
&lt;li>&lt;code>--lowvram&lt;/code>: Для сред с VRAM 4GB или меньше. Скорость резко падает, так как модули часто загружаются и выгружаются из VRAM, но это позволяет принудительно запустить процесс.&lt;/li>
&lt;li>&lt;code>--medvram-sdxl&lt;/code>: Очень удобный флаг, который применяет MedVRAM только при использовании моделей SDXL.&lt;/li>
&lt;/ul>
&lt;h3 id="73-сверхбыстрое-ускорение-с-помощью-tensorrt">7.3 Сверхбыстрое ускорение с помощью TensorRT
&lt;/h3>&lt;p>&lt;strong>TensorRT&lt;/strong> — это фреймворк для максимального использования тензорных ядер графических процессоров NVIDIA.
Он компилирует U-Net Stable Diffusion в выделенный движок (файл &lt;code>.trt&lt;/code>) для используемого вами GPU. Компиляция занимает десятки минут и имеет недостаток в виде фиксированного разрешения и размера пакета (Dynamic Shape возможен, но эффективность падает), но скорость генерации подскакивает в &lt;strong>1.5-2 раза и более&lt;/strong>. Это лучший метод оптимизации для бизнес-сценариев, где генерируется большое количество изображений с одинаковым разрешением.&lt;/p>
&lt;h3 id="74-tiled-vae--tiled-diffusion">7.4 Tiled VAE / Tiled Diffusion
&lt;/h3>&lt;p>При генерации или апскейлинге изображений высокого разрешения (например, 4K) VRAM моментально исчерпывается в процессе декодирования VAE. Чтобы предотвратить это, необходимо расширение (Multidiffusion / Tiled VAE), которое делит изображение на фрагменты (например, по $512 \times 512$), обрабатывает их, а затем объединяет.&lt;/p>
&lt;hr>
&lt;h2 id="8-передовые-методы-управления-controlnet">8. Передовые методы управления: ControlNet
&lt;/h2>&lt;p>Невозможно задать позы персонажей, сложную перспективу или тонкие движения пальцев только с помощью текстового промпта. Эту проблему решает &lt;strong>ControlNet&lt;/strong>.&lt;/p>
&lt;p>ControlNet имеет архитектуру, которая фиксирует веса обученной модели Stable Diffusion, копирует структуру энкодера и вставляет &amp;ldquo;Zero-convolutions&amp;rdquo; (сверточные слои, веса которых инициализированы нулями). Это позволяет добавлять дополнительные условия без разрушения исходной генеративной способности.&lt;/p>
&lt;p>&lt;strong>Типичные препроцессоры и модели:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>OpenPose&lt;/strong>: Извлекает скелет (положение суставов) человека и генерирует изображение в точно такой же позе.&lt;/li>
&lt;li>&lt;strong>Canny&lt;/strong>: Выполняет обнаружение краев (edge detection) и использует штриховые рисунки (line art) в качестве основы для раскрашивания или создания фотореалистичных изображений.&lt;/li>
&lt;li>&lt;strong>Depth&lt;/strong>: Генерирует карту глубины (Depth Map) для создания изображений с сохранением пространственных отношений спереди и сзади.&lt;/li>
&lt;li>&lt;strong>Lineart&lt;/strong>: Превосходит Canny в извлечении контуров (штриховых рисунков) в стиле аниме.&lt;/li>
&lt;/ul>
&lt;p>Применяя несколько ControlNet одновременно (Multi-ControlNet), можно надежно получать изображения типа &amp;ldquo;с заданной позой и заданной перспективой фона&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="9-устранение-неполадок-faq">9. Устранение неполадок (FAQ)
&lt;/h2>&lt;p>Ошибки, которые часто возникают при настройке и работе в локальной среде, и пути их решения.&lt;/p>
&lt;h3 id="в1-генерация-останавливается-с-ошибкой-cuda-out-of-memory">В1. Генерация останавливается с ошибкой &lt;code>CUDA out of memory.&lt;/code>
&lt;/h3>&lt;p>&lt;strong>О1:&lt;/strong> Недостаточно VRAM. Уменьшите разрешение генерации или установите размер пакета (batch size) равным 1. Также для A1111 добавьте &lt;code>--xformers&lt;/code> и &lt;code>--medvram&lt;/code> в файл &lt;code>webui-user.bat&lt;/code> и перезапустите. При апскейлинге (Hires. fix) используйте для Upscaler семейство ESRGAN, например R-ESRGAN, вместо латентных апскейлеров, чтобы снизить потребление VRAM.&lt;/p>
&lt;h3 id="в2-сгенерированное-изображение-полностью-черное-или-заполнено-шумом">В2. Сгенерированное изображение полностью черное или заполнено шумом.
&lt;/h3>&lt;p>&lt;strong>О2:&lt;/strong> Это явление, когда значения NaN (Not a Number) возникают во время вычислений, и тензор разрушается. Выполните следующие действия:&lt;/p>
&lt;ol>
&lt;li>Добавьте опцию запуска &lt;code>--no-half-vae&lt;/code>, чтобы вычислять только VAE с одинарной точностью (FP32).&lt;/li>
&lt;li>Добавьте опцию запуска &lt;code>--disable-nan-check&lt;/code> (это не фундаментальное решение).&lt;/li>
&lt;li>Используемая модель (особенно серии SD 2.1) может быть не приспособлена к вычислениям FP16, поэтому попробуйте режим полной точности.&lt;/li>
&lt;/ol>
&lt;h3 id="в3-при-запуске-webui-userbat-возникают-ошибки-python-или-git">В3. При запуске &lt;code>webui-user.bat&lt;/code> возникают ошибки Python или Git.
&lt;/h3>&lt;p>&lt;strong>О3:&lt;/strong> Подозревается несоответствие библиотек зависимостей. Полностью удалите папку &lt;code>venv&lt;/code> в директории WebUI и снова запустите &lt;code>webui-user.bat&lt;/code>. Виртуальная среда будет перестроена начисто (потребуется повторная загрузка нескольких гигабайт).&lt;/p>
&lt;h3 id="в4-я-скачал-модель-safetensors-но-она-не-отображается-в-списке">В4. Я скачал модель (Safetensors), но она не отображается в списке.
&lt;/h3>&lt;p>&lt;strong>О4:&lt;/strong> Убедитесь, что вы поместили ее в папку &lt;code>models/Stable-diffusion&lt;/code>, а затем нажмите кнопку &amp;ldquo;Обновить&amp;rdquo; (Refresh) рядом с выпадающим списком выбора Checkpoint в интерфейсе. Если вы положили ее во вложенную папку, убедитесь, что расширение файла указано правильно.&lt;/p>
&lt;hr>
&lt;h2 id="10-в-заключение-будущее-генерации-ии-изображений-и-превосходство-локальных-сред">10. В заключение: Будущее генерации ИИ-изображений и превосходство локальных сред
&lt;/h2>&lt;p>Движение генерации ИИ-изображений с открытым исходным кодом, начавшееся со Stable Diffusion, продолжает развиваться с архитектурами следующего поколения, такими как SDXL, Stable Diffusion 3 и Flux.1. Количество параметров моделей выросло с миллиардов до десятков миллиардов, и в будущем потребность в графических процессорах с 24GB VRAM и более только возрастет.&lt;/p>
&lt;p>Однако технологии локальной оптимизации, такие как TensorRT, технологии квантования (Quantization) и GGUF, также ускоряют свой темп развития, и формируется экосистема, которая сделает достаточный вывод (inference) возможным даже на оборудовании для обычных потребителей.&lt;/p>
&lt;p>Настройка среды CUDA, оптимизация VRAM и понимание конвейеров, таких как ComfyUI, рассмотренные в этом руководстве, станут универсальными базовыми знаниями, которые останутся актуальными независимо от того, как изменятся технологические тенденции ИИ. Мы надеемся, что ваши творческие способности будут максимально реализованы в локальной среде без каких-либо ограничений.&lt;/p></description></item></channel></rss>