Що таке Stable Diffusion і як він працює?

Автор: Опубліковано Оновлено 12 хв читання

Stable Diffusion — це латентна дифузійна модель із відкритими вагами, яка перетворює текстовий опис на зображення. Випущена в серпні 2022 року, вона працює на звичайній ігровій відеокарті, і будь-хто може її завантажити, вивчити й донавчити. Цей посібник пояснює, як працює Stable Diffusion, простежуючи шлях промпту крізь модель, зі справжніми рендерами на кожному етапі.

Переписано 18 жовтня 2026: справжні рендери на кожному етапі, прямий і зворотний процеси, ряд значень шкали CFG, image-to-image із трьома значеннями strength, таблиця версій до 3.5 і джерела для кожного твердження.

Stable Diffusion коротко

Stable Diffusion — це латентна дифузійна модель (LDM) із відкритим кодом: нейромережа, навчена перетворювати випадковий шум на картинку, потроху, під керуванням тексту. Її створила група CompVis з Мюнхенського університету Людвіга-Максиміліана разом із Runway, а навчили на обчислювальних потужностях Stability AI, на зображеннях, зібраних некомерційною організацією LAION. Метод походить зі статті High-Resolution Image Synthesis with Latent Diffusion Models (Rombach зі співавторами, CVPR 2022).

Ваги опублікували 22 серпня 2022 року. Саме це й змінило все. DALL-E 2 і Midjourney вже існували, але за списками очікування й кредитами, на чужих серверах. Stable Diffusion був файлом на 4 ГБ, який працював на відеокарті з 8 ГБ пам’яті, без облікового запису й із фільтром безпеки, який можна було вимкнути.

За кілька тижнів з’явилися вебінтерфейси та inpainting, потім донавчені версії, LoRA й ControlNet. Через чотири роки назва означає дві речі. У вузькому сенсі — родину моделей від 1.4 до 3.5. У широкому — всю практику запуску моделей зображень на власному комп’ютері.

Далі пояснено саму машину, з лексикою, яка трапиться вам у кожному інтерфейсі: латентний простір, VAE, U-Net, CLIP, семплер, шкала CFG, seed. Формули не знадобляться, але кілька чисел допоможуть.

Як працює Stable Diffusion? Три мережі й один цикл

Stable Diffusion — це не одна мережа, а три, які запускаються одна за одною.

  1. Текстовий енкодер читає промпт і перетворює його на список чисел. У Stable Diffusion 1.5 це 77 токенів, кожен описаний 768 числами; 2 048 у SDXL, який використовує два енкодери.
  2. Знешумлювач, U-Net у версіях від 1 до XL і трансформер (MMDiT) починаючи з версії 3, стартує з блоку випадкового шуму й очищає його за 20–30 кроків, на кожному кроці звіряючись із числами з тексту. Він працює не з пікселями, а з компактною версією зображення, латентом, що живе в так званому латентному просторі: 4 × 64 × 64 числа для зображення на 512 пікселів, 4 × 128 × 128 для 1024 пікселів у SDXL.
  3. Декодер перетворює цей латент на кінцеві значення пікселів, червоного, зеленого й синього: 3 × 512 × 512 або 3 × 1024 × 1024 для SDXL.
Схема конвеєра Stable Diffusion: промпт, текстовий енкодер CLIP, цикл знешумлення латенту, декодер VAE, готове зображення
Конвеєр Stable Diffusion XL. 1: промпт. 2: текстовий енкодер, CLIP. 3: знешумлювач, U-Net, на вхід якого подано випадковий шум із seed і який запускається 20–30 разів: цей цикл і є дифузія. 4: декодер, VAE. 5: зображення. Числа на стрілках — це форми того, що передається між мережами.

Дорогою нічого не шукається й не копіюється. Усередині файлу немає жодної бази зображень. Від 2 до 16 ГБ ваг зберігають те, чого мережа навчилася про відповідність підписів і зображень, і кожен результат обчислюється з шуму. Мережа все ж може запам’ятати зображення, які багато разів траплялися під час навчання, і дослідники витягли кілька сотень таких, але це виняток.

Що таке дифузійна модель? Навчання прибирати шум

Прямий процес: додавання шуму

Ідею дифузії легко сформулювати. Візьміть фото з підписом. Додайте до нього відміряну порцію випадкового шуму. Попросіть мережу вгадати, який шум було додано, знаючи підпис. Порівняйте її здогад із правдою і трохи підправте мережу.

Додавання шуму — це прямий процес (forward process). Він іде за фіксованим розкладом із тисячі рівнів, від ледь помітного зерна на рівні 50 до суцільного «снігу» на рівні 999. Мережа ніколи не бачить, як розклад розгортається; вона бачить лише одне зашумлене зображення на одному рівні за раз.

Та сама картина з маяком із шумом, доданим на рівнях 0, 50, 200, 500 і 999 прямого процесу Stable Diffusion
Прямий процес на одному зображенні. Число на кожній плитці — рівень шуму: 0, 50, 200, 500 і 999 з 1 000, за лінійним розкладом Stable Diffusion 1. Навчальний набір — це кожне зображення на кожному рівні, а мережу просять відновити шум.

Зробіть це на мільярдах прикладів — і отримаєте передбачувач шуму: маючи зашумлену картинку, її рівень шуму й текст, він каже, яким, імовірно, є шум. Цільова функція навчання — це просто різниця між передбаченим шумом і справжнім. Навчання Stable Diffusion 1 зайняло близько 150 000 годин на серверних GPU A100, згідно з картою моделі.

Зворотний процес: передбачувач шуму за роботою

Генерація прокручує цей урок у зворотному порядку. Це зворотний процес (reverse process). Почніть із чистого шуму, який задає seed. Запитайте передбачувач, який саме шум додано, приберіть його частину, запитайте знову. DDPM, стаття 2020 року, яка зробила дифузію практичною, робила це за тисячу маленьких кроків.

Семплер, у деяких інтерфейсах він зветься scheduler, — це правило, яке вирішує, наскільки великим буде кожен крок і чи додавати назад трохи свіжого шуму. Кращі семплери, DDIM, Euler і родина DPM++, роблять більші кроки тим самим шляхом, і саме тому сьогодні достатньо 20–30 кроків.

Той самий рендер Stable Diffusion XL від початкового шуму через передбачення моделі після 1, 2, 3 і 8 кроків до готової олійної картини з білим маяком під блакитним небом після 30
Один рендер на 30 кроків, Stable Diffusion XL, euler, 30 кроків, CFG 6, seed 20220822. Число на кожній плитці — це крок. 0 — початковий шум. Далі те, яким модель передбачає готове зображення після 1, 2, 3 і 8 кроків, і результат після 30. Горизонт, море й маяк розставлено вже на кроці 2 чи 3; решта кроків додає фактуру.

Рисунок показує те, що варто запам’ятати. На кожному кроці модель має здогад про готову картинку, і цей здогад усталюється рано. Перші два-три кроки, поки шум іще щільний, фіксують композицію: де горизонт, де стоїть маяк, скільки неба. Пізніші кроки шліфують фактуру й дрібні деталі.

Повзунок нижче проходить усі тридцять здогадів того самого рендеру.

Оцінка моделлю готової картини з маяком на вибраному кроці знешумлення, від 1 до 30
Перетягніть, щоб побачити оцінку моделі після кожного з 30 кроків. Той самий рендер, що й вище, кадри на 512 пікселів.

Звідси два практичні наслідки. Зміна кількості кроків змінює деталі, а іноді й композицію, бо ранні кроки потрапляють на інші значення; вона не просто робить ту саму картинку чіткішою. А той самий seed за іншого розміру зображення починає з іншого блоку шуму, тож теж дає іншу картинку. Спершу виберіть розмір, а вже потім шукайте seed.

Латентна дифузія: трюк із VAE, завдяки якому все вміщується на ігровій відеокарті

Ранні дифузійні моделі працювали з пікселями. Зображення 512 × 512 — це 786 432 числа, і передбачувач мусив читати й записувати їх усі на кожному зі своїх кроків. Піксельні моделі на кшталт DALL-E 2 та Imagen обходили це, виконуючи дифузію на 64 пікселях і додаючи мережі для збільшення, та й опубліковані вони так і не були.

Stable Diffusion додає варіаційний автоенкодер, VAE. Його енкодер стискає зображення у вісім разів по кожній стороні в чотири канали: 4 × 64 × 64, тобто 16 384 числа, у 48 разів менше. Дифузія повністю відбувається в цьому стисненому просторі, латентному просторі. Лише наприкінці декодер VAE розгортає результат у пікселі.

Чотири латентні канали готового рендеру Stable Diffusion XL, показані як сірі зображення поруч із декодованою картинкою
Те, з чим насправді працює знешумлювач. Ліворуч: кінцеве зображення на 1024 пікселі. Праворуч: його латент, чотири сірі мапи по 128 × 128 чисел кожна, розтягнуті до тієї самої висоти. Stable Diffusion XL, euler, 30 кроків, CFG 6, seed 20220822. Декодер перетворює чотири мапи на картину.

Латент — це не маленька картинка. Його чотири канали — це код, який декодер уміє читати, і жоден окремий канал не схожий на зображення повністю. Але компонування переживає стискання, і саме це дозволяє знешумлювачу вирішувати композицію в такому малому просторі.

Саме тому вибір VAE впливає на колір і дрібні деталі: кожне число латенту відповідає ділянці 8 × 8 пікселів, а декодер вигадує, що всередині цієї ділянки. Stable Diffusion 3 перейшов на латент із 16 каналами саме з цієї причини, і дрібні деталі та малий текст від цього покращилися.

CLIP і cross-attention: як текст керує зображенням

Три складники перетворюють слова на напрямок для знешумлювача.

Токенізатор і текстовий енкодер: як CLIP читає промпт

Токенізатор ріже промпт на токени, цілі поширені слова або фрагменти рідкісніших. Stable Diffusion 1.5 і SDXL читають щонайбільше 77 токенів, два з яких — маркери початку й кінця, приблизно 50–60 англійських слів. Далі текст обрізається, якщо інтерфейс не розбиває його на кілька проходів. Ставте найважливіше на початок.

Текстовий енкодер у 1.5 — це CLIP, мережа, яку OpenAI навчила на 400 мільйонах пар зображення–підпис з одним завданням: наблизити числа, що описують підпис, до чисел, що описують його зображення. Після такого навчання числа для «lighthouse» вже несуть у собі те, як виглядають маяки. SDXL запускає два такі енкодери поруч, другий — відкрите перенавчання від LAION на двох мільярдах пар. Stable Diffusion 3 додає третій, T5, який читає цілі речення.

Перехресна увага всередині U-Net

Перехресна увага (cross-attention) — це місце, де текст зустрічається з картинкою. U-Net — це стос згорткових блоків, які зменшують латент, а потім знову його збільшують, зі skip-з’єднаннями між однаковими розмірами. Між цими блоками розташовані шари уваги. На кожному кроці кожна ділянка латенту дивиться на 77 векторів токенів і зважує, які з них її стосуються. Ділянка неба звертає увагу на «sunset» і «clouds», скеля — на «cliff». Ось чому порядок слів, повтори й синтаксис ваг в інтерфейсах мають значення і чому слово про стиль на початку забарвлює все зображення.

У цьому ж і обмеження перших версій. CLIP навчався на коротких alt-текстах, тому добре розуміє переліки об’єктів і стилів і погано — зв’язки між ними. «A red cube on a blue sphere» у 1.5 часто виходить навпаки. Посібник із промптів показує, що працює надійно.

Шкала CFG, негативний промпт і seed: три налаштування

Три налаштування є в кожному інтерфейсі Stable Diffusion. Вони прямо відповідають механізмам, описаним вище.

Шкала CFG, або guidance scale, скорочено від classifier-free guidance, вирішує, наскільки сильно текст тисне на результат. На кожному кроці знешумлювач насправді робить два передбачення: одне з промптом і одне з порожнім промптом. Різниця між ними — це напрямок, який задає промпт. Остаточне передбачення — це порожнє плюс ця різниця, помножена на шкалу CFG. При значенні 1 передбачення з промптом береться як є, без тиску: зображення слідує тексту лише приблизно, з приглушеними кольорами й сірим небом там, де промпт просив блакитне. При 5–8 воно точно слідує промпту з природними кольорами. Понад 12 контраст стає жорсткішим, кольори перенасичуються, а мазки стають різкими.

Той самий промпт і seed Stable Diffusion XL зі шкалою CFG 1, 2, 4, 7, 12 і 20, від сірої приглушеної картини до насиченої блакитної
Той самий промпт, seed і 30 кроків; число на кожній плитці — шкала CFG, 1, 2, 4, 7, 12 і 20, Stable Diffusion XL, euler, 30 кроків, seed 20220822. Між 1 і 2 зсувається сама композиція, а небо лишається сірим. Від 4 і вище композиція тримається, а блакитне небо й бірюзове море, яких просив промпт, стають дедалі насиченішими зі зростанням шкали.

Негативний промпт замінює порожній промпт у тому другому передбаченні. Замість порожнього промпту другий прохід читає «blurry, text, watermark», і guidance відштовхує від цього. Це нічого додатково не коштує, бо другий прохід і так виконується, і працює лише тоді, коли guidance вищий за 1. Посібник із негативного промпту дає робочі списки.

Seed — це число, яке породжує початковий шум. Той самий seed, той самий промпт, ті самі налаштування й та сама модель дають те саме зображення, до пікселя, на тому самому програмному забезпеченні й обладнанні; інший інтерфейс або інша відеокарта генерує шум інакше. Змініть seed — зміниться композиція, бо перші кроки читають інший блок шуму. Змініть одне слово промпту й залиште seed — більша частина картинки зазвичай збережеться. Саме так промпт і доводять до ладу.

Чотири рендери Stable Diffusion XL того самого промпту з маяком із чотирма різними seed
Той самий промпт і налаштування, чотири seed, кожен написано на своїй плитці. Stable Diffusion XL, euler, 30 кроків, CFG 6, seed від 20220822 до 20220825. Об’єкт тримається; композиція, форма берега й мазки щоразу малюються заново.

Від U-Net до трансформера: версії від 1.5 до 3.5

За два роки з’явилося шість головних поколінь, перші два від CompVis і Runway, решта від Stability AI. Кожне змінювало щонайменше одну з трьох мереж.

ВерсіяДатаЗнешумлювачТекстові енкодериНативний розмір
1.4 і 1.5серпень і жовтень 2022U-Net, 860 мільйонів параметрівCLIP ViT-L512 px
2.0 і 2.1листопад і грудень 2022U-Net тієї самої конструкції, перенавчений з нуляOpenCLIP ViT-H768 px
SDXL 1.0липень 2023U-Net, 2,6 мільярда, плюс refinerCLIP ViT-L і OpenCLIP ViT-bigG1024 px
SDXL Turboлистопад 2023SDXL, дистильований до 1–4 кроківЯк у SDXL512 px
3 Mediumчервень 2024Дифузійний трансформер (MMDiT), 2 мільярдиCLIP ViT-L, OpenCLIP bigG, T5-XXL1024 px
3.5 Large, Large Turbo, Mediumжовтень 2024MMDiT, 8 мільярдів; Medium 2,5 мільярдаТі самі три1024 px

1.5 лишається однією з найбільш донавчуваних моделей в історії, з десятками тисяч спільнотних чекпойнтів і LoRA, і досі працює на 4 ГБ відеопам’яті. SDXL — робоча конячка: кращі руки, обличчя й композиція, нативний вивід на 1024 пікселі. 3 і 3.5 замінили U-Net трансформером, який обробляє текстові й графічні токени разом, і саме це нарешті зробило можливим розбірливий текст на зображеннях: беріть слова в лапки в промпті. Порівняння SDXL і Stable Diffusion 3 показує ті самі промпти на обох.

Ліцензії теж змінилися. 1.5 поширюється за ліцензією CreativeML OpenRAIL-M, SDXL — за OpenRAIL++-M, обидві безкоштовні для комерційного використання з переліком заборонених застосувань. Моделі 3.x — за Stability AI Community License, безкоштовною до мільйона доларів річного доходу.

Що з ним можна робити: image-to-image, inpainting, ControlNet, LoRA

Генерація з тексту — лише початок, бо кожну частину конвеєра можна використати повторно. Закодуйте ескіз у латент, додайте лише частину шуму й знешумлюйте звідти — і це image-to-image, img2img в інтерфейсах: налаштування strength, або denoise, — це те, скільки шуму ви додаєте. Ідея походить із SDEdit. Замаскуйте одну ділянку латенту — і це inpainting, або outpainting, коли маска поза кадром. Додайте невелику бічну мережу, яка читає позу, карту глибини чи контури, — і це ControlNet. Навчіть кілька мільйонів додаткових ваг на двадцяти фото — і це LoRA, яка вчить модель обличчя чи стилю. Окремі моделі підвищення роздільної здатності займаються збільшенням зображень.

Лінійний ескіз сцени з маяком і три рендери image-to-image Stable Diffusion XL із нього зі strength 0,3, 0,5 і 0,8
Image-to-image з лінійного ескізу сцени. Ліворуч: ескіз. Далі той самий промпт зі strength 0,3, 0,5 і 0,8, число на кожній плитці. На 0,3 модель лише підфарбовує лінії; на 0,8 зберігає компонування й перемальовує все інше. Stable Diffusion XL, euler, 30 кроків, CFG 6, seed 20220822.

Щоб запустити його самостійно, вистачить сучасної відеокарти NVIDIA з 6 ГБ відеопам’яті (VRAM) для 1.5 і 8 ГБ для SDXL. Карти AMD працюють через ROCm, Apple Silicon — через бекенд MPS. Посібник зі встановлення охоплює три головні інтерфейси. Без відеокарти інструменти цього сайту не потребують обладнання: Stable Diffusion XL і Stable Diffusion 1.5 працюють на GPU самого сайту, з чергою, яку видно наживо, задокументовані промпти показують, що робить кожне налаштування, а 1 731 стиль художників показує, чого модель навчилася про живописців.

Stable Diffusion vs Midjourney vs DALL-E

Порівняно з Midjourney і моделями зображень OpenAI різниця не в якості, а в контролі. Ваги відкриті, модель працює локально: ваші зображення лишаються на вашому диску, ви обираєте модель, ви задаєте seed і можете замінити будь-який компонент. Натомість вона вимагає від вас більше. Midjourney просить одне речення й видає відшліфовану картинку; Stable Diffusion просить модель, промпт, негативний промпт і шкалу CFG — і дає саме те, що ви задали.

Stable DiffusionMidjourneyDALL-E / GPT Image
ВагиВідкриті, можна завантажитиЗакритіЗакриті
Працює на вашому комп’ютеріТак, 6–8 ГБ VRAMНіНі
ЦінаБезкоштовно локально; безкоштовні інструменти онлайнПідпискаПідписка або оплата за зображення
КонтрольSeed, модель, LoRA, ControlNet, inpainting, кожне налаштуванняПараметри та референси стилюРозмова
ДонавчанняТак, будь-кимНіНі
Текст на зображенняхСлабкий до 3, добрий від 3.5Добрий з v6Дуже добрий

Той самий принцип дифузії тепер лежить в основі моделей інших лабораторій, з іншими енкодерами й іншими ліцензіями: FLUX від Black Forest Labs, заснованої авторами оригінального Stable Diffusion, і Qwen-Image від Alibaba. Вони працюють у тих самих інтерфейсах, з тими самими seed, кроками й семплерами, тож більша частина цієї сторінки стосується і їх. Їхній guidance працює інакше, FLUX dev не має негативного промпту, і вони віддають перевагу повним реченням, а не спискам ключових слів.

Джерела і як використати ілюстрації

Першоджерела, у порядку, в якому вони трапляються на сторінці:

Використання ілюстрацій. Рендери й схеми на цій сторінці опубліковано за ліцензією CC BY 4.0: використовуйте їх у курсі, доповіді чи статті з посиланням на цю сторінку. Кожен рендер використовує Stable Diffusion XL, euler, 30 кроків, CFG 6, seed 20220822, промпт нижче й негативний промпт «text, watermark, signature, blurry, low quality, storm, dark clouds, sunset».

An oil painting of a white lighthouse on a rocky cliff, clear blue sky, bright midday sunlight, a few small white clouds, turquoise sea, waves breaking below, visible brush strokes

Як цитувати цю сторінку.

Clicheroux, A. (2026). What is Stable Diffusion and how does it work? stablediffusion.fr. https://stablediffusion.fr/guide/what-is-stable-diffusion
Спробуйте просто зараз, безкоштовноЗгенерувати зображення в Stable Diffusion XL →

Часті запитання

Чи безкоштовний Stable Diffusion?

Так. Ваги можна завантажити безкоштовно за відкритими ліцензіями: CreativeML OpenRAIL-M для 1.5, OpenRAIL++-M для SDXL, а для моделей 3.x — Stability AI Community License, безкоштовна до мільйона доларів річного доходу. Локальний запуск коштує лише електроенергії. Інструменти на цьому сайті безкоштовні й підтримуються рекламою.

Кому належать згенеровані зображення?

З погляду ліцензії — вам: Stability AI не претендує на жодні права на результати. Авторське право — інша річ, і воно залежить від країни. У США суди й Бюро авторських прав відмовляють у захисті зображенню, повністю згенерованому моделлю. Європейські суди застосовують ту саму логіку через критерій оригінальності, хоча рішення на рівні всього ЄС поки немає. Твір, у якому модель — лише один з інструментів, може бути захищений.

Чи є FLUX і Qwen-Image версіями Stable Diffusion?

Ні. Це теж дифузійні моделі, побудовані на тому самому принципі знешумлення латенту під керуванням тексту, але вони походять з інших лабораторій, зі своїми архітектурами, текстовими енкодерами й ліцензіями. FLUX створює Black Forest Labs, Qwen-Image — команда Qwen в Alibaba. Їх часто об’єднують під назвою Stable Diffusion, бо вони працюють у тих самих інтерфейсах, зокрема в ComfyUI.