В последнем обновлении Comfy (0.27) завезли поддержку INT8-ConvRot весов.
Это новый метод квантования (сжатия) весов до 8-битных целых чисел. Вместо вращения всей матрицы целиком, ConvRot делит её на группы. Это снизило сложность вычислений с огромной квадратичной до линейной, что дает сильное ускорение и спасает точность в генерации картинок/видео. Также автор ввел понятие «дисбаланса колонок» и создал оптимальную матрицу, которая решила проблему искажения точности из-за аномалий.
В результате INT8-ConvRot квантования веса в половину меньше размером, работают быстрее FP16, и не уступают или превосходят по качеству контента стандартный формат FP8.
INT8-ConvRot работает с целыми числами (Integer) вместо плавающей запятой. Для видеокарт (особенно поколения Ampere — RTX 30xx) обработка INT8 проще и выполняется быстрее, чем FP8, а результат должен быть чище за счет устранения математических аномалий (outliers). Для владельцев карт с 8-12ГБ VRAM или меньше, в том числе и серии GTX 10xx (Pascal), генерация контента современными моделями становится на шаг ближе.
На примерах в посте оба 15 сек видео (взяты отсюда) сгенерированы в LTXV 2.3 с разрешением 1920x1088 на 5090 и 128 ГБ RAM.
* Первое сгенерено базовой моделью — 268,22 сек.
* Второе INT8-CovRot — 140,48 сек.
Есть тулза от Comfy для конвертации весов в этот формат.
Сами Comfy на хаггинге спешно добавляют в свои репы INT8-ConvRot веса. Уже залили для Wan 2.2 Animate (не базовой модели), Z-Image, SeedVR2, и не только.
Автор INT8-ConvRot поблагодарил Comfy за внедрение и говорит, что можно квантовать и до INT4, то бишь делать веса ещё меньше. Причём метод подходит не только для DiT архитектуры, но и для LLM, мультимодалок, и UNet моделей.
Гитхаб
Хаггинг
Бумага
Post #3726
2.57K