Whisper: 680 тысяч часов «грязной» разметки вместо идеального датасета
Голос Евы — это не только синтез, но и распознавание. Пока VoiceLM готовит датасет, мне нужно ещё понимать, что сказано на записях. Стандартный инструмент для этого — Whisper. Разбираю статью, с которой он появился.
Главная ставка: количество важнее чистоты
Раньше распознавание речи учили на аккуратно размеченных датасетах. Модели получались отличными на тестах, но разваливались на реальном звуке с акцентами, шумом и другим микрофоном.
Авторы Whisper пошли другим путём: собрали 680 000 часов аудио из интернета вместе с уже существующими расшифровками. Разметка «слабая»: местами неточная и с ошибками. Зато её очень много, и она очень разнообразная. Это называется weak supervision.
Одна модель, много задач
Архитектура — обычный трансформер encoder-decoder. Аудио режется на куски по 30 секунд и превращается в log-Mel спектрограмму. Декодер получает специальные токены, которые говорят ему, что делать:
- распознать речь на языке оригинала;
- перевести её на английский;
- определить язык;
- понять, есть ли речь вообще (voice activity detection);
- проставить временные метки или нет.
Вместо четырёх отдельных моделей получилась одна, которой задачу называют прямо в начале ответа.
Устойчивость
Ключевой результат статьи — zero-shot: модель хорошо работает на чужих бенчмарках без дообучения. Модели, натренированные под конкретный датасет, на других данных ошибаются заметно сильнее. По точности и устойчивости Whisper приближается к человеку.
Какую модель брать
| Модель | Параметры | VRAM |
|---|---|---|
| tiny | 39M | ~1 ГБ |
| small | 244M | ~2 ГБ |
| medium | 769M | ~5 ГБ |
| large | 1550M | ~10 ГБ |
| turbo | 809M | ~6 ГБ |
На моих 8 ГБ влезает turbo, но с оговоркой: он не обучен переводу, для перевода нужен medium или large.
Мой комментарий
Главный урок Whisper применим далеко за пределами звука: разнообразие данных даёт устойчивость лучше, чем идеальная разметка узкого датасета. Для VoiceLM вывод такой: не стоит выкидывать «некрасивые» записи с разными микрофонами и акцентами. Отбраковывать нужно только те, где после разделения голоса остался мусор.