ym97433607
Как мы научили GigaChat слышать: погружение в аудиомодальность

Как мы научили GigaChat слышать: погружение в аудиомодальность

13 мая 2025

В конце прошлого года аудиомодальность GigaChat впервые была публично продемонстрирована на нашей конференции. Теперь аудиомодальность GigaChat доступна всем  в веб-интерфейсе giga.chat и Telegram-боте!

Сегодня мы расскажем, почему ушли от классической схемы ASR (Automatic Speech Recognition) + LLM и построили end-to-end-модель, которая понимает речь; как устроена наша новая модель; на каких данных мы её обучали; и что из этого получилось.

GigaChat аудиомодальность

От ASR + GigaChat к нативной поддержке аудио

Ранее речевые сценарии реализовывались связкой SaluteSpeech ASR и GigaChat Max. Несмотря на фундаментальные модели под капотом SaluteSpeech и регулярную адаптацию сервиса к запросам различной тематики, такой подход имел ряд ограничений:

  • Потеря информации: ошибки ASR неизбежно влияли на точность дальнейшей обработки текста. Например, запрос «чем Tensor Parallelism отличается от Sequence Parallelism» не распознавался корректно и приводил к неудовлетворительному ответу модели.

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

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

  • Ограниченные мультиязычные возможности: использование модели распознавания речи снижает возможность работы с языками, которые знает GigaChat, но не поддерживает SaluteSpeech ASR.

Эти проблемы подтолкнули нас к решению обучить модель, воспринимающую речь напрямую.

Архитектура и стадии обучения

Архитектура аудиомодели

Рис. 1. Архитектура аудиомодели

Наша аудиомодель построена на основе следующей архитектуры (Рис. 1):

  • Audio Encoder GigaAM Max: основан на модели GigaAM-v2, которая использует архитектуру Conformer и предварительно обучена с применением HuBERT-подобного подхода. Основные отличия от open-source модели GigaAM-v2: масштабирование количества параметров модели в 2,5 раза, и обучающих данных  в 15 раз.
  • Modality Adapter  модуль для адаптации выходов Audio Encoderа к внутреннему пространству GigaChat. Он состоит из двух компонентов:
  • Subsampler  parameter-free модуль, который сжимает длину последовательности акустических эмбеддингов в 4 раза путём конкатенации соседних векторов. Это позволяет экономить контекст LLM и эффективно обрабатывать длинные аудиозаписи.
  • Projector  модуль, который преобразует признаки после Subsamplerа и проецирует их в размерность LLM. Простая линейная проекция показала себя лучше сложных архитектур: основную работу выполняет энкодер.
  • Decoder: GigaChat 2 Max, с применением Low-Rank Adaptation (LoRA) на FFN-слои и матрицы проекций в Self-Attention.

Подробно про Pretrain, SFT и DPO базовой модели мы рассказывали в предыдущей статье «GigaChat 2.0 в API», а здесь сосредоточимся на обучении акустических модулей и совместном обучении GigaChat Audio.

Мы провели обучение в несколько этапов:

  1. Audio Encoder Pre-training. Self-supervised Learning (SSL) на большом объёме неразмеченного аудио (700 тысяч часов). Здесь энкодер выучивает фундаментальные закономерности в аудиосигнале. После предобучения веса модели попадают в то состояние, из которого сходимость будет быстрой и к более качественным метрикам. Подробно про методы предобучения в аудио мы рассказывали в предыдущей статье: «GigaAM: класс открытых моделей для обработки звучащей речи».
  2. Audio Encoder Fine-tuning на задачу распознавания речи (100 тысяч часов). Обучение распознавания речи на большом количестве данных позволяет сформировать семантические представления о контенте сигнала на последних слоях. Этот этап значительно ускоряет сходимость, а также позволяет достичь лучших показателей относительно обучения с SSL-энкодером.
  3. Audio and Text Representations Alignment. Используя облегчённый декодер GigaChat Lite, мы проводим согласование представлений аудиоэнкодера с латентным пространством языковой модели. Такой «тёплый старт» уменьшает число итераций, требуемых на следующем этапе, и оптимизирует расход GPU-времени.
  4. Audio Supervised Fine-Tuning (SFT): на этом этапе модель адаптируется под форматы, обучается распознавать вызов функций и вести связный диалог на естественном языке.

Данные

Теперь, когда мы разобрались с архитектурой и стадиями обучения, давайте посмотрим, на каких данных обучали и как мы их подготавливали. Основную ценность представляют данные для последнего этапа обучения  Audio Supervised Fine-tuning. Здесь мы подробнее расскажем про их подготовку.

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

В состав корпуса вошли:

  • Данные для распознавания речи и перевода в виде реальных аудиозаписей и синтетической речи с заранее известными текстами. Изначально мы использовали большой объём production ASR-данных, на которых учим CTC-модели для сервисов SaluteSpeech. Это приводило к двум проблемам:
    • Смещение в сторону задачи распознавания. При сложном запросе (шумные условия; иностранный язык, которого было не так много в обучении) модель могла вместо ведения диалога транскрибировать последнюю реплику пользователя.
    • Не такая богатая нормализация и красота распознанного текста. Наши данные для распознавания речи были в формате, который заточен для обучения CTC-моделей: цифры и знаки (%, $, +, ...) записаны словами. Аудиомодальность приобретала этот же стиль транскрипции.

Поэтому мы оставили на этапе Supervised Fine-Tuning только небольшое количество качественных текстов:

  • Распознавание диалогов с разбиением по спикерам.
  • «Красивый ASR»  распознавание речи с широким списком инструкций, которые учитывают пожелания пользователя: форматирование транскрипции в Markdown, добавление метки говорящего, определение его пола, добавление эмодзи, маскирование мата, запись слов-паразитов и многое другое.

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

  • Аудиоаннотации: датасеты с описанием происходящего на аудиофрагментах, с выделением объектов, событий и действий.
  • Вопросы по аудиоаннотациям: сбор пар аудио и текстовых аннотаций с последующей генерацией диалогов с помощью GigaChat. Вместо аудиофрагментов мы использовали подробные текстовые описания звуковых сцен.
  • Поддержка function calling: для вызова функций голосом мы адаптировали текстовый датасет. Озвучивание и валидация текстовых запросов производились исполнителями платформы TagMe.
  • Диалоговые данные: для обучения модели ведению диалога мы просили пользователей взаимодействовать с моделью на разнообразные темы как голосом, так и текстом.
  • Длинные аудиозаписи: для возможности суммаризации и ответов на вопросы по длинным аудиозаписям мы собирали соответствующие датасеты. Мы использовали транскрипции аудиозаписей для генерации обучающих данных с помощью текстовой модели, для обучения же использовались только длинные аудиозаписи, короткие инструкции и ответы текстовой модели.

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

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

Обработка длинных аудио

Одна из важных возможностей для Audio conditioned LLM  поддержка длинного аудиоконтекста: суммаризация длинных записей, ответы на вопросы. Изначально большинство датасетов в Audio SFT содержали небольшие фрагменты речи (до нескольких минут). Такое распределение в длительности приводило к плохому качеству суммаризации на часовых аудиозаписях, несмотря на текстовые возможности базовой модели на длинных контекстах.

У этой проблемы может быть несколько причин:

  • декодер не обобщается на большое количество аудиотокенов в контексте;
  • энкодер извлекает некачественные аудиотокены из длинных аудиозаписей.

Вторая причина не проявляется в нашем случае, поскольку мы используем Chunk-wise Attention в Conformer Encoder, что ограничивает его receptive field и позволяет обобщаться на длинные контексты. Мы также дополнительно выяснили, что при нарезке входного аудиосигнала на небольшие фрагменты (что позволяет энкодеру работать в том распределении длительностей записей, которое встречалось в обучении) качество суммаризации на длительных аудиозаписях оставалось неудовлетворительным.

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

Дело в том, что в классической архитектуре Conformer первым модулем используется Convolution Subsampling, который сжимает длину последовательности в несколько раз с помощью двумерных свёрток. При обучении на записях длительностью в несколько часов этот модуль становился узким местом: размер промежуточных активаций на первых слоях занимал всю GPU-память, что не позволяло производить обучение. Подобно архитектуре FastConformer мы пошли по пути облегчения Convolution Subsampling, заменив свёрточные операции с двумерных на одномерные. Это позволило сократить расход памяти примерно в 10 раз и запустить обучение на записях длительностью несколько часов.

Для обучения GigaChat 2 Max Audio на последовательностях небольшой длительности мы использовали Tensor Parallelism (TP), однако его увеличение не позволяло масштабироваться на длинные контексты. Здесь мы дополнительно добавили Sequence Parallelism (SP). Production-модель обучалась в режиме tp=2, sp=4. Таким образом, параметры слоя Self-Attention распределялись по двум видеокартам, а длина последовательности разбивалась на 4 блока. Такое разбиение позволило реализовать вычисления слоя внутри одного узла: синхронизация выполняется с помощью NVLink, нет накладных расходов на операции all-gather и reduce-scatter между разными вычислительными узлами (как в случае tp × sp > 8).

Оценка качества

Субъективные метрики

Поскольку в эксплуатации уже находился сценарий голосового взаимодействия с помощью SaluteSpeech ASR, первым делом мы провели Side-by-Side (SBS) сравнение end-to-end модели GigaChat Audio и модульной системы SaluteSpeech ASR + GigaChat.

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

Всего в датасет вошло 1200 диалогов. Каждый диалог оценивается тремя AI-тренерами. Помимо сравнения реплик двух моделей AI-тренер пишет комментарий, в котором обосновывает своё решение. Пример интерфейса с результатом оценки приведен на рисунке 2.

Что-то надо написать

Рис. 2. Интерфейс, с помощью которого проводилось side-by-side-сравнение.

На рисунке 3 представлено SBS-сравнение GigaChat Audio и SaluteSpeech ASR + GigaChat. Видно, что с большим отрывом выигрывает наша новая end-to-end-модель. Мы тщательно проанализировали результаты разметки и выделили причины такого результата:

  • GigaChat Audio отвечает лаконичнее, не утяжеляя ответ дополнительными фактами. ASR + GigaChat добавляет даты, полные имена персонажей, номера сезонов сериалов, вес овощей и т. д., в которых иногда допускает ошибки, за что AI-тренеры штрафуют модель.
  • Часть запросов содержит слова, с которыми не справляется ASR. Например, «Маньпупунёр», «Валар Дохаэрис».
  • Часть запросов содержит полностью английские запросы, с которыми не справляется ASR.
  • Часть запросов направлена на анализ голоса, сцены, слышимости речи. Это принципиально невозможно с помощью ASR+GigaChat.
Что-то надо написать

Рис. 3. Side-by-side сравнение GigaChat Audio (0.68) и SaluteSpeech ASR + GigaChat (0.32).

Помимо SBS-сравнения мы разработали DLAP-оценку (Dialog LLM Answer Property Evaluation) по следующим срезам:

  • Общее впечатление: комплексная оценка качества ответа с точки зрения удобства восприятия и удовлетворения потребностей пользователя.
  • Красота: оценка структуры и формата ответа, влияющих на лёгкость чтения и восприятия информации.
  • Грамотность: соответствие нормам современного русского языка и отсутствие стилистических и орфографических ошибок.
  • Следование system: соблюдение установленных правил общения с моделью.
  • Контекстность: способность модели учитывать предыдущую беседу и правильно реагировать на контекст.
  • Полезность: эффективность ответа в решении конкретной задачи пользователя.
  • Фактология: точность и достоверность представляемой информации.

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

Что-то надо написать

Рис. 4. Пример DLAP-оценки диалога одного из AI-тренеров

Мы проводили DLAP-сравнение на том же наборе диалогов, что и SBS. Результаты показаны на рисунке 5. Для сравнения мы добавили open-source-модель Qwen2-Audio-Instruct и проприетарные модели Gemini Flash, Gemini Pro, GPT-4o. Из проведённого сравнения видно, что GigaChat 2 Max Audio превосходит или достигает метрик Gemini Flash и GPT-4o.

Что-то надо написать

Рис. 5. Сравнение диалоговых свойств (DLAP) среди моделей

Объективные метрики

В предыдущем разделе мы говорили об оценке аудиовозможностей, но перед нами стояла ещё одна важная цель: сохранить фундаментальные базовые свойства модели. Метрики на текстовых запросах не должны значительно деградировать при переходе с GigaChat на GigaChat Audio. Для этого мы проводим сравнение на десятках мировых и внутренних бенчмарков (часть из них показаны в предыдущей статье «GigaChat 2.0 в API»), а здесь для простоты указываем одни из самых известных в сообществе бенчмарков (таблица 1).

Таблица 1:

Benchmark GigaChat 2 Max GigaChat 2 Max Audio
IFEval En (0-Shot)89,63 86,88 (-3%)
IFEval Ru (0-Shot) 83,03 80,52 (-3%)
MMLU En (5-shot) 86,3385,71 (-0.7%)
MMLU Ru (5-shot) 79,94 80,24 (+0.3%)

Помимо автоматических метрик мы также проанализировали изменение метрик LLM-as-a-judge (Таблица 2). Изменения от добавления аудиовозможностей составили 35 %.

Таблица 2:

Benchmark Model Score 95% CI
Arena-Hard-Ru GigaChat 2 Max 83,5 (-1,3; 1,5)
Arena-Hard-Ru GigaChat 2 Max Audio79,5 (-1,0; 0,9)
RuLLMArena GigaChat 2 Max 82,5 (-2,4; 2,1)
RuLLMArena GigaChat 2 Max Audio79,9 (-1,8; 1,4)

Как видно из приведённых выше автоматических и judge-метрик, LoRA-адаптеры, добавленные на этапе Audio SFT, не приводят к существенному искажению весов модели и деградации её базовых возможностей.

Сценарии использования

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

  • Суммаризация видео и аудио: модель способна эффективно выделять главное даже из длинных материалов. Например, вот основные мысли из интервью длительностью около двух часов:
    Что-то надо написать
  • Код голосом: написание кода через голосовое взаимодействие. Например: «Собери Dockerfile для приложения на Python с зависимостями Flask и NumPy. Укажи, как запускать сервер»:
    Что-то надо написать
  • Запросы со сложными терминами: может накапливаться ошибка в связке ASR + GigaChat. Например: «Расскажи основные идеи архитектуры Mixture of Experts»:
    Что-то надо написать
  • Репетитор и языковое обучение: интерактивные сценарии для изучения языка. Например:
  • «Ill read a paragraph containing common grammar mistakes, such as mixed tenses and wrong prepositions. Please correct each mistake, explain the grammar rule I violated, and show me an alternative sentence that demonstrates proper usage»
  • «Yesterday, I go to the library to found a interesting book about neuroscience. I quickly readed the introduction because it was so exciting. Actually, I have read it last week already, but I forget most of the details. Then I told to my friend for giving me some summary, but she said she didnt had time to discuss about it. So, I wait for her until late night before going back to home. I didnt wrote any notes neither, which now I really regrets»
    Что-то надо написать
  • Анализ публичных выступлений. Например: «Вот запись моей презентации. Проанализируй структуру, темп речи, паузы, словесные паразиты и дай советы по улучшению воздействия на аудиторию. https://www.youtube.com/watch?v=O7NSH2SAwRc&t=103s»
    Что-то надо написать
  • Анализ записей неречевой природы. Несмотря на то, что модель почти не обучалась на неречевых сигналах, она демонстрирует способность к их интерпретации. Например: «Опиши, что происходит на аудиозаписи. какие звуки ты узнала? https://www.youtube.com/watch?v=8BeVmhFURqc&ab_channel=vaandervik»
    Что-то надо написать

Мультимодальность: vision + audio

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

Чтобы ещё сильнее приблизить опыт общения с GigaChat к естественному взаимодействию, мы обучили GigaChat Audio + Vision. Как мы видели из анализа текстовых метрик, Audio-адаптеры незначительно влияют на свойства базовой модели. Более того, в сценарии мультимодального общения мы можем активировать Audio-адаптеры только на тех диалогах, которые содержат аудиозаписи. Таким образом, качество работы на диалогах, которые содержат только текст и изображения, останется неизменным.

На рисунке 6 показана схема дообучения GigaChat Vision для добавления аудиовозможностей: в ходе Audio SFT все также обучались только акустические модули и LoRA-адаптеры.

Что-то надо написать

Рис. 6 Дообучение GigaChat Vision для добавления аудиовозможностей.

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

Для оценки аудиовозможностей мы провели SBS-сравнение (рисунок 7). Результат 48 : 52 говорит о том, что понимание аудио не ухудшается при обучении с GigaChat Vision декодером.

Что-то надо написать

Рис. 7. Side-by-side сравнение GigaChat Audio+Vision (0.52) и GigaChat Audio (0.48).

Дополнительно мы оценили изменение Vision-метрик (таблица 3) и текстовых возможностей (таблица 4).

Таблица 3:

Benchmark GigaChat 2 Max Vision GigaChat 2 Max Vision + Audio
MMMU-val 58,778 59,33
MMT Bench 63,991 61,94
MTVQA 23,842 23,21
MTVQA Ru 17,136 15,21

Таблица 4:

Benchmark GigaChat 2 Max GigaChat 2 Max Vision GigaChat 2 Max Vision + Audio
IFEval En (0-Shot) 89.63 85.97 85.80
IFEval Ru (0-Shot) 83.03 79.97 78.89
MMLU En (5-shot) 86.33 86.33 86.30
MMLU Ru (5-shot) 79.94 80.43 81.05

Таким образом, нам удалось создать мультимодальную модель практически без деградации Audio- и Vision-модальностей.

Что дальше?

За год нам удалось перейти от классической схемы ASR + LLM к нативной аудиомодальности в GigaChat. End-to-end-подход победил со счётом 68:32 в SBS-оценке и добавил принципиально новые возможности. На аудиозапросах наших пользователей модель вышла на уровень GPT-4o по DLAP при сохранении текстовых метрик.

GigaChat Audio стал возможен благодаря усилиям исследователей, инженеров, аналитиков и команды продукта. Отдельное спасибо командам GigaAM, GigaChat, SaluteSpeech и платформы за вклад в архитектуру, обучение, инфраструктуру и тестирование. Спасибо всем, кто помогал создать модель, которая не только слушает, но и понимает.

Мы продолжаем совершенствовать модель, планируя:

  • Расширение аудио-визуальных сценариев: не только добавляем поддержку мультимодального контекста, но и стремимся к усилению сценариев, в которых присутствует две модальности. Например, описание событий должно стать полнее при наличии как изображения, так и аудиозаписи.
  • Масштабирование диалоговых возможностей на новые языки: с моделью можно общаться на свободные темы на русском и английском языках, но мы добавим и другие. В первую очередь, языки СНГ.
  • Создание speech-to-speech модели: это позволит не только понимать, но и нативно генерировать естественную речь с подходящими по контексту интонацией и эмоцией.

Следите за нашими новостями в канале GigaDev! Внедряйте технологию в повседневные дела с помощью giga.chat и телеграм-бота!

Оцените статью
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.