Qwen3-ASR vs Whisper на Apple Silicon
Qwen3-ASR и Whisper—сильные варианты локального распознавания, но оптимизированы под разные ограничения. Здесь их строки вынесены из общего теста для сравнения точности, скорости, памяти и интеграции.
Поддерживаются оба движка: speech-swift включает Qwen3-ASR на MLX и Whisper Large-v3 Turbo на нативном Core ML. WhisperKit ниже приведён только как внешняя контрольная реализация.
Среди всех строк Qwen3-ASR 1.7B 5-bit даёт минимальный измеренный WER 1,32%, а Qwen3-ASR 0.6B 5-bit — минимальный RTF 0,014. В сравнении Whisper на одинаковых 200 фразах нативный WhisperASR быстрее: RTF 0,077 против 0,084 и загрузка из кэша 1,3 с против 7,2 с. Точность отличается всего на одну ошибку в слове (WER 1,73% против 1,71%), а пик RSS — лишь на 18 МБ (445 против 427 МБ).
Результаты измерений
RTF—время работы, делённое на длительность аудио; меньше значит быстрее. Все строки используют LibriSpeech test-clean и один normalizer; различия размера выборки описаны ниже.
| Engine | Quant. | WER% | RTF | Peak RSS |
|---|---|---|---|---|
| Qwen3-ASR 1.7B MLX | 5-bit | 1.32 | 0.027 | 1.92 GB |
| Qwen3-ASR 1.7B MLX | 8-bit | 1.52 | 0.033 | 2.7 GB |
| Qwen3-ASR 0.6B MLX | 5-bit | 1.74 | 0.014 | 1.03 GB |
| Qwen3-ASR 0.6B MLX | 8-bit | 1.82 | 0.015 | 1.3 GB |
| WhisperKit Large-v3 Turbo | FP16 | 1.71 | 0.084 | 427 MB |
| WhisperASR native CoreML | FP16 | 1.73 | 0.077 | 445 MB |
Что выбрать?
- Qwen3-ASR 1.7B 5-bit: лучшая здесь точность/скорость, если пик 1,92 ГБ допустим.
- Qwen3-ASR 0.6B 5-bit: самый быстрый сбалансированный Qwen—RTF 0,014 и пик 1,03 ГБ.
- Нативный Whisper CoreML: для самого быстрого поддерживаемого пути Whisper, загрузки из кэша за 1,3 с, фиксированного CoreML bundle или существующего Whisper workflow.
- WhisperKit: если приложение уже использует его управление моделями и API декодирования.
Методика и ограничения
Используется английская читаемая речь LibriSpeech test-clean на Apple M5 Pro, release builds. Qwen 8-bit и Whisper используют 200 фраз (~30 мин), Qwen 5-bit—подмножество 100 из того же теста.
Это сравнение данных реализаций на данном тесте, а не универсальный рейтинг языков. Акцент, шум, сегментация, язык, декодирование и железо меняют результат. Меньший WER лучше; peak RSS измеряется для каждого движка в отдельном процессе.