Чому генератори зображень вам відмовляють і що там насправді відбувається
Автор: Команда Fellowi · · 8 хв читання

Є особливий сорт роздратування, який трапляється лише з генераторами зображень. Ви щось пишете, назад приходить порожнеча або повідомлення настільки прісне, що означати може будь-що, і ви не розумієте: попросили заборонене, сформулювали криво чи впіймали баг. Тоді ви навмання міняєте слово й пробуєте знову. Іноді це спрацьовує - і це найгірший можливий результат, бо ви щойно вивчили забобон замість факту.
Корисно розуміти, що «генератор мені відмовив» описує щонайменше три цілком різні системи, зроблені різними людьми з різних причин і зламані по-різному. Щойно ви починаєте їх розрізняти, загадка здебільшого зникає, а чимала частина відмов виявляється виправною.
Шар перший: блок-лист за текстом
Найдешевший фільтр працює до того, як щось згенеровано. Він читає ваш текст, звіряє зі списком слів і шаблонів і відхиляє навідріз при збігу. Саме цей шар дає миттєві відмови, зазвичай у межах секунди після натискання, і саме його найчастіше успішно обходять зміною лексики.
Він же найгрубіший. Блок-листи не читають контексту, тож ловлять величезну кількість безневинної роботи: анатомічні терміни в медичній ілюстрації, звичайні слова, що десь виявилися сленгом, імена персонажів, які збіглися з чимось стороннім. Кожен, хто пробував згенерувати м'ясну крамницю чи заняття з рисунка з натури, з цим шаром знайомий.
Прикмета - швидкість і сталість. Якщо запит відхиляється миттєво і відхиляється щоразу абсолютно однаково, ви майже напевно вперлися в текстовий фільтр, а не в щось пов'язане із зображенням.
Шар другий: сама модель
Другий шар узагалі не фільтр, тому й поводиться так дивно. Сучасні моделі навчають із перевагою одних результатів і неприязню до інших, тож запит, від якого модель відвели, не відхиляється - він тихо гіршає. Ви просили одне, а отримали сусіднє: блідіше, вдягненіше, невизначеніше. Нічого про себе не оголосило. Просто картинка вийшла гіршою, а чому - незрозуміло.
Саме цей шар змушує людей думати, що вони погано пишуть промпти. У певному сенсі вони не помиляються, але річ не в словнику. Модель із ними торгується, і останнє слово за нею.
Його ж найважче прибрати. Блок-лист постачальник видаляє за півдня. Відкотити навчання - задача іншого порядку, і тому навіть по-справжньому дозвільні інструменти іноді впираються, а слово «без цензури» варто читати уважно. Що воно може означати чесно - у тексті про те, що насправді означає генератор без цензури.
Шар третій: класифікатор, який дивиться на результат
Третій шар працює, коли зображення вже існує. Окрема модель дивиться на готову картинку, ставить оцінку й блокує видачу, якщо оцінка перетнула межу. Ви заплатили за відмальовування, воно сталося, а потім хтось інший вирішив, що вам його не віддадуть.
Цей шар пояснює найдратівливішу поведінку в усій категорії: той самий запит проходить у вівторок і падає в четвер. Генерація випадкова. Запустіть запит двічі - отримаєте дві різні картинки. Якщо ваше прохання лежить десь поряд із порогом класифікатора, одна картинка його проходить, а інша ні. Ви нічого не зробили інакше. Інакше випали кості.
Якщо ви колись були впевнені, що сервіс уночі тихо затягнув фільтри, зазвичай відбувалося саме це. Іноді постачальники справді затягують. Набагато частіше ви весь час були на краю і помітили це того дня, коли двічі поспіль опинилися не на тому боці.
Чому вам не кажуть, який шар спрацював
Бо конкретне повідомлення про помилку - це інструкція з обходу фільтра. Скажіть людині «слово X заблоковано», і ви навчили її, що саме міняти. Тому майже всі сервіси віддають одну розпливчасту відмову на всі три причини, і в підсумку сумлінний користувач із безневинним запитом отримує те саме непроникне повідомлення, що й той, хто промацує дірки.
Розмін захисний і по-справжньому неприємний для того, хто на приймальному боці. Він же пояснює, чому стільки порад щодо промптів в інтернеті - фольклор: люди шукають закономірності в невидимій системі й передають одне одному ритуали, які колись спрацювали.
Одна звичка, яка переживає всі три шари
Ніколи не називайте те, чого не хочете бачити на картинці. «Без оголеності» кладе оголеність у запит, де перший шар може по ній спрацювати, другий її зважить, а третій зрештою стане її шукати. У моделей зображень немає надійного поняття заперечення, тому заперечення читається як тема.
Ми з'ясували це всередині власної системи, а не зі статті. Рання версія інструкції, яку ми підставляємо перед кожною генерацією, називала фізичну ознаку, щоб її зберегти, - по суті там було написано, що людина лиса. Модель прочитала це як те, що треба намалювати, і почала видавати лисих людей у розмовах із персонажами, які мають волосся. Полагодили тим, що перестали називати значення ознак узагалі. Повний набір звичок, що звідси випливають, - у тексті про NSFW-промпти, які справді малюються, а версія для аніме - у матеріалі про те, чому аніме-стиль опирається.
Що натомість робимо ми
У Fellowi відхиляються дві речі й відхилятимуться далі: усе сексуальне за участю неповнолітніх і все, що зображує відсутність згоди. Це весь список, це не регулятор, і жоден тариф його не відкриває. Решта між дорослими дозволена - саме тому нам нічого не варто назвати межі так прямо.
Для всього, що не належить до цих двох пунктів, принцип такий: збій не має вам коштувати. Якщо запит не повернувся, ми один раз пробуємо пом'якшену версію вашого ж формулювання, а якщо не виходить і вона, монети автоматично повертаються в гаманець. Ви не платите за право вгадувати. Саме ця політика робить переписування запиту розумною реакцією на відмову - замість того щоб берегти ідеї й пробувати найнуднішу версію кожної.
Якщо ви воювали з генератором, який не каже, що йому не подобається, чесна перевірка - піти й попросити те, що ви справді хотіли: відкрийте генератор або спершу прочитайте нашу політику людською мовою на сторінці генератора 18+.