A review on subjective and objective evaluation of synthetic speech

Сегодня разбираем обзор 2024 года, авторы которого попытались охватить 40 с лишним лет эволюции оценки синтеза речи — с 80-х и до наших дней. При этом статья не такая уж большая: 27 страниц, 7 из которых — ссылки на множество упомянутых работ.

Первая часть, пожалуй, самая увлекательная — историческая справка о том, как оценивали синтез речи с самого зарождения. Вторая часть — о предсказателях MOS и моделях, которые это делают. Мы сегодня посмотрим на первую часть.

80-е: разборчивость как главная метрика


В этот период краудсорса ещё нет и всё делается в лабораториях, люди буквально от руки записывают, что услышали. Главная метрика — доля распознанных слов.

Используются тесты MRT (Modified Rhyme Test) и DRT (Diagnostic Rhyme Test), когда услышанное слово выбирают среди рифмованных вариантов. В DRT берутся пары, отличающиеся одним признаком, например «звонкий/глухой».

Также используют SUS (Semantically Unpredictable Sentences) — грамматически верные, но бессмысленные фразы. Тем самым хотят убрать контекст, чтобы мозг не достраивал «замамбленное» слово по смыслу.

Интересно, что датасеты собирали по фонетическим свойствам, таким как назальность, шипение, протяжность, плотность — такое хочется попробовать переиспользовать.

90-е–2000-е: фокус на натуральность

Появились unit-selection и HMM и сделали речь разборчивой. Главный вопрос сместился, и теперь во главе угла естественность (метрика, которая с нами уже 30 лет и никуда не делась).

В этот же период появился MOS (ITU-T P.800), пятибалльная шкала ACR, что становится стандартом индустрии. Следом появляется протокол P.85 — мульти-шкальная оценка, которая включает произношение, listening effort и даже приятность голоса (уже в 1996-м!).

Интересно проследить судьбу слайдерных шкал. В 90-е их захейтили как смещённые и нерепрезентативные, а уже в следующее десятилетие начали использовать очень активно.

Другая веха — Blizzard Challenge, который с 2005 года зафиксировал ещё один индустриальный стандарт, включающий MOS + транскрипцию обычных предложений и SUS + слова из MRT/DRT-категорий.

2010-е и сейчас: MOS упёрся в потолок

Системы стали почти неотличимы от записи, и MOS перестал различать близкие модели. Стали нужны более чувствительные тесты. Возвращается непрерывная шкала — это MUSHRA со скрытым референсом и якорями для нормировки (если в среднем ставишь чуть выше, твои значения нормируются).

Благодаря краудсорсингу (CrowdMOS) оценка, наконец, выбирается за пределы лабораторий. Также появляется DMOS (differential MOS) — оценка пары «референс-тест». Pairwise и side-by-side окончательно приживаются. А в 2007-м в шкалы добавляют человечность: эмоции, манеру, tone of voice.

Несколько идей, которые хочется попробовать

🔴Для надёжных MOS-результатов (Blizzard 2013) требуется от 30 слушателей. Если использовать меньше, оценка может быть слишком субъективной.
🔴Лейблы MOS нелинейные. Расстояния между категориями неравномерны, и вместо равномерных весов в аспектном замере можно взять веса из исследований.
🔴Слушателю полезно давать не голый текст, а контекст и задачу — это заметно меняет оценки.
🔴Неожиданностью стало, что более детальная инструкция не всегда улучшает согласованность, иногда люди следуют своему мнению более согласованно, чем подробным правилам.
🔴Таксономия фонетических ошибок из 80-х (назальность, шипение, протяжность, плотность) может пригодиться, чтобы классифицировать проблемы синтеза, а не описывать их разрозненными «мамблит» и «путает з-с».

Ольга Архипова ❣️ Специально для Speech Info
291 просмотров · 17 реакций Открыть в Telegram · Открыть пост на сайте
Работы о голосовых технологиях на ICML 2026 [2/2]

Продолжаем подборку работ от Максима Борисова. В первой части — общие впечатления о конференции и несколько интересных статей.

CoCoEmo: Composable and Controllable Emotional TTS via Activation Steering

Эмоция в речи часто состоит из нескольких, порой противоречивых оттенков, которые могут не совпадать с текстом, но TTS обычно навязывают одну эмоцию на всё высказывание, теряя эту вариативность. Activation steering выглядит подходящим инструментом для решения проблемы, но неясно, линейно ли вообще управляются эмоции в TTS, куда именно в гибридной архитектуре подавать steering и как это оценивать.

Авторы делают первый систематический анализ activation steering для эмоций в гибридных TTS: количественный фреймворк steering и multi-rater-протоколы для composable mixed-emotion и text-emotion mismatch-синтеза. Главный вывод: эмоциональная просодия и выразительность в основном рождаются в language-модуле TTS, а не во flow-matching-модуле — и именно туда нужно подавать steering.

Evaluating and Rewarding LALMs for Expressive Role-Play TTS via MCLP

LALM научились в интерактивный role-play TTS, но плохо держат стилистическую консистентность с профилем персонажа и сценой в multi-turn-диалогах. Ключевая проблема — нет объективных метрик стиля речи.

Авторы предлагают Mean Continuation Log-Probability (MCLP). Используют in-context learning предобученного LALM и считают правдоподобие ground-truth речевых токенов при условии контекста из транскрипта, сгенерированной речи и повторного транскрипта — это работает как прокси стилистической непрерывности. MCLP хорошо согласуется с человеческими оценками стиля и, что важнее, используется как reward в RL для улучшения RP-TTS. Под задачу собрали большой RP-TTS датасет с богатой разметкой сцен и персонажей; эксперименты дают консистентный прирост и по объективным, и по субъективным метрикам.

Sparse Autoencoders for Interpretable Emotion Control in TTS

Интеграция LLM в TTS улучшила выразительность, но интерпретируемый контроль эмоций всё ещё остается проблемой. Обычно всё сводится к внешнему кондишенингу или глобальному activation steering, из которого непонятно, что происходит внутри. Авторы применяют sparse autoencoders к скрытым состояниям LLM-based TTS и находят разреженные латентные фичи, отвечающие за эмоции.

Оказалось, что эмоциональная вариация размазана по нескольким sparse-фичам, но воздействовать достаточно на маленькое подмножество. На этом строят точечные вмешательства в отдельные фичи, которые позволяют как усиливать, так и подавлять эмоции — без изменения весов модели. Отдельные латентные фичи связаны с конкретными акустическими параметрами (например, pitch) — то есть эмоция это не единый глобальный сдвиг, а координированный вклад нескольких латентов. По качеству steering сравним или превосходит глобальные подходы и TTS-бейзлайны.

AgentSteerTTS: Multi-Agent Closed-Loop Framework для Composite-Instruction TTS

В TTS сложно управлять составными инструкциями из-за структурного разрыва между текстовыми интентами и непрерывной акустикой. Авторы вдохновляются человеческим когнитивным разделением и делают AgentSteerTTS — мульти-агентную систему с обратной связью.

Внутри три компонента: 1) adversarial disentanglement agent разделяет identity- и emotion-prosody-подпространства, чтобы убрать утечку спикера в эмоцию; 2) Dual-Stream Anchoring Controller через Retrieval Agent достаёт экспрессивные якоря из большого набора акустических прототипов, а Synthesis Agent сливает их в непрерывные control-векторы через gated attention; 3) Fast-Slow Feedback Agent через latent gradient correction подкручивает интенсивность и через high-level perceptual critique чинит семантико-акустические рассинхроны. На composite-instruction-бенчмарке и публичных тестах стабильно бьёт бейзлайны.

#YaICML2026

Максим Борисов Специально для Speech Info
447 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Работы о голосовых технологиях на ICML 2026 [1/2]

С 6 по 11 июля в Сеуле проходила International Conference on Machine Learning, на которой побывал наш коллега Максим Борисов. Он поделился впечатлениями и подборкой работ на тему Speech.

По спичу представленность была довольно ограниченной — большинство релевантных работ можно было найти на постерах, а не в основных треках и oral-докладах. Зато именно постерные сессии зашли больше всего: можно было час стоять у постера и разбирать детали прямо с авторами — что реально сработало, а что нет, какие были фейлы при воспроизведении, куда двигаться дальше.

Набрал много полезных идей, которые можно применить в нашей TTS-команде — практически по всему пайплайну: новые подходы к аудиокодекам, идеи для TTS-претрейна, нюансы SFT-стадии (особенно по промптингу), и отдельно интересные вещи по RL для TTS.


Two-Dimensional Quantization for Geometry-Aware Audio Coding


В нейронных аудиокодеках квантизацию обычно делают через RVQ, VQ или FSQ. Авторы обращают внимание, что эти схемы жёстко задают геометрию латентного пространства и плохо ловят корреляции между фичами — из-за этого страдает codebook utilization и token rate.

В Q2D2 фичи проецируют парами на структурированные 2D-сетки (гексагональная, ромбическая, прямоугольная) и квантизуют в ближайший узел сетки. Кодбук получается неявный — как произведение уровней сетки, но по размеру сопоставим с обычными подходами. В итоге у авторов низкий token rate, высокая утилизация кодбука и SOTA-качество реконструкции на speech, audio и music одновременно.

Scaling Transformers for End-to-End Discrete Audio Tokenization

Большинство существующих аудиотокенизаторов опираются на предобученные энкодеры, semantic distillation или гетерогенные CNN-архитектуры. Авторы утверждают, что все эти фиксированные inductive biases ограничивают качество реконструкции и мешают нормально масштабироваться.

Их решение — TAC: полностью end-to-end-трансформерный токенизатор из однородных causal-блоков, где энкодер, квантизатор и декодер учатся с нуля совместно. Получают предсказуемое улучшение с масштабом и обгоняют предыдущие кодеки на широком диапазоне битрейтов. На токенах TAC они собрали первый чисто авторегрессионный TTS, который бьёт non-AR и каскадные системы, и получили конкурентный ASR вообще без вспомогательных энкодеров.

Optimality of FSQ Tokens for Continuous Diffusion for Categorical Data

Continuous diffusion для дискретных данных — альтернатива авторегрессионным LLM. Вопрос в том, какая схема токенизации оптимальна для такой диффузии. Авторы изучают структуру латентного пространства через два свойства: 1) KL-дивергенцию между forward- и reverse-траекториями диффузии, 2) точность предсказания правильного токена оптимально обученной диффузионной моделью.

Теоретически и на численных экспериментах показывают, что именно FSQ-токены лучше всего ложатся на continuous diffusion. Проверили в TTS: обучили несколько диффузионных TTS с речевыми токенами как промежуточные акустические фичи, и FSQ-вариант обошёл сильный LLM-based-бейзлайн, при этом оказавшись заметно меньше и быстрее.

Unlocking Speech–Text Compositional Powers: Instruction-Following Speech Language Models without Instruction Tuning

Instruction tuning для речевых LLM тяжелее, чем для текстовых: новая модальность, специфичные инструкции для речи и намного более длинные последовательности, чем в тексте. Обычно это решают синтезом огромных речевых претрейн+SFT-датасетов, что плохо масштабируется.

Авторы предлагают обойтись без instruction tuning вообще. Берут текстовый LLM- претрейн, делают один раунд continual-претрейна на 30k часах речи, а затем просто прибавляют к весам разницу (instruction-tuned text LLM − base text LLM). Такое сложение весов сохраняет знания и умения текстовой модели и переносит их в речевой домен — фактически, это новая парадигма обучения спичёвых LM без гигантских речевых датасетов инструкций.

Продолжение — во второй части.

#YaICML2026

Максим Борисов Специально для Speech Info
469 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Voxtral Realtime

Разбираем статью о модели Voxtral Realtime, в которой предложили ещё один способ, как стримить speech-to-text.

Авторы утверждают, что у них получилось сделать модель, в которой можно контролировать латенси и которая при задержке в полсекунды имеет паритет по качеству с Whisper. Если увеличить задержку до секунды, то модель начинает превосходить Whisper, ещё больше — например, 2,5 секунды, — качество уже сравнивается с офлайновой Voxtral Mini Transcribe V2.

На Open ASR Leaderboard модель занимает место примерно в середине таблицы. Тот же офлайновый Voxtral располагается выше (но он и значительно больше).

Есть несложный способ превратить модель для офлайн-распознавания в стриминговую: делать инференс по чанкам, то есть разбивать приходящий поток аудио на кусочки фиксированной длины и подавать их в модель. У подхода есть недостатки, которые можно обобщить как мисалайнмент между обучением и инференсом. Чтобы этого избежать, имеет смысл закладывать стриминг уже на этапе обучения.

Чтобы сделать нативную стриминговую модель, нужно иметь алайнмент между аудио и текстом, а также архитектуру, которая поддерживает постепенную обработку приходящего аудио. Например, распространенный подход — RNN-T со стриминговым энкодером (такой часто используют в Nvidia). Другой, менее известный подход, — DSM (Delayed Streams Modeling). И Voxtral Realtime — это как раз и есть DSM-ка.

Состоит модель из трёх частей: аудиоэнкодера, адаптера и текстового декодера. Фичи аудио прогоняют через энкодер, потом с помощью адаптера приводят в одно пространство с текстовыми эмбедингами. Они суммируются, подаются на вход в декодер — и предсказывается следующий токен.

Чуть подробнее о каждой части.

Трансформер-энкодер — базовая архитектура с уже привычными RMSNorm, SwiGLU, RoPE и прочим. В качестве аудио фичей, которые подаются на вход, используется log-Mel-спектрограмма. Фичи проходят через две каузальные свертки, что приводит к даунсемплингу в два раза. В итоге энкодер выдаёт фичи каждые 20 миллисекунд. Тут также используется sliding window self-attention с окном в 15 секунд, то есть 750 фреймов.

Адаптер, который представляет из себя простой MLP-слой. С помощью него дополнительно даунсемплим аудио ещё в четыре раза. В итоге фичи идут с шагом 80 миллисекунд.

Трансформер-декодер работает поверх этих фичей и предсказывает следующий токен.

Из интересного — здесь есть не только текстовые токены, но ещё два служебных: padding [P] (аналог blank-токена в RNN-T) и word [W] (означает, что буквально «сейчас начнётся предсказание слова»). В отличии от RNN-T, где мы можем на один эмбеддинг энкодера предсказать несколько текстовых токенов, здесь предсказываем ровно один токен.

Чтобы обучать такую модель, авторы собирают данные в виде набора (аудио, текст, word-level алайнмент). Таргеты для обучения на next-token prediction формируются примерно так:

🔴На тех фреймах, где произносится слово + некоторый дилэй после конца слова, мы должны предсказать токен [P].
🔴После этого идёт токен [W], за которым следуют токены соответствующего слова.
🔴Всё остальное заполняем токеном [P].

Одно из нововведений — использование механизма Ada RMS-Norm в декодере — пожалуй, самое интересное в архитектуре. С ним можно во время обучения использовать разную задержку, чтобы модель могла адаптироваться под разную скорость, а во время инференса буквально за счёт изменения одного параметра контролировать то, с какой задержкой ASR выдаёт текст.

В аблейшенах сравнивают Ada RMS-Norm с другими способами контроля латенси, среди которых он показывает лучший результат. Также оказалось полезно не разделять токеном [W] слова, которые произносятся почти одновременно.

Александр Палаевич Специально для Speech Info
636 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
UALM: Unified Audio Language Model for Understanding, Generation and Reasoning

В более ранних статьях аудиопонимание и генерация традиционно шли параллельно и не пересекались. Но, если задуматься, человек, решая задачу в области аудио, одновременно мыслит словами и воспринимает звук, постоянно переключая в голове эти модальности — например, так происходит, когда композитор пишет музыку.

Объединить аудиопонимание, генерацию и рассуждения в одной модели — масштабная задача, которую и пытаются решить в статье UALM.

Авторы выделяют две основные проблемы. Первая — аудиопонимание обычно строят на авторегрессионных языковых моделях, а генерацию звука — на диффузионных. Нужно придумать, как объединить эти подходы. Вторая — большинство ризонинг-моделей работают только с текстом, и почти никто не рассматривает аудио как часть процесса рассуждений.

Для решения предлагают генерировать аудио тоже через авторегрессионную модель, используя для этого:

🔴Кратно больше аудиоданных, чтобы модель могла сойтись в то же качество.
🔴Classifier free guidance, который, по заявлениям авторов, сильно улучшает финальное качество генерации.
🔴Более универсальный кодек, который не требует больших вычислений, но умеет сохранять достаточно информации.
🔴Delay pattern — технику, которую используют в ряде последних статей для генерации аудио через токены.
🔴Self-adaptation-стадии через DPO.

С помощью этих составляющих собирают модель UALM-Gen на базе Qwen2.5-1.5B, которая, по словам авторов, достигает качества диффузионных моделей. Правда, за это надо платить большим объёмом данных: около 80 тысяч часов аудио против нескольких тысяч часов у диффузионок.

В плане архитектуры верхнеуровнево UALM — это аудиоэнкодер + адаптер + Qwen2.5-7B (для основной модели). Аудио переводится в общее с текстом пространство представлений, после чего единая языковая модель занимается пониманием, ризонингом и генерацией аудио.

UALM-Gen решает только задачу генерации. Следующий шаг — объединить в модели задачи аудиопонимания и генерации. Для этого модифицируют DataMix, увеличивая долю генерационных задач, и вводят стадию Modality Alignment для согласования аудио- и текстовых представлений.

Последняя часть — мультимодальный ризонинг. Здесь используют Rich Captions — подробные текстовые планы будущего аудио, которые служат промежуточным представлением между запросом пользователя и генерацией. Также добавляют «самокритицизм», чтобы модель сама понимала, что можно улучшить, и могла итеративно прийти к лучшему результату.

Чтобы добавить ризонинг, модель обучают трём вещам:

🔴Enrichment — дополнять слишком краткие или расплывчатые запросы пользователя.
🔴Dialogue — задавать уточняющие вопросы перед генерацией.
🔴Self-reflection — анализировать собственный результат, находить расхождения с исходным планом и улучшать следующую версию.

В итоге можно сказать, что UALM — сильная текстовая модель, которая при этом показывает хорошие результаты в аудиопонимании и получает выигрыш от ризонинга при генерации аудио. По словам авторов, модель лучше конкурентов соблюдает пользовательские инструкции и точнее воспроизводит сложные звуковые сцены.

Можно посмотреть код и демо, а вот веса пока не выложены.

Александр Шаршавин Специально для Speech Info
2 883 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Ускорили перевод видео в Яндекс Браузере — задистиллировали диффузионный декодер TTS

Сегодня делимся свежей хабростатьёй о том, как ускорили синтез речи при переводе видео в Яндекс Браузере.

С чего стартовали

Внутри TTS — каскад из трёх частей:
🔴языковая модель предсказывает аудиотокены по тексту;
🔴диффузионный декодер восстанавливает мел-спектрограмму из латентов;
🔴вокодер превращает её в звуковую волну.

После того как оптимизировали языковую модель (она долго была самой тяжёлой), узким местом стал декодер латентов: его forward pass запускается на каждом шаге семплинга, а шагов — десятки. Его и взялись ускорять.

Что сделали с аттеншном

Прогнали инференс через torch.profiler и увидели, что время съедают рукописный QKVAttention и пересчёт RelativePositionBias на каждой итерации. Дальше — по нарастающей:
🔴перевели self-attention на SDPA (memory-efficient) и закешировали bias → 2,5× на уровне QKVAttention и почти вдвое меньше GPU-памяти, всё без переобучения;
🔴проверили гипотезу RoPE + FlashAttention — и честно её похоронили, так как на наших размерах тензоров она не обогнала кешированный бейзлайн. Зато получили полезный отрицательный результат;
🔴как более сильную архитектуру посмотрели DiT (на него уже перешли F5-TTS, CosyVoice3): качество выше, латенси сопоставимое.

Главный буст — дистилляция флоуматчинга

Самое интересное — поверх флоуматчинг-декодера навесили две дистилляции:
🔴CFG-distill: вместо двух forward pass'ов на шаг (conditional + unconditional) student воспроизводит guided-предсказание за один проход;
🔴progressive distillation: student учится за один шаг делать то, что teacher делает за два, и число шагов итеративно уменьшается вдвое.

Вместе это срезало число шагов семплинга с ~20 до 3 при паритете качества по SBS (наивное снижение шагов так не умеет — звук заметно проседает). Бонус progressive distillation — почти не пришлось трогать прод-код инференса, поменяли число шагов в конфиге.

Итог

Эти ускорения вместе дали примерно 1,5× ускорения всего TTS-пайплайна целиком. На практике это позволило на четверть сократить использование GPU в TTS-компоненте.

Цырен-Доржо Цыбиков Специально для Speech Info
649 просмотров · 37 реакций Открыть в Telegram · Открыть пост на сайте
Chunk-wise Attention Transducers for Fast and Accurate Streaming Speech-to-Text

В NVIDIA есть несколько сотрудников, которые стабильно пишут интересные статьи об ASR в целом и RNN-T в частности. Примеры таких работ — FastConformer, TDT, WIND. Сегодня расскажем о CHAT, суть которого также в улучшении RNN-T. Но сначала вспомним, что это такое.

Recurrent Neural Network Transducer — архитектура для распознавания и перевода речи (а в одной статье внезапно предлагают использовать её и для синтеза), состоящая из энкодера, prediction network и joint network. Работает следующим образом:

1. Энкодер принимает на вход звук, чтобы выдать последовательность эмбеддингов.

2. Prediction Network, используя уже имеющийся контекст транскрипции или перевода, предсказывает эмбеддинг для следующего токена транскрипции или перевода.

3. Joint Network использует эмбеддинг от Prediction Network и один из эмбеддингов от энкодера, чтобы предсказать следующий токен.

4. Полученный токен подаём назад в Prediction Network, чтобы получить новый эмбеддинг. Если же был предсказан специальный токен <BLANK>, то оставляем эмбеддинг от Prediction Network в покое и берём уже следующий по порядку эмбеддинг от энкодера.

5. Повторяем шаги 3 и 4, пока не кончатся эмбеддинги от энкодера или пока Joint Network не предскажет <EOS>.

Сегодняшняя статья строится на двух логичных и справедливых утверждениях:

1. В реальных системах распознавания речи звук поступает чанками, а не отдельными токенами.

2. Для предсказания следующего токена в Joint Network можно и полезно использовать более одного эмбеддинга от энкодера за раз.

Руководствуясь первым, авторы предлагают использовать не стандартную для LLM треугольную каузальную маску, а блочно-треугольную. С неё, помимо возможности смотреть назад, токены в рамках блока (чанка) могут смотреть друг на друга. Сама идея не тянет на новаторскую, но она ощутимо подкрепляет следующую.

Нововведение статьи основано на втором утверждении. Обычно Joint Network незамысловатый: сумма, конкатенация или линейный слой с нелинейностью для агрегации эмбеддингов и голова для предсказания следующего токена. Авторы для агрегации решили использовать cross-attention, где эмбеддинг от Prediction Network становится Q, а чанк (!) эмбеддингов от энкодера становится K и V (к этому чанку также конкатенируется токен из нулей чтобы модель могла использовать его для генерации токена <BLANK>). Таким образом мы получаем чанк, токены которого смотрели друг на друга на протяжении всего энкодера и который используется в Joint Network целиком.

Это даёт победу сразу по нескольким направлениям:

🔴Обучение RNN-T требует построения решетки из всех пар эмбеддингов от энкодера и от Prediction Network, чтобы считать лосс по всем возможным траекториям. Метод уменьшил «энкодерную» сторону этой решётки в число раз, равное размеру чанка (в статье — 12).

🔴Пиковое использование GPU-памяти уменьшилось почти в два раза и обучение ускорилось на 36%.

🔴Инференс также ускорился на 69%, потому что мы используем чанки целиком и достаточно проставить 1 <BLANK> для всего чанка вместо каждого эмбеддинга от энкодера.

🔴ASR WER уменьшился на 6,3% и AST BLEU вырос на 18% относительно аналогичных классических RNN-T. Авторы объясняют это тем, что возможность использовать более одного эмбеддинга от энкодера за раз даёт необходимый (особенно для перевода) контекст, позволяющий решать задачу более качественно. Я (автор обзора) считаю, что также благодаря использованию чанка целиком, модели не нужно паковать всю полезную контекстную информацию в каждый токен и она может извлечь и упаковать больше информации в чанк.

Бонус: на недавно прошедшей ICASSP нашему человеку повезло столкнуться с авторами этой статьи. На вопросы «Действительно ли необходимо добавлять токен чисто из нулей для предсказания <BLANK>? Как вы это поняли?» один из авторов ответил: «Inspiration, I had a kind of feeling I should add zeros», — и дальше не углублялся.


Николай Коновальчук Специально для Speech Info
948 просмотров · 36 реакций Открыть в Telegram · Открыть пост на сайте
Как устроена голосовая активация в Яндекс Дропс

Недавно Яндекс запустил свои первые ИИ-наушники — Яндекс Дропс. В числе прочего они умеют распознавать обращение «Алиса», а отвечает за эту способность компонент, который мы внутри называем «споттером» (чуть подробнее писали о споттерах тут). И если с голосовой активацией в колонках всё плюс-минус понятно, то перенести её в наушники — это челлендж.

О том, что было сложного в этом процессе и как в итоге выкрутились, рассказал на Хабре Григорий Афанасенко из команды голосовых технологий. А мы пересказываем самое интересное.

Для начала следовало выбрать чип, который позволил бы споттеру работать непрерывно и постоянно искать обращение в окружающем шуме. Большинству CPU такое не под силу — поэтому взяли чип с NPU (Neural Processing Unit). Решение казалось практически беспроигрышным — но ещё подкинуло сложностей в процессе.

Даже с NPU надо было придумать, как оптимизировать потребление энергии. Решили сделать два этапа — и тем самым уменьшили нагрузку в пять раз:

1. Лёгкая модель VAD (Voice Activity Detector) отделяет голос от фонового шума.

2. Когда VAD услышал голос, включается споттер и разбирается, «Алиса» это или нет.

Также была проблема с тем, что модели из умных колонок в наушники никак бы не влезли. Надо было ужать модель под NPU, сохранив качество распознавания. Провели ряд оптимизаций (разбили подсчёт зависимостей на два шага с помощью Depthwise‑separable convolution, добавили дистилляцию знаний и квантование в 8 бит) — и уместили модель в 200 КБ.

А теперь возвращаемся к той самой проблеме в NPU. Выяснилось, что SDK производителя чипа накладывает жёсткие ограничения на архитектуру: размер ядра свёртки — до 15 фреймов для обычных свёрток и до 11 фреймов для depthwise.

Пришлось сделать сеть глубже, чтобы набрать нужный контекст, а вместо Hardswish выбрать ReLU, которая хорошо ведёт себя после квантования. Но тут получили затухание градиента, из-за которого нижние слои почти не обучались. Помог переход на residual‑архитектуру.

А ещё, после долгих экспериментов с SDK, разобрались, как использовать для наших моделей стриминг, — и увеличили модель в два раза.

Качество споттера оценивали по числу ложных срабатываний в час и доле пропущенных верных активаций. Лучший баланс, разумеется, в тихой комнате. На улице качество чуть ухудшается, а в транспорте система почти не срабатывает ложно, но цена за это — высокий уровень пропусков. Ещё один сложный сценарий — разговор на фоне: доля пропусков небольшая, а вот число ложных активаций возрастает ощутимо.

Подробнее о том, как собирали данные для обучения и почему решили отказаться от модели для быстрых команд, рассказали в хабростатье. Там же — о дальнейших планах по развитию технологии.

Григорий Афанасенко Специально для Speech Info
1 361 просмотров · 39 реакций Открыть в Telegram · Открыть пост на сайте
Reward-Driven Interaction: Enhancing Proactive Dialogue Agents through User Satisfaction Prediction

Разбираем статью об улучшении диалоговых агентов с помощью «проактивности». Речь о способности системы в нужный момент задать уточняющий вопрос, если она понимает, что пользователь, скорее всего, останется недоволен ответом.

Применяют обычный для голосового ассистента каскадный пайплайн: отдельный ASR, переформулировка запроса при необходимости, определение интента (намерения пользователя) и домена, формирование ответа-кандидата, TTS. Поверх этого работает диалог-менеджер, который решает, отдавать ответ сразу или сначала уточнить запрос. Для этого он пытается предсказать, будет ли пользователь недоволен на текущем шаге.

Модель диалог-менеджера состоит из трёх веток, чьи представления конкатенируются и подаются в MLP-голову предсказания недовольства.

Query-side. На вход: ASR-вывод, n-best гипотез и rewritten query. Для n-best гипотез считается attention pooling, чтобы собрать их в одно агрегированное представление. Эта ветка должна уловить расхождения между вариантами одного и того же запроса и тем самым помочь выявить возможные ASR-ошибки.

Response-side. На вход: финальный запрос, ответ-кандидат и связанные с ним признаки. Эта ветка моделирует, насколько согласованы между собой пользовательский запрос и тот результат, который система собирается вернуть.

Session-side. На вход: история взаимодействия и время отклика. Эта ветка извлекает признаки на уровне сессии — то есть паттерны, связанные с пользовательской неудовлетворенностью в ходе диалога.

Проблема в том, что такой диалог-менеджер часто ошибается в обе стороны. Если он не задаёт уточняющий вопрос, где это нужно, пользователь получает плохой ответ. Если задаёт лишний — начинает раздражать. Когда модель выкатили в прод и посмотрели на реальные сессии, оказалось, что она хуже всего работает именно там, где обучающий сигнал слабее всего:

1) На ошибках ASR — распознавание часто даёт странные или редкие формулировки, которых мало в обучении, и диалог-менеджер плохо на них обобщается;

2) Редкие домены — на частых сценариях система работает лучше, а в QA и других long-tail-случаях заметно проседает. Авторы связывают это с тем, что здесь используются слабые метки, извлечённые из последующего поведения пользователя, а редких кейсов мало, чтобы основной сигнал сам научил модель устойчивым представлениям.

Архитектуру авторы не меняют. Вместо этого усиливают обучение с помощью двух дополнительных задач.

Первая — contrastive self-supervised learning. Схема, близка к SimCSE: один и тот же запрос дважды пропускается через энкодер с разным dropout, после чего полученные представления сближаются как positive pair, а остальные примеры в батче используются как negatives. За счёт этого модель становится устойчивее к ASR-шуму, редким вариантам запроса и вообще лучше переносит «кривые» формулировки.

Вторая — классификация домена и интента. Для этого авторы берут сессионное представление, построенное по истории диалога, и учат отдельную голову предсказывать, к какому домену относится текущий запрос и какой у него интент. Эта задача нужна не сама по себе, а как дополнительный обучающий сигнал, заставляя модель лучше структурировать редкие сценарии и тем самым повышая качество в long-tail-доменах.

В итоге всё обучается совместно: основной лосс на предсказание недовольства и два вспомогательных лосса с весами. Отдельный претрейн не требуется.

Основной прирост возникает там, где у базовой модели были проблемы: в редких доменах и шумных запросах. В офлайне это особенно заметно в домене universal QA, где CLA растёт с 0,045 до 0,058. Онлайн-замер это подтверждает: в разборе тысячи сессий новая модель лучше выявляет ошибки ASR (38/119 против 30/119) и NLU (10/61 против 5/61).

По сути, статья показывает практичный ход: если основной обучающий сигнал шумный и плохо покрывает редкие случаи, можно не усложнять архитектуру, а добавить вспомогательные задачи, которые делают представления устойчивее к ASR-ошибкам и полезнее для long-tail-доменов.

Никита Боровко Специально для Speech Info
2 981 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
Три работы о том, как сделать речь полноценной модальностью для LLM

В сегодняшней подборке — три любопытные идеи: от генерации голосового ответа с ризонингом без лишней задержки до более компактных речевых представлений и подготовки аудиоданных для мультимодального претрейна.

STITCH: Simultaneous Thinking and Talking with Chunked Reasoning for Spoken Language Models

Статья Microsoft о том, как добавить ризонинг в speech или audio LLM, не увеличивая задержку ответа. Предлагают генерировать ризонинг-токены параллельно с аудиоответом. Модель чередует генерацию аудиотокенов и текстовых thinking-токенов: сначала выдаёт звуковой фрагмент, потом — кусок ризонинга, снова продолжает аудиоответ и так далее. В результате ризонинг интерливится с генерацией речи.

Идея строится на том, что модель генерирует аудиотокены быстрее, чем пользователь успевает их прослушать. Например, за 0,5 секунды она может нагенерить аудио, которое будет звучать примерно 2 секунды. Остаётся свободное время, в которое модель может генерировать ризонинг-токены, почти не увеличивая задержку ответа.

Авторы сравнивают несколько режимов: бейзлайн без ризонинга, который даёт минимальную задержку; режим с ризонингом перед аудиоответом, где качество выше, но latency сильно растет; и STITCH — предложенный подход, в котором ризонинг встраивается прямо в генерацию речи. STITCH сохраняет задержку почти на уровне бейзлайна, при этом даёт качество, близкое к режиму с предварительным ризонингом.

Latent Speech-Text Transformer

Аудио обычно менее компактно, чем текст. Условно, модель видит три текстовых токена в секунду, но при этом — десятки аудиотокенов. Из-за этого сложно нормально связать их семантические составляющие.

Авторы пытаются сделать аудио компактнее и понятнее для LLM. Для этого используют идею патчинга из CV: несколько аудиотокенов объединяют в один latent patch. Но делают это не фиксированным сжатием по типу «каждые четыре токена в один», а так, чтобы патч покрывал осмысленный фрагмент речи — например, слово целиком, — чтобы внутри сохранялась цельная семантика.

Для этого обучают отдельный patch encoder в несколько этапов — авторы называют это curriculum patching. Сначала границы патчей задаются довольно жёстко через force alignment: модель получает подсказку, какие аудиотокены соответствуют словам. Затем эти границы постепенно делают менее строгими, чтобы encoder учился не просто повторять разметку, а находить более гибкие группировки. На финальной стадии модель уже самостоятельно решает, как объединять аудиотокены в латентные патчи.

Data-Centric Lessons To Improve Speech-Language Pretraining

Работа от Apple о том, как добавлять аудиоданные в текстовые LLM. Предлагают interleaved-обучать модель на цепочках, где последовательности текста и аудио чередуются.

Данные чистят, делают диаризацию, режут длинные записи на небольшие чанки и стараются оставлять фрагменты с одним спикером. Экспериментируют с размером чанков и делают вывод, что маленькие работают лучше. Скорее всего, когда текст и аудио тесно переплетены, модель лучше связывает модальности между собой.

Также данные пытаются балансировать по доменам: используют отдельную модель, которая классифицирует тематики и подмешивают аудиоданные так, чтобы распределение было похоже на текстовый претрейн.

Авторы показывают улучшения даже на текстовых метриках после аудиопретрейна. Правда, модель довольно маленькая (3.8B), внутренняя и, возможно, просто недоучена.

Ярослав Ведерников Специально для Speech Info
739 просмотров · 31 реакций Открыть в Telegram · Открыть пост на сайте
Qwen3-TTS Technical Report [2/2]

Продолжаем обсуждать новинку от команды Alibaba. В предыдущем посте разобрали архитектуру Qwen3-TTS, в этом рассмотрим, как и на чём его обучали.

Для обучения используют сначала 5M+ часов многоязычной речи, затем continual pretraining на более качественных данных, чтобы снизить галлюцинации и улучшить качество, затем long-context stage, где увеличивают контекст с 8K до 32K токенов и апсэмплят длинные аудио.

Post-training состоит из трёх этапов: DPO на human preference pairs, затем GSPO с rule-based rewards для стабильности, затем lightweight speaker fine-tuning под конкретные голоса. Для voice design авторы добавляют probabilistically activated thinking pattern – модель иногда учится «думать» над сложным описанием голоса, чтобы лучше следовать инструкциям.

На zero-shot voice cloning Qwen3-TTS-12Hz-1.7B показывает WER = 0,77 на китайском и 1,24 на английском Seed-TTS test set. Это сильнее большинства бейзлайнов, включая F5-TTS, FireRedTTS 2, MiniMax-Speech и CosyVoice 3 на английском. Интересно, что 12Hz здесь стабильно лучше 25Hz по WER, судя по всему, более грубое временное разрешение упрощает авторегрессионную генерацию.

В multilingual speech generation модель поддерживает 10 языков. По WER она выигрывает у MiniMax и ElevenLabs в 6 из 10 языков, включая русский. По speaker similarity Qwen3-TTS побеждает во всех 10 языках.

В cross-lingual voice cloning тоже достойные результаты. Например, в zh-to-ko 12Hz-1.7B получает error rate = 4,82 против 14,4 у CosyVoice3.

На InstructTTSEval модель в режиме voice design становится лучшей среди опенсорс-решений и обходит Hume, VoiceSculptor, Parler-TTS и PromptTTS по метрикам соответствия описанию. В target speaker editing Qwen3-TTS сильно обгоняет GPT-4o-mini-tts, хотя Gemini всё ещё остаётся чемпионом.

Самый интересный результат — long speech generation. На текстах до 2000 слов и аудио больше 10 минут выигрывает уже версия 25 Гц: Qwen3-TTS-25Hz-1.7B-CustomVoice получает WER = 1,517 на китайском и 1,225 на английском, лучше Higgs-Audio-v2, VibeVoice и VoxCPM. Получается, семантические токены лучше держат контент на длинных последовательностях.

В итоге Qwen3-TTS — сильный опенсорс-бейзлайн для авторегрессионных LLM-TTS. Авторам удалось оценить доминирующие подходы к токенизации аудио и выяснить, что акустический вариант с 12 Гц лучше подходит для streaming и низкой задержки, а версия кодека с 25 Гц — для семантики и стабильности длинной генерации. Познакомиться с моделями по лицензии Apache 2.0 можно на GitHub авторов.

Владимир Гогорян Специально для Speech Info
827 просмотров · 21 реакций Открыть в Telegram · Открыть пост на сайте
Qwen3-TTS Technical Report [1/2]

Команда Alibaba представила Qwen3-TTS — семейство моделей для синтеза речи, которым под силу voice cloning и voice design по текстовому описанию, а также fine-grained control голоса. Сегодня разберём, как они устроены с точки зрения архитектуры, а в следующем посте подробнее остановимся на их обучении.

Все модели работают на дискретных токенах с авторегрессионной LLM. Но в Qwen3-TTS авторы делают не один токенайзер, а сразу два.

На схеме слева — Qwen-TTS-Tokenizer-25Hz. Подход похож на CosyVoice: это 25 Гц single-codebook-токенайзер, построенный поверх Qwen-2-Audio. Его обучают в два этапа. Сначала продолжают претрейн Qwen2-Audio на ASR-задаче и вставляют VQ-слой, чтобы получить семантические токены. Затем добавляют свёрточный декодер и дообучают модель на восстановление мел-спектрограмм, чтобы подмешать акустическую информацию. Видимо, чисто семантических токенов не всегда хватает для выразительного TTS. На полученных токенах обучают стриминговый блочный DiT с flow-matching, чтобы предсказывать мел-спектрограмму. Для восстановления аудио используют модифицированный BigVGAN.

На схеме справа — Qwen-TTS-Tokenizer-12Hz. Это уже 12,5 Гц токенайзер со Split-VQ и суммарно 16 уровнями квантизации. Первый его кодбук отвечает за семантику, остальные 15 — добавляют акустические детали через RVQ. Есть дистилляция в семантический кодбук эмбеддингов WavLM. Подход сильно вдохновлён Mimi, но Qwen переделали декодер, где использовали ConvNeXt-блоки и Snake-активации.

Архитектурно Qwen3-TTS базируется на семействе Qwen3 LM. Входная последовательность конкатенирует текстовые и речевые токены по channel axis. Для контроля спикера используется обучаемый speaker-encoder.

Для кодека с 12 Гц основной backbone transformer предсказывает нулевой семантический codebook, а затем MTP-модуль достраивает оставшиеся уровни с акустическими деталями. Для 25 Гц версии используется стандартный AR-трансформер, предсказанные токены которого декодирует DiT.

Владимир Гогорян Специально для Speech Info
918 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
AudioSAE: Towards Understanding of Audio-Processing Models with Sparse AutoEncoders

Сегодня разбираем статью — в которой концепт интерпретируемости из NLP попытались связать с аудиомоделями.

Мотивация

Трансформеры полисемантичны: нейроны активируются на множество несвязанных концептов, что делает модель неинтерпретируемой. Гипотеза суперпозиции объясняет это тем, что модели кодируют больше признаков, чем размерность пространства, представляя их как линейные комбинации направлений в активациях. Sparse-автоэнкодеры (SAE) — это автоэнкодеры с разреженной активацией во внутреннем слое. В AudioSAE их применяют к аудиомоделям, чтобы выучить моносемантические направления в активациях и представить признаки модели как комбинации небольшого числа интерпретируемых компонент.

Архитектура и экспериментальный сетап

Линейный слой увеличивает размерность входа, затем применяется функция активации (Jump-ReLU, Top-k или Batch-Top-k), в итоге выбирают Batch-Top-k. Обучение происходит через реконструкцию активаций. Размерность увеличивают примерно в восемь раз, число ненулевых компонент — около 50.

Эксперименты проводят на Whisper-small и HuBERT-base. Активации каждого слоя нормализуются и подаются в автоэнкодер. Используются речь, музыка и звуки в пропорции 40/45/15 с аугментациями, всего около 2800 часов данных.

Оценка и результаты

Оценка SAE включает reconstruction quality, robustness, interpretability и disentanglement. Робастность измеряют через intersection over union и coverage — долю совпадающих фичей при разных инициализациях, слоях и моделях.

Внутри одной архитектуры фичи достаточно робастны (coverage > 50%). Между Whisper и HuBERT соответствия почти нет. Кроме того, в аудиомоделях меньше redundant (избыточных) признаков, чем в текстовых моделях.

Что именно кодируют фичи

Верхнеуровневое устройство признаков анализируется путём классификации фичей на три домена: речь, музыка и environmental-звуки (смех, шёпот, чириканье птиц, начало и конец речи). Фича считается специфичной для домена, если частота её активации значительно выше внутри домена, чем вне его. Частота активации оценивается на двух уровнях для каждого домена: на frame-уровне как пропорция фреймов с ненулевой активацией фичи, и на аудиоуровне как пропорция аудио, где фича активируется хотя бы раз.

Особенно сильно аудиоуровневые доменные признаки у Whisper проявляются на средних слоях: music-фичи достигают доли в 20–28%, тогда как speech-фичи составляют ~13%. На frame-уровне специализация для речи достигает максимума позже: пропорция speech-фичей продолжает расти, это предполагает, что некоторые слои кодируют речевую информацию более локально (frame-level), даже когда глобальные (audio-level) фичи активируются реже.

Интерпретируемость проверяют через логистическую регрессию на SAE-фичах. Небольшого числа признаков (10–150 из 6000) хватает для бинарных задач (чистая/шумная речь), а для мультиклассовых (классификация акцентов) нужно 500–3000. При этом выбор top-k (по коэффициентам регрессии) фичей даёт лучшее обучение и забывание, чем случайный выбор.

Удалять информацию из модели сложнее — так, чтобы «забыть» концепт, нужно убрать сотни или тысячи фичей, ведь акустические признаки распределены и зависят от фонем, интонации и пауз.

Практическое применение

Авторы пишут о применении AudioSAE для борьбы с галлюцинациями Whisper. На SAE-активациях обучают логистическую регрессию, по её коэффициентам выделяют связанные с галлюцинациями фичи. На их основе строится вектор, который добавляется к активациям через steering, при этом получается снизить false positive rate без сильной просадки качества.

Однако при слишком сильном steering модель начинает терять качество и может перестать что-либо предсказывать.

В работе показано успешное применение SAE для аудиодомена, но масштабируемость подхода на большие модели требует проверки. Кроме того, аудиопризнаки всё ещё сильно перемешаны и управлять ими точечно сложно.

Екатерина Козлова Специально для Speech Info
920 просмотров · 41 реакций Открыть в Telegram · Открыть пост на сайте
SpeechJudge: Towards Human-Level Judgment for Speech Naturalness

TTS-модели становятся всё лучше, но как это измерить? Стандарт в речевой индустрии — субъективная оценка MOS. Автоматические метрики удобны, но плохо коррелируют с тем, что реально слышит человек. Сегодня разберём работу, которая стала первой серьёзной попыткой закрыть пробел в оценке естественности речи с помощью LLM-as-a-judge.

Авторы представляют три сущности:

- SpeechJudge-Data. Большой аннотированный датасет для обучения — 99K сэмплов.
- SpeechJudge-Eval. Бенчмарк для оценки естественности речи, в который вошли сэмплы из SpeechJudge-Data.
- SpeechJudge-GRM. Генеративная reward-модель: получает на вход пару аудио, выбирает более естественное и объясняет свой вердикт.

Начнём с того, как собирали SpeechJudge-Data. Датасет состоит из триплетов (текст + аудио-1 + аудио-2). Для генерации аудио авторы взяли SoTA-модели трёх разных парадигм: авторегрессию (CosyVoice2), flow-matching (F5-TTS) и маскированную генерацию (MaskGCT). TTS-модель генерировала аудио-1 и аудио-2 на основе текста и аудиореференса.

Сами аудиореференсы собирали двух типов: простые regular из датасета Emilia-Large и expressive с проявлением эмоций из Paraspeech, L2-Arctic, KeSpeech и даже Genshin Impact. Языки тоже варьировали: китайский, английский и code-switching.

Полученный датасет аннотировали вручную: оценивали разборчивость речи и её естественность.

Из собранного корпуса авторы выделили SpeechJudge-Eval — 1000 сэмплов, где разметчики пришли к полному согласию с однозначным предпочтением одного из аудио. Затем на новом датасете проверили целый зоопарк моделей: WER, FAD, MOS-предикторы, deepfake-детекторы и AudioLLM. Результаты оказались удручающими — лучшая модель из коробки, Gemini-2.5-Flash, набрала лишь 69,1% совпадения с человеческими оценками. Большинство метрик и вовсе работают на уровне случайного угадывания.

Для решения этой проблемы авторы обучили свою модель SpeechJudge-GRM. В качестве основы взяли Qwen2.5-Omni-7B. Модель тренировали в два этапа:

1) SFT — дистилляция CoT-рассуждений от Gemini-2.5-Flash на тех сэмплах, где Gemini угадывала правильно.
2) RL (GRPO) — дообучение на сложных сэмплах, где Gemini ошибалась; человеческая аннотация служит верифицируемой наградой.

Получилось 77,2% точности против 72,7% у классической модели Брэдли–Терри. При majority voting из 10 результатов точность вырастает до 79,4%. Авторы также использовали GRM как reward-функцию для post-training TTS-моделей, что улучшило метрики разборчивости и естественности. Кажется, мы на шаг ближе к тому, чтобы обходиться без субъективной разметки, когда нужно сравнивать модели синтеза речи.

Владимир Гогорян Специально для Speech Info
1 105 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
ACE-Step: A Step Towards Music Generation Foundation Model

У популярных методов генерации музыки две основных проблемы:

- Модели на основе LLM (например, Yue и SongGen) отлично справляются с согласованием текста песни, но медленно работают и часто выдают артефакты.

- Диффузионные модели (такие как DiffRhythm) генерируют гораздо быстрее, но уступают в качестве структурной согласованности треков.

Сегодня разберём статью о фундаментальной опенсорс-модели ACE-Step. Её авторы утверждают, что смогли преодолеть все эти проблемы, объединив лучшее из LLM и диффузионных моделей.

Архитектура не нова. Внутри ACE-Step — две модели:

- Энкодер-декодер. Преобразует спектрограмму в латентное представление и обратно, сжимая её при этом в 64 раза.

- Flow-matching. Генерирует аудиозапись в латентном пространстве. Бэкбон этой модели состоит из 24 diffusion-transforme-блоков.

Главный импакт этой статьи — обуславливание моделей на множество разных кондишнингов. Секрет в кросс-аттеншне, который добавили в середину каждого diffusion-transformer-блока.

Чтобы генерировать аудио с нужным контентом, модели нужны три вещи:

1) Тэги, описывающие аудио на натуральном языке. Например, «an energetic pop-rock anthem with distortion guitar».
2) Текст песни, закодированный BPE-токенами.
3) Эмбеддинг спикера, полученный из предобученной биометрической модели.

Для того чтобы хорошо и разнообразно генерировать текст, аккорды, ритм и прочие музыкальные фичи, авторы добавили Semantic Alignment Loss. Аудио пропускали через две SSL-модели:

- МЕRT. По сути BERT, для музыки, который хорошо энкодит гармонию, аккорды и ритм,
- mHuBERT. Тоже специализированный BERT для музыки, но с фокусом на текст.

Потом на эмбеддинги в середине диффузионного трансформера (авторы выбрали восьмой из 24 слоёв) повесили cosine similarity c эмбеддингами SSL-моделей. Это позволяет модели лучше кодировать внутри себя информацию, связанную с гармонией, ритмом и текстом — а значит, лучше генерировать её.

ACE-Step обучали на 100 тысячах часах аудио на 19 разных языках — около 1,8 миллионов музыкальных треков. Для того чтобы разметить этот датасет тегами, использовали Qwen-Omni, Whisper в ASR, детектор BPM и универсальный классификатор для сегментации.

В результате ACE-Step синтезирует до 4 минут музыки всего за 20 секунд на GPU A100 — в 15 раз быстрее, чем базовые LLM-модели. А оценить результаты её работы и изучить код можно на сайте авторов — такое не стыдно добавить в свой плейлист.

Роман Кайль Специально для Speech Info
1 024 просмотров · 19 реакций Открыть в Telegram · Открыть пост на сайте
Новая порция постеров с ICLR 2026

Продолжаем делиться интересными работами на тему голосовых технологий. На этот раз в подборке: новые подходы к TTS, масштабирование аудиокодеков и устойчивые к шуму токенизаторы.

Continuous Audio Language Models

Раньше мы предсказывали мел-спектрограммы с помощью Tacotron 2, сейчас генерируем токены аудиокодеков через LLM — и снова возвращаемся к истокам. Авторы из kyutai предлагают для задачи TTS предсказывать continuous-признаки выученного VAE через каузальный трансформер. Добавляют диффузионные головы с consistency models, чтобы семплировать за меньшее количество шагов. Чтобы это работало для музыки, добавляют небольшой контекст из предыдущих фреймов. В конце дистиллируют модель с 313M до версии на 100M параметров, которая умеет в синтез и клонинг и при этом быстро работает на CPU.

Scaling Speech Tokenizers with Diffusion Autoencoders

Авторы из Meta* вдохновились статьёй StableCodec (лид у работ один и тот же) и сделали диффузионный кодек на 1.6B параметров с частотой 12.5 Hz и одним уровнем VQ. Работает он на мел-спектрограммах, где соседние фреймы стакаются и усредняются для уменьшения frame rate. Чтобы адекватно проучилась семантика, добавляют CTC decoder из латентных векторов после квантизации и считают по ним CTC loss. Также есть диффузионный лосс, без MSE/L1 на пикселях — говорят, так лучше учится и выше метрики на downstream-задачах.

Данных было 2 миллиона часов. Чтобы семплировать диффузионным декодером за меньшее количество шагов, используют Shortcut Finetuning. В статье много подробных аблейшнов, но удивительно, что работа получила accept без субъективных замеров на TTS с предложенным токенизатором.

StableToken: A Noise-Robust Semantic Speech Tokenizer for Resilient SpeechLLMs

У семантических аудиокодеков есть неприятная проблема: небольшой шум может сильно менять последовательность токенов, хотя смысл сказанного остаётся прежним. В итоге аудио-LLM обучаются поверх представлений, которые скачут от несущественных изменений во входе.

StableToken чинит это через более устойчивую квантизацию. Делают несколько LFQ-веток квантизации и собирают итоговый token id с помощью majority vote по битам. Плюс обучают это через Noise-Aware Consensus Training: часть веток видит чистую запись, часть — зашумлённую, а consensus loss заставляет их сходиться к похожим pre-quantization представлениям. В итоге токены становятся заметно стабильнее к шуму, при этом качество реконструкции и downstream SpeechLLM performance не проседают, а наоборот улучшаются.

#YaICLR26

Владимир Гогорян Специально для Speech Info

__
Компания Meta признана экстремистской; её деятельность в России запрещена.
657 просмотров · 36 реакций Открыть в Telegram · Открыть пост на сайте
VibeVoice: Expressive Podcast Generation with Next-Token Diffusion

TTS хорошо работает на коротких фразах, но плохо масштабируется до длинной генерации вроде подкастов, где нужны стабильные голоса, паузы, turn-taking. VibeVoice предлагает решение этой проблемы.

Работа наконец превратилась из краткого техрепорта в полноценную статью. Главная идея — уйти от дискретных аудиотокенов к сжатому continuous-представлению. Учат hybrid tokenizer на 7,5 Hz, отдельно acoustic σ-VAE для тембра и качества, отдельно — semantic tokenizer через ASR для семантики.

Поверх этого обучают LLM, где генерируют латенты VAE через маленькую diffusion head. Получается next-token diffusion: трансформер выдаёт conditioning на токен, diffusion head итеративно генерирует acoustic latent, acoustic decoder превращает его в аудио.

Берут именно σ-VAE, потому что у стандартного VAE variance может схлопнуться почти в ноль, и latent space становится хрупким: авторегрессия промахивается на каждом шаге, ошибки накапливаются, генерация разваливается. В σ-VAE variance фиксируют через prior, создавая вокруг latent’ов tolerance zone. Diffusion head может не идеально попасть в latent, а decoder всё ещё восстанавливает стабильную речь.

Два токенизатора выбраны не просто так. Если оставить только acoustic, голос сохраняется, но семантика начинает плыть, особенно при нескольких спикерах. Hybrid tokenizer снижает WER при приемлемом SIM-O. То есть для подкастов сложно хранить «что сказано» и «как сказано» в одном латенте — модель начинает путаться.

Заявляют zero-shot-генерацию до 90 минут и до четырёх спикеров. По замерам VibeVoice-7B обходит Gemini 2.5 Pro TTS и ElevenLabs v3 alpha, а на long-form держит низкий WER и высокую speaker similarity, в то время как некоторые модели и вовсе разваливаются.

#YaICLR26

Владимир Гогорян Специально для Speech Info
776 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Продолжаем делиться статьями с ICLR 2026

Сегодня у нас на очереди две работы: о новом методе выравнивании речи и текста и общем эмбеддинг-пространстве для мультимодальных LLM. В одном разборе даже удалось получить комментарий от автора.

Closing the Gap Between Text and Speech Understanding in LLMs

Одна из самых интересных работ по аудио, да ещё и с приятным автором. Важная проблема ALM (Audio Language Model) — разрыв между модальностями. Если задать один и тот же вопрос голосом и текстом, зачастую можно получить разные ответы.

Авторы анализируют причины этого разрыва (в виде различий в распределениях текстовых и аудоданных) и предлагают SALAD — метод, который выравнивает речевую модель с текстовой LLM через кросс-модальную дистилляцию и умный отбор синтетических речевых данных.

Главное преимущество подхода — он требует значительно меньше речевых данных, но заметно сокращает разрыв между текстовым и речевым пониманием.

WAVE: Learning Unified & Versatile Audio-Visual Embeddings with Multimodal LLM

В работе предлагают использовать мультимодальную LLM как основу для единого эмбеддинг-пространства, где можно сопоставлять текстовые, аудио-, видео- и аудиовизуальные данные. Модель обучается так, чтобы представление зависело не только от входной модальности, но и от текстовой инструкции к задаче.

Авторы извлекают репрезентации из нескольких верхних слоёв модели, потому что разные уровни могут кодировать разную информацию. Затем эти представления объединяются через небольшой fusion-модуль, который формирует итоговый эмбеддинг для retrieval/QA-задач.

Такие унифицированные представления полезны, например, когда важно одновременно учитывать, что происходит в кадре и что слышно в аудио. Показывают хорошие результаты на retrieval и multimodal QA.

Спросил у автора, может ли такой эмбеддер стать унифицированным энкодером для больших мультимодальных LLM. По его интуиции, подход особенно хорош именно для задач, где действительно нужна joint representation. Но для больших мультимодальных моделей в целом независимые энкодеры под конкретные цели всё ещё могут быть более практичным и чистым решением.


#YaICLR26

Ярослав Ведерников Специально для Speech Info
661 просмотров · 31 реакций Открыть в Telegram · Открыть пост на сайте
В Рио — жара! Освежаемся статьями с ICLR

Как и полагается на старте, в первый день конференции не все постеры оказались на законных местах и не все спикеры — у своих стендов. Но кое-что интересное нам удалось раздобыть.

TASTE: Text-Aligned Speech Tokenization and Embedding for Spoken Language Modeling

Речевые токенизаторы обычно работают в дискретизации намного выше текстовой — это 12.5Hz и выше против ~3Hz у текста. При попытке делать текстово-речевые модели (Spoken Language Models) приходится придумывать способы выравнивания последовательностей, как в Moshi, например.

Авторы предлагают выучить токенизатор, который выдаёт по одному речевому токену на каждый текстовый, чтобы синхронизировать эти последовательности. Делают это через фичи Whisper Encoder, которые используют как key и value для кросс-аттеншна, а query — оригинальный текст входного аудио. Это позволяет сократить frame-rate аудиотокенов до ~3Hz, прямо как у текста. На таком токенизаторе авторам удаётся обучать text-speech SLM с более высоким качеством по сравнению с другими подходами.

Can Speech LLMs Think while Listening?

Работа о добавлении Chain-of-Thought в Speech LLM и снижении latency, которую CoT обычно добавляет в голосовых агентах. В режиме “thinking while listening” модель начинает текстовое CoT-рассуждение ещё до того, как пользователь закончил говорить. Для этого с каждым новым словом оценивается, насколько текущий префикс вопроса уже достаточен, чтобы получить те же размышления и ответ, что и по полному вопросу. Когда вопрос становится достаточно «полным», модель может начать ризонинг раньше.

Сначала модель дообучают на таких early-CoT-примерах, а затем применяют DPO — генерируют несколько вариантов рассуждения с ранним стартом и выбирают более правильные и/или короткие цепочки рассуждений.

Echo: Towards Advanced Audio Comprehension via Audio-Interleaved Reasoning

И ещё о ризонинге. Обычные аудиоязыковые модели (ALM) кодируют звук один раз вначале — и дальнейший процесс рассуждения происходит только текстом. Echo предлагает использовать аудио прямо внутри рассуждений и дать модели возможность вставлять его определённый отрезок внутрь текстового ризонинга. Это позволяет модели лучше обуславливаться на аудио, особенно в длинных генерациях, а также хорошо растит результаты на бенчмарках.

На последнем фото — мудрость от организаторов: статьи на тему голосовых технологий лучше не читать, а слушать.

Интересным поделились Владимир Гогорян, Варвара Фурик и Ярослав Ведерников

#YaICLR26

Speech Info
664 просмотров · 42 реакций Открыть в Telegram · Открыть пост на сайте
CORD: Bridging the Audio–Text Reasoning Gap via Weighted On-policy Cross-modal Distillation

Сегодня разбираем работу о важной проблеме в Audio Language Models. Если дать модели один и тот же запрос в текстовом и аудиоформате, качество ответа на аудио обычно заметно хуже. Это видно на бенчмарках: аудиодомен почти всегда проседает относительно текстового.

Большие аудиоязыковые модели обычно строятся поверх текстовых LLM: к ним добавляют аудиоэнкодер и модуль выравнивания между модальностями. Предполагается, что этого достаточно, чтобы аудио и текст оказались в одном семантическом пространстве. Но на практике это работает неидеально: при одинаковом смысле входа модель рассуждает по аудио хуже, чем по тексту.

В этой работе авторы хотят передать в аудиомодальность текстовые reasoning-способности и сделать так, чтобы при аудиовходе модель рассуждала как можно ближе к тому, как она рассуждает при текстовом.

Для этого берут один и тот же вопрос, получают его текстовую и аудиоверсию, прогоняют через модель и сравнивают распределения. Это нужно, чтобы генерация при аудиовходе была максимально похожа на генерацию при текстовом.

Важно, что всё происходит on-policy. Для аудиовхода модель сначала сэмплирует ответ, а дальше сравнение идёт именно по этой траектории. Эти же префиксы подаются в модель с текстовым входом, чтобы посмотреть, как она продолжила бы ту же последовательность.

То есть здесь не идут по «правильной» текстовой траектории учителя, а обучают модель на тех состояниях, в которые она реально попадает при генерации по аудио. За счёт этого можно исправлять ошибки, которые возникают именно в аудиорежиме.
Для сравнения распределений используют reverse KL, а именно KL(p_audio || p_text).

Такой лосс особенно наказывает случаи, когда аудиоветвь даёт высокую вероятность токенам, которые текстовая ветвь считает маловероятными. Модель в первую очередь отучают генерировать продолжения, которые сильно расходятся с текстовым поведением.

Авторы также показывают, что расхождения между модальностями возникают неравномерно. Основные ошибки появляются в начале генерации, а затем тянутся по всей последовательности. Кроме того, сильный вклад дают не все токены, а лишь небольшое число наиболее важных шагов.

Из этого рождается основной трюк работы — взвешивание token-level loss. Во-первых, усиливают вклад токенов с наибольшим расхождением между аудио- и текстовым распределениями: берут top-K токенов, в работе K = 20. Во-вторых, больший вес дают ранним токенам, потому что ошибка в начале рассуждения чаще всего ломает всю дальнейшую траекторию. В итоге reverse KL взвешивается и по важности токена, и по его позиции.

Но этого авторам кажется недостаточно, потому что токенного уровня может не хватить, так как модель всё равно способна прийти к неправильному ответу в целом. Поэтому добавляется sequence-level.
Здесь генерируются ответы для аудио, и judge-модель проверяет, совпадают ли они семантически с текстовым ответом. Этот сигнал превращается в reward, и дальше обучение идёт через GRPO. В итоге комбинируются два сигнала: по токенам и по всей последовательности, а финальный objective — это их сумма.

По экспериментам видно, что подход стабильно уменьшает разрыв между аудио и текстом и делает аудиоответы ближе к текстовым. Обучаются только на математическом датасете, но улучшения переносятся и на general knowledge задачи.

По сравнению с обычной дистилляцией метод меньше ломает дополнительные аудиоспособности модели, то есть не ухудшает понимание звуков, музыки и прочего.

Ярослав Ведерников Специально для Speech Info
866 просмотров · 29 реакций Открыть в Telegram · Открыть пост на сайте
DisTAR: Diffusion over a Scalable Token Autoregressive Representation for Speech Generation

Дискретные токены по-прежнему тяжело моделировать и реконструировать: подробнее об этом мы говорили в посте о фреймворке DiTAR. А сегодня разберём статью об очень похожем решении — DiSTAR, фреймворке для zero-shot text-to-speech.

Авторы вдохновлялись LLaDA, где используют диффузионный подход. Но вместо обычных одноуровневых текстовых токенов используют RVQ (residual vector quantization):

- Их битрейта достаточно для качественной реконструкции.
- Из-за дискретности их обучение так же стабильно и интерпретируемо, как и классических LLM.

Авторы утверждают, что известные подходы к моделированию RVQ жертвуют либо скоростью инференса, либо долгосрочной консистентностью. Чтобы решить эту проблему, авторегрессионную языковую модель с маскированной диффузией учат предсказывать токены в дискретном RVQ-пространстве:

1. Формируют из RVQ-токенов патчи, как в DiTAR, и подают их на вход агрегатору — трансформерному энкодеру, который сжимает каждый патч до одного вектора.

2. Авторегрессионный каузальный трансформер учится моделировать непрерывные представления — на каждом шаге обрабатывает сжатый вектор из агрегатора с учётом предыдущего контекста. Новый вектор подаёт в диффузию в качестве контекста.

3. Маскированная диффузионная модель предсказывает следующий патч RVQ-токенов по скользящему окну предшествующих токенов и выходу трансформера.

RVQ-токены порождают гораздо меньше ошибок реконструкции, чем одноуровневый VQ. Моделировать их можно разными способами. В поисках трейд-оффа между качеством работы модели и скоростью её инференса авторы нашли работоспособный вариант с адекватным компьютом: связка авторегрессионного трансформера с маскированной диффузией позволяет совместно моделировать временные и послойные зависимости RVQ.

Александр Плахин Специально для Speech Info
892 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
FlexiVoice: Enabling Flexible Style Control in Zero-Shot TTS with Natural Language Instructions

Сегодня разбираем статью о zero-shot TTS с управлением стилем через текстовые инструкции — FlexiVoice.

Авторы решают частую проблему таких моделей — конфликт модальностей. Если мы хотим озвучить фразу «Мне так грустно» весёлым голосом, опираясь на удивлённый голос спикера в референсе, модель скорее всего прочитает текст недостаточно радостно или вообще проигнорирует эмоцию из инструкции. Идея FlexiVoice заключается в чётком разделении источников сигнала: модель должна копировать из аудиопромпта только спикер-зависимые характеристики (тембр), а эмоцию, скорость и громкость брать исключительно из текстовой инструкции.

Архитектурно FlexiVoice — это текстовый претрейн Phi-3.5-mini-instruct, аудиотокенизатор Dual Codec, Flow Matching для генерации мел-спектрограммы и вокодер Vocos. На этапе претрейна модель учат только на текстовых инструкциях, без референсного аудио. Используют 8 тысяч часов открытых данных и 100 тысяч часов с синтетическими инструкциями, которые сгенерировали через DeepSeek-V3 по метаданным видео (датасет Emilia) и именам персонажей видеоигр, особенности голосов которых LLM и так хорошо знает. После этого претрейна у модели появляется базовая способность следовать инструкциям, но она всё ещё не следует сложным промптам.

Основной контрибьюшен статьи — решение этой проблемы с помощью трехстадийного RL-пайплайна, который постепенно усложняет задачу. Сначала модель учат базовому клонированию нейтрального голоса под нужную эмоцию. В качестве данных используют пары из датасета ESD для алгоритма DPO: позитивом выступает запись, лейбл которой совпадает с эмоцией из текстовой инструкции, а плохим — та же запись с любой другой эмоцией.

На втором этапе применяют алгоритм GRPO для разрешения конфликтов между аудиопромптом и текстом. В качестве reward используют две модели: SV оценивает схожесть тембра, а классификатор — точность эмоции. На третьей стадии добавляют сложные промпты: просьбы говорить с определённой манерой или от лица персонажа. Здесь тоже работает GRPO, но в роли LLM-as-a-judge выступает Kimi-Audio-7B-Instruct. Авторы показывают, что без предыдущих двух стадий, если после претрейна перейти сразу к третьему этапу, модель хуже следует сложным инструкциям и хуже клонирует эмоцию на противоречивых примерах.

Результаты на бенчмарках показали, что для английского языка FlexiVoice обходит весь опенсорс в умении следовать сложным инструкциям и разрешать конфликты модальностей. По WER модель немного уступает CosyVoice2, но выигрывает его по метрике CMOS.

Подводя итог, FlexiVoice — это пример того, как задачу синтеза речи с текстовыми инструкциями решают с помощью RL. Мне показались интересными три вещи. Во-первых, поднята важная проблема протекания эмоциональных аспектов из текста, и аудиопромпта. Во-вторых, показан простой способ собрать инструктивную разметку для претрейна при минимуме вводных (по тематике видео или имени персонажа). В-третьих, это хороший практический гайд по тому, где взять в опенсорсе DPO-датасеты для звука и какую модель использовать в качестве reward-моделей для GRPO.

Дарья Дятлова Специально для Speech Info
817 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Beyond Transcripts: A Renewed Perspective on Audio Chaptering [2/2]

Продолжаем разбирать статью на тему аудиочаптеринга. В первой части рассказали о специфике задачи, метриках и подходах, которые сравнивают авторы. Переходим к самому интересному — результатам.

Первый аблейшн — качество транскрипта. Сравнивают сегментацию на референсном тексте, Whisper Tiny и Whisper Large. Разница неожиданно небольшая: более качественный ASR не всегда даёт лучшую сегментацию. Модели в основном лучше работают на том типе транскрипта, на котором их обучали. Zero-shot LLM-ки почти не чувствительны к качеству транскрипта, но сильно уступают специализированным моделям, обученным на сегментацию.

Второй аблейшн — аудиофичи для текстовой модели. Добавляют паузы, скорость речи, pitch, громкость, смену спикера. Все фичи вместе дают примерно +19 F1, то есть аудио действительно добавляет сигнал. Но главный вклад даёт длина паузы: добавление остальных фичей почти не меняет результат.

Третий аблейшн — audio-only-модели. Тестируют разные аудиоэнкодеры внутри AudioSeg. Лучше всего работает Whisper, что логично: его эмбеддинги содержат текстовую семантику. Модели для чисто акустических задач (например sound event detection) тоже работают, но хуже.

Отдельно смотрят, на каких сэмплах аудио даёт профит. Модель часто ловит границы по неспичевым сигналам: интро- и аутро-звукам, музыкальным переходам, эффектам. Когда такие сигналы чистят с помощью noise filtering, качество сегментации падает — значит, модель действительно на них опирается.

Про MLLM-ки. Проверяют zero-shot, chunking, in-context learning, self-cascade и LoRA. Базовый zero-shot неожиданно плохой, иногда даже хуже рандома. In-context learning и LoRA помогают, а лучший результат даёт self-cascade: сначала генерируется транскрипт, потом делается сегментация, и лучше всего работает вариант, когда модели дают и транскрипт, и аудио. Но даже так мультимодалки уступают AudioSeg.

Дальше смотрят срезы по длительности аудио. На коротких записях AudioSeg работает лучше остальных, но на длинных (около часа и больше) преимущество постепенно исчезает, и модели показывают похожие результаты.

Похожая история со спикерами. Чем больше говорящих, тем сложнее задача и тем ниже качество. Добавление простых спикерных фичей, например смены спикера, немного помогает текстовой модели.

Последний момент — ограничение постановки. Использующийся протокол T1 расставляет границы с шагом шесть секунд (и такой же шаг используется моделью). Поэтому даже идеальная модель не может быть точнее. Если притянуть реальные границы к этим окнам (oracle-сегментация), получается потолок F1 около 81.

Даниил Волгин Специально для Speech Info
630 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
Beyond Transcripts: A Renewed Perspective on Audio Chaptering [1/2]

Сегодня начинаем разбирать свежую статью на тему аудиочаптеринга. Задача аудиочаптеринга — разбить запись на смысловые куски (чаптеры), чтобы каждый соответствовал какой-то теме или логическому блоку.

Обычно сначала прогоняют аудио через ASR, получают транскрипт, а потом делают текстовую сегментацию — например, с помощью LLM. Авторы статьи предлагают другой подход: попробовать делать чаптеринг напрямую по аудио, без обязательной опоры на текст.

В работе сравнивают три подхода:
1) классический текстовый чаптеринг;
2) AudioSeg — audio-only-подход, который предлагают авторы;
3) использование мультимодальных моделей.

Задача текстовой сегментации формулируется так. Есть транскрипт, разбитый на предложения. Для каждого предложения нужно предсказать, является ли оно концом чаптера.

Чтобы сравнить предсказания с референсом, предложения сначала алайнятся по времени. Тут есть несколько вариантов:
- по референсному тексту через forced alignment;
- по ASR-транскрипту;
- алайнмент по токенам;
- алайнмент по временному пересечению предложений.

После этого границы можно мапить в тайминги референса и считать метрики. Основные метрики такие:

Pk — смотрим пары предложений и проверяем, правильно ли модель определила, находятся они в одном чаптере или в разных.

Boundary Similarity — что-то вроде редакторского расстояния между последовательностями нулей и единиц, обозначающими границы чаптеров.

Авторы также предлагают временные метрики, которые вообще не используют текст. Есть два варианта:

T1 (time-based discrete) — аудио разбивается на равные чанки. Смотрим, в какие из них попадают референсные и предсказанные границы. Авторы репортят почти все результаты именно по этому протоколу.

T2 (time-based continuous) — уже настоящий вариант с непрерывными таймстемпами. Если предсказанная граница попадает в небольшой интервал вокруг референсной (collar), считаем её true positive и по ним считаем F1.

Подходы

1. Text-Based baseline. Берут предложения из транскрипта, кодируют их sentence encoder’ом, получают эмбеддинги и подают в трансформер (RoFormer). На каждом предложении решается бинарная задача: конец чаптера или нет. К тексту также добавляют аудиофичи: длину пауз, скорость речи, pitch, громкость, смену спикера и т.д. Их конкатенируют с эмбеддингами предложений.

2. AudioSeg — основной метод авторов. Пайплайн состоит трёх уровней: frame encoding, segment encoding и document encoding.

Аудио сначала режут на 30-секундные чанки и прогоняют через замороженный предобученный аудиоэнкодер (например, Whisper). Получаются фреймовые эмбеддинги. Дальше их группируют в 6-секундные окна. Каждое окно обрабатывается трансформером и превращается в один эмбеддинг сегмента.

Получается последовательность сегментных эмбеддингов, которая подаётся в документный трансформер. Он предсказывает, является ли окно концом чаптера.

Во второй части разбора расскажем об аблейшнах и выводах, к которым пришли авторы.

Даниил Волгин Специально для Speech Info
791 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
VocalNet: Speech LLM with Multi-Token Prediction for Faster and High-Quality Generation

Multi-Token Prediction часто рассматривают как способ ускорить генерацию, но кроме этого он может улучшить её качество. Сегодня разберём статью о том, как и почему такой подход одинаково хорошо работает и для LLM, и для аудиомоделей. Для этого упомянём ещё три работы — но обо всём по порядку.

Better & Faster Large Language Models via Multi-token Prediction

Начнём с простого: вспомним, как работает multi-token prediction (MTP). Cамая популярная и цитируемая статья на эту тему вышла в 2024 году.

Её идея очень проста: навесить на тушку (shared) не одну голову (linear-слой), которая предсказывает один токен, а сразу несколько. То есть по первому токену будет генерироваться не второй, а сразу четыре: второй, третий, четвёртый и пятый.

Для реализации авторы использовали self-speculative decoding: выбирали предсказания только с самыми высокими вероятностями. По результатам на бенчмарке MBPP и проверки людьми обнаружилось, что MTP может не только ускорить работу модели, но и улучшить её результаты.

При этом чем больше модель, тем сильнее улучшается качество. Но это работает только на сложных задачах, таких как кодинг. Для trivia-вопросов, которые предполагают односложный ответ (да или нет) не нужно генерить много токенов наперёд.

Так MTP начали использовать не только как ускоритель, но и как auxilary objective для улучшения качества.

DeepSeek-V3 Technical Report

Авторы немного видоизменили MTP: сделали его не параллельным, а последовательным. Во время обучения добавили hidden-слой перед каждой головой-трансформером и конкатенировали его токены с токенами ground truth, уже предсказанными предыдущей головой. На инференсе использовали обычный MTP с уменьшенными трансформерами — и тоже добились не только ускорения, но и повышения качества результатов.

Так как же это всё применимо к TTS?

VocalNet: Speech LLM with Multi-Token Prediction for Faster and High-Quality Generation

Короткий ответ: хорошо, даже очень.

VocalNet — не совсем TTS, скорее, заалайненная омни-модель. Сетап максимально базовый: претрейн-тушка с приклеенным Whisper-энкодером, который делает аудиоэмбеддинги. Сверху — Speech Vocoder, генерирующий аудиотокены. Потом аудиотокены отправляются в инференс.

Классика, но есть нюанс: Speech Decoder. Именно в него внедрили MTP.

Секрет успеха MTP применительно к задачам генерации речи в соотношении размеров фонемы и токена. Для обычной LLM токен — большая семантическая единица. А при генерации речи в одну фонему входит сразу несколько токенов. И тем, кто занимается TTS, очень хотелось бы научить модели предсказывать не токены, а целые фонемы.

На схеме выше — все подходы, которые перепробовали авторы VocalNet:

(a) — уменьшить размерность и предсказывать по три, а не по четыре токена подряд,
(b) — использовать несколько параллельных линейных голов, как в классическом MTP,
(c) — внедрить головы последовательно, как сделала команда DeepSeek,
(d) — попробовать по-своему: перенять лучшее у DeepSeek, но отказаться от GT, как в MTP. То есть, не спойлерить во время обучения токены, которые должна предсказать нейросеть.

Подход (d) позволил авторам удалось добиться существенного ускорения работы VocalNet, при этом не ухудшив качество.

Predicting the Order of Upcoming Tokens Improves Language Modeling

MTP не всемогущ. Чем больше токенов одновременно генерирует модель, тем нестабильнее objective — уже к 3-5 токену маленькие ошибки приводят к большим лоссам.

Авторы этой статьи предлагают сгладить лосс с помощью auxilary objective: вместо самих токенов предсказывать их порядок. Протестировать метод можно на GitHub.

Александр Цапков Специально для Speech Info
766 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Pseudo2Real: Task Arithmetic for Pseudo-Label Correction in Automatic Speech Recognition

Сегодня разбираем статью о том, как бороться с систематическими ошибками псевдолейблинга в ASR.

Аудиоданных разных доменов существует огромное количество, но для конкретных задач (например, редких акцентов) разметки часто нет. Сбор качественных транскрипций стоит дорого и занимает много времени. В таких случаях выходом становится псевдолейблинг: сначала модель обучают на размеченных данных, потом она сама делает псевдолейблы для неразмеченных, а дальше модель дообучают уже на них.

Проблема в том, что псевдолейблинг даёт разметку, далекую от совершенства, — с ошибками и байесами. И если модель учится на этом итеративно, ошибки не исчезают, а накапливаются. В итоге появляются устойчивые паттерны, которые не лечатся простым уменьшением шума или confidence-фильтрацией.

Главный вопрос статьи такой: как уменьшить систематические ошибки псевдолейблинга, если в target-домене вообще нет ground truth?

Идея авторов — использовать task arithmetic. В упрощённом виде это выглядит так:

1. Берём предобученную ASR-модель и файнтюним её на source-домене с настоящей разметкой.
2. Отдельно обучаем модель на псевдолейблах source-домена.
3. Вычитаем параметры одной модели из другой и получаем correction vector — вектор, который описывает, что именно «портит» обучение на псевдолейблах.

Дальше этот correction vector добавляют при адаптации модели на target-домене, где есть только псевдолейблы. Смысл в том, чтобы при дообучении на псевдолейблах модель меньше перенимала их систематические ошибки.

В статье это показывают на примере смены акцентов: target-домен — это акценты, которых не было в source-домене. В экспериментах используют AfriSpeech-200 — датасет, в котором люди из африканских стран на английском языке с заметными акцентами наговаривают тексты на медицинскую и общую тематику.

Также в работе рассматривают вариант метода с subgroup correction. Вместо одного общего correction vector строят отдельные векторы для разных групп спикеров, а затем усредняют их и используют при адаптации модели к target-домену.

Эксперименты проводят через кросс-валидацию по акцентам: часть акцентов используют как source-домен, остальные — как target-домен, и так по всем разбиениям.

В таблице с результатами сравнивают несколько сценариев. Выводы следующие:

- Предобученная модель (zero-shot) на новых акцентах даёт высокий WER.

- Стандартный псевдолейблинг (файнтюн на сгенерированной разметке) значительно улучшает качество, но наследует систематические ошибки учителя.

- Confidence-based filtering (отсев неуверенных предсказаний) даёт лишь небольшой прирост и не решает проблему закрепившихся паттернов ошибок.

- Pseudo2Real показывает существенное снижение WER против обычного псевдолейблинга (до 35% относительного улучшения на Whisper Tiny).

- Pseudo2Real-SC (Subgroup Correction) с кластеризацией спикеров даёт дополнительный прирост качества (в среднем ещё на 4–6%), особенно эффективно исправляя ошибки на самых сложных акцентах (например язык хауса), так как учитывает разнообразие дикторов.

- Topline (обучение на реальной разметке target-домена) — теоретический «потолок» качества. Однако авторы отмечают важный инсайт: на некоторых сложных акцентах и малых моделях Pseudo2Real оказывается даже эффективнее топлайна. Вектор коррекции действует как регуляризация, не давая модели переобучиться, что часто случается при прямом файнтюне на малом объёме реальных данных.

Егор Реутов Специально для Speech Info
821 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
M³V: A Multi-Modal Multi-View Approach for Device-Directed Speech Detection

В последнее время всё больше исследований посвящено голосовой активации умного ассистента без называния имени (например, «Алиса»). Это позволяет вести более естественный диалог и повышает комфорт пользователя.

Чтобы решить данную задачу, нужна ML-модель для определения, направлена речь в устройство или нет. В Яндексе такую модель называют «интонационным споттером».

Сегодня разберём статью, в которой рассматривается случай умного помощника для автомобиля. Авторы развивают существующую схему двух энкодеров: для звука и для распознанного текста.

При распознавании речи в реальных условиях неизбежны ошибки. Необходимо сбалансировать обучение таким образом, чтобы модель видела и верно, и неверно распознанные пары «текст — речь».

Авторы предлагают использовать дополнительные модальности, а полученный фреймворк называют M³V.

Решается задача бинарной классификации «в девайс или не в девайс». В качестве энкодеров берут GPT-2 для текстовой модальности и Wav2Vec2 для звука. Результаты работы энкодера пулятся вдоль временного измерения для получения представления для всего звука (формула 1).

Результаты работы этих двух энкодеров используются в качестве входов для четырёх разных голов сети:

- чисто звуковой;
- чисто текстовой;
- мультимодальной (конкатенированной);
- выравнивания (обучаемая функция для сближения двух эмбеддингов для получения выравниваний).

Для получения сближённых эмбеддингов обучаются два проецирующих модуля: отдельно для эмбеддингов текста и отдельно — для речи (формула 3).

Проекции обучаются с помощью contrastive loss. То есть для текста и звука i-го элемента батча они учатся быть близкими (по косинусному расстоянию), а для других элементов батча — отстоять далеко.

Получается алайнмент. Contrastive score используется как компонент лосса, а косинусное произведение — как alignment score.

Итоговый лосс состоит из трёх бинарных кросс-энтропий и contrastive loss.

Коэффициенты при лоссах адаптивные. Веса энкодеров не замораживаются. Решение принимается либо по порогам трёх вероятностей и alignment score, либо с помощью SVM.

Обучение проводилось на 340 часах данных (500 тысяч записей) из машины. Тестовый набор — такой же + 560 сложных примеров с плохим распознаванием.

Эксперименты показывают, что предложенный метод позволяет добиться улучшения относительно отдельных компонент по EER даже при использовании датасета с ошибочным ASR.

Павел Мазаев Специально для Speech Info
747 просмотров · 21 реакций Открыть в Telegram · Открыть пост на сайте
DiTAR: Diffusion Transformer Autoregressive Modeling for Speech Generation

Сегодня обсудим статью о DiTAR — фреймворке авторегрессии, который объединяет языковую модель и диффузионный трансформер для синтеза речи.

Модели Text-to-Speech часто учат на дискретных токенах, но в сочетании с нюансами архитектуры, погрешностью трансформера и декодера это приводит к накоплению ошибок — а значит, затрудняет качественную генерацию непрерывных объектов.

Авторы искали новый способ предсказания непрерывных представлений аудио — и утверждают, что DiTAR значительно повышает эффективность авторегрессии для непрерывных токенов и снижает требования к вычислениям.

Совместив сильные стороны диффузионных трансформеров и больших языковых моделей, авторы:

— разбивают непрерывные представления на патчи,
— обучают каузальный авторегрессионный трансформер делать inter-patch-предсказания,
— bidirectional-диффузионный трансформер, опираясь на эти внутренние представления, делает intra-patch-предсказания.

Рассмотреть архитектуру решения можно на схеме. Каузальному авторегрессионному трансформеру подают на вход набор непрерывных векторов (continuous speech tokens). А потом группируют их в патчи и ужимают в один вектор энкодером, чтобы снизить размерность и ускорить трансформер.

Диффузионный трансформер предсказывает следующий патч по выходам каузального авторегрессионного трансформера. Авторы утверждают, что если хранить историю патчей и подмешивать предыдущие на каждой новой итерации, задача станет ближе к outpainting, что помогает вырастить качество финальной генерации.

Для того чтобы сохранить возможность разнообразного семплирования, авторы добавили температуру в ODE-солвер. В DiTAR температура — момент времени в процессе генерации, когда вводится шум. Она позволяет гибко управлять вариативностью речи (от стабильной дикции до богатых интонаций) без замедления работы модели.

При генерации речи zero-shot DiTAR показывал SoTA-результаты в схожести говорящих и естественности. В следующей своей статье, DiSTAR, они опираются на наработки из этой. Но вместо непрерывных фич моделируют RVQ-токены — модель, несмотря на небольшой размер, показывает хорошие метрики.

Александр Плахин Специально для Speech Info
942 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Simul-Whisper: Attention-Guided Streaming Whisper with Truncation Detection

Сегодня разбираем короткую и довольно простую статью о стриминговом Whisper’e. Whisper — это encoder-decoder-модель, и если в стриминге каждый раз прогонять декодер заново на всём аудио, получается слишком дорого. Поэтому авторы предлагают на каждом новом чанке заново прогонять только энкодер, а дальше следить, чтобы декодер не упирался в конец чанка и не начинал угадывать слова неправильно.

Низкий WER degradation

Под WER degradation понимают то, как сильно ухудшается word error rate при переходе от офлайна к стримингу. В таблице выше авторы сравнили разные стратегии: офлайн-бейзлайн, Local Agreement и предложенный метод.

В правом столбце Δ показана средняя деградация — и у нового подхода она самая маленькая: всего 1,46%, то есть качество почти не проседает по сравнению с распознаванием в офлайне.

Почему стриминг ломается на границах чанков

Проблема кроется в архитектуре Whisper. Это Seq2Seq-модель, обученная на полных предложениях. Она всегда стремится выдать законченный, осмысленный текст и не умеет «молчать» или выдавать части слов.

Рассмотрим пример с фразой “Shall we be companions?”, где граница чанка разрезала слово “companions”. Происходит следующее.

1. Акустическая ловушка. Модель получает аудио, которое обрывается на звуке "be com...".

2. Принудительный выбор (Forced Prediction). Модель слышит "be com...". В её словаре токенов (BPE) наиболее вероятным кандидатом для этого звукового паттерна оказывается токен "become". Поскольку модель обучена на завершённых фразах, она стремится «закрыть» акустический паттерн известным ей токеном, вместо того чтобы ждать продолжения (которого в текущем чанке нет).

3. Ошибка токенизации. Как только токен "become" сгенерирован, он становится частью истории. Когда приходит следующий кусок звука "...panions", декодер уже не может отменить предыдущий токен. Пытаясь продолжить текст после "become", декодер подбирает следующий наиболее вероятный токен — "ponies", так как он фонетически похож на входящий звук и хоть как-то согласуется с предыдущим контекстом.

Итог: ошибка возникает из-за того, что модель пытается «додумать» обрезанный край чанка, принимая преждевременное решение, которое потом невозможно исправить.

Решение — метод из двух частей

В статье предлагают подход, в котором одна составляющая определяет, где можно безопасно резать, а другая — когда пора запросить следующий чанк.

1. Truncation Detection Module (TDM), построенный на механизме Integrate-and-Fire (IF). Модель постепенно накапливает некоторую величину по аудиофреймам. Когда накопление превышает порог, происходит “fire” — это считается сигналом, что слово закончилось и здесь можно обрезать. Обучение происходит таким образом, чтобы количество срабатываний совпадало с количеством слов.

2. Attention-Guided Decoding Policy — эта часть выглядит даже более важной. Поскольку Whisper обучался на задаче предсказания таймстемпов (alignment), его карты внимания (attention maps) очень чётко «подсвечивают» тот участок аудио, который соответствует текущему слову. Авторы смотрят, куда «смотрит» модель. Если пик внимания (максимальный вес) приходится на самый конец текущего аудиочанка (последние фреймы), это красный флаг.

- Это значит: «Я пытаюсь декодировать слово, но его аудиопризнаки обрываются на самом интересном месте».
- В этот момент нужно остановить генерацию и ждать следующий чанк.

Результаты

В конце авторы приходят к выводу, что можно сделать стриминговый Whisper, который почти не теряет в качестве, избегает ошибок на границах чанков, работает с меньшей задержкой, чем Local Agreement. Таблица в конце подтверждает, что на больших моделях (Large-v2) метод даёт хороший баланс между скоростью и точностью.

Вилиана Девбунова Специально для Speech Info
720 просмотров · 24 реакций Открыть в Telegram · Открыть пост на сайте
Динамический выбор контекста в аудиомоделях

Сегодня вспомним о паре любопытных статей с Interspeech 2025, связанных с динамическим выбором промпта из некоторой базы.

Audiobox TTA-RAG: Improving Zero-Shot and Few-Shot Text-To-Audio with Retrieval-Augmented Generation

Авторы улучшают качество text-to-audio-генерации для случаев, слабо представленных в обучающем датасете, добавляя conditioning на сэмплы из большой базы неразмеченных аудио. Для выбора примеров из базы используют косинусное расстояние между CLAP-эмбеддингами: на этапе обучения сравнение проводится с эмбеддингом целевого аудио, на инференсе — с эмбеддингом входного текста.

LiSTEN: Learning Soft Token Embeddings for Neural Audio LLMs

В работе предлагают метод адаптации предобученной текстовой LLM под решение различных задач с text-audio-входом (текстовая инструкция + входная аудиозапись) и текстовым выходом в мультитаск-формате. Кроме стандартного подхода — кодирования входного аудио предобученным энкодером и обучения адаптера во входной формат текстовой LLM — авторы обучают пул промптов: случайно проинициализированных key-value-пар.

Эмбеддинги входных данных каждого сэмпла — текста и аудио — усредняют для получения query. После чего выбирают топ-k промптов по расстоянию между query и key и добавляют ко входу LLM соответствующие value.

По словам авторов, в отличие от обучения отдельного промпта под каждую задачу, предложенный подход позволяет переносить знания между различными сценариями. В результате модель лучше генерализуется под новые задачи и требует меньшего количества обучающих данных для каждой конкретной. А в отличие от полностью разделяемых параметров, такой подход препятствует переобучению под какие-то из задач или забыванию базовых знаний предобученной модели.

Дарья Петренко Специально для Speech Info
844 просмотров · 18 реакций Открыть в Telegram · Открыть пост на сайте