Sage Attention, TeaCache и WaveSpeed: Полный гид по ускорению ComfyUI для продвинутых пользователей

Опубликовано: 05 Май 2025 • Автор: petemaster_doom

Sage Attention, TeaCache и WaveSpeed: Полный гид по ускорению ComfyUI для продвинутых пользователей

Если вы работаете с ComfyUI и современными моделями (Flux, SDXL, HunyuanVideo, Wan 2.1 и др.), то наверняка сталкивались с вопросом: как ускорить генерацию, сэкономить VRAM и не потерять качество? В 2024–2025 годах на пике популярности сразу несколько технологий ― Sage Attention, TeaCache и WaveSpeed (Apply First Block Cache). Разберёмся, как они работают, чем отличаются, где уместны и как влияют на результат.

Sage Attention: ускорение внимания без компромиссов

Sage Attention ― это современный механизм ускорения dot-product attention в трансформерах. Его суть ― агрессивная квантизация матриц Query/Key (до 4/8 бит) и Value (до FP8/FP16), что уменьшает объём вычислений и снижает потребление VRAM.

Преимущества:

·         Скорость: Ускоряет инференс и обучение в 2–3 раза по сравнению с Flash Attention 2.

·         Экономия VRAM: Снижение потребления памяти до 30–40% на длинных последовательностях.

·         Качество: Потери качества минимальны ― на большинстве моделей разница не превышает 1%, а визуально зачастую неотличима от оригинала.

·         Совместимость: Работает с большинством современных моделей (Flux, Wan 2.1, HunyuanVideo, SDXL и др.), легко интегрируется через node Patch Sage Attention KJ (KJNodes) или глобально через аргумент запуска.

На что обратить внимание:

·         Требования к GPU: Для FP8-режимов необходимы видеокарты RTX 40xx и новее.

·         Совместимость: Для некоторых старых моделей или кастомных node может потребоваться ручная настройка.

·         Установка: На Windows рекомендуется использовать кастомные сборки Triton (например, woct0rdho/triton-windows) и SageAttention 2.x из исходников.

TeaCache: кеширование блоков для максимальной скорости

TeaCache ― это динамическое кеширование выходов блоков UNet/трансформера. Если изменения между шагами малы (оценивается через порог rel_l1_thresh), блоки не пересчитываются, а используется сохранённый результат.

Преимущества:

·         Скорость: Ускоряет генерацию до 2 раз, особенно на длинных сэмплах и видео.

·         Экономия VRAM: За счёт пропуска вычислений снижается нагрузка на память.

·         Гибкость: Порог rel_l1_thresh можно настраивать для баланса между скоростью и качеством.

Потери качества:

·         Баланс: Чем выше порог, тем больше ускорение, но тем выше риск появления артефактов или деградации качества (особенно на сложных сценах или быстрых движениях в видео).

·         Практика: Для Flux, Hunyuan, LTX и Wan 2.1 оптимальными считаются значения 0.1–0.25. При слишком низком пороге ускорение минимально, при слишком высоком ― заметны потери детализации.

Совместимость:

·         Модели: Работает с большинством современных моделей, включая Flux, LTX, HunyuanVideo, SDXL.

·         Особенности: TeaCache чуть лучше совместим с ControlNet и LoRA, чем WaveSpeed.

WaveSpeed (Apply First Block Cache): умное кеширование первого блока

WaveSpeed ― это универсальный набор оптимизаций для ComfyUI, включающий динамическое кеширование на уровне первого блока трансформера (Apply First Block Cache, FBCache).

Как работает:

·         Сохраняет выход первого блока трансформера (residual output).

·         Если разница между текущим и предыдущим выходом меньше residual_diff_threshold, пропускает вычисления всех последующих блоков и использует кэшированный результат.

·         Позволяет настраивать порог и максимальное число подряд кешированных шагов.

Преимущества:

·         Скорость: Ускорение генерации в 1.5–3 раза, особенно на длинных сэмплах.

·         Экономия VRAM: Снижение нагрузки на память за счёт пропуска вычислений.

·         Качество: При правильно подобранном пороге потери качества минимальны, визуально зачастую неотличимы от оригинала.

·         Совместимость: Поддерживает Flux, LTXV, HunyuanVideo, SD3.5, SDXL и др. Не работает с FreeU Advanced node pack.

Потери качества:

·         Регулируются порогом: Чем выше residual_diff_threshold, тем больше ускорение, но тем выше риск потери деталей и появления артефактов.

·         Рекомендации: Для Flux рекомендуют threshold 0.12, для SDXL - 0.2, для Hunyuan - 0.1. Подбирать оптимум нужно экспериментально.

Особенности:

·         Стабильность: В отличие от TeaCache, WaveSpeed реже вызывает конфликты с другими node и не требует ручной очистки кэша.

·         Дополнительные опции: Включает torch.compile для ещё большего ускорения (требует современных GPU и Triton).

Сравнительная таблица

Технология

Механизм

Скорость

Экономия VRAM

Потери качества

Совместимость

Sage Attention

Квантизация QKV

2–3x

до 40%

<1% (визуально нет)

Flux, Wan 2.1, Hunyuan, SDXL, др.

TeaCache

Кеш блоков UNet

до 2x

до 30%

Зависит от порога, могут быть артефакты

Flux, LTX, Hunyuan, SDXL, LoRA, ControlNet

WaveSpeed (FBCache)

Кеш первого блока

1.5–3x

до 40%

Зависит от порога, минимальны при правильной настройке

Flux, LTXV, Hunyuan, SDXL, SD3.5

 

Практические рекомендации

·         Для максимальной скорости используйте Sage Attention в связке с WaveSpeed (Apply First Block Cache). Это даст наилучший прирост без заметной потери качества.

·         Для экономии VRAM оба метода кеширования и Sage Attention эффективны, но Sage Attention даёт наименьшие потери качества.

·         Если важна совместимость с ControlNet/LoRA - TeaCache чуть гибче, но требует аккуратной настройки и может конфликтовать с некоторыми node.

·         Для стабильности и простоты - WaveSpeed предпочтительнее TeaCache, особенно на больших и сложных workflow.

·         Тонкая настройка: Всегда экспериментируйте с порогами кеширования (rel_l1_thresh для TeaCache, residual_diff_threshold для WaveSpeed). Слишком агрессивные значения ускоряют генерацию, но могут привести к деградации результата.

Итоги

Sage Attention, TeaCache и WaveSpeed ― это три столпа ускорения современных ComfyUI workflow. Sage Attention оптимизирует сами вычисления внимания, не затрагивая логику генерации. TeaCache и WaveSpeed реализуют умное кеширование, позволяя пропускать повторяющиеся вычисления и экономить ресурсы. В умелых руках их грамотная комбинация позволяет ускорять генерацию в 2–3 раза, экономить VRAM и получать качественные результаты даже на ограниченных GPU.