INT8 почти не портит картинки, а сэмплер AB-2 побеждает Euler в 12 из 12 тестов

Считается, что на сжатых до INT8 моделях вроде Flux сложные сэмплеры копят ошибку. Авторы Flow-WLS проверили это на четырёх моделях: шум INT8 почти не виден, а простой AB-2 победил Euler во всех 12 комбинациях шагов и CFG на Anima. Их собственный Flow-WLS на малом числе шагов проиграл Euler. Практика: при CFG 3+ ставьте flow_ab2, на дистиллированных моделях с CFG 1 — flow_ab3.

AI-обработка оригинала Habr AI; редакция Hamidun News
INT8 почти не портит картинки, а сэмплер AB-2 побеждает Euler в 12 из 12 тестов
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Шум INT8-ядер1,3% нормы скорости при CFG 1 и 5,7% при CFG 4
Ключевой факт #2AB-4 усиливает белый шум в 1,97 раза, AB-2 — лишь в 1,06 раза
Расстояние LPIPS между INT8 и bf160,014 при CFG 1, 0,029 при CFG 4

Если вы запускаете Flux, Qwen-Image и похожие модели на домашней видеокарте, вы почти наверняка используете квантованные веса — числа в модели округлены до 8 бит (INT8), чтобы она влезла в память. Вместе с этим ходит совет: на такой модели не берите «навороченные» сэмплеры, то есть алгоритмы, которые пошагово превращают шум в картинку, — мол, они копят ошибку округления. Автор проекта Flow-WLS проверил это измерениями.

Оказалось, что шум от INT8 на картинке почти не виден, а простой сэмплер AB-2 оказался лучше базового Euler во всех 12 проверенных комбинациях (3 значения CFG × 4 числа шагов) на модели Anima. Практический смысл такой: если вы стоите на Euler только из страха перед квантованием, этот страх можно оставить, а сэмплер — заменить одним пунктом в выпадающем списке ComfyUI. Неудобный для самого автора вывод: его собственная идея Flow-WLS из прошлой работы на малом числе шагов проиграла Euler.

Пояснение к терминам. CFG — сила, с которой модель следует тексту промпта: чем он выше, тем сильнее усиливается любая ошибка. Euler — самый простой сэмплер: делает шаг, опираясь только на текущее предсказание. AB-2, AB-3, AB-4 — методы Адамса — Башфорта: они учитывают 2, 3 или 4 предыдущих шага, как если бы вы оценивали скорость движения не по одному кадру, а по нескольким. LPIPS — метрика, которая показывает, насколько две картинки различаются для нейросетевого «зрения»; чем меньше, тем ближе к эталону.

Что проверяли и как

Взяли четыре flow-модели: Anima (в bf16 и с симуляцией FP8, INT8, INT4, NVFP4), Flux3-Klein INT8, Krea 2 INT8 (с ConvRot) и Moss-Image INT8. Использовали 4 промпта, 2–3 seed, от 8 до 24 шагов и CFG от 1 до 5. Эталоном служила та же модель, прогнанная на очень большом числе шагов (для портрета на Anima — 96).

Для Flux3 сравнивали два режима одной и той же модели: с реальными INT8-ядрами (Q) и с теми же весами, распакованными в bf16 без квантования активаций (D). Разница между ними показывает чистую ошибку ядер. Перед экспериментами авторы записали в README 15 гипотез (H1–H15) и условия их подтверждения, чтобы не подгонять вывод под результат. Часть гипотез не подтвердилась, и это оставили в тексте.

Квантование безобидно, шум белый

Ошибка реальных INT8-ядер составляет 1,3% нормы скорости при CFG 1 и 5,7% при CFG 4. Рост в 4,36 раза объясним: ошибка умножается на guidance, как и любая разность предсказаний. На итоговый латент это даёт не более 0,02 по относительной ошибке. Расстояние LPIPS между результатами Q и D — 0,014 при CFG 1 и 0,029 при CFG 4; глазом этого не отличить.

Шум при этом «белый»: корреляция между соседними шагами равна −0,001, то есть на каждом шаге ошибка новая и не накапливается в одну сторону. Именно такой шум усиливают методы высокого порядка. По расчёту относительно Euler AB-2 увеличивает его в 1,06 раза, AB-3 — в 1,21, AB-4 — в 1,97. Но собственная избыточная ошибка AB-4 (0,5–0,8) в десятки раз больше эффекта квантования (до 0,02), так что виноват не INT8, а выбор метода.

Что выбирать на практике

На Anima прогнали CFG 1, 3 и 5 на 8, 12, 16 и 24 шагах, всего девять методов:

  • AB-2 лучше Euler во всех 12 ячейках, на 0,03–0,12 по ошибке латента, доверительные интервалы не включают нуль;
  • DPM++ 2M обгоняет Euler при сильном CFG на 16–24 шагах;
  • при CFG 1 (дистиллированные Flux3-Klein и Krea 2) лучше всех AB-3 и динамический выбор;
  • AB-4 и длинные окна Flow-WLS при 12 шагах и меньше нигде не были лучшим выбором.

Картинки это подтверждают. На Anima при 8 шагах Euler оставляет почти чёрный шум (LPIPS 0,89), а DPM++ 2M (0,35) и AB-2 (0,42) дают законченное изображение; на 16 шагах Euler — 0,34 против 0,20 у DPM++ 2M, 0,21 у AB-3 и 0,23 у AB-2. На Krea 2 при 12 шагах у Euler «пластиковая» кожа (0,34), а AB-3 (0,21) возвращает поры и веснушки. На Flux3-Klein при 12 шагах Euler, DPM++ 2M, AB-2 и AB-3 на глаз одинаковы (0,15), так что там менять сэмплер незачем.

Причина в природе выхода сети: это гладкий тренд плюс шум, не связанный между шагами. Его размер около 1% нормы при CFG 1, около 4% при CFG 3 и 6–7% при CFG 5. Правила с большими весами этот шум усиливают и выигрывают, только пока он мал. Попытка подогнать фильтр истории по данным дала выигрыш не больше 3,4% над лучшим существующим правилом, поэтому новый сэмплер класса Flow-WLS не нужен. Побочный результат: метрика согласованности на одном шаге плохо предсказывает итоговый рейтинг, а накопленная по траектории предсказывает неплохо (корреляция Спирмена 0,77 в среднем).

Установка: клонируйте репозиторий YakovSava/flow-wls-research в ComfyUI/custom_nodes/ и перезапустите ComfyUI. В списке sampler_name появятся flow_ab2, flow_ab3, flow_ab4. Есть и узел Flow Easy Sampler с выбором из двух вариантов. AB-k работает без дополнительных вызовов модели, поэтому стоит столько же, сколько Euler. Рекомендации: обычная модель с CFG 3 и выше — flow_ab2, на 16+ шагах также dpmpp_2m; дистиллированная модель с CFG 1 — flow_ab3; меньше 12 шагов — не flow_ab4 и не длинные окна Flow-WLS.

Ограничения

LPIPS измеряет расстояние до картинки, полученной за много шагов, а не красоту; слепого теста на людях нет. Выборка небольшая: 4 промпта, 4 модели, один seed на картинку, лучший не выбирался. Для Moss-Image сошедшегося эталона нет, поэтому надёжны только крупные эффекты; для Flux3 при CFG 4 эталон сходится на 20–34%. Для Moss и Krea 2 измерен только режим Q. Ошибку самого округления весов относительно неизвестного bf16-оригинала не измеряли. SDXL-подобные модели не проверялись. AB-2 и DPM++ 2M добавили в часть экспериментов после первых результатов, это помечено в README. AB-2 — не новый метод: ценность работы в измерениях и в отрицательном результате по собственной идее авторов.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: что проверяли и как?

Взяли четыре flow-модели: Anima (в bf16 и с симуляцией FP8, INT8, INT4, NVFP4), Flux3-Klein INT8, Krea 2 INT8 (с ConvRot) и Moss-Image INT8. Использовали 4 промпта, 2–3 seed, от 8 до 24 шагов и CFG от 1 до 5. Эталоном служила та же модель, прогнанная на очень большом числе шагов (для портрета на Anima — 96). Для Flux3 сравнивали два режима одной и той же модели: с реальными INT8-ядрами (Q) и с теми же весами, распакованными в bf16 без квантования активаций (D). Разница между ними показывает чистую ошибку ядер.

Что известно по теме: квантование безобидно, шум белый?

Ошибка реальных INT8-ядер составляет 1,3% нормы скорости при CFG 1 и 5,7% при CFG 4. Рост в 4,36 раза объясним: ошибка умножается на guidance, как и любая разность предсказаний. На итоговый латент это даёт не более 0,02 по относительной ошибке. Расстояние LPIPS между результатами Q и D — 0,014 при CFG 1 и 0,029 при CFG 4; глазом этого не отличить. Шум при этом «белый»: корреляция между соседними шагами равна −0,001, то есть на каждом шаге ошибка новая и не накапливается в одну сторону.

Что известно по теме: что выбирать на практике?

На Anima прогнали CFG 1, 3 и 5 на 8, 12, 16 и 24 шагах, всего девять методов: AB-2 лучше Euler во всех 12 ячейках, на 0,03–0,12 по ошибке латента, доверительные интервалы не включают нуль; DPM++ 2M обгоняет Euler при сильном CFG на 16–24 шагах; при CFG 1 (дистиллированные Flux3-Klein и Krea 2) лучше всех AB-3 и динамический выбор; AB-4 и длинные окна Flow-WLS при 12 шагах и меньше нигде не были лучшим выбором. Картинки это подтверждают.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Единое AI-пространство · Nomad

Протестируйте новые LLM и мультимодальные модели в одном окне

Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.

Открыть Nomad AI →Автономный Nomad Agent
Что вы думаете?
Загружаем комментарии…