Глубина через повторение: компактное локальное распознавание речи с общими весами слоёв
Глубокому речевому кодировщику не обязательно хранить отдельные веса для каждого шага обработки. Авторы группируют похожие слои и заменяют каждую группу многократным применением одного блока. Так уменьшается память весов при сохранении вычислительной глубины; важная оговорка состоит в том, что количество операций почти не сокращается.
Метод. Матрица сходства представлений CKA определяет непрерывные группы слоёв через динамическое программирование. Общий блок инициализируется средними весами группы и повторяется столько раз, сколько в ней исходных слоёв. Обучение объединяет задачу распознавания, согласование признаков на границах групп и дистилляцию выходов декодера. Дополнительно голосовой вектор пользователя выбирает пять из 16 LoRA-экспертов; их взвешенную поправку можно заранее слить с весами, не меняя вычислительный граф при распознавании.
Результаты. Для STT-480ms два общих блока уменьшают кодировщик со 108,9 до 14,2 млн параметров: средний WER по восьми тестам возрастает с 11,05% до 13,40%. Четыре блока, 26,8 млн, дают 10,72%. Для Parakeet кодировщик 608,9 млн заменяется вариантом 105 млн с WER 7,62% против 6,05%. При сохранении глубины ускорение значительно скромнее сжатия: до 1,21 раза в ограниченном памятью GPU-режиме, около 1,06 в матричном и 1,03–1,07 на CPU. Измерения сделаны для кодировщика с фиксированной длиной, а не полного голосового приложения.
Ограничения. Студенты дополнительно обучаются на смеси корпусов, поэтому выигрыш отдельных доменов нельзя приписать одному переиспользованию весов. Основные проверки англоязычные, персонализация VoxCeleb2 использует автоматически подготовленные транскрипции. Заявление о сохранении 97,4% «точности» превращает WER в дополнение до 100 и скрывает существенный рост ошибок на части тестов. Профилирование на мощных GPU, Threadripper и Apple M4 не доказывает выполнение тех же требований на часах или микроконтроллере. Адаптивное число повторений оставлено будущей работе.
Фишка из статьи. Таблица 1 показывает, почему среднего WER недостаточно для выбора компактной модели. Все значения являются WER в процентах, число параметров относится только к кодировщику STT.
| Вариант | Параметры, млн | Средний WER | AMI | LibriSpeech clean / other |
|---|---|---|---|---|
| Исходный STT-480ms | 108,9 | 11,05 | 26,23 | 2,54 / 5,97 |
| Два общих блока | 14,2 | 13,40 | 22,43 | 5,98 / 14,29 |
| Четыре общих блока | 26,8 | 10,72 | 18,16 | 4,29 / 10,55 |
| Восемь общих блоков | 52,1 | 8,88 | 14,93 | 3,25 / 8,08 |
Как это читать: четырёхблочный студент лучше учителя в среднем за счёт разговорных доменов, но заметно хуже на чистой и сложной читаемой речи LibriSpeech. Это не противоречие: сжатие и дополнительное обучение перераспределяют ошибки. Практический выбор должен учитывать именно свой домен, память всех компонентов и стоимость повторных вычислений, а не только коэффициент уменьшения весов.
Источник. Оригинальное название: Depth through Recurrence: Towards Ultra-Efficient On-Device ASR. arXiv:2610.37833; полный текст PDF.