Що робить seed у Stable Diffusion?

Автор: Оновлено 3 хв читання

Seed (сід) — це ціле число, яке ініціалізує випадковий шум, з якого починається кожна генерація. З тим самим seed, промптом, моделлю, налаштуваннями й програмним забезпеченням Stable Diffusion видає те саме зображення; змініть seed — і отримаєте іншу композицію за тим самим промптом. В Automatic1111 і на цьому сайті значення -1 вибирає випадковий seed.

Чому seed важливий

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

Як користуватися ним на практиці

  1. Генеруйте із seed -1, доки не з’явиться композиція, яка вам подобається.
  2. Знайдіть seed у відомостях про зображення (Automatic1111 записує його в метадані PNG і показує під зображенням) і вставте в поле seed.
  3. Тепер відточуйте промпт або негативний промпт слово за словом: композиція зазвичай лишається, змінюються деталі.
  4. З неанцестральним семплером (Euler, DDIM, DPM++ 2M) той самий seed дасть близьке зображення, навіть якщо змінити кількість кроків або CFG, тож налаштування можна чесно порівнювати. Анцестральні семплери, як-от Euler a, на кожному кроці додають новий шум, і зображення «пливе».

У прикладах промптів на цьому сайті seed вказано майже біля кожного зображення, тож можна почати з відомого результату.

Що порушує відтворюваність

  • Інша модель або LoRA: шум той самий, але знешумлює його вже інша мережа, тож зображення змінюється: трохи — з легкою LoRA, повністю — з іншою моделлю.
  • Інший розмір зображення: тензор шуму має іншу форму, тому картинка не матиме нічого спільного з попередньою навіть із тим самим seed.
  • Інший GPU або версія програмного забезпечення: крихітні розбіжності в обчисленнях із рухомою комою можуть зсунути деталі; на відеокартах різних виробників Automatic1111 навіть генерує різний шум, якщо джерелом випадкових чисел не вибрано CPU.
  • В Automatic1111 є додаткові налаштування, які змінюють результат, наприклад variation seed, Clip skip та Eta noise seed delta; для точного повторення вони мають бути однаковими.

Варіації навколо одного seed

В Automatic1111 є variation seed і повзунок variation strength: зі значеннями від 0.1 до 0.3 ви отримаєте «родичів» зображення — та сама поза й палітра з невеликими змінами. Це зручно, щоб вибрати найкращі руки чи обличчя. X/Y/Z plot, де на одній осі seed, а на другій — слово з промпту, будує порівняльну сітку за один запуск.

Спробуйте просто зараз, безкоштовноПереглянути 1731 художника з тими самими seed →

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

Чи кращий більший seed?

Ні. Seed — це лише мітка певного шумового візерунка, а не налаштування якості; 7 і 4 294 967 295 однаково добрі. Важить тільки те, що його можна повторити.

Чи можна отримати те саме зображення на іншому сайті з тим самим seed?

Лише якщо сайт використовує ту саму модель, розмір, семплер, кількість кроків, CFG і те саме програмне забезпечення. Між двома встановленими Automatic1111 так зазвичай і є, між різними сервісами — майже ніколи.

Чому той самий seed дає інше зображення в інструментах цього сайту?

Публічні інструменти застосовують до кожного запиту власний негативний промпт, LoRA для деталізації, кількість кроків і семплер, а inpainting підганяє ваше зображення під 1024 пікселі, тому результат відрізняється від того, що видає ваша локальна конфігурація. У межах сайту той самий запит із тим самим seed відтворюється.