netease-youdao/Confucius4-R2T2

Hugging Face Models Trending 模型

摘要

Confucius4-R2T2 是网易有道开发的一款低延迟、高精度的实时语音识别模型,具有可配置的分块功能和稳定输出,适用于实时字幕等应用场景。

任务:自动语音识别 标签:safetensors, qwen3_asr, confucius4, r2t2, asr, streaming, real-time, low-latency, speech-recognition, vllm, multilingual, automatic-speech-recognition 基础模型:Qwen/Qwen3-ASR-1.7B 基础模型:微调:Qwen/Qwen3-ASR-1.7B 许可证:其他 地区:美国
查看原文
查看缓存全文

缓存时间: 2026/09/21 08:55

netease-youdao/Confucius4-R2T2 · Hugging Face 来源: https://huggingface.co/netease-youdao/Confucius4-R2T2 Confucius4-R2T2 ## Confucius4-R2T2: 一个低延迟高精度的实时语音识别模型 真实实时转录 GitHub 仓库 (https://github.com/netease-youdao/Confucius4-R2T2) 中文 README (https://github.com/netease-youdao/Confucius4-R2T2/blob/master/README.zh.md) 模型许可证:网易模型使用许可协议 (https://raw.githubusercontent.com/netease-youdao/Confucius4-R2T2/refs/heads/master/MODEL_LICENSE) 代码许可证:Apache 2.0 (https://github.com/netease-youdao/Confucius4-R2T2/blob/master/LICENSE) 在线演示 (https://r2t2.youdao.com/demo) Hugging Face 模型 (https://huggingface.co/netease-youdao/Confucius4-R2T2) ModelScope 模型 (https://modelscope.cn/models/netease-youdao/Confucius4-R2T2) R2T2 网站 (https://r2t2.ai/)

Confucius4-R2T2 是一个低延迟高精度的真实流式自动语音识别(ASR)模型,其特点是具有从 80 毫秒到 2 秒可配置的细粒度解码块。该模型以仅追加输出模式运行:永久提交转录文本,不修改之前的单词,这对于文本必须被即时处理或执行的应用至关重要。这带来了更流畅的用户体验,避免了实时应用(如实时直播字幕与副标题、下游自然语言处理管道与大语言模型智能体、同步语音翻译等)中令人分心的文本修改和视觉闪烁。

R2T2(Real Real-Time Transcription 的缩写)建立在 Qwen3-ASR 模型之上。它使用一套独特的数据构建技术进行训练,包括稳定前缀数据、强制时间对齐数据和令牌级音频分割。结合最长稳定前缀(LSP)学习范式(技术报告即将发布),R2T2 可以动态确定何时可以安全发出稳定前缀,以及何时需要额外的音频上下文。通过仅暴露稳定前缀,该模型提供高质量的上下文来调节后续预测,同时保证先前发出的文本保持不变。

尽管采用流式设计,R2T2 在离线识别中也保持了强大的准确性。

  • 低延迟高精度的流式识别 — 该模型的准确性接近离线识别,平均延迟仅为 200 至 600 毫秒。
  • 稳定的流式输出 — 发出的文本即被提交,且保持不变。
  • 可配置的低延迟分块 — 支持从 80 毫秒到 2 秒的解码块,以适应不同的延迟/精度权衡。
  • 离线精度无损失 — 添加流式支持不会降低离线识别精度。
  • vLLM 后端 — 提供高吞吐量推理。同时提供 Hugging Face transformers 后端。
  • 上下文和热词提示 — 原生支持。
  • 多语言支持 — 针对中文和英文进行了优化,同时也支持广泛的其他语言。

实验结果表明,R2T2 在一系列开源模型中,在延迟和识别质量方面均达到了最先进的(SOTA)性能,同时与领先的闭源系统相比也具有竞争力。

GitHub 仓库 (https://github.com/netease-youdao/Confucius4-R2T2) 提供了推理代码、一个最小化使用示例以及一个基于 vLLM 的后端,支持离线和实时流式推理。

目录

  • 概览 (https://huggingface.co/netease-youdao/Confucius4-R2T2#overview)
  • 演示 (https://huggingface.co/netease-youdao/Confucius4-R2T2#demo)
    • 与 GPT-Live-Transcribe 的并排对比 (https://huggingface.co/netease-youdao/Confucius4-R2T2#side-by-side-comparison-with-gpt-live-transcribe)
  • 附加资源 (https://huggingface.co/netease-youdao/Confucius4-R2T2#additional-resources)
  • 评估 (https://huggingface.co/netease-youdao/Confucius4-R2T2#evaluation)
    • 流式性能 (https://huggingface.co/netease-youdao/Confucius4-R2T2#streaming-performance)
    • 准确性 (https://huggingface.co/netease-youdao/Confucius4-R2T2#accuracy)
      • 英文 (https://huggingface.co/netease-youdao/Confucius4-R2T2#english)
      • 中文 (https://huggingface.co/netease-youdao/Confucius4-R2T2#chinese)
  • 安装 (https://huggingface.co/netease-youdao/Confucius4-R2T2#installation)
    • 克隆仓库 (https://huggingface.co/netease-youdao/Confucius4-R2T2#clone-the-repository)
    • 选项 1:Conda (https://huggingface.co/netease-youdao/Confucius4-R2T2#option-1-conda)
    • 选项 2:uv (https://huggingface.co/netease-youdao/Confucius4-R2T2#option-2-uv)
    • Docker (推荐) (https://huggingface.co/netease-youdao/Confucius4-R2T2#docker-recommended)
        1. 启动容器 (https://huggingface.co/netease-youdao/Confucius4-R2T2#1-start-a-container)
        1. 在容器内运行示例 (https://huggingface.co/netease-youdao/Confucius4-R2T2#2-run-the-example-inside-the-container)
        1. 管理容器 (https://huggingface.co/netease-youdao/Confucius4-R2T2#3-manage-the-container)
  • 快速开始 (https://huggingface.co/netease-youdao/Confucius4-R2T2#quick-start)
    • 配置 (https://huggingface.co/netease-youdao/Confucius4-R2T2#configuration)
    • Python API (https://huggingface.co/netease-youdao/Confucius4-R2T2#python-api)
      • 离线转录(vLLM 后端) (https://huggingface.co/netease-youdao/Confucius4-R2T2#offline-transcription-vllm-backend)
      • 流式转录(vLLM 后端) (https://huggingface.co/netease-youdao/Confucius4-R2T2#streaming-transcription-vllm-backend)
    • WebSocket 服务器 (https://huggingface.co/netease-youdao/Confucius4-R2T2#websocket-server)
      • 启动和停止服务器 (https://huggingface.co/netease-youdao/Confucius4-R2T2#start-and-stop-the-server)
      • WebSocket 端点 (https://huggingface.co/netease-youdao/Confucius4-R2T2#websocket-endpoint)
      • 消息格式 (https://huggingface.co/netease-youdao/Confucius4-R2T2#message-format)
      • 示例客户端 (https://huggingface.co/netease-youdao/Confucius4-R2T2#example-client)
  • 支持的语言 (https://huggingface.co/netease-youdao/Confucius4-R2T2#supported-languages)
  • 社区与联系 (https://huggingface.co/netease-youdao/Confucius4-R2T2#community–contact)
    • 微信群 (https://huggingface.co/netease-youdao/Confucius4-R2T2#wechat-group)
    • Discord 服务器 (https://huggingface.co/netease-youdao/Confucius4-R2T2#discord-server)
    • 业务联系 (https://huggingface.co/netease-youdao/Confucius4-R2T2#business-contact)
    • GitHub Issues (https://huggingface.co/netease-youdao/Confucius4-R2T2#github-issues)
  • 致谢 (https://huggingface.co/netease-youdao/Confucius4-R2T2#acknowledgements)
  • 引用 (https://huggingface.co/netease-youdao/Confucius4-R2T2#citation)
  • 许可证 (https://huggingface.co/netease-youdao/Confucius4-R2T2#license)

概览

Confucius4-R2T2 框架 图 1。R2T2 的整体框架。

演示

与 GPT-Live-Transcribe 的并排对比

您的浏览器不支持内嵌视频。观看对比视频 (https://github.com/user-attachments/assets/1b21c04a-766a-434f-96dc-580376b305f1)

图 2。GPT-Live-Transcribe 和 R2T2 处理同一音频,实时并排显示。

附加资源

此处将添加更多演示、对比和支持资源。

评估

如果您是这些对比中包含的模型的作者或维护者,并对结果有疑问或顾虑,请随时通过 GitHub issue tracker (https://github.com/netease-youdao/Confucius4-R2T2/issues) 联系我们。我们很乐意分享评估细节,并与您合作验证或更正它们。

流式性能

流式 API 支持从 80 毫秒到 2 秒的解码块;下图展示了在 160 毫秒下代表性的 WER/延迟权衡。

不同 ASR 模型和配置下的英文 WER 与回顾性分块延迟比较 图 3。不同模型和配置设置下的英文 WER 与回顾性分块延迟。

不同 ASR 模型和配置下的中文 CER 与回顾性分块延迟比较 图 4。不同模型和配置设置下的中文 CER 与回顾性分块延迟。

代表性流式 ASR 配置下的英文和中文精度-延迟帕累托前沿 图 5。精度-延迟帕累托前沿。左下角更优;前沿使用回顾性分块平均模糊延迟。

准确性

英文结果使用 WER(%),中文结果使用 CER(%);数值越低越好。 ※ 伪流式模型:其部分转录文本可能会修改先前发出的文本;未标记的模型使用真实流式,仅追加输出。

英文

数据集QwenR2T2 (Ours) 160ms开源专有Qwen3-ASR ※ 2s/u2/t5Qwen3-ASR base 160msX-ASR 160msWhisperRT ※ 200msNemotron 160msVoxtral 160msAssemblyAI ※ min_latency商业 A ※商业 B ※
AMI9.2524.7911.3714.4124.1918.1115.9412.0013.278.44---
Giga-clean8.6124.379.6010.2613.8112.6711.139.218.849.46---
LS-clean1.6722.302.133.864.703.712.491.891.731.25---
LS-other3.5425.744.889.649.868.277.153.373.572.48---
SPGI2.9022.253.005.148.663.933.062.143.061.74---
VoxPopuli3.0220.713.075.688.285.696.304.753.173.14---
Earnings226.6829.729.3615.9535.0817.2211.667.4710.328.96---
TED-LIUM2.3319.183.343.756.675.114.603.233.083.30---
EN-RealSI6.5413.758.408.9735.3610.6914.759.738.7317.05---

中文

数据集QwenR2T2 (Ours) 160ms开源专有Qwen3-ASR ※ 2s/u2/t5Qwen3-ASR base 160msX-ASR 160msWhisperRT ※ 200msNemotron 160msVoxtral 160msAssemblyAI ※ min_latency商业 A ※商业 B ※
Wenet-net4.9419.795.878.81U24.7023.5312.915.134.79---
Wenet-meeting5.9720.387.2711.33U20.1860.5411.847.073.75---
SPEECHIO-066.1024.507.307.86U22.5232.1615.085.675.34---
SPEECHIO-076.1921.168.2011.22U24.2822.9710.846.456.46---
CN-RealSI3.3439.723.484.92U11.528.745.153.993.64---

安装

我们建议使用一个全新的隔离环境。对于本地开发和源码安装,请使用下面的 Condauv 环境。Docker 用于快速运行项目并预配置了 CUDA 和运行时环境——参见 Docker (https://huggingface.co/netease-youdao/Confucius4-R2T2#docker-recommended)。

克隆仓库

git clone https://github.com/netease-youdao/Confucius4-R2T2.git
cd Confucius4-R2T2

选项 1:Conda

conda create -n confucius4-r2t2 python=3.12 -y
conda activate confucius4-r2t2
# 安装带有 vLLM 后端的包
pip install -e .

选项 2:uv

uv venv --python 3.12
source .venv/bin/activate
# 安装带有 vLLM 后端的包
uv pip install -e .

支持 Python 3.10+。我们测试所用版本为 Python 3.12。vLLM 对 CUDA / PyTorch 的兼容性有严格要求。如果安装无法解决依赖问题,请查阅 vLLM 网站 (https://docs.vllm.ai/) 上的版本矩阵,并固定与您的 CUDA 运行时匹配的组合。

Docker (推荐)

R2T2 可以直接在官方的 Qwen3-ASR Docker 镜像上运行,该镜像已包含我们所需的所有运行时库。 预构建镜像:qwenllm/qwen3-asr (https://hub.docker.com/r/qwenllm/qwen3-asr)。

开始之前,请安装 NVIDIA Container Toolkit (https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) 以从 Docker 启用 GPU 访问。 如果 Docker Hub 在您所在区域访问缓慢或不稳定,可能需要配置镜像源。

1. 启动容器

LOCAL_WORKDIR=/path/to/your/workspace  # 将被挂载到容器中的主机路径
HOST_PORT=8000
CONTAINER_PORT=80

docker run --gpus all --name confucius4-r2t2 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p $HOST_PORT:$CONTAINER_PORT \
    --mount type=bind,source=$LOCAL_WORKDIR,target=/data/shared/confucius4-r2t2 \
    --shm-size=4gb \
    -it qwenllm/qwen3-asr:latest

您的本地工作区($LOCAL_WORKDIR)——包括本仓库的检出副本和 R2T2 检查点——将被挂载到容器内的 /data/shared/confucius4-r2t2。 主机端口 8000 映射到容器端口 80;容器内运行的服务必须绑定到 0.0.0.0(而不是 127.0.0.1)才能使端口转发工作。

2. 在容器内运行示例

进入容器 shell 后:

cd /data/shared/confucius4-r2t2/Confucius4-R2T2
MODEL_PATH=/data/shared/confucius4-r2t2/Confucius4-R2T2 \
    ./run_example.sh /path/to/audio.wav

3. 管理容器

# 退出后重新进入
docker start confucius4-r2t2
docker exec -it confucius4-r2t2 bash

# 完全移除
docker rm -f confucius4-r2t2

快速开始

获取任意音频文件(单声道或立体声,任意采样率——内部会重采样到 16 kHz)并运行:

./run_example.sh /path/to/audio.wav \
    --model_path /path/to/Confucius4-R2T2 \
    --infer_mode stream_vllm \
    --language Chinese \
    --chunk_size_ms 160

日志默认写入 run_example.log。运行 ./run_example.sh --help 查看完整的标志列表。

配置

run_example.sh 读取以下环境变量(均为可选):

变量默认值描述
MODEL_PATH(必需)R2T2 检查点的路径或 HF 仓库 id
AUDIO第一个 CLI 参数输入音频文件的路径
INFER_MODEstream_vllmstream_vllmonetime_vllm
LANGUAGEChinese语言提示(例如 Chinese, English, …)
CHUNK_SIZE_MS160流式分块大小(支持 80 毫秒–2 秒)
UNFIXED_TOKEN_NUM1未固定的尾部令牌数量(回滚窗口)
CONTEXT""预置在提示词前面的上下文/热词提示
CUDA_VISIBLE_DEVICES0要暴露的 GPU id(s)
LOG_FILErun_example.log日志写入位置

您也可以直接调用 example.py 并将这些作为标志传递(--audio, --model_path, --infer_mode, --language, --chunk_size_ms, --lookahead_ms, --unfixed_token_num, --context)。

Python API

音频输入可以作为本地路径、URL、base64 数据或 (np.ndarray, sr) 元组传递。支持批量推理。 请记住将 vLLM 代码包装在 if __name__ == '__main__': 下,以避免 vLLM 故障排除 (https://docs.vllm.ai/en/latest/usage/troubleshooting) 中描述的 spawn 错误。

相似文章