Спроектировать следующее ускорение CPU-диаризации #31

Closed
opened 2026-08-30 13:28:02 +03:00 by ddmitry · 1 comment
Owner

Destination

Подготовить проверяемую спецификацию следующего CPU-эксперимента: выбрать сочетание уменьшения числа окон, модели и кластеризации, а также способа исполнения, которое имеет шанс сократить время диаризации минимум на 30% с ориентиром около 2x. Спецификация должна сохранить текущую проверку качества и задать правило оценки памяти на доступных Intel- и Ryzen-машинах, без назначения целевого процессора.

Notes

  • Исходная точка: задача #25, комментарий issuecomment-2181, docs/benchmarks/2026-08-30-lightweight-diarization-cpu.md, docs/research/2026-08-14-diarization-cpu-cost.md и ADR-007.
  • Текущий профиль Pyannote FP32 + WeSpeaker остается рабочей конфигурацией до отдельного решения.
  • Для разговорных тикетов применять $grilling и $domain-modeling; для внешних фактов - $research с первичными источниками.
  • Карта планирует решения. Полный прогон и production-реализация начнутся в отдельных задачах после готовой спецификации.
  • Приватные записи, расшифровки, ASR-sidecar и полные результаты не публиковать в Git, Gitea или внешнем ревью. Переносимая капсула хранится локально и должна попасть только в закрытую папку Яндекс Диска.

Decisions so far

Not yet specified

  • Если каскад Pyannote + embeddings упрется в качество до нужной скорости, понадобится отдельная карта для end-to-end архитектуры.

Out of scope

  • Изменение рабочей конфигурации и production-кода в рамках этой карты.
  • Сам полный многократный CPU-прогон: карта заканчивается готовой спецификацией эксперимента.
  • Параллельный запуск ASR и диаризации из задачи #22, автоматическое включение из задачи #23, GPU и NPU.
  • Sortformer и другие end-to-end диаризаторы до доказанного тупика текущего каскада.
  • Отдельный пользовательский профиль по ISA или автоматический резервный путь по возможностям процессора: решение принимается после полного эксперимента, только если результаты покажут такую необходимость.
## Destination Подготовить проверяемую спецификацию следующего CPU-эксперимента: выбрать сочетание уменьшения числа окон, модели и кластеризации, а также способа исполнения, которое имеет шанс сократить время диаризации минимум на 30% с ориентиром около 2x. Спецификация должна сохранить текущую проверку качества и задать правило оценки памяти на доступных Intel- и Ryzen-машинах, без назначения целевого процессора. ## Notes - Исходная точка: задача #25, комментарий `issuecomment-2181`, `docs/benchmarks/2026-08-30-lightweight-diarization-cpu.md`, `docs/research/2026-08-14-diarization-cpu-cost.md` и ADR-007. - Текущий профиль Pyannote FP32 + WeSpeaker остается рабочей конфигурацией до отдельного решения. - Для разговорных тикетов применять `$grilling` и `$domain-modeling`; для внешних фактов - `$research` с первичными источниками. - Карта планирует решения. Полный прогон и production-реализация начнутся в отдельных задачах после готовой спецификации. - Приватные записи, расшифровки, ASR-sidecar и полные результаты не публиковать в Git, Gitea или внешнем ревью. Переносимая капсула хранится локально и должна попасть только в закрытую папку Яндекс Диска. ## Decisions so far - [Определить способы ускорить embedding-инференс на разных x86 CPU](https://git.dementev.space/ddmitry/local-transcriber/issues/32#issuecomment-2216) - для текущего WeSpeaker прототипировать S8S8 QDQ и конкурентные stream на одной ORT session; batch оставить условным направлением TitaNet и проверить на AVX2 и VNNI/AVX-512. - [Выбрать способ оценки числа говорящих для быстрых эмбеддингов](https://git.dementev.space/ddmitry/local-transcriber/issues/33#issuecomment-2230) - оценивать N счетчиком NME по единой внутренней матрице sherpa и передавать его штатному FastClustering; для стенда разделить внутренний Process на Prepare и Finalize. - [Зафиксировать аппаратную матрицу и бюджет памяти](https://git.dementev.space/ddmitry/local-transcriber/issues/35#issuecomment-2243) - разрабатывать и отсеивать варианты на старом Intel, а итоговые 30% принимать на Ryzen; ограничить потоки физическими ядрами, разбирать RSS выше 2 ГиБ и не включать Mac в приемку. - [Найти поддерживаемый способ менять шаг окна sherpa-onnx](https://git.dementev.space/ddmitry/local-transcriber/issues/36#issuecomment-2254): для прототипа перейти на 1.13.6, менять `window_shift_ratio` через публичный Python API и сохранить production default `0,1` до проверки сетки. - [Собрать минимальную матрицу следующего CPU-эксперимента](https://git.dementev.space/ddmitry/local-transcriber/issues/34#issuecomment-2306) - провести ограниченную воронку с дешевым отсевом на Intel и финальной приемкой на Ryzen; выполнение разделено на Intel-задачу #41 и заблокированную ею Ryzen-задачу #42. ## Not yet specified - Если каскад Pyannote + embeddings упрется в качество до нужной скорости, понадобится отдельная карта для end-to-end архитектуры. ## Out of scope - Изменение рабочей конфигурации и production-кода в рамках этой карты. - Сам полный многократный CPU-прогон: карта заканчивается готовой спецификацией эксперимента. - Параллельный запуск ASR и диаризации из задачи #22, автоматическое включение из задачи #23, GPU и NPU. - Sortformer и другие end-to-end диаризаторы до доказанного тупика текущего каскада. - Отдельный пользовательский профиль по ISA или автоматический резервный путь по возможностям процессора: решение принимается после полного эксперимента, только если результаты покажут такую необходимость.
ddmitry added the wayfinder:map label 2026-08-30 13:28:02 +03:00
Author
Owner

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

Результат карты: спецификация docs/specs/2026-08-30-cpu-diarization-experiment.md в PR #40. Реализация стенда и полный эксперимент вынесены в ready-for-agent задачу #41. Текущий production-профиль не менялся.

Карта завершена: решения по embedding-инференсу, числу говорящих, аппаратной матрице, шагу окна и итоговой воронке зафиксированы, открытых дочерних тикетов не осталось. Результат карты: спецификация `docs/specs/2026-08-30-cpu-diarization-experiment.md` в PR #40. Реализация стенда и полный эксперимент вынесены в ready-for-agent задачу #41. Текущий production-профиль не менялся.
Sign in to join this conversation.