perf(diarization): добавлен замер на старом Intel
- Зачем: - требовалось оценить стоимость опциональной диаризации на доступном слабом Intel baseline. - Что: - зафиксированы ASR, RTFx и peak RSS на трёх контрольных записях. - замер peak RSS адаптирован для Linux и macOS. - недоступный Core i5 явно заменён Core i7-6820HQ с сохранением ограничения применимости. - Проверка: - uv run ruff check .scratch/diarization/common.py. - uv run pytest -q: 243 passed, 1 skipped.
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# Производительность диаризации на старом Intel Core i7
|
||||
|
||||
**Дата:** 2026-08-14
|
||||
|
||||
**Статус:** приёмка на доступном слабом Intel baseline. Не эквивалент замеру на
|
||||
Intel Core i5 11-го поколения.
|
||||
|
||||
## Решение
|
||||
|
||||
Диаризация проходит по стоимости как **опциональная функция**. На доступном
|
||||
ноутбуке обработка остаётся заметно быстрее реального времени: час записи
|
||||
занимает около 23 минут при последовательном запуске ASR и диаризации.
|
||||
|
||||
Цена функции существенная: диаризация медленнее ASR и увеличивает полное время
|
||||
примерно в 2,4 раза. Поэтому включать её без явного запроса пользователя нельзя.
|
||||
Теоретическое совмещение независимых проходов уменьшило бы время часа записи до
|
||||
примерно 13,6 минуты, но параллельный режим здесь не измерялся.
|
||||
|
||||
Запланированный Intel Core i5 11-го поколения недоступен и в обозримом будущем
|
||||
не появится. Вместо бессрочного блокирующего требования принят доступный старый
|
||||
Intel Core i7 как практический слабый baseline. Результат не переносится на
|
||||
конкретный SKU i5 и не является сравнением микроархитектур.
|
||||
|
||||
## Оборудование и условия
|
||||
|
||||
- HP ZBook 17 G3, BIOS N81 01.61;
|
||||
- Intel Core i7-6820HQ, 4 ядра / 8 логических процессоров, 2,7–3,6 ГГц;
|
||||
- 29 ГиБ доступной RAM;
|
||||
- Ubuntu, Linux 7.0.0-29-generic x86_64;
|
||||
- питание от сети, профиль `balanced`, governor `powersave`;
|
||||
- Python 3.13.13, `onnx-asr` 0.12.0, `onnxruntime` 1.28.0,
|
||||
`faster-whisper` 1.2.1, `sherpa-onnx` 1.13.5, NumPy 2.4.3;
|
||||
- 8 потоков CPU, порог кластеризации 0,89;
|
||||
- прогоны последовательные, без намеренно запущенной конкурирующей нагрузки;
|
||||
- модели после первого запуска находились в локальном кеше.
|
||||
|
||||
Использованы те же три записи и те же SHA-256, что в
|
||||
[отчёте о калибровке](2026-08-14-diarization-calibration.md). Модель ASR —
|
||||
`gigaam-v3-e2e-rnnt` INT8; диаризация — Pyannote segmentation 3.0 и WeSpeaker
|
||||
ResNet34 LM.
|
||||
|
||||
## Результаты
|
||||
|
||||
Для самой длинной записи сделано три прогона каждого прохода. Для двух
|
||||
остальных — по одному подтверждающему прогону: разброс трёх повторов был мал,
|
||||
а коэффициенты на записях другой длины подтвердили линейное масштабирование.
|
||||
|
||||
| Запись | Длительность | ASR | RTFx ASR | Диаризация | RTFx диаризации |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| Data Test | 26:00 | **257,1 с** (медиана: 261,2 / 257,1 / 253,7) | 6,1× | **352,6 с** (медиана: 352,6 / 349,8 / 358,8) | 4,4× |
|
||||
| T2 BDMA | 14:51 | 149,0 с | 6,0× | 203,7 с | 4,4× |
|
||||
| Yantar | 20:22 | 185,3 с | 6,6× | 276,0 с | 4,4× |
|
||||
| **Взвешенно, три записи** | **61:13** | **591,4 с** | **6,2×** | **832,3 с** | **4,4×** |
|
||||
|
||||
Последовательная обработка трёх записей занимает около 1424 секунд, или
|
||||
23,7 минуты, при общей длительности 61,2 минуты: **2,58× realtime**. В пересчёте
|
||||
на час это около 9,7 минуты ASR и 13,6 минуты диаризации, всего **23,3 минуты**.
|
||||
|
||||
## Инициализация и память
|
||||
|
||||
| Проход | Инициализация из локального кеша | Peak RSS |
|
||||
|---|---:|---:|
|
||||
| ASR | 2,0–2,3 с | 900–1035 МБ на тёплых прогонах |
|
||||
| Диаризация | 0,2 с | 366–469 МБ |
|
||||
|
||||
Первый ASR-запуск показал 23,6 секунды, но включал скачивание файлов модели,
|
||||
поэтому не считается чистым cold start. Peak RSS этого процесса достиг 1174 МБ.
|
||||
Пиковая память замерена отдельно для каждого последовательного прохода; для
|
||||
будущего параллельного режима значения нельзя механически считать измеренным
|
||||
общим пиком.
|
||||
|
||||
## Сопоставление с разведкой на Ryzen
|
||||
|
||||
На Ryzen 7 8845H для Data Test были получены 16,4× RTFx у ASR и 11,1× у
|
||||
диаризации. На старом Intel оба прохода медленнее примерно в 2,6 раза, а их
|
||||
соотношение почти не изменилось. Следовательно, слабое железо ухудшает абсолютное
|
||||
время, но не меняет основной архитектурный вывод: диаризация дороже ASR, а
|
||||
совмещение проходов потенциально полезно.
|
||||
|
||||
## Ограничения
|
||||
|
||||
- Core i7-6820HQ не моделирует производительность Core i5 11-го поколения;
|
||||
- медиана трёх прогонов снята только на одной полной записи, на двух других есть
|
||||
по одному подтверждающему прогону;
|
||||
- чистый cold start ASR без скачивания, но с холодным файловым кешем не измерен;
|
||||
- параллельный запуск ASR и диаризации не измерен;
|
||||
- результат отвечает только на стоимость выбранных моделей и конфигурации, а не
|
||||
на качество диаризации.
|
||||
Reference in New Issue
Block a user