Не размер ради размера
В whisper-ternary 192 весовые матрицы, или 198 180 864 весов, переведены в множество {-1, 0, +1}. Это 81,98% всех весов модели. Но процент тернаризации сам по себе ничего не говорит о пригодности системы.
Нужны как минимум три независимые проверки: занимает ли runtime меньше памяти, выполняется ли он без возврата к исходным матрицам и сохраняется ли качество распознавания на фиксированном наборе данных.
Что показал evaluation
В опубликованном контуре нормализованный WER составил 2,7145% на LibriSpeech test-clean и 7,3817% на test-other. Long-form результат также оказался близким к базовой модели.
Эти цифры нельзя превращать в универсальное обещание. Они описывают конкретную модель, датасет, preprocessing и runtime. На другом языке или типе записи профиль ошибок изменится.
- Фиксировать checkpoint, данные и preprocessing вместе с результатом.
- Сравнивать с matched fp16 control, а не только с внешней цифрой.
- Отдельно проверять long-form, пунктуацию и multilingual-сценарии.
Где эксперимент проигрывает
Matched fp16 control остаётся примерно на 0,37 процентного пункта лучше. Текущий CPU runtime также не сохраняет пунктуацию и multilingual-возможности исходного pipeline.
Это не мелкие примечания, а граница результата. Компактная модель полезна только тогда, когда продукт может принять такой набор компромиссов.
Практический вывод
Тернаризация выглядит перспективно для CPU и edge-контуров, но её следует внедрять как системный эксперимент: формат весов, runtime, benchmark и продуктовые требования должны развиваться вместе.
Следующий полезный шаг — расширить языковое покрытие и сравнить latency на нескольких CPU, не меняя методику оценки между запусками.