Как прошла ICLR 2025: впечатления инженеров Яндекса

Мы попросили инженеров Яндекса подвести личные итоги конференции ICLR 2025 и рассказать, чем она запомнилась. О трендах в индустрии, интересных статьях на тему аудио и впечатлениях — в наших карточках.

Работы и ссылки, которые упоминаются в посте:

π0.5: a VLA with Open-World Generalization
Scaling Transformers for Low-Bitrate High-Quality Speech Coding
MaskGCT: Zero-Shot Text-to-Speech with Masked Generative Codec Transformer
UniWav: Towards Unified Pre-training for Speech Representation Learning and Generation
FlowDec: A flow-based full-band general audio codec with high perceptual
Vevo: Controllable Zero-Shot Voice Imitation with Self-Supervised Disentanglement
Announcing the Test of Time Award Winners from ICLR 2015

Speech Info

#YaICLR
963 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
Как TortoiseTTS изменил правила игры в синтезе речи

В 2017–2019 годах TTS-сообщество начало учиться на заметно больших объёмах данных, чем до этого, и выбирало между двумя классами моделей, которые можно обучать. Первый вариант — взять трансформер из NLP и научить его предсказывать аудиотокены. Второй — использовать диффузии, как в генерации изображений, и генерировать спектрограммы. Оба варианта давали частичный результат. Диффузии хорошо передавали голос, но интонацию — слабо. Трансформеры, наоборот, хорошо моделировали интонацию, но теряли сходство с голосом.

В 2022 году инженер Джеймс Беткер, много лет проработавший в Garmin, решил пойти другим путём. В одиночку он начал собирать свою модель дома! Он купил восемь б/у RTX 3090, которые до этого майнили крипту, собрал из них кластер, и два года вёл блог, в котором подробно описывал каждую итерацию своего ресёрча. Формат — не статьи с графиками, а Markdown и картинки от руки. Иногда — просто пост с одной мыслью и решением.

Спустя два года такой работы появился TortoiseTTS. Гибрид трансформера и диффузии, вдохновленный архитектурой DALL-e 1, только вместо изображений — аудио.

Что сделал Беткер:

1. Сначала — кодек. Беткер обучил VQ-VAE, который сжимал аудио до 25 токенов в секунду. Это довольно маленький битрейт для получения качественного восстановления, но такой цели и не стояло — кодек нужен был как интерфейс между аудио и трансформером.

2. Потом — трансформер. Модель по тексту и примеру голоса, который надо скопировать, предсказывала токены этого кодека. Поскольку токенов было мало, он мог использовать большие батчи, что критично при ограниченных ресурсах. Но важнее другое: трансформер давал не только токены, но и латенты, из которых эти токены предсказываются. (Они понадобятся нам на следующем этапе.) Именно этот кусок пайплайна отвечает за генерацию правильной похожести голоса и разумные интонации.

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

4. В конце — предобученный вокодер UnivNet, который предсказывает аудио по спектрограмме.

В результате получился пайплайн: текст → латента (из GPT) → спектрограмма (из диффузии) → аудио. В модельке есть ещё несколько хаков, но мы не останавливаемся на них, чтобы упростить повествование.

За счёт комбинации GPT и диффузии этому способу удалось усесться на оба стула: он хорошо моделировал интонацию и клонировал голос. И это обучилось на кластере из восьми видеокарт!

После выхода Tortoise в 2022 году появилось много похожих работ. Например:

CosyVoice (Alibaba): заменили VQ-VAE на кодек, обученный на ASR-задаче, чтобы эмбеддинги хранили больше информации о речи. Вместо диффузии применили Flow Matching — он даёт звук быстрее за меньшее число шагов.
Seed-TTS (ByteDance): заменили токенизатор, отказались от CLVP, дообучили модель на 5 голосах.
Base TTS (Amazon): взяли большую GPT (1B параметров вместо 300M) и использовали токены из WavLM.

Получается, что Tortoise стал не столько готовым решением, сколько универсальной схемой, которую подхватили сразу несколько крупных команд. Ну а Джеймса Беткера наняли в OpenAI сразу после релиза финальной версии модели.

Эта история — только малая часть интересного из Speech Сourse от Яндекса и ШАД. Все лекции, слайды, домашки и полезные ссылки выложены на GitHub. Курс охватывает биометрию, распознавание, синтез, шумоподавление. А на тему TTS — целых четыре лекции.

Роман Кайль Специально для Speech Info
962 просмотров · 46 реакций Открыть в Telegram · Открыть пост на сайте
Обзор статей с ICASSP 25. Часть 3: LLM для улучшения в ASR

Две статьи от Meta* с ICASSP 2025 показывают, как сократить число вызовов декодера в ASR: в одной модель сразу предсказывает несколько токенов, в другой — принимает только те, у которых логиты выше порога. Разбираем, как устроены эти методы и как они влияют на скорость и WER.

Efficient Streaming LLM for Speech Recognition

Статья о стриминговой ASR-модели SpeechLLM-XL. Её архитектура состоит из двух компонентов: аудиоэнкодера и LLM-декодера. На вход декодеру одновременно подаются выходы аудиоэнкодера (как в обычной ASR) и токены, которые декодер уже успел предсказать.

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

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

Особенность SpeechLLM-XL — в устройстве генерации: в каждый момент LLM-декодер видит и текущий аудиочанк, и собственные предыдущие предсказания. Это позволяет ему лучше моделировать зависимость между звучанием и текстом, особенно в условиях ограниченного контекста.

Авторы сравнивают свою модель с другими стриминговыми ASR-решениями. По качеству SpeechLLM-XL обходит все перечисленные в работе бейзлайны на dev-наборах LibriSpeech. Например, на clean-части она показывает WER 2,5% против 2,9% у Transducer и 2,7% у ReaLLM при схожем размере чанка и lookahead — хотя сложно не заметить, что в целом скоры у бейзлайнов великоваты.

Faster Speech-LLaMA with Multi-token Prediction

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

Получается схема из трёх шагов:

1) Predict: модель сразу предсказывает K токенов.
2) Verify: среди них ищем самую длинную префикс-последовательность, которую можно подтвердить более строгим one-step-декодером.
3) Accept: принимаем только подтверждённые токены и продолжаем с новой гипотезой.

Это позволяет сократить число вызовов декодера без сильной потери качества. На графике видно, как число вызовов на слово (ось Y) падает, особенно при 4–6 головах, а качество (WER по оси X) остаётся на уровне. Лучший компромисс — 4 головы: ускорение ×2, при этом WER почти не растёт.

Верификацию авторы реализуют двумя способами:

— по порогу вероятности;
— по позиции гипотезы в top-N (например, если гипотеза оказалась в топ-5, то её можно принять).

Интересно, что при увеличении числа голов качество даже немного улучшалось. Хотя авторы отмечают это только на LibriSpeech, а на других датасетах наблюдается небольшая просадка.

По сути, это доработка идеи DeepSeek: там тоже пробовали multi-token prediction, но здесь её применили именно в ASR.

Алексей Рак Специально для Speech Info

* Компания Meta признана экстремистской; её деятельность в России запрещена.
869 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
DMDSpeech: Distilled Diffusion Model Surpassing The Teacher in Zero-shot Speech Synthesis via Direct Metric Optimization

Сегодня разберём статью о синтезе речи с помощью диффузионных моделей. Авторы из Adobe Research утверждают, что им удалось избавиться от главного недостатка такого подхода — медленного итеративного инференса — при помощи оригинального метода дистилляции.

Называется новый метод Direct Metric Optimization. Именно он вкупе с уже известной (но не очень популярной) методикой дистилляции DMD и бейзлайн-архитектурой Latent Speech Diffusion позволяет улучшить качество генераций.

Latent Speech Diffusion — диффузионный трансформер, оперирующий в пространстве непрерывных латентов (continious latents). Латенты авторы получают из чистой wave-формы при помощи энкодера дискретного аудиокодека. Потом добавляют к ним шум, U-net-подобной архитектурой итеративно расшумляют и декодируют с помощью стандартного диффузионного лосса.

Поскольку модель не авторегрессионная, размерность выхода необходимо знать заранее. Её выясняют, перемножая количество фонем на speaking rate речевого промпта.

Метод DMD работает так: расшумлённый результат ученика в заданный момент времени приближают к аналогичному результату учителя от одного зашумлённого латента. Для этого обучают специальную состязательную модель:

- при помощи дискриминатора отличать результаты ученика и учителя;
- сокращать за счёт ученика разницу между ним и учителем.

Предложенный метод генерации речи — end-to-end. Это значит, что в обучение для Direct Metric Optimization можно добавлять SV- и ASR-лоссы.

Аудиосэмплы доступны на GitHub.

Дмитрий Попов Специально для Speech Info
1 003 просмотров · 24 реакций Открыть в Telegram · Открыть пост на сайте
Synthio, Fugatto и MMAU: интересное с аудио на ICLR 2025

На ICLR в этом году было не так много статей на тему аудио, но несколько интересных работ всё же встретились — продолжаем разбирать их в этом и следующих постах.

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

Synthio: Augmenting Small-Scale Audio Classification Datasets with Synthetic Data

В статье предлагают пайплайн для генерации синтетических аудиоданных с помощью T2A-модели, которая по текстовому описанию создаёт аудио. Её сначала выравнивают на основе предпочтений, используя ограниченное количество размеченных примеров. После этого модель генерирует синтетику, пригодную для задач классификации.

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

Fugatto 1: Foundational Generative Audio Transformer Opus 1

Fugatto — универсальная аудиомодель, которая по текстовому описанию и/или аудиопримеру решает задачи синтеза речи (TTS), преобразования голоса (VC), генерации аудио по тексту (T2A), шумоподавления и другие. Всё в одной архитектуре.

Модель построена на flow matching — это позволяет отказаться от GAN-дискриминаторов и легче масштабировать обучение. В качестве данных собирают максимально разнообразные открытые датасеты по всем типам задач. Для генерации инструкций, которым должна следовать модель, используют LLM: она пишет код на Python, который вызывает нужный аудиоэффект (например, через библиотеку Pedalboard).

Авторы показывают emergent-эффекты: модель способна выполнять необычные преобразования, которых явно не было в обучении — например, «лающий женский голос» или «мяукание саксофона». Также они демонстрируют, как можно итеративно прогонять сэмплы между A2T- и T2A-моделью, уточняя выходы на каждом шаге.

MMAU: A Massive Multi-Task Audio Understanding and Reasoning Benchmark

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

Бенчмарк сложный: требует не просто услышать звук, но и понять его структуру. Некоторые модели (например, MuLaLaMa и SALMONN) почти не теряют точности при замене аудио на шум — значит, не используют сам звук. А вот Gemini 1.5 Pro и Qwen2 действительно извлекают аудиосигнал: при шуме качество падает. Gemini 1.5 Pro лучше всего справляется с задачами фонетического анализа.

MMAU подчёркивает важность реального аудиопонимания: на нём даже сильные мультимодели работают на уровне 59% точности. Из аблейшна авторов следует, что основная доля ошибок приходится на perceptual errors. То есть моделям пока сложно понимать, что именно происходит на записи.

Влад Батаев Специально для Speech Info

#YaICLR
883 просмотров · 19 реакций Открыть в Telegram · Открыть пост на сайте
Обзор статей с ICASSP 25. Часть 2: голосовая активация

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

An Efficient and Streaming Audio Visual Active Speaker Detection System

Статья от Apple на тему детекции активного спикера в стриминговом видео с помощью аудио- и видеосигналов. Такая задача уже решается в колонках Amazon и Google. Архитектура построена на двух похоже устроенных энкодерах: аудио- и визуальном. В них используются каузальные свёртки, которые не «заглядывают» в будущее — это важно для стриминга.

После извлечения признаков фреймы выравниваются и объединяются, чтобы для каждого момента времени были и аудио-, и визуальные фичи. Поверх этого авторы обучают трансформер. Трансформеру за счёт использования масок также ограничивали возможность «заглядывать» в будущее.

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

По ощущениям, решение довольно зрелое: авторы утверждают, что обучали модель не только на YouTube, но и на внутренних данных.

SLiCK: Exploiting Subsequences for Length-Constrained Keyword Spotting

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

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

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

Если первые два пункта уже встречались ранее, то третий — нововведение этой статьи, которое, судя по результатам, приносит заметный прирост по качеству.

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

В следующей части обзора расскажем о двух LLM для улучшения ASR.

Алексей Рак Специально для Speech Info
855 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Обзор статей с ICASSP 25. Часть 1: шумоподавление в наушниках

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

Towards Sub-millisecond Latency Real-Time Speech Enhancement Models on Hearables

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

Авторы сделали компактную нейросеть, которая предсказывает параметры FIR-фильтра — по сути, какую свёртку применить к звуку. Эта свёртка обновляется каждые 8 мс, но применяется сразу к новым аудиофрагментам, так что задержка остаётся минимальной — 2–3 мс (алгоритмическая задержка — 1 мс, а всё остальное — вычислительная). Работает даже на слабом железе — тестировали на 600 MHz HiFi4 Audio DSP(Cadence), и там всё летает.

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

BONE CONDUCTED SIGNAL GUIDED SPEECH ENHANCEMENT FOR VOICE ASSISTANTON EARBUDS

Ещё одна статья о шумоподавлении, но уже для очистки того, что пользователь наушников говорит, а не слышит. Человек говорит в шумной обстановке (на улице, на ветру, в метро), и сам этого может даже не замечать. Снаружи всё гудит, а внутри уха — тишина. Только вот собеседнику слышно совсем не так.

В современных наушниках уже есть не только внешние микрофоны, но и внутренние, которые улавливают сигнал через кость черепа. Он искажён, но в нём почти нет внешнего шума. Его и используют.

Вход у модели — два канала: грязный внешний микрофон и искажённый, но «чистый» костный сигнал. Всё это подаётся в Cleanformer — это их старая модель, адаптированная под такую задачу. Cleanformer предсказывает маску, которую потом накладывают на внешний сигнал, чтобы его «почистить»: сохранить полезные частоты и убрать шум. Похожую модель Google использует уже довольно давно для очистки звука в умных колонках.

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

В следующей части разберём пару работ о голосовой активации.

Алексей Рак Специально для Speech Info
1 377 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
Moshi в деталях: новая архитектура диалоговой системы в реальном времени. Часть 2/2

Продолжаем разбирать Moshi — диалоговую систему, которая совмещает распознавание, чат-бота и синтез речи в одной модели. В первой части речь шла о LLM Helium и аудиокодеке Mimi. Здесь — о том, как устроена сама Moshi и как работает механизм переключения между «слушать» и «говорить».

Moshi

На следующем этапе авторы хотят научить текстовую LLM Helium аудиомодальности, а конкретно — предсказывать токены от Mimi. Да ещё и так, чтобы модель не потеряла свои LLM-ные знания.

Наша задача — предсказывать матрицу из токенов с размерностями времени на 8 кодеков. Для этого модель Moshi состоит из двух трансформеров: Temporal Transformer и Depth Transformer.

Temporal Transformer — это большой трансформер, проинициализированный весами Helium. Он будет авторегрессивно идти по размерности времени и генерировать эмбеддинг для каждого тика времени. Depth Transformer инициализируется шумом. Его задача — на каждом шаге Temporal Transformer-a закондишениться на сгенерированный эмбеддинг и развернуть его в 8 Mimi-токенов.

Учиться вся эта конструкция будет в три этапа. Тут опускаем много подробностей, но идея примерно такая:

1. Учимся на огромном, шумном audio-only датасете. На этом этапе моделька познаёт аудиомодальность и пытается соотнести её с текстовой модальностью.

2. Учимся на синтетических диалоговых данных. Здесь модель учиться слушать и слышать одновременно, подстраивается под диалоговый формат (так называемый full-duplex-режим).

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

Важнейшая фича Moshi — full-duplex: способность модели одновременно слушать и говорить. С ней диалог получается плавнее и человечнее, в нём могут быть одновременные реплики, перебивания и междометия. Модель достигает режима full-duplex с помощью алгоритма Inner Monologue.

Inner-monologue

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

Дальше мы хотим учить модельку на этих данных. Тут полезно посмотреть на картинку.

— Мы хотим, чтобы в каждый момент времени наша моделька работала с тремя стримами информации: аудио, которое произносит пользователь (8 токенов), аудио, которое произносит Moshi (8 токенов), и текст, разбавленный паддингами, который произносит Moshi (1 токен). На картинке они показаны сверху вниз.

— Мы хотим все три стрима подавать на вход к модельке. Соответственно для каждого стрима токенов будет своя матрица эмбеддингов, которые в итоге складываются.

— На выход мы хотим получать только текст и аудио реплик. На картинке — это оранжево-жёлто-зелёные (каждый цвет — отдельное слово) токены. Текст предсказывает линейная голова поверх Temporal Transformer, а для аудиотокенов есть Depth Transformer.

— В такой парадигме моделька учится и инферится.

Moshi вышла 7 месяцев назад и, кажется, уже потихоньку устаревает. Если попользоваться демкой, сначала она приводит в восхищение, но потом становятся заметны косяки: модель говорит глупости, неуместно перебивает, начинает отвечать с большой задержкой. Она ощутимо слабее, чем, например, VoiceMode от OpenAI. Но у ребят подробная статья, много интересных выводов и экспериментов, а также выложенный в открытый доступ кодек. Это довольно большой вклад в область.

Роман Кайль Специально для Speech Info
847 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
Moshi в деталях: новая архитектура диалоговой системы в реальном времени. Часть 1/2

Разбираем статью о real-time dialogue-модели Moshi, которая, в отличие от предыдущих диалоговых систем, объединяет в одной архитектуре три компонента: ASR (распознавание речи), LLM (языковая модель) и TTS (синтез речи). Такая схема позволяет воспринимать речь и генерировать ответ одновременно. Управление тем, когда говорить и когда слушать, реализовано через специальный управляющий токен. (Даже я не всегда так умею — прим. автора).

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

Helium

Простая текстовая модель, предсказывающая следующий токен.

Претрейн модели проводился на 2,1 трлн токенов. (Для сравнения: Llama 2 — 1,8 трлн, Llama 3 — 15,6 трлн). Данные собирали, фильтруя CommonCrawl — огромный дамп интернета, где много мусора, но если хорошо почистить, получается неплохой датасет. В итоге датасет состоит из 87,5% CommonCrawl и 12,5% Wikipedia.

После претрейна провели три дополнительных этапа обучения: пост-тренировку, файнтюнинг и инструкционное обучение — чтобы модель лучше справлялась с диалогами. По оценке авторов, Helium сравнима с Llama 2 и первым Mistral, но не дотягивает до Llama 3.

Mimi

Нейросетевой аудиокодек на основе Residual Vector Quantization (RVQ). Архитектура — стандартный энкодер-декодер, но с интересными деталями: обычно в аудиокодеках используются только свёрточные слои, а тут добавили трансформеры — в конце энкодера и в начале декодера. Это сделало кодек умнее (и тяжелее).

Ещё одно важное отличие Mimi от остальных аудиокодеков — у него довольно маленькая герцовка. Mimi нужно 12,5 векторов, чтобы закодировать секунду аудио. Для сравнения у EnCodec — 75, WavTokenizer — 40. За счёт этого трансформер поверх такого кодека можно учить с бóльшим батчем (в секундах) и быстрее инферить.

Набор лоссов у Moshi примерно такой же, как и у HiFi-GAN-a. Единственное отличие — это то, что авторы убрали L1-loss между STFT-спектрограммами, из-за плохой корреляции с человеческим восприятием. Без него субъективные метрики получались лучше.

Главное ноу-хау Mimi — семантическая дистилляция, которая позволяет получить акустические токены со свойствами семантических.

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

Семантические токены делаются SSL-моделями — здесь это WavLM. Эти токены хорошо связаны между собой, они кодируют смысл сказанного в аудиозаписи. Но они не предназначены для того, чтобы восстанавливать из них аудиозапись.

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

Решение — дистиллировать семантические эмбеддинги WavLM в акустические эмбеддинги Mimi. Для этого нужно посчитать косинусное расстояние между эмбеддингами WavLM и Mimi и использовать это как дополнительную компоненту лосса. Есть одна проблема — у моделей разные герцовки: у WavLM — 50, а у Moshi — 12.5, в 4 раза реже. Мы не можем просто посчитать косинусное расстояние между соответствующими эмбеддингами. Чтобы справиться с этим, авторы применили AveragePooling со stride-ом 4 к последовательности эмбеддингов из WavLM и привели обе последовательности к одной частоте — 12,5.

В следующей части разберём главное об устройстве модели Moshi и алгоритма Inner-monologue.

Роман Кайль Специально для Speech Info
852 просмотров · 29 реакций Открыть в Telegram · Открыть пост на сайте
WavChat: A Survey of Spoken Dialogue Models. Часть 4/4

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

В предыдущих сериях: 1, 2, 3.

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

Полудюплекс включает в себя автоматическое определение конца речи, после которого она обрабатывается и ответ возвращается в виде аудио — как это реализовано в Alexa, Алисе и других умных помощниках.

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

Ещë в статье была часть про бенчи, которая скорее расстроила: эффективно измерять качество именно диалоговых систем пока толком не на чем. Есть замеры, которые сравнивают отдельные аспекты «умности» диалоговых систем/ALM. При этом у выигрывающих по бенчам статей далеко не всегда самые впечатляющие демо.

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

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

Для себя я вынес следующее:

1. SpiritLLM, Moshi, SyncLM — интересные реализации диалоговых систем.

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

3. Нормальных бенчей нет.

4. Дюплекс — правильный путь, но работает пока только у Moshi, и то плохо. Спойлер, выходящий за пределы этого обзора: кажется, у Sesame.com получилось.

5. Статей становится всё больше, так что будущее — за e2e-диалоговыми системами.

Итоговый вывод: скам статья или не скам? На мой взгляд, статья — не скам. Например, с неё будет полезно начать, чтобы понять, что вообще происходит в отрасли.

Никита Рыжиков Специально для Speech Info
886 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
WavChat: A Survey of Spoken Dialogue Models. Часть 3/4

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

В предыдущих сериях: 1, 2.

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

Авторы рассматривают разные способы объединять текстовые и аудиоданные на этапе тренировки (как на картинке). Но одними из самых многообещающих считают интерливинг и chain-of-modality.

Оба этих подхода позволяют учиться на больших корпусах частично структурированных данных, запоминая как структуру аудиоданных, так и взаимное обусловливание речи и текста друг на друга. А вот обучение адаптера в text-only-output-парадигме на большом наборе датасетов из разных задач (как было в SALMONN и Qwen-Audio) авторы считают не очень жизнеспособным. Полноценно обучить синтезу, в отрыве от других задач, нельзя — а значит, диалог с такой моделью проиграет в естественности другим подходам.

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

Продолжение следует.

Никита Рыжиков Специально для Speech Info
1 018 просмотров · 17 реакций Открыть в Telegram · Открыть пост на сайте
Продолжаем делиться постерами с ICLR!

Несём ещё несколько любопытных работ, которые заметили и прокомментировали наши засланные казачки.

Restructuring Vector Quantization with the Rotation Trick

Чтобы лучше реконструировать входные данные в VQ-VAE, нужен всего лишь простой советский... Rotation trick! Суть идеи в том, что за счёт поворота центры кластеров сдвигаются в разные стороны, что заставляет лучше использовать векторы в кодбуке. Добавляются три строчки кода без замедления обучения — и получается качество реконструкции на уровне VQ-GAN. Есть код — и, учитывая простоту имплементации, решение можно будет легко попробовать на практике.

BALROG: Benchmarking Agentic LLM and VLM Reasoning On Games

Vision-Language Model Dialog Games for Self-Improvement

Две независимые друг от друга работы. В первой — сделали несколько процедурно генерируемых игр. Стэйты игр скармливали разным LLM в текстовом и визуальном формате и замеряли качество работы — лучшие результаты у Gemini. Во второй статье отметили, что Gemini «из коробки» неплохо справляется с процедурно генерируемыми играми разной семантики. (Есть предположение, что Google использует текстовое описание партий игр, как источник данных на претрейне).

Speech Robust Bench: A Robustness Benchmark For Speech Recognition

Авторы предложили бенчмарк для сравнения моделей распознавания речи по разным аспектам: устойчивости к шуму, far-field и акценту. Правда, в их формуле расчёта упоминается не самая надёжная метрика PESQ, а обсудить этот выбор на месте, к сожалению, было не с кем: авторы не приехали.

Aria-MIDI: A Dataset of Piano MIDI Files for Symbolic Music Modeling

Собрали датасет с YouTube — выбрали записи с чистой игрой на пианино. На основе них с помощью пайплайна MAESTRO подготовили датасет, который можно использовать для генеративной музыки. Также обучили модель, которая делает MIDI-транскрипцию аудиофайлов. Бонус: на постере есть красивая визуализация со сравнением композиторов (в самой статье её нет).

Никита Рыжиков, Степан Комков и Влад Батаев специально для Speech Info

#YaICLR
872 просмотров · 13 реакций Открыть в Telegram · Открыть пост на сайте
Как Яндекс Браузер переводит видео с сохранением оригинальных голосов

Перевод видео в Яндекс Браузере появился ещё в 2021 году. Сегодня компания представляет новую версию этой технологии, способную сохранять тембр и интонации оригинального голоса. А сам перевод стал точнее благодаря YandexGPT. В статье на Хабре вы можете почитать все подробности о том, как устроен инструмент, а здесь расскажем коротко.

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

Одна из них связана с качеством zero-shot-синтеза, то есть генерации аудио тем же голосом, что и в аудиопромпте. Результат может быть не похожим на исходник, а при переносе тембра с английского на русский появляется акцент.

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

Ещё один недостаток Tortoise-TTS — низкая скорость инференса, из-за которой модель и получила своё название. В Яндексе оптимизировали её архитектуру, уменьшили количество итераций в диффузионной модели и применили технику дистилляции знаний. Благодаря этому, генерация ответа происходит в реальном времени.

SBS-тестирование показало, что новый перевод видео в Яндекс Браузере значительно превосходит решение ElevenLabs: 62% побед против 34%. Что касается исключительно озвучивания, то есть превращения текста в речь, то здесь система Яндекса также впереди: 46% против 42%.

Speech Info
3 451 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
ICLR 2025 в Сингапуре близится к завершению

В этом году конференция приняла 3704 статьи (из 11 672 поданных). Для сравнения: в прошлом году их было 2 260. Мы старались освещать наиболее интересные работы, а в этом посте собрали все наши материалы о ICLR 2025:

- Прямое включение из Сингапура
- Подборка интересных статей первого дня конференции
- Атмосферные фото и видео с места событий
- Обзор статьи “Scaling Transformers for Low-Bitrate High-Quality Speech Coding”

А ещё к нам в руки попали любопытные фото: так выглядят четыре дня на другой крупной конференции (сверху) и два дня на ICLR (снизу) — интенсивность программы видна невооружённым глазом!

Больше разборов, интересных постеров, фото и видео с ICLR вы найдёте в наших других каналах: @timeforcv, @RecSysChannel, @MLunderhood, @stuffyNLP.

Speech Info

#YaICLR
999 просмотров · 7 реакций Открыть в Telegram · Открыть пост на сайте
Scaling Transformers for Low-Bitrate High-Quality Speech Coding

Мечта многих — заменить олдскул в аудиокодеках на нормальный трансформер. У авторов это, наконец, получилось, хоть и не сразу. Они обнаружили, что «трансформер в лоб» не работает — и пошли разбираться почему. На постере причину не написали, но мы спросили — ведь ML-аудитории важны не только архитектура и таблички с метриками.

Так вот. Если обучить трансформерный кодек и проверить его через adversarial-атаку на дискриминатор, можно увидеть: искажения группируются по границам STFT-патчей, которые мы снимаем с wave-формы. Это значит, что трансформеры умеют подстраиваться под дискриминатор, ломая wave-форму в правильных узких областях. А эти узкие места всегда повторяются из-за регулярности периодичности.

Можно заметить, что сейчас мода на дискриминаторы с периодикой по простым числам. Авторы действуют нестандартно: используют дискриминаторы не по числам, а по золотому сечению. Говорят, что просто перебирали разные периодичности и пришли к этому решению. (Ссылку на работу Луки Пачоли дать забыли).

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

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

В целом это всё напоминает статью Zoom с Interspeech, где использовали достаточно большой дискриминатор — и без просадок в инференсе получили буст качества.

Степан Комков специально для Speech Info

#YaICLR
913 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
Первый день ICLR 2025: интересные статьи и один грустный тренд

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

Dynamic-SUPERB Phase-2: A Collaboratively Expanding Benchmark for Measuring the Capabilities of Spoken Language Models with 180 Tasks

Статья про бенчмарк для spoken language моделей. Представляет собой набор из множества задач по описанию разных аспектов для моделей, принимающих аудио на вход.

Авторы мало касаются диалогов или voice-to-voice-сценариев — фокус смещён на задачи распознавания, понимания и другие аспекты обработки аудио.

Число заданий увеличили с 70 до 180, и собираются сделать ещё больше. Оценка построена на иерархии задач, и внутри неё значения скоров осредняются без взвешивания.

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

SyllableLM: Learning Coarse Semantic Units for Speech Language Models

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

Flow Matching Achieves Almost Minimax Optimal Convergence

Рубрика «Если долго сидеть на берегу реки, можно увидеть, как проплывает труп твоего врага»игнорировать ML-тренд (а именно Flow Matching), можно увидеть статью, его обличающую». Авторы показывают, что гарантии сходимости по времени для Flow Matching и обычного диффузионного процесса имеют одинаковый порядок. Но сравнивать эти подходы напрямую сложно: один оценивает сходимость через KL-дивергенцию, другой — через расстояние Вассерштейна.

И напоследок — немного печальный тренд

Кажется, квантовые фонды (Hudson River Trading, Jane Street, Jump Trading и прочие) пытаются доминировать: в выставочном центре очень много их стендов. Не теряем надежды увидеть больше научных работ!

Никита Рыжиков и Степан Комков специально для Speech Info

#YaICLR
803 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
WavChat: A Survey of Spoken Dialogue Models. Часть 2/4

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

Предыдущая часть

Классификация моделей по архитектуре: каскадность или сквозная реализация (end2end). С каскадными моделями всё стандартно. ASR конвертирует пользовательский запрос в текст и передаёт в LLM, а LLM отправляет ответ в TTS. Так работает большинство голосовых помощников прошлого поколения: они очень слабы в выражении эмоций, потому что, переводя входящий запрос в текст, теряют информацию о тоне голоса, эмоциях и интонациях. В итоге ответные реплики нейросети выглядят неестественно. Кроме того, при передаче данных из системы в систему добавляются паузы, что приводит к дополнительным задержками.

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

Авторы выделяют модели вроде SALMONN или Qwen-Audio, которые объединяют не весь стек, а лишь его части: ASR+LLM и отдельная модель для TTS.

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

В случае с токенайзерами есть ещё одна точка ветвления — они могут быть семантическими или акустическими. Семантические (например, wav2vec, BEST-RQ, HuBERT и WavLM) восстанавливают участки аудио по контексту. А акустические (EnCodec, Mimi, SpeechTokenizer и т.д.) сжимают и разжимают аудио до ограниченного набора токенов.

Авторы отмечают, что токенайзеры, особенно акустические, сегодня доминируют в публикациях и позволяют реализовать next-token prediction — ключевой механизм для ALM. Но в итоге склоняются к тому, что будущее — за более сложными токейнайзерами, которые объединят в себе плюсы работы с семантическими и акустическими токенами.

Продолжение следует.

Никита Рыжиков Специально для Speech Info
881 просмотров · 19 реакций Открыть в Telegram · Открыть пост на сайте
WavChat: A Survey of Spoken Dialogue Models. Часть 1/4

Сегодня поделимся суммаризацией главным из большого обзора разговорных ИИ. Сначала он кажется неплохой попыткой систематизировать происходящее в мире ALM: авторы анализируют тренды и на основе существующих публикаций пытаются понять, куда всë идёт и как было бы лучше. Но в какой-то момент статья начинает повторять саму себя. Тем не менее, лучшей попытки осознать происходящее мы не нашли. Давайте разбираться.

Идея объединить аудиомодальность с LLM давно будоражит умы академии и индустрии. Но долгое время никто толком не мог понять, для чего это нужно. Первой значимой попыткой можно назвать Whisper, который заставил seq2seq-модель предсказывать не только ASR, но и перевод.

На диаграмме легко заметить, какой именно момент развития ALM стал переломным и сделал очевидным, что нужно двигаться к разговорным моделям: когда коммьюнити узнало о GPT-4o. OpenAI показали, как аудиомодальность может сделать диалог с LLM естественным, почти бесшовным, решая между делом не только задачи распознавания синтеза, но и, например, классификацию скорости дыхания.

Авторы считают, что всё нужно свести к voice-to-voice диалоговому стеку. Его можно собрать из последовательной работы моделей (ASR-LLM-TTS), сделать end2end или составить из частичных фьюзов отдельных компонент. Трёхстадийный каскад ASR-LLM-TTS при этом предлагается считать бейслайном, о который нужно калиброваться. И побеждать его — учиться понимать особенности речи, воспринимать звуки, уместно отвечать или, наоборот, пропускать реплики.

В статье выделяют девять навыков, которыми должны обладать диалоговые модели:

- Text Intelligence;
- Speech Intelligence;
- Audio and Music Generation;
- Audio and Music Understanding;
- Multilingual Capability;
- Context Learning;
- Interaction Capability;
- Streaming Latency;
- Multimodal Capability.

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

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

Дальше попробуем пошагово проследить эту классификацию.

Продолжение следует.

Никита Рыжиков Специально для Speech Info
4 222 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
Билингвальный ASR — уже в станциях и чате с Алисой

Мы с хорошими новостями — теперь Алиса знает два языка: русский и английский! При этом распознавание русского не пострадало, а стало даже лучше. Обновлённая Алиса и поддержит диалог с носителем, и поможет улучшить навыки новичка. Мы ликуем, пользователи в восторге, а вот репетиторы и всем известная сова немного грустят.

Евгений Ганкович, руководитель группы ASR, рассказал, с какими вызовами столкнулась команда:

— Необходимо было обучить модель, которая способна работать с новым языком, при этом критически важно было не просадить качество на русском.
— Домен английского для русскоговорящих пользователей специфичен и не решается с помощью открытых данных.
— End-of-utterance (EOU) по многим причинам работает у англоговорящих пользователей иначе.
Разберём, почему нужно было создавать билингвальную модель, а не обучать две отдельные.

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

В теории можно использовать классификатор: задан запрос, система определяет язык и направляет его в соответствующую модель. Но чтобы точно определить язык, придётся подождать несколько секунд. К тому же такая система сложнее в поддержке и плохо справляется со смешанными языками (см. «смотря какой fabric, смотря сколько details»).

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

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

- End-of-utterance (EOU) — модель на основе аудио и паршального распознавания, которая определяет, когда пользователь закончил говорить.
- E2E Seq2Seq на базе трансформеров — модель распознаёт завершённый фрагмент речи на русском или английском языках.

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

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

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

Оставалось разобраться с EOU. Здесь были сложности из-за режима, в котором можно вести диалог с Алисой. Пользователи сценария могут делать паузы, растягивать слова, и в таких случаях обычная модель может преждевременно обрезать речь. Дослушивать мы тоже не можем — это может повлиять на другие компоненты и ответы Алисы сильно замедлятся.

Решение крылось в добавлении в пайплайн EoU более робастной и стабильной модели, способной учитывать паузы и длительность речи. Хотелось бы рассказать о технологии подробнее, но для этого потребуется описать весь пайплайн распознавания — если вам интересно, дайте знать в комментариях.

В итоге мы получили результат, который стал важной частью большого релиза:

— Голосовой набор сообщений на английском языке в чате и колонке;
— Сценарий диалогового тренажёра на колонке: пользователи могут вести диалог с Алисой, получать фидбек и переводить текст голосом.

Зовём протестировать, что у нас получилось: попробуйте поговорить с Алисой на английском или скажите: «Алиса, давай практиковать английский».

Евгений Ганкович Специально для Speech Info
3 630 просмотров · 17 реакций Открыть в Telegram · Открыть пост на сайте
Mamba-модели в задачах Speech Enhancement

Заключительный пост трилогии о Mamba. Впервые эту архитектуру упомянули в контексте задач Speech Enhancement в статье «An Investigation of Incorporating Mamba for Speech Enhancement».

В этой работе модель устроена довольно просто: waveform domain → Short-Time Fourier Transform (STFT) для перехода Time-Frequency domain → Encoder → TF-Mamba → Decoder → Inverse STFT → waveform domain. Авторы сравнивают Mamba с трансформерами и показывают, что достигают того же качества, но с меньшим числом FLOPs-операций и количеством параметров.

Использование Mamba-блоков продолжили развивать в другой статье: «Mamba-SEUNet: Mamba UNet for Monaural Speech Enhancement», где их добавляют в U-Net на этапе обработки скрытых представлений для улавливания как локальных, так и глобальных зависимостей. Каждый Mamba-блок — двунаправленный, что позволяет использовать информацию о будущем и прошлом. Архитектура модели стандартная для U-Net: состоит из нескольких downsample- и затем upsample-блоков со skip-connection между ними, как показано на картинке.

Рассмотрим Mamba-блоки (TS-Mamba) подробнее. Как сказано ранее, они двунаправленные: входное представление параллельно обрабатывается блоками Forward Mamba и Backward Mamba. Постпроцессинг (RMSNorm) применяется к выходам обоих блоков, затем результаты конкатенируются и прогоняются через линейный слой. Формально каждый Mamba-блок (forwardи backward) такой же, как и в предыдущих работах. Отметим, что авторы используют Mamba-блоки и по времени, и по частотам, чтобы учитывать и временные, и частотные зависимости.

Для экспериментов выбирают четыре варианта модели с разным количеством параметров (зависит от размерности C1 и количества TS-Mamba-блоков N):

— Mamba-SEUNet (XS) — 0.99M параметров;
— Mamba-SEUNet (S) — 1.88M параметров;
— Mamba-SEUNet (M) — 3.78M параметров;
— Mamba-SEUNet (L) — 6.28M параметров.

Их сравнивают c такими SOTA-моделями, как MP-SENet и SEMamba (упомянута в начале поста) на датасете VCTK+DEMAND. Согласно замерам маленькая модель Mamba-SEUNet (XS) показывает сопоставимое качество по метрикам CSIG (4.75), CBAK (3.95) и COVL (4.23), имея вдвое меньше параметров и в разы меньше FLOPs-операций.

Для сравнения Mamba-блоков с conformer- и transformer-блоками авторы используют текущий U-Net, в котором заменяют TS-Mamba на conformer и transformer соответственно. Замеры показывают, что Mamba-SEUNet сравним по качеству с U-Net’ами, у которых conformer или transformer вместо Mamba-блоков. Но Mamba-SEUNet имеет меньше FLOPS-операций, а по количеству параметров меньше или сравнимо с U-Net с conformer и transformer. Код модели выложен в открытый доступ.

Екатерина Кузина Специально для Speech Info
10 761 просмотров · 10 реакций Открыть в Telegram · Открыть пост на сайте
Mamba-like архитектуры. Часть 2/2: Samba и Samba-ASR

Samba: Simple Hybrid State Space Models for Efficient Unlimited Context Language Modeling


Samba комбинирует Mamba-блоки со sliding window attention из Longformer и MLP-блоками. Классический Samba-блок — это Mamba + MLP + SWA + MLP. За длинный контекст отвечают Mamba-блоки, а за краткосрочные зависимости — attention, который обрабатывает данные внутри окна.

Оказалось, что этот подход работает,обходя Llama 3 по бенчмаркам на reasoning, понимание языка и генерацию кода. Авторы также измерили perplexity на наборе данных SlimPajama, сравнив результаты с Llama 2, другими attention-based и Mamba-based моделями. По скорости обучения все примерно равны, но Samba и Mamba успешно работают с длинными контекстами, а у Llama 2 качество резко ухудшается уже на контексте в 32k токенов.

В другом эксперименте качество (perplexity) Samba 1.7B, Mamba 1.8B и Llama 3 1.6B замеряют на ProofPile и оказывается, что Samba и Mamba способны поддерживать контекст длиной до 1M без просадки по качеству, в то время как качество Llama 3 проседает уже на контексте длиной в несколько тысяч токенов.

Samba-ASR: State-Of-The-Art Speech Recognition Leveraging Structured State-Space Models

Наконец, мы дошли до Samba-ASR. Сразу скажем, что она не имеет никакой связи с предыдущей моделью Samba, а основана на стандартных Mamba-блоках.

Модель состоит из аудиоэнкодера, собранного из Mamba-блоков, и декодера, который принимает эмбеддинги из энкодера через механизм Mamba-cross-connection. К ним добавляют learned positional эмбеддинги для токенов уже транскрибированного текста, всё объединяется, и предсказывается следующий текстовый токен.

Авторы заявляют, что это новая SOTA — они валидируются не на всех датасетах, но на LibriSpeech и GigaSpeech модель лидирует (в сравнении с CrisperWhisper, Canary и Parakeet). Однако модель не open-source — ну нас нет ни кода модели, ни кода обучения, поэтому сложно сказать что-то о достоверности результатов. Тем не менее не исключено, что это новый игрок на ASR-рынке, о котором мы ещё услышим.

Екатерина Козлова Специально для Speech Info
843 просмотров · 10 реакций Открыть в Telegram · Открыть пост на сайте
Mamba-like архитектуры. Часть 1/2: Mamba и Jamba

Сегодня разберём четыре архитектуры, которые основаны на идее State Space Models (SSM). Одна их них используется в задаче ASR.

Mamba: Linear-Time Sequence Modeling with Selective State Spaces

В этой статье авторы развивают идею SSM, дополняя классическую архитектуру «механизмом выбора» (selection mechanism). Анализируя предыдущие работы с SSM-like-архитектурами, авторы приходят к выводу, что именно возможность Mamba отбирать наиболее важные входы (selection in an input-dependent manner) позволяет ей достигать уровня трансформера на задачах моделирования, при этом сохраняя свою линейную сложность.

При анализе современных моделей, работающих с длинным контекстом, авторы делят их на efficient и effective. Первые — быстрые благодаря небольшому state, вторые — с крупным state, способные хранить больше информации. Авторы стремятся найти баланс — сделать обработку быстрой, но при этом сохранить важные детали. Именно для этого и используется selection mechanism.

В базовых SSM матрицы состояний (B и C) имели размер D × N, где D — размерность эмбеддингов, а N — размерность скрытого состояния. Теперь их «развернули во времени» — в новые матрицы состояний добавили новую временную размерность, следовательно, их новый размер — B × L × N. Это дало модели некоторое понимание временного контекста.

В стандартном SSM-подходе свёрточная и рекуррентная модели эквивалентны. Здесь же — свёрточное представление теряется из-за появления input dependency, и возникает сканирование (scan) — матрицы состояния теперь меняются в зависимости от времени.

Mamba-блок получается в результате микса старых и новых идей. Берётся H3-блок — это первый блок в SSM-моделях старого (не input-dependent) подхода, в него добавляется selection mechanism; модифицированный H3-блок миксуют с Gated MLP. Полученные Mamba-блоки впоследствии либо совмещают друг с другом (классическая Mamba), либо смешивают с attention’ом в разных пропорциях. Эти эксперименты описаны в следующих статьях.

Jamba: A Hybrid Transformer-Mamba Language Model

Jamba — попытка смешать Mamba-блоки с attention, получить хорошее качество и большое количество токенов в секунду на гигантском контексте.

В основе — комбинация слоёв: трансформерного, Mamba-слоя и смеси экспертов (MoE). Их стакают в разных пропорциях, лучшим оказывается соотношение 1:7 (на каждый блок трансформера приходится 7 Mamba-блоков); при этом каждый второй из Mamba-блоков — это Mamba-MoE с 16 экспертами.

У Mamba без attention возникали сложности с задачами, где важен жёсткий формат ответа, а также с in-context learning. Jamba решает эти проблемы:
— Mamba-слои и эксперты позволяют работать с длинным контекстом;
— Attention-слой помогает справляться с in-context learning и строгими форматами ответов.

По бенчмаркам, связанным с качеством, Jamba оказывается на уровне Mistral 8x7B, при этом побеждая Llama 2 13B и Llama 2 70B; при этом по пропускной способности Jamba побеждает всех конкурентов с большим перевесом, обеспечивая пропускную способность в 1500 токенов в секунду на контексте 128k.

Даёт Jamba-подход и прирост на бенчмарках на следование формату. В IMDB модель должна отвечать одной из двух категорий: positive или negative. Классическая Mamba не всегда следовала формату и периодически давала случайные ответы, например, «3 из 10». Но при смешивании Mamba с attention эта проблема исчезала — оценка на этих бенчмарках выравнивалась.

Екатерина Козлова Специально для Speech Info
821 просмотров · 15 реакций Открыть в Telegram · Открыть пост на сайте
Устройство State Space Models

Начинаем делиться полезным в этом канале с обзорного рассказа о State Space Models (SSM). Предлагаем стартовать с погружения в их устройство, а в следующем посте — посмотрим на разные архитектуры и то, как одну из них применяют в ASR.

Классическая State Space Model — это непрерывная динамическая модель, имеющая вид дифференциального уравнения. Входы модели u проходят через матрицу B и вносят свой вклад в скрытые представления модели x; выходы модели при этом — смесь входов и скрытых представлений:




x’ = Ax + Bu
y = Cx + Du
{}



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

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

Если же мы хотим распараллелить вычисления во время обучения модели, рекуррентное представление нам не подойдёт — именно поэтому бывает полезно представлять SSM как свёрточную сеть. Если «развернуть» рекуррентное уравнение и расписать все слагаемые, входящие в последний выход модели, окажется, что этот выход можно представить как сумму всех входов, умноженных на некоторый набор матриц. Его и можно считать ядром свёртки. Тем самым мы получили возможность работать со всеми входами сразу, а значит, эффективно тренировать модель. Подробности о ядре свёртки можно почитать тут, ​​а о том, как должна выглядеть матрица А, — здесь.

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

Екатерина Козлова Специально для Speech Info
828 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
ПШ-ПШ... Как слышно? Добро пожаловать в @speechinfo — главный таблоид о распознавании речи, генеративном аудио и других голосовых технологиях. Мы, инженеры из Яндекса, не просто читаем свежие статьи по ML и аудио, а ещё разбираем их, ищем подводные камни и иногда выносим вердикт: полезна ли публикация.

Подписывайтесь, если хотите держать руку на пульсе и просто душевно болтать об аудио в хорошей компании.
872 просмотров · 10 реакций Открыть в Telegram · Открыть пост на сайте