Определить способы ускорить embedding-инференс на разных x86 CPU #32
Notifications
Due Date
No due date set.
Blocks
#34 Собрать минимальную матрицу следующего CPU-эксперимента
ddmitry/local-transcriber
Reference: ddmitry/local-transcriber#32
Reference in new issue
Block a user
Часть карты: Спроектировать следующее ускорение CPU-диаризации (#31)
Question
Какие способы ускорения извлечения эмбеддингов технически доступны для WeSpeaker, CAMPPlus и TitaNet в sherpa-onnx/ONNX Runtime: настоящий batch, несколько stream/session или статическая INT8-квантизация? Нужно проверить формы ONNX-графов и публичные API, последовательность текущей реализации sherpa-onnx, риск oversubscription и роста RSS, а также различия старого AVX2 CPU и современного x86 с VNNI/AVX-512. Итог должен рекомендовать только кандидаты, достойные прототипа, и минимальную матрицу CPU/ISA; production-код и приватный корпус не трогать.
Исследовательский контекст: ветка
research/issue-32-embedding-inference. Итоговый артефакт:docs/research/2026-08-30-diarization-embedding-inference.md. Ветка временная; решение будет зафиксировано в тикете после отдельной сессии.Перепроверил выводы по исходникам sherpa-onnx/ORT и реальным release ONNX assets. Исходная записка пропустила проверку самих файлов; это исправлено в коммите 82dbfcb. Обновленная исследовательская записка.
Выводы для карты:
Runна stream и не предоставляет batch API. Release-графы WeSpeaker и CAMPPlus при этом поддерживают batch равной длины; TitaNet принимает batch и вектор длин. Smoke-test с batch size 2 подтвердил формы всех трех графов. Для TitaNet дополненный элемент разошелся с отдельным вызовом, поэтому допустимый порог эквивалентности должен задать прототип.Production-код и приватный корпус не менялись.