Speech Info
1.29K subscribers
139 photos
5 videos
81 links
Инженеры из Яндекса разбирают и комментируют горячие статьи об ML и аудио.

Вопросы и предложения > @yandex_ml_brand
Download 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
18🔥12👍10❤‍🔥2
Продолжаем делиться статьями с 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥149👍8
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
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7🔥6🤩1
Новая порция постеров с 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 признана экстремистской; её деятельность в России запрещена.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1610👍8😁1👌1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥4👍42
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥65
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1512🥰11👏2👍1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥6👏4👍1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥6
Три работы о том, как сделать речь полноценной модальностью для 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥11👍7
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
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8🔥7
Как устроена голосовая активация в Яндекс Дропс

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

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

Для начала следовало выбрать чип, который позволил бы споттеру работать непрерывно и постоянно искать обращение в окружающем шуме. Большинству 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1611👍11👏1