Files
local-transcriber/docs/benchmarks/2026-09-04-streaming-sortformer-ryzen.md
T
Dmitry Dementiev b8bb78103a docs(benchmark): зафиксирован stop Ryzen-прогона
- Зачем:
  - задача #46 должна завершиться воспроизводимым решением по каноническому Ryzen-эксперименту.
- Что:
  - записан stop из-за несовпадения числа кластеров свежего W0.
  - сохранены безопасные агрегаты W0 и вторичный провал проверки swap.
  - отмечено, что Sortformer не запускался и данных об ускорении нет.
- Проверка:
  - uv run pytest -q.
  - независимая сверка отчета с закрытым результатом и проверка литературного русского.
2026-09-04 21:38:42 +03:00

74 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Streaming Sortformer: формальный `stop` на Ryzen
**Дата:** 2026-09-04
**Статус:** эксперимент завершен как `stop`. Для трех объектов закрытого
манифеста были закреплены количества кластеров `2 / 2 / 3`, но W0 выдал
`2 / 2 / 2`. Кандидат не запускался.
## Решение
Свежий W0 не прошел обязательную проверку числа говорящих на одном из трех
300-секундных фрагментов. По условиям
[эксперимента](../specs/2026-09-01-streaming-sortformer-cpu-experiment.md)
такая база сравнения непригодна. Выполнена одна из двенадцати запланированных
ячеек. Sortformer и остальные ячейки не запускались, ускорение не считалось.
Данных о скорости или качестве кандидата этот прогон не дал.
Во время W0 также зафиксированы чтение из swap и запись в него. Это независимый
провал проверки среды и памяти, но первой причиной `stop` остается
`cluster-count-mismatch`: проверка качества завершилась раньше итогового снимка
системных счетчиков.
## Результат W0
| Показатель | Значение |
| --- | ---: |
| Суммарный wall, с | `103,242485` |
| Ожидаемые кластеры | `2 / 2 / 3` |
| Полученные кластеры | `2 / 2 / 2` |
| Пиковый RSS | `340 340 736` байт (`324,57` МиБ) |
| Прочитано из swap за ячейку | `503 808` байт (`492` КиБ) |
| Записано в swap за ячейку | `151 552` байт (`148` КиБ) |
Первые два фрагмента прошли обязательные проверки числа кластеров, текста,
порядка слов и интервалов. Третий фрагмент содержал подтвержденные три голоса,
но W0 сформировал два кластера. Повтор не назначался: несовпадение числа
кластеров само по себе завершает шаг приемки W0.
## Условия
W0 выполнялся по закрепленному рецепту `W0-FRESH`:
- `sherpa-onnx/core 1.13.6`, CPU provider;
- Pyannote Segmentation 3.0 FP32 и WeSpeaker ResNet34 LM FP32;
- один процесс, одна сессия, восемь физических ядер,
`intra_op_threads=8`, `inter_op_threads=1`;
- `window_shift_ratio=0.1`, `FastClustering(auto, 0.89)`,
`min_duration_on=0.3`, `min_duration_off=0.5`;
- Windows Balanced, boost mode `2`; Linux cpufreq/governor в WSL2 не
предоставляется.
До измерения успешно завершились обязательные детерминированные тесты, запуск
с `--validate-only` и предварительная проверка C ABI и конфигурации кандидата.
Последняя подтвердила четыре выходных канала, шаг `0,08` с и закрепленную
CPU-конфигурацию, но не обрабатывала аудио и не является проверкой качества
Sortformer.
## Техническая привязка
- коммит исходного кода `local-transcriber`:
`4c4a8be07b3653cede35b0435e6c9ef6cb3fb87d`;
- коммит NeMo-Speech.cpp:
`4f9676226f667d14608487df744f375db87127f8`;
- модель Streaming Sortformer v2 Q8_0:
`0679cfeb1ce356d0dea9470b31274f4bfc7eb927497d82005483770666da998a`;
- закрытый итоговый файл W0:
`ad32b3fe8a204e2fe6fbb6a13142e22c7e00ce9f0d816c3b0b8889fcab898e89`.
Последний SHA-256 нужен только для проверки неизменности закрытого результата:
он не оценивает диаризацию и не участвует в решении `stop`. Закрытая основа и
результаты сохраняются для следующих исследований. Их повторное использование
должно быть прямо предусмотрено новым экспериментом; вердикт и расписание
задачи #46 автоматически не переносятся.