Spaces:
Sleeping
A newer version of the Gradio SDK is available: 6.13.0
Инструкция по работе с Store Dialogs — Diarization Experiments
Общая информация
Приложение развёрнуто как HF Space: Niko-NN/store-dialogs-qa. Интерфейс состоит из 5 вкладок + утилиты внизу.
Подготовка: экспорт gold-разметки
Перед использованием бенчмарка и grid search нужен JSON-экспорт из Label Studio:
- Откройте проект в Label Studio
- Перейдите в Export (кнопка вверху справа)
- Формат: JSON (не JSON-MIN, не CSV)
- Скачайте файл (например
project-1-at-2026-03-18.json)
Этот файл содержит все размеченные задачи с временными метками, спикерами и текстом.
Вкладка 1: Обработка файла
Обработка одного аудиофайла — диаризация + транскрипция.
- Выбрать аудио: либо из датасета HF (нажмите «Обновить» для загрузки списка), либо загрузите свой файл
- Модель диаризации:
pyannote 3.1(основная) илиNeMo MSDD(если установлен nemo_toolkit) - Модель транскрипции — 7 вариантов:
Whisper large-v3/Whisper large-v3-turbo— базовые (faster-whisper)Whisper Podlodka Turbo (RU)— главный кандидат, дообучен на русской речиWhisper large-v3 Russian— дообучен на Common VoiceWhisper TIES-merge Podlodka (RU)— merge двух русских моделейGigaAM CTC/GigaAM RNNT— русские модели от Сбера
- Стратегия:
hybrid(рекомендуется) — транскрибирует весь файл целиком, потом присваивает спикеров из диаризацииper_segment— транскрибирует каждый сегмент диаризации отдельно
- Мин/Макс спикеров: 2 / 0 (авто) по умолчанию
- Нажмите Запустить — результат появится в таблице и JSON
Вкладка 2: Batch-режим
Обработка нескольких файлов одной моделью.
- Введите ID файлов (по одному на строку, без расширения)
- Выберите модель диаризации и транскрипции
- Нажмите Запустить batch
Вкладка 3: Сравнение с gold
Ручная оценка качества одного файла.
- Загрузите gold — Label Studio JSON экспорт (один раз, кэшируется)
- Обработайте файл на вкладке 1
- Перейдите сюда и нажмите Сравнить с результатом
Результат: таблица метрик (DER, WER, CER, speaker accuracy) и посегментное сравнение pred vs gold.
Вкладка 4: Бенчмарк (главная для подбора модели)
Автоматическое сравнение всех комбинаций модель × стратегия.
Порядок работы:
- Загрузите gold — Label Studio JSON экспорт
- Статус покажет сколько файлов и сегментов распознано
- Выберите модели транскрипции (чекбоксы) — отметьте те, что хотите сравнить
- Рекомендую начать с 2-3:
Whisper Podlodka Turbo,Whisper large-v3,GigaAM RNNT
- Рекомендую начать с 2-3:
- Выберите модели диаризации — обычно только
pyannote 3.1 - Выберите стратегии —
hybridи/илиper_segment - Макс. файлов — начните с 2-3 для быстрой проверки, потом увеличьте
- Нажмите Запустить бенчмарк
Результат:
Сводная таблица, отсортированная по WER:
| Модель | Стратегия | DER | WER | CER | Спикер% | Время | Файлов | Ошибок |
|---|
Лучшая комбинация — вверху таблицы. В Raw JSON — детальные метрики по каждому файлу.
Сколько времени:
Каждая комбинация × файл ≈ 30–120 сек GPU. 3 модели × 2 стратегии × 3 файла = 18 прогонов ≈ 15–30 минут.
Вкладка 5: Grid Search (тонкая настройка)
После того как в бенчмарке определили лучшую модель, здесь подбираем оптимальные параметры.
Порядок работы:
- Загрузите gold (если ещё не загружен — кэш общий между вкладками)
- Выберите модель — ту, что показала лучший WER в бенчмарке
- Выберите стратегию — ту же
- Макс. файлов — 2-3 для быстрого поиска
- Чекбоксы:
Whisper параметры— перебирает: beam_size, no_speech_threshold, temperature, condition_on_previous_text, repetition_penaltyDiar параметры— перебирает: min_speakers, merge_gap, merge_min_dur
- Нажмите Запустить Grid Search
Алгоритм:
Один-параметр-за-раз. Фиксирует все параметры, варьирует один, выбирает лучшее значение, переходит к следующему параметру.
Результат:
Таблица с каждой попробованной конфигурацией + лучшие найденные параметры.
Сколько времени:
5 Whisper-параметров × ~3-4 значения + 3 Diar-параметра × ~3-4 значения ≈ 25 конфигураций × число файлов. При 2 файлах ≈ 50 прогонов ≈ 30–60 минут.
Рекомендованный workflow
Шаг 1: Экспорт gold из Label Studio (JSON)
↓
Шаг 2: Вкладка 4 (Бенчмарк) — грубый отбор
- 3-5 моделей × 2 стратегии × 3 файла
- Определить топ-2 модели
↓
Шаг 3: Вкладка 4 (Бенчмарк) — уточнение
- Топ-2 модели × 2 стратегии × все файлы из gold
- Определить лучшую комбинацию
↓
Шаг 4: Вкладка 5 (Grid Search) — тонкая настройка
- Лучшая модель + стратегия
- Подбор beam_size, thresholds, merge params
↓
Шаг 5: Вкладка 1 — финальная проверка
- Прогнать несколько файлов с лучшими настройками
- Вкладка 3 — сравнить с gold
Утилиты (внизу страницы)
- Диагностика импортов — проверить что все библиотеки загружены (torch, pyannote, faster_whisper, gigaam и т.д.)
- Выгрузить модели из памяти — освободить GPU VRAM перед загрузкой другой модели (важно при переключении между большими моделями)
Доступные модели
Транскрипция
| ID | Название | Бэкенд | Описание |
|---|---|---|---|
| whisper-large-v3 | Whisper large-v3 | faster-whisper | Базовая Whisper, CTranslate2 |
| whisper-large-v3-turbo | Whisper large-v3-turbo | faster-whisper | Быстрая версия, CTranslate2 |
| whisper-podlodka-turbo | Whisper Podlodka Turbo (RU) | transformers | Дообучен на Podlodka/Taiga/RuLibrispeech |
| whisper-large-v3-russian | Whisper large-v3 Russian | transformers | Дообучен на Common Voice 17 |
| whisper-russian-ties-podlodka | Whisper TIES-merge Podlodka (RU) | transformers | TIES-merge русских моделей |
| gigaam-ctc | GigaAM CTC | gigaam | Сбер, 700K часов русской речи |
| gigaam-rnnt | GigaAM RNNT | gigaam | Сбер, RNNT-архитектура |
Диаризация
| ID | Название | Описание |
|---|---|---|
| pyannote-3.1 | pyannote speaker-diarization 3.1 | Основная модель |
| nemo-msdd | NeMo MSDD | Экспериментальный, нужен nemo_toolkit |
Важные нюансы
- Первый запуск модели медленный (скачивание весов с HF Hub). Последующие запуски используют кэш.
- ZeroGPU даёт максимум 300 секунд GPU на запрос. Если файл длинный — используйте обрезку (поля Начало/Конец).
- NeMo MSDD не установлен по умолчанию (тяжёлая зависимость). Если pyannote не даёт приемлемый DER — установите вручную:
pip install nemo_toolkit[asr]в терминале Space. - После изменения кода:
git add . && git commit && git pushиз Dev Mode терминала Space. - Выгружайте модели перед переключением на другую крупную модель (кнопка внизу), чтобы не исчерпать GPU VRAM.