ARTICLE · 1278585
实战|低端安卓跑流式ASR助听字幕:量化踩
实战|低端安卓跑流式ASR助听字幕:量化踩
实战|低端安卓跑流式ASR助听字幕:量化踩
一开始我图省事,直接把整个流式 ASR 模型全量化成 INT8。结果识别出来的字开始疯狂循环,比如“漂亮漂亮亮主妇妇”,字符错误率直接从 3.87% 飙到了 25.34%。
后来挨个模块排查才发现,Decoder 绝对不能无脑量化。它是自回归的,上一步的输出会回输到下一步,INT8 的舍入误差会在循环里越滚越大;但它转 INT8 才省 0.7MB,收益极低。Encoder 必须 INT8,能直接砍掉 141MB;Joiner 也能安全 INT8。最后敲定的组合是 Encoder 和 Joiner 用 INT8,Decoder 死保 FP32。
接着把模型塞进低端安卓机实测,发现瓶颈根本不是算力,而是内存带宽。A53 小核跑多线程,从 1 核加到 2 核提速明显,但加到 4 核时提升微乎其微。为了防发热降频,最终锁了 3 线程、100ms 分片,总算在入门机上跑通了离线实时字幕。
不过这套方案在 0dB 强噪声下还是会崩盘,真实嘈杂环境还得加前置降噪。
项目代码:https://github.com/suihanlansnow/android_asr
原文实战|低端安卓跑流式ASR助听字幕:量化踩坑与完整优化路线
上海,2小时前,














































































