инструменты 1 мин

SVDQuant ускоряет Krea 2 вдвое даже на старых NVIDIA GPU — INT8/W4A4 вместо бесполезного FP8

Выпущена квантизованная версия Krea 2 Turbo для ComfyUI, использующая INT8 и W4A4 вместо популярного FP8. Скорость удваивается даже на GPU серий RTX 20/30 (Turing/Ampere), размер модели уменьшается втрое, качество сохраняется. FP8 работает быстро только на новейших Ada/Hopper GPU, на старых картах он фактически откатывается к BF16 и тормозит. Автор замерил это экспериментально и выбрал форматы, поддерживаемые тензорными ядрами начиная с Turing.

Двукратное ускорение генерации и снижение VRAM-требований втрое делает Krea 2 доступной для владельцев старших GPU среднего класса (RTX 3090/3080), а исправление бага LoRA критично для всех, кто дообучает модели. Это показательный кейс, когда «общепринятый» путь (FP8) оказывается неоптимальным для большинства реального железа.

Квантизация Krea 2: почему FP8 — не панацея

В сообществе ComfyUI появилась альтернативная квантизация диффузионной модели Krea 2 Turbo, показывающая двукратный прирост скорости даже на видеокартах серий RTX 20 и 30. Автор проекта опубликовал веса, бенчмарки и код под свободной лицензией.

Проблема FP8 на старых GPU

Общепринятый совет «квантизуйте в FP8» работает только на архитектурах Ada Lovelace, Hopper и Blackwell (RTX 40-серии и датацентровые A100/H100). На картах Turing и Ampere FP8 откатывается к BF16 во время выполнения — специализированных тензорных ядер для этого формата там нет. Автор провёл замеры: FP8 на RTX 3090 оказался медленнее исходного BF16.

Решение: INT8 и W4A4

Тензорные ядра INT8 появились ещё в Turing (2018). SVDQuant использует именно их:

  • INT8 tensorwise: 13.16 ГБ, 10.4 сек на прогон (2.0× быстрее BF16)
  • W4A4 + SVDQuant: 7.5–8.3 ГБ, 10.1 сек (2.1× быстрее)
  • FP8 e4m3 (для сравнения): 12.24 ГБ, 19.2 сек (1.1× быстрее — практически без выигрыша)

Размер модели сокращается втрое относительно BF16 (24.5 ГБ), качество сохраняется без калибровочных датасетов — методика SVDQuant добавляет низкоранговые ветви (low-rank branches) для компенсации ошибок квантизации.

Бонус: исправлен баг LoRA

Стандартный загрузчик LoRA в ComfyUI молча применял патчи только к 12% слоёв квантизованных моделей. Обновлённый загрузчик включён в релиз.

Как попробовать

  1. Клонировать репозиторий в custom_nodes/
  2. Скачать чекпоинт в models/diffusion_models/
  3. Загрузить стандартные text encoder + VAE от Krea 2
  4. Запустить example workflow

Примеры изображений для каждого варианта квантизации доступны в HuggingFace-репозитории.

Проект сообщества, не связан с Krea официально.

Ключевые выводы

  • FP8-квантизация даёт выигрыш только на GPU с нативными FP8 тензорными ядрами (Ada/Hopper); на Turing/Ampere происходит молчаливый downcast к BF16 без ускорения
  • INT8 и W4A4 поддерживаются тензорными ядрами начиная с архитектуры Turing (2018), что делает их универсальнее для парка современных GPU
  • SVDQuant позволяет квантизовать модель в 4 бита без калибровочного датасета и обвала качества за счёт низкоранговых компенсационных ветвей
  • Стандартный загрузчик LoRA в ComfyUI содержит тихий баг: на квантизованных моделях применяется только ~12% патчей, что критично для дообучения
  • Даже «популярная практика» (FP8 для диффузии) требует проверки бенчмарками — маркетинговая шумиха вокруг формата не гарантирует реальной производительности

Автор: Никита Громов · Источник: reddit.com

Мнение редакции

**Классика жанра:** индустрия трубит про FP8, а на практике он ускоряет только флагманы последних двух лет. Тут парень взял и замерил — FP8 на Ampere медленнее обычного BF16, потому что GPU молча кастит его обратно. Решение — вернуться к INT8, который лежит в железе с RTX 20-й серии. SVDQuant добавляет низкоранговые ветви для компенсации, и на выходе модель весит 7.5 ГБ вместо 24, генерирует вдвое быстрее, а качество почти не страдает.

Особенно ценно, что автор не просто выложил веса, а **опубликовал скрипт квантизации** и показал сравнительные примеры для каждого варианта. Плюс поймал баг в стандартном загрузчике LoRA (применялось 12% патчей вместо 100% — и никто не орал об ошибке). Это не «мы запустили новую модель», это инженерная работа с открытым кодом и честными цифрами. Если у вас RTX 3090 и вы всё ещё мучаетесь с FP8 — вот ваш upgrade.

Ещё по теме

Комментарии