Разработчик открыл файнтюнинг крошечной TTS-модели на 4 миллиона параметров
Автор TTS-модели Inflect (4 и 9 млн параметров, 16-38 МБ) выпустил тулкит для файнтюнинга на своём голосе или языке. После релиза основной вопрос был не «звучит ли это прилично», а «можно ли обучить на своих данных». За выходные собрал рабочий пайплайн с warm-start, resume и экспортом в ONNX, но пока не уверен, насколько хорошо модель такого размера перенесётся на неанглийские языки.
Это редкий пример открытой, экстремально лёгкой TTS-модели с публичным пайплайном для файнтюнинга. Если подход сработает на других языках, появится доступная альтернатива тяжёлым проприетарным решениям для edge-устройств и low-resource языков.
Файнтюнинг сверхлёгкой TTS: тулкит для своего голоса и языка
Разработчик модели Inflect, опубликованной неделю назад, выпустил инструментарий для дообучения на собственных данных. Inflect-Nano-v2 (4 млн параметров, 16 МБ) и Inflect-Micro-v2 (9,4 млн параметров, 38 МБ) — это полностью обученные text-to-waveform модели, включая декодер на 24 кГц. Фонемизацию берёт на себя eSpeak-ng, который не входит в счётчик параметров.
После релиза пользователи спрашивали не о качестве звука, а о возможности адаптации: «Могу ли я обучить на своём голосе?» и «Можно ли перенести на другой язык?». Технически — да, но публичного workflow не было. За выходные автор его собрал.
Что умеет тулкит
- Приём своих записей и транскриптов (один спикер)
- Warm-start с чекпоинтами Nano или Micro
- Resume обучения, инспекция held-out сэмплов
- Экспорт в PyTorch и ONNX
Сложности: восстановление training-only компонентов, которых нет в релизных чекпоинтах, и работа с новыми фонемными наборами без сброса эмбеддингов, общих с английским. Тулкит решает обе проблемы.
Автор протестировал полный цикл на Nano: CUDA-шаг, сохранение, resume, строгая загрузка в PyTorch и паритет с ONNX Runtime.
Неанглийские языки — открытый вопрос
Пайплайн работает, но не факт, что модель такого размера чисто перенесётся на другие языки. Это supervised adaptation, не zero-shot клонирование. Каждый прогон создаёт один фиксированный голос под один язык.
У разработчика ресурсы только на один серьёзный эксперимент, поэтому он запустил опрос с единственным обязательным вопросом: на каком языке вы хотите увидеть первый пример?
Код и примеры: GitHub, HuggingFace.
Ключевые выводы
- Модель Inflect-Nano (4M параметров, 16 МБ) теперь можно дообучить на своих записях и транскриптах через публичный тулкит
- Тулкит решает проблему восстановления training-only компонентов и работы с новыми фонемами без сброса эмбеддингов
- Это supervised adaptation под один язык и голос, не zero-shot клонирование
- Автор не уверен, что модель такого размера хорошо перенесётся на неанглийские языки, и хочет протестировать один язык досконально
- Главный запрос пользователей после релиза — не качество звука, а возможность кастомизации
Автор: Никита Громов · Источник: reddit.com
Это интересный кейс из разряда «я сделал, потому что меня спросили». Разработчик выкатил модель, думал, будут обсуждать звук — а людям нужна кастомизация. За пару дней собрал тулкит, который решает нетривиальные задачи: warm-start без сброса эмбеддингов, работа с новыми фонемами, экспорт в ONNX. Это не корпоративная разработка с дорожной картой, а живой ответ на запрос комьюнити.
Но есть нюанс: модель такого размера — это жёсткий компромисс. 4 миллиона параметров могут не хватить для сложной фонетики неанглийских языков. Автор это понимает и хочет проверить один язык досконально, прежде чем обещать мультиязычность. Это честный подход, но пока непонятно, будет ли результат применим на практике или останется proof-of-concept. Если сработает — это прорыв для edge-устройств и low-resource языков. Если нет — всё равно полезный опыт и открытый код.
Комментарии