Edge0/Audio8-ASR-Infinite

Hugging Face Models Trending 模型

摘要

Audio8 ASR Infinite 是一款原生流式语音识别模型,具有可选音频时钟和可配置转录延迟,支持无限长度音频转录且无漂移。

任务: 自动语音识别 标签: transformers, safetensors, audio8_asr_infinite, 文本生成, 流式, 实时, 语音识别, 音频, 自动语音识别, 自定义代码, 中文, 英文, 许可证: apache-2.0, 区域: 美国
查看原文
查看缓存全文

缓存时间: 2026/09/24 15:10

Edge0/Audio8-ASR-Infinite · Hugging Face

来源:https://huggingface.co/Edge0/Audio8-ASR-Infinite
Audio8 ASR Infinite 是一个原生流式语音识别模型,设计旨在实现尽可能高的响应速度。它支持可选的音频时钟(80/120/160 毫秒)和转录延迟(240–560 毫秒)。配合我们适配的 vLLM 构建,它可以在全天候运行中转录无限长度的音频,且不会产生漂移。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#highlights 亮点

  • 超高响应速度——原生流式架构每秒解码 12.5 次。
  • 无限长度转录——滚动 KV 缓存确保内存和延迟保持恒定,即使在全天候运行下也是如此。
  • 可选流式时钟——每个时钟步产生一个文本 token(每秒 12.5 / 8.3 / 6.25 次决策),在感知粒度和资源消耗之间取得平衡。
  • 可配置的转录延迟——可设置以延迟换取准确度的权衡。
  • 语义 VAD——可区分思考停顿、结巴和真正的轮次结束,而传统声学 VAD 在这些情况下通常会失效。
  • 双语支持——中文和英文。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#see-audio8-asr-infinite-in-action 查看 Audio8-ASR-Infinite 运行演示

该检查点原生上下文为 30 秒。但通过滚动 KV 缓存,它可以 24/7 不间断转录。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#optimized-operation-points 优化操作点

以下帧长和延迟的组合是经过后训练的。其他组合也可使用,但性能可能非最优。

音频时钟 frame_len streaming_n_left_pad_tokens 可选 target_delay_ms
80 毫秒 4 18 240 / 320 / 480 / 560
120 毫秒 6 12 240 / 480
160 毫秒 8 9 320 / 480

target_delay_ms 必须是所选时钟的整数倍,因此即使某些较长的延迟未在上表中列出,在每个时钟下仍然可用。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#architecture 架构

继承 Voxtral 实时音频架构和 DSM 风格的流式处理。

组件 初始权重 已训练
因果音频塔 Voxtral Realtime 4B ✅
音频投影器 随机初始化 ✅
帧长嵌入 随机初始化 ✅
解码器 Qwen2.5-3B-Instruct ✅
语言模型头 Qwen2.5-3B-Instruct ✅

检查点规格说明:

音频塔:32 层,隐藏维度 1280,128 个梅尔频带,滑动窗口 750
文本解码器:36 层,隐藏维度 2048,16 个查询头 / 2 个 KV 头
投影器:最大帧长 8 → 投影尺寸 10240,使用 gelu 激活
帧长条件化:已启用(use_frame_len_embedding: true)
语义 VAD 头:semantic_vad_heads.safetensors,8 个类别,视野范围 0.5 / 1.0 / 2.0 / 3.0 秒
词表大小:151936
数据类型:bfloat16
权重:8.17 GB(model.safetensors + semantic_vad_heads.safetensors)

https://huggingface.co/Edge0/Audio8-ASR-Infinite#roadmap 路线图

这是预览版发布:它提供了转录基础功能。实时语义感知功能正在同一帧网格和相同的声学前向传递上构建中。

阶段 状态 范围
预览版——ASR 基础 ✅ 已完成 流式中英文转录:可选 80/120/160 毫秒时钟,可配置 target_delay_ms,无限长度滚动 KV 窗口
正式版 🏃 进行中 基于同一网格的帧级语义感知,超越转录功能

https://huggingface.co/Edge0/Audio8-ASR-Infinite#evaluation 评估

https://huggingface.co/Edge0/Audio8-ASR-Infinite#480-ms-delay-80ms-frame-length 480 毫秒延迟,80 毫秒帧长

测试集 指标 Audio8 ASR Infinite Voxtral-Mini-4B-Realtime-2602 nemotron-3.5-asr-streaming-0.6
aishell1/test CER 1.750 16.795 12.927 @560ms
aishell4/test CER 2.893 16.456 14.677 @560ms
librispeech test.clean WER 3.042 2.210 3.353 @560ms
librispeech test.other WER 6.808 5.552 7.140 @560ms
平均 3.623 10.253(2 个数据集) 9.524

使用贪心解码,抑制结束符,在 80 毫秒音频时钟下,target_delay_ms = 480(6 个延迟 token)。错误率为百分比。没有重复循环和尾词丢失。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#usage 使用

使用内嵌远程代码进行程序化模拟流式解码:

import numpy as np
import torch
from transformers import AutoFeatureExtractor, AutoTokenizer

from audio8_asr_infinite.modeling.modeling_audio8_asr_infinite import (
    Audio8ASRInfiniteForConditionalGeneration,
    resolve_qwen_language_token_id,
    resolve_qwen_streaming_special_token_ids,
)
from audio8_asr_infinite.streaming_inference import simulated_streaming_greedy_decode_batch

checkpoint = "Edge0/Audio8-ASR-Infinite"
tokenizer = AutoTokenizer.from_pretrained(checkpoint, trust_remote_code=True)
feature_extractor = AutoFeatureExtractor.from_pretrained(checkpoint, trust_remote_code=True)
model = Audio8ASRInfiniteForConditionalGeneration.from_pretrained(
    checkpoint, trust_remote_code=True, torch_dtype=torch.bfloat16
).eval().cuda()

class AudioConfig:  # 鸭子类型:raw_audio_samples_per_token / streaming_n_left_pad_tokens / sampling_rate
    raw_audio_samples_per_token = 1280   # 80 毫秒 @ 16 kHz
    streaming_n_left_pad_tokens = 18
    sampling_rate = 16000

waveform = np.load("sample.npy", allow_pickle=False).astype(np.float32)  # [-1, 1],16 kHz 单声道
results = simulated_streaming_greedy_decode_batch(
    model=model,
    tokenizer=tokenizer,
    feature_extractor=feature_extractor,
    waveforms=[waveform],
    language_token_ids=[resolve_qwen_language_token_id(tokenizer, "zh")],
    special_ids=resolve_qwen_streaming_special_token_ids(tokenizer),
    audio_config=AudioConfig(),
    num_delay_tokens=[480 // 80],
    right_pad_text_tokens=10,
    dtype=torch.bfloat16,
    device=next(model.parameters()).device,
    max_new_tokens=512,
)
print(results[0]["final_text"])

仅支持完整的合并权重目录(即此仓库本身);不支持适配器风格或部分转换的权重。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#247-inference-with-vllm 使用 vLLM 进行全天候推理

Docker compose 是标准部署路径;它还同时提供 Web 演示服务:

cd docker
AUDIO8_MODEL_DIR=/path/to/checkpoint docker compose up -d

使用同套栈中包含的 Web 客户端进行验证:

http://localhost:8080/     # 纯 HTTP
https://localhost:8443/    # TLS 代理;接受自签名证书

同一个套接字也可以通过终端驱动:

python -m audio8_asr_infinite.examples.vllm_realtime_client \
    --ws-url ws://127.0.0.1:18191/v1/realtime \
    --audio sample.wav --language zh --target-delay-ms 480 --pace

18191 是 docker/docker-compose.yml 发布的宿主机端口;服务本身在 compose 网络内监听 18190 端口。滚动 KV 窗口为 30 秒,采用精确的 RoPE 重置,这正是确保内存在全天候运行中保持有界且延迟恒定的关键。

https://huggingface.co/Edge0/Audio8-ASR-Infinite#torch-inference-simulated-streaming-decode Torch 推理(模拟流式解码)

python -m audio8_asr_infinite.examples.torch_streaming_decode \
    --checkpoint /path/to/checkpoint \
    --audio sample.wav --language zh --transcription-delay-ms 480

相似文章

nvidia/nemotron-3.5-asr-streaming-0.6b

Hugging Face Models Trending

NVIDIA 发布 Nemotron 3.5 ASR,这是一个6亿参数的多语言流式语音识别模型,支持40种语言区域,采用缓存感知的FastConformer-RNNT架构实现低延迟转录。该模型支持可配置的块大小,并已在OpenMDW-1.1许可证下准备商业化使用。