turn-1-mini: локальное определение конца реплики через ONNX
На странице · 3 разделов
turn-1-mini — англоязычная модель p99lab для локального определения момента, когда собеседник закончил говорить. 6 октября 2026 года на Hugging Face появились веса, код и потоковые ONNX-графы под Apache 2.0; вариант int8dyn занимает 7 000 932 байта на диске. Модель не расшифровывает речь, требует вход 16 кГц и не заменяет таймаут в голосовом агенте. Числа eot-bench и скорости принадлежат авторам, а не испытаниям Modelium; ONNX-версия отдельно не оценена на eot-bench.
turn-1-mini: голосовой агент может определить конец реплики локально
p99lab выложила 6 октября 2026 года компактную англоязычную модель turn-1-mini для определения конца реплики без распознавания слов. В закреплённой ревизии 598e82f есть веса PyTorch, исходники и потоковые ONNX-графы. Это отдельный классификатор для решения, пора ли голосовому агенту отвечать: не ASR, не распознавание эмоций и не готовая политика прерывания пользователя. История Hugging Face подтверждает появление файлов 6 октября; датой события не следует считать только lastModified карточки. s1 s2 s6
Что именно можно запустить
Модель имеет 5 262 337 параметров. В полном манифесте доступны turn-1-mini.safetensors и turn-1-mini.int8.safetensors, а также четыре ONNX-графа. Для потокового запуска без PyTorch автор предлагает onnx/turn-1-mini.step.int8dyn.onnx (7 000 932 байта на диске) или FP32-граф onnx/turn-1-mini.step.onnx (21 825 125 байт). Это размеры файлов, не минимальные требования к RAM или VRAM. Запуск ONNX на CPU использует onnxruntime и numpy; зависимость huggingface_hub нужна, если граф загружается через помощник Python, а не заранее сохранён локально. s1 s2 s3 s7
Каждый шаг получает 2 560 отсчётов моно-аудио 16 кГц (160 мс), возвращает восемь оценок конца реплики с шагом 20 мс и обновлённое состояние. Состояние надо сохранять между шагами для каждого потока и сбрасывать между разговорами. В обычных ONNX-графах низкочастотная фильтрация до 4 кГц и log-mel находятся внутри графа: повторно фильтровать вход не требуется. Вариант nolp — исключение, для уже подготовленного сигнала. На чужом аудио порог и задержку ответа нужно калибровать отдельно, а также оставлять таймаут и другие правила endpointing. s1 s3
Практический порядок для разработчика: скачайте закреплённый ONNX-граф и соответствующий адаптер p99turn/onnx_stream.py из одной ревизии 598e82f; установите numpy и onnxruntime; передавайте аудио 16 кГц моно в Turn1MiniOnnx(path).push(chunk) и читайте последнюю полученную оценку. Метод from_pretrained также принимает параметр revision для фиксации репозитория; без него загрузка отслеживает меняющуюся ветку main. Этот алгоритм следует исходникам автора, но Modelium не выполнял собственный прогон. Для полностью автономной установки заранее сохраните граф и зависимости. s3 s7
Что показывают и чего не показывают оценки
По данным авторов, на английской части LiveKit eot-bench (400 реплик, 705 внутритуровых пауз, validation, ревизия ca9d98a, harness 9ee21b5) FP32-модель получила 22,6% ложных отсечений при 300 мс и 849 мс задержки при 5% отсечений. Это один прогон, а не тест Modelium; пороги и политики задержки бенчмарк подбирает на тех же 400 репликах. Автор прямо отмечает пересечение доверительных интервалов некоторых сравниваемых моделей и более сильные hosted-системы. Замер 1,29 мс на 160-мс шаг сделан авторами на одном ядре Apple M4 Pro с PyTorch и не является временем полного голосового сценария. s1
Не переносите эти цифры на ONNX. В описании графов автор сообщает, что 8-битный ONNX int8dyn не прогонялся на eot-bench; это иной артефакт, чем FP32-путь из основной таблицы. Отдельная оценка INT8-весов в PyTorch и проверка близости графов на тестовом аудио не доказывают те же показатели для ONNX на вашей записи, языке или устройстве. Русскую речь автор не оценивал. s1 s3
Права и выбор
Веса и код помечены Apache 2.0: коммерческое применение допускается при соблюдении условий лицензии и уведомлений. Обучающие аудиокорпуса сторонних владельцев в репозитории не распространяются; их происхождение и условия использования перечислены отдельно в NOTICE. Это открытые веса и доступный код, но не обещание, что весь обучающий набор открыт под той же лицензией. s4 s5
Вывод: turn-1-mini полезна как один локальный сигнал для англоязычного голосового интерфейса без обязательной транскрипции или облачного обращения на этапе инференса. Для русского продукта и критичного к прерываниям диалога сначала проведите собственную оценку на реальных паузах пользователей. Сравните FP32 и выбранный ONNX-граф на одном наборе записей и отдельно измерьте задержку всего голосового конвейера — авторские числа этого не заменяют. s1 s3
Источники
- p99lab/turn-1-mini: карточка модели на закреплённой ревизии — Авторские методика eot-bench, ограничения, требования к аудио и разграничение ONNX/PyTorch.. Получено 06.10.2026.
- p99lab/turn-1-mini: полный закреплённый манифест весов и кода — Веса, ONNX-графы, размеры файлов, config и wheel; полный siblings из API, а не первая страница дерева.. Получено 06.10.2026.
- p99lab: инструкция потокового ONNX на закреплённой ревизии — 160-мс кадры, состояния, фильтр 4 кГц внутри графа, варианты INT8 и оговорка об отсутствии eot-bench для ONNX.. Получено 06.10.2026.
- p99lab: лицензия Apache 2.0 и NOTICE — Код и веса помечены Apache 2.0; обучающие корпуса третьих сторон и данные по отдельным условиям не распространяются.. Получено 06.10.2026.
- p99lab: Apache License 2.0. Получено 06.10.2026.
- p99lab: история закреплённых ревизий модели — Начальный коммит 06.10 в 04:06 UTC, ONNX и пакет v1.2.1 появились позже в тот же день.. Получено 06.10.2026.
- p99lab: реализация потокового ONNX-адаптера — Проверены варианты int8/float32, revision, шаг 2560 отсчётов и сброс состояния.. Получено 06.10.2026.