尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Audio8 ASR Infinite 无限长转写原理:Rolling KV Cache 如何让内存与延迟保持恒定

发布时间:2026/9/27 3:31:06

资讯中心
01
ARTICLE

Audio8 ASR Infinite 无限长转写原理:Rolling KV Cache 如何让内存与延迟保持恒定

Audio8 ASR Infinite 无限长转写原理:Rolling KV Cache 如何让内存与延迟保持恒定
Audio8 ASR Infinite 无限长转写原理Rolling KV Cache 如何让内存与延迟保持恒定【免费下载链接】Audio8-ASR-Infinite项目地址: https://ai.gitcode.com/hf_mirrors/Edge0/Audio8-ASR-InfiniteAudio8 ASR Infinite 是一个原生流式语音转写模型streaming speech recognition能 24 小时不间断转写任意长度音频。它的核心是 Rolling KV Cache滚动 KV 缓存无论音频播了多久显存占用与转写延迟都保持恒定真正做到无限长转写。下面用尽量少的术语带你搞懂无限长背后的原理。痛点为什么普通语音转写做不到无限长大多数流式语音识别模型都有一个隐藏的地雷KV 缓存会随音频时长一直增长。问题后果KV 缓存越积越长内存线性增长播到几小时就可能爆显存注意力要扫全量历史延迟越来越高越播越卡常见妥协定期截断/重置上下文丢失转写开始漂移、出错率上升想要 7×24 小时运行就必须让缓存不增长同时还不能丢上下文语义。Audio8 ASR Infinite 的答案就是 Rolling KV Cache。模型一览30 秒原生上下文 无限滚动先看几个关键参数来自 config.json项目数值说明原生上下文30 秒模型单次原生能看到的窗口音频时钟80 / 120 / 160 ms三档可选手表见下文转写延迟240–560 ms可配置的用延迟换准确率旋钮音频塔Voxtral Realtime 4B32 层、128 mel、滑动窗口 750 帧文本解码器Qwen2.5-3B-Instruct36 层、GQA16 查询头 / 2 KV 头权重体积8.17 GBbfloat16model.safetensors语言中 / 英双语通过语言特殊 token 切换架构上音频先经因果音频塔按 20ms 帧率编码再由投影器 帧长嵌入送入解码器另外还附带一个语义 VAD 头semantic_vad_heads.safetensors8 类 × 4 个预测时距 0.5/1.0/2.0/3.0s能区分思考停顿、口吃和真的说完了——这正是传统声学 VAD 做不到的。Rolling KV Cache 三步拆解窗口、重定基、恒定第 1 步固定 30 秒滚动窗口。解码器只保留最近约 30 秒的 K/V 键值对窗口写满后最老的一批直接挤出新的顶上来。缓存大小从此是常数——内存恒定。第 2 步精确 RoPE 重定基re-basing。这是最容易被忽略的一步。注意力机制里的 RoPE 位置编码记录了每个 K 的绝对位置如果最老的 K 被挤掉后不做任何处理剩余 K 的位置刻度就和当前时间对不上了长时运行会逐渐漂移。Rolling KV Cache 在每次滚动时对保留下来的所有 K 统一减去已挤出的位置偏移把刻度重新归零回窗口内。所谓精确指用严格的旋转矩阵换算而不是近似补偿——这正是 24/7 运行下无漂移的来源见 README.md 中 exact RoPE re-basing 的说明。第 3 步延迟恒定。因为注意力只扫固定窗口每个时钟步解码 1 个 token 的开销完全固定端到端延迟就锁死在你设定的target_delay_ms上——播 1 分钟和播 10 小时延迟一模一样。一句话总结窗口负责省内存重定基负责不失忆两者合起来就是内存与延迟恒定。三档音频时钟80 / 120 / 160 ms 怎么选音频塔以 20ms 为基本帧frame_len就是每步打包几帧决定了模型的心跳频率音频时钟frame_len左上下文 pad每秒决策次数适合场景80 ms41812.5 次响应最快交互/字幕首选120 ms6128.3 次均衡之选160 ms896.25 次资源最省批量长音频左上下文 padstreaming_n_left_pad_tokens定义于 config.json表示每一步往回多看多少历史音频它和时钟一起决定了可配置的转写延迟。时钟的合法性校验与换算逻辑见 configuration_audio8_asr_infinite.py。可配置转写延迟 target_delay_ms准确率和速度的旋钮延迟并不是越低越好。模型内部用延迟条件化告诉你它落在实时多少步num_delay_tokens target_delay_ms ÷ 音频时钟例如 80ms 时钟下 480ms → 6 个延迟 token映射表见 config.json延迟数转成正弦时间嵌入再叠加帧长嵌入得到条件向量t_cond实现见 modeling_audio8_asr_infinite.pyt_cond在解码器每一层注意力之后调制隐状态让模型知道该等多少上下文再开口从而减少丢词。frame_len可选target_delay_ms480ms240 / 320 / 480 / 5606120ms240 / 4808160ms320 / 480target_delay_ms只需是所选时钟的整数倍因此每种时钟都能找到合适档位——延迟越高准确率通常越好这就是官方给出的延迟-准确率权衡表。24/7 部署实践vLLM 加速 滚动窗口官方推荐的长跑部署是改造版 vLLM Docker Compose滚动 KV 窗口 30 秒即开即用git clone https://gitcode.com/hf_mirrors/Edge0/Audio8-ASR-Infinite cd Audio8-ASR-Infinite/docker AUDIO8_MODEL_DIR/path/to/checkpoint docker compose up -d启动后用浏览器打开http://localhost:8080/即可体验网页 demo终端也能直连 WebSocket 推流--target-delay-ms 480即上面提到的延迟旋钮详见 README.md。效果验证平均错误率 3.623%在 80ms 时钟、480ms 延迟设定下贪心解码、抑制 EOS官方评测如下错误率%测试集指标Audio8 ASR Infinite对比模型aishell1/testCER1.75016.795aishell4/testCER2.89316.456librispeech cleanWER3.0422.210librispeech otherWER6.8085.552平均3.62310.253中文场景优势尤其明显且官方明确无重复循环、无丢尾词——这正是滚动窗口稳定性带来的直接收益完整评测见 README.md。关键文件速查文件作用config.json总配置时钟、延迟映射、VAD 时距model.safetensors主权重8.17 GBbfloat16semantic_vad_heads.safetensors语义 VAD 分类头modeling_audio8_asr_infinite.py前向与延迟条件化实现configuration_audio8_asr_infinite.py配置类时钟/延迟合法性校验preprocessor_config.json16kHz、128 mel、hop 160 的音频预处理chat_template.jinjaQwen 对话模板Audio8-Asr-Infinite-Demo.mp424/7 连续转写演示视频小结Rolling KV Cache30 秒固定窗口滚动缓存大小不再随时长增长内存恒定精确 RoPE 重定基每次滚动后严格重算位置刻度长时运行无漂移恒定延迟每时钟步 1 个 token 固定窗口注意力延迟锁死在target_delay_ms三档时钟 四档延迟80/120/160ms 时钟 × 240–560ms 延迟按场景自由权衡。这套组合拳让一个原生只有 30 秒上下文的模型具备了 7×24 小时无限长转写的生产能力——这就是 Audio8 ASR Infinite 名字的由来。【免费下载链接】Audio8-ASR-Infinite项目地址: https://ai.gitcode.com/hf_mirrors/Edge0/Audio8-ASR-Infinite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。