Phonon-2 в ONNX: три варианта локального распознавания речи на CPU
На странице · 4 разделов
1 октября появилась сторонняя ONNX-конверсия англоязычной ASR-модели Phonon-2: полный FP32-граф, вариант exact4x2 с точным представлением пятиуровневых весов и более компактный, но приближённый INT8. Это новый формат уже описанной модели, а не новая базовая модель. Веса опубликованы по CC BY 4.0; заявленные автором WER и расход памяти не проверялись Modelium. Выбор варианта зависит от точности, доступного ONNX Runtime и требований к памяти при исполнении.
Phonon-2 в ONNX: что изменилось для локального ASR на CPU
1 октября 2026 года в Hugging Face создан репозиторий tiyuvta/Phonon-2-ONNX; к 05:03 UTC загружены три варианта энкодера, декодер, препроцессор и словарь. Это сторонняя конверсия модели Fermion Research Phonon-2, выпущенной ранее, а не новая модель или официальный релиз Fermion. Задача — распознавание английской речи локально, без обращения к облачному API. s1 s2 s3
Что выбирать
- FP32: исходный ONNX-энкодер состоит из
encoder-model.onnxи обязательного внешнего файлаencoder-model.onnx.data; один маленький.onnxбез.dataне является полным пакетом. Вместе они занимают около 2,44 ГБ на диске. В отдельном файле находятся FP32-декодер и ONNX-препроцессор. s2 - exact4x2:
encoder-model.exact4x2.onnxзанимает 662 190 977 байт. Автор раскладывает пятиуровневые веса на две тернарные плоскости в 4-битных операцияхMatMulNBitsи заявляет совпадение выходных токенов с собственным FP32-эталоном на 82 фрагментах. Нужна сборка ONNX Runtime с contrib ops; совместимость конкретной версии и платформы лучше проверить на своих аудиофайлах. s1 s2 - INT8:
encoder-model.int8.onnxзанимает 614 486 780 байт; квантование с потерями. На том же наборе автор сообщает совпадение токенов с FP32 на 72 из 82 фрагментов. Это вариант для проверки компромисса качества и потребления памяти, не обещание равной точности на другой речи. s1 s2
Декодеры decoder_joint-model.int8.onnx и .exact4x2.onnx присутствуют под отдельными именами для выбора через onnx-asr, однако их содержимое и LFS-хэш совпадают с FP32-декодером: речь о вариантах энкодера, а не о трёх независимо сжатых полных моделях. Размер загрузки и RAM во время исполнения — разные показатели. s1 s2
Что на самом деле измерено
Автор карточки приводит WER 4,26% для FP32 и exact4x2, 4,35% для INT8 и измеренный расход RAM после загрузки/на пике 2,2/3,0 ГБ, 1,1/1,6 ГБ и 0,9/1,3 ГБ соответственно. Это авторские результаты на своей конфигурации, а не минимальные системные требования или тест Modelium. Проверка совпадения токенов охватывает 82 коротких фрагмента (73 из LibriSpeech dev-clean и девять разговорных, до 35 секунд). WER посчитан отдельно по 1150 словам с верхним регистром и без пунктуации. s1
Не сравнивайте напрямую 4,26% этой небольшой ONNX-проверки с 1,72% LS clean из карточки исходной Phonon-2: там приведён иной, полный набор и другая процедура оценки Open ASR Leaderboard. Разница не доказывает ни деградацию модели, ни равенство всех реализаций на произвольной записи. Автор сам отмечает расхождение двух CPU-режимов Fermion на 11 из 82 фрагментов. s1 s4
Как подойти к запуску
Закреплённая карточка показывает вызов onnx_asr.load_model("nemo-conformer-tdt", "path/to/Phonon-2-ONNX", quantization="int8"); вместо int8 можно выбрать exact4x2 либо не указывать квантование для FP32. Публичный код onnx-asr действительно содержит тип nemo-conformer-tdt и разрешает имена файлов с выбранным суффиксом. Файлы надо сохранить вместе, включая config.json, vocab.txt и нужный энкодер; для FP32 не забывайте внешние данные .onnx.data. s1 s2 s5
Карточка публикует также низкоуровневые входы и выходы графов для интеграции без Python. Это контракт для собственной реализации декодирования, а не готовый проверенный нами Rust-пакет. Для практической оценки сравните на собственных английских записях хотя бы FP32 и INT8, включая шум и длинные фрагменты: автор рекомендует делить аудио длиннее примерно 35 секунд по паузам. s1
Права и пределы
У ONNX-конверсии метка CC BY 4.0; NOTICE объясняет происхождение от Fermion Research Phonon-2 и NVIDIA Parakeet TDT 0.6B v3. Исходные веса также помечены CC BY 4.0, а код Fermion — Apache 2.0; это отдельные условия, не тождественные «весь стек с открытым исходным кодом». CC BY 4.0 допускает коммерческое использование при соблюдении атрибуции и иных условий лицензии; условия данных и продукта проверяйте отдельно. s1 s3 s4
Итог: для CPU-пилота это отдельный путь к уже известной Phonon-2 через ONNX Runtime. Если важна точная передача весов относительно FP32-экспорта, сначала проверьте exact4x2 и поддержку contrib ops; если приоритет — меньший рабочий объём памяти, сравните INT8 с FP32 на вашем наборе речи. Ни скорость, ни точность в вашей среде этими цифрами не гарантированы. s1
Источники
- Phonon-2 ONNX: закреплённая карточка конверсии. Получено 01.10.2026.
- Hugging Face API: полный список файлов и размер pinned-ревизии — Проверены все 13 файлов и LFS-хэши; дата создания из model API. Получено 01.10.2026.
- NOTICE конверсии: происхождение и лицензии. Получено 01.10.2026.
- Исходная модель Fermion Research Phonon-2 и методика результатов. Получено 01.10.2026.
- onnx-asr: поддержка nemo-conformer-tdt и имён файлов. Получено 01.10.2026.