Протоколирование совещаний — важная часть корпоративной коммуникации: протоколы позволяют быстро восстановить ключевые моменты, не переслушивая часовые записи. Нас зовут Андрей Ситников и Максим Шкут, мы работаем DS в команде департамента анализа данных и моделирования ВТБ, занимаемся задачей автоматического протоколирования встреч. Мы реализуем ее с помощью LLM-модели Qwen. В этой статье расскажем, как мы оптимизировали inference, сохранив качество генерации протоколов.

Эта статья – саммари нашего выступления на Data Fest 2025. Запись выступления вы можете найти по ссылке (таймкод – 04:15:03). 

Постановка задачи

Протоколирование — это NLP-задача извлечения ключевых данных из стенограмм встреч. В качестве источника стенограмм мы используем нашу ASR-систему на базе [Wav2Vec 2.0](https://arxiv.org/abs/2006.11477). Далее стенограмма подается в LLM, которая на ее основе генерирует структурированный протокол встречи.

Для решения этой задачи мы использовали Qwen 2.5 Instruct, так как:

  • Модель понимает контекст даже при наличии ошибок в стенограмме;

  • Поддерживает формат инструкций, что важно для управления генерацией;

  • Обладает расширенным контекстом.

Система генерирует два типа протоколов:

1. Общий — включает тип встречи, название, краткое содержание, хэштеги, выводы.

2. По таймкодам — дополнительно структурирован по хронологии с краткими описаниями сегментов.

Вот пример JSON-протокола:

```json

{

 "Тип": "Рабочее совещание для совместного решения производственных вопросов",

 "Название": "Решение проблем с туннелем и настройка правил",

 "Содержание": "Сотрудники обсуждают и решают проблемы с туннелем и настройкой правил для трафика...",

 "Хештэги": "#сетевая_инфраструктура #настройка_туннеля #решение_проблем",

 ...

}

```

Проблема: слишком затратное использование 32B модели в проде

Базовая модель Qwen 2.5 32B отлично справлялась с задачей, но требовала 80 ГБ VRAM, доступных только на H100. Однако в проде у нас A100 с 40 ГБ видеопамяти. Возникла задача: оптимизировать модель для inference без потери качества.

Подход к оптимизации

Мы рассмотрели три варианта:

  1. Младшая модель Qwen 2.5 14B.

  2. Квантизованная Qwen 2.5 32B AWQ INT4.

  3. Квантизованная Qwen 2.5 32B SmoothQuant INT8.

Подготовка датасета

Для обучения/дистилляции собрали датасет:

 > 4000 стенограмм совещаний.

> 8000 пар “prompt + стенограмма → эталонный протокол” (через Qwen 32B).

Нормализовали структуру, исправили ошибки ASR.

Методология

Квантизация: выбор между AWQ и SmoothQuant

AWQ

Учитывает активации при квантизации весов.

Хорошо работает для INT4.

Требует калибровки.

Не все слои поддаются квантизации.

 SmoothQuant

Перераспределяет значения между весами и активациями.

Эффективен против выбросов.

Лучше для INT8.

Требует частичной переделки модели.

Дистилляция

Для Qwen14B использовали LoRA: обучение низкоранговых адаптеров при замороженных весах.

Для квантизованных моделей — QLoRA, совмещающая LoRA и квантизацию.

Оценка моделей

Метрика: косинусная близость эмбеддингов содержания между предсказанием и эталоном. Использовали Universal Sentence Encoder, так как он поддерживает русский язык. Температура генерации = 0.

Результаты до/после обучения:

Модель

До обучения (метрика качества – косинусная близость эмбеддингов содержания между эталоном и предиктом)

После обучения

Время inference (мин)

Qwen 14B

81.4

86.7

22

Qwen 32B

86.8 

88.0 (AWQ),

 89.2 (SQ INT 8) 

20 (AWQ), 

43 (SQ INT 8)

Качественный анализ

Несмотря на формальные метрики, мы провели ручную экспертизу:

SmoothQuant:

  • Дает лучшую метрику, но работает в два раза дольше.

  • Не дает ощутимых преимуществ в качестве содержания.

AWQ:

  • Быстрая, но качество почти не меняется.

  • Иногда искажает смысл.

14B:

  • Генерирует дополнительную информацию, имеющуюся в стенограмме, но отсутствующую в эталоне.

  • Лучше справляется с таймкодами и хэштегами.

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

Выводы

Модель Qwen 2.5 14B показала лучшее соотношение скорости, качества и полноты информации. Автоматическая оценка (даже на основе эмбеддингов) не заменяет ручной анализ. Квантизация требует осторожного подхода — выгода в ресурсах может не компенсировать падение качества или скорости.

В результате мы перешли на Qwen 14B как основную inference-модель в продакшене.

На митапе также прозвучало несколько интересных вопросов, кратко ответим на них:

По итогу работы модели получается ASR-транскрипт с таймкодами и спикерами? 

По итогу работы ASR-модели получается транскрипт с таймкодами и спикерами?

Да. Диаризация встроена в систему видеосвязи. Мы получаем полную структурированную стенограмму с таймкодами, разметкой спикеров и текстом, нормализованным по пунктуации и орфографии.

Почему для оценки качества текстов относительно эталонных вы выбрали именно косинусную близость между эмбеддингами?

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

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

Пока нет, мы продолжаем использовать human-in-the-loop, так как это обеспечивает более стабильное и надёжное качество оценки протоколов. 

В перспективе возможно частичное автоматизирование процесса с помощью подсказок модели.

Почему выбрали именно Qwen?

Модель open-source, хорошо работает с длинным контекстом и стабильно отдаёт структурированный JSON-выход.

Комментарии (0)