Потеря качества при fp16-квантовании оказалась багом конвертера, а не архитектуры
Разбор показал, что падение качества fp16-квантования модели LaMa вызвано не чувствительностью архитектуры, а 16 тензорами running_var BatchNorm, превышающими максимум fp16 (65 504) и зажимаемыми конвертером. Исправление в две строки алгебры возвращает качество уровня fp32 при загрузке на 52% меньше.
- 16 из 606 тензоров running_var превышают предел fp16 в 65 504
- Округление мантиссы до 10 бит дало отклонение всего 0,004 дБ от fp32
- Неисправленная fp16-модель даёт 15,8 дБ против 29,7 дБ у fp32
- После фикса модель совпадает с fp32 и весит на 52% меньше
Читать дальше
ИИ