跳到主要内容

语音识别 ASR

把 FunASR 整条流水线,跑在一张 24GB 卡

VAD、识别、标点、说话人分离、情感与事件检测,权重加起来不到 2GB。真正要花钱的不是显存,是你打算一次转多少小时音频。

FunASR 不是单个模型,而是 ModelScope(阿里达摩院开源体系)维护的一整套工业级语音识别工具链。到 v1.4.3 为止,它把 fsmn-vad 端点检测、ASR 主模型、ct-punc 标点恢复、cam++ 说话人分离,以及情感和音频事件检测,全部串进同一个 AutoModel 流水线。这一点和 Whisper 那条路线区别很实在:Whisper 想做说话人分离得额外引 pyannote,而 FunASR 的说话人模型是原生组件,一个 spk_model 参数就挂上了。

搜「FunASR 需要多大显存」的人,得到的答案通常小得不像这个时代该有的。SenseVoiceSmall 只有 234M 参数,官方 GGUF 仓库里三个文件的真实体积是:fp32 936MB、f16 470MB、q8 254MB。配套的 fsmn-vad 是 0.4M 参数,cam++ 是 7.2M,最重的 ct-punc 也才 290M。整条流水线权重合计不到 2GB,一张 Tesla T4 都装得下。瓶颈从来不在显存容量,而在吞吐、并发路数和长音频切分策略。

真正需要一张正经 GPU 常驻的,是新一代的大模型式 ASR:Fun-ASR-Nano 用 SenseVoice 编码器接 Qwen3 解码器,800M 参数,挂 vLLM 后官方标称 340 倍实时、中文 CER 8.20%;Fun-ASR-MLT-Nano 同样 800M 但覆盖 31 语种;Qwen3-ASR 1.7B 则一路拉到 52 语种。这些跑起来才谈得上显存规划。在 NexGPU 上,RTX 3090 24GB 是 $0.193/卡·时,按秒计费,转写跑完实例一停就不再计算算力费用。

01 —

FunASR v1.4.3 模型清单:到底该选哪一个

参数量、权重真实体积、适用场景,一次看清楚,别再拿 Whisper 的经验套过来

版本参数量显存上下文说明
Fun-ASR-Nano800Mbf16 权重 ~1.6GB / vLLM 常驻建议 ≥ 8GB长音频靠 fsmn-vad 切段送入SenseVoice 编码器 + Qwen3 解码器的混合架构,中英日及方言。官方 benchmark:中文 CER 8.20%,vLLM 批处理下 340 倍实时。需要 GPU,没有可用的纯 CPU 路径。
Fun-ASR-MLT-Nano800Mbf16 权重 ~1.6GB / vLLM 常驻建议 ≥ 8GB同上,VAD 分段Nano 的多语种版本,覆盖 31 种语言。做跨境客服、多语字幕、海外会议纪要时选它,中文场景反而是原版 Nano 更准。
Qwen3-ASR1.7Bbf16 权重 ~3.4GB / 实际服务建议 ≥ 12GB52 语种模型库里语种覆盖最广的一个。要建一个「什么语言丢进来都能转」的统一入口,就是它;代价是单条延迟高于 SenseVoice 这类非自回归模型。
SenseVoiceSmall234Mfp32 936MB / f16 470MB / q8 GGUF 254MB单段音频 ≤ 30 秒,长音频需 VAD性价比之王。中文 CER 7.81%,比 Fun-ASR-Nano 还低;GPU 上 170 倍实时,纯 CPU 也有 17 倍实时。额外输出情感标签和音频事件(掌声、笑声、咳嗽、喷嚏)。40 万小时数据训练,处理 10 秒音频约 70ms。
Paraformer-zh / Paraformer-zh-streaming220Mfp16 权重 ~440MBstreaming 版 chunk 可配,典型 600ms 级延迟非自回归架构,一次并行出全句,天生带字级时间戳。中文 CER 10.18%,GPU 120 倍实时。做实时字幕、坐席质检这类要边说边出字的场景,streaming 版是 FunASR 里唯一正解。
流水线组件:fsmn-vad / ct-punc / cam++0.4M / 290M / 7.2Mfp16 合计 < 1GB随主模型常驻分别负责端点检测、中英标点恢复、说话人分离聚类。v1.4.3 新增 Silero VAD 适配器,阈值可调、输出毫秒级片段,并改进了已知说话人数量下的聚类效果。

02 —

GPU 选型:别为一个 ASR 服务去租 H100

按并发路数和音频总量选卡,以下为 NexGPU 列表价,按秒计费、无最低消费

  • SenseVoiceSmall 全流水线离线转写(VAD + ASR + 标点 + 说话人)

    RTX 3090 24GB$0.193/卡·时

    Ampere sm86 带完整 fp16 张量核,是能正经跑 FunASR 的最便宜的卡,24GB 装完不到 2GB 的权重后还剩大把空间给 batch_size_s=300 的长音频批处理。

  • Fun-ASR-Nano 800M 挂 vLLM,起 OpenAI 兼容转写 API

    RTX 4090 24GB$0.540/卡·时

    Ada 架构预填充明显快过 3090,vLLM 把 gpu-memory-utilization 设到 0.85 时约有 19GB 留给 KV 缓存,几十路并发转写请求扛得住。

  • Qwen3-ASR 1.7B 多语种服务 + 后处理链同时常驻

    RTX 5090 32GB$0.723/卡·时

    32GB 足够把 1.7B 主模型、标点和说话人模型一起放下;注意 Blackwell 是 sm120,官方 Windows 预编译只到 sm86,Linux 上请配 cu128 及以上的 PyTorch,否则会掉回 CPU。

  • 上万小时音档批量归档转写,多模型多进程并行

    A100 PCIE 80GB$0.824/卡·时

    80GB 可以把 Fun-ASR-Nano、Qwen3-ASR 和整条后处理链塞进同一张卡并开满批量,等于把一张卡当一个转写集群用,单位小时成本反而最低。

03 —

四步在 NexGPU 上把 FunASR 跑起来

从开实例到 OpenAI 兼容接口,全程走 SSH 或 Jupyter,不用申请配额

  1. 01

    开实例,选 PyTorch 或 vLLM 预置镜像,装 funasr

    在 console.nexgpu.net 选一张 RTX 3090 24GB,从 2,000+ 预置镜像里挑 PyTorch 或 vLLM 环境,CUDA 和驱动已经配好。SSH 进去只剩一条 pip。工具链本体是 MIT 协议,模型权重另按各自 model card 的开源许可协议走。

    pip install torch torchaudio && pip install -U funasr
  2. 02

    用 AutoModel 一次性串起 VAD、ASR、标点和说话人

    FunASR 的核心 API 就是 AutoModel。把 vad_model、punc_model、spk_model 一起传进去,它会自动完成长音频切分、逐段识别、标点恢复和说话人聚类。batch_size_s=300 表示按累计 300 秒音频组一个 batch,是长音频吞吐的主要旋钮。

    from funasr import AutoModel
    model = AutoModel(model="iic/SenseVoiceSmall", vad_model="fsmn-vad", punc_model="ct-punc", spk_model="cam++", device="cuda")
    print(model.generate(input="audio.wav", batch_size_s=300))
  3. 03

    起 funasr-server,对外暴露 OpenAI 兼容的转写接口

    v1.4.x 自带 funasr-server,直接给出 OpenAI 语音转写风格的 HTTP 端点,后端可以走 vLLM 跑 Fun-ASR-Nano。前端代码不用改,把 base_url 指过来就行。实时场景则改用 Paraformer-zh-streaming 的 WebSocket 服务。

    pip install vllm fastapi uvicorn python-multipart && funasr-server --device cuda
  4. 04

    批量出字幕、时间戳和说话人标签

    命令行工具支持通配符批处理,--spk 打开说话人分离,--timestamps 输出字级时间戳,--output-format 可选 json 或 srt。v1.4.2 之后标点感知的句子对齐会保留字幕断句,直接出来的 SRT 不用再手工重排。

    funasr *.wav --spk --timestamps --output-format srt

算一笔实账:1,000 小时会议录音转写要花多少

假设要把 1,000 小时中文会议录音转成带标点、带说话人标签的文本。SenseVoiceSmall 在 GPU 上官方标称 170 倍实时,但串上 VAD、标点和说话人聚类之后端到端会降下来,按 100 倍实时保守估:1,000 ÷ 100 = 10 卡时。选 RTX 3090 24GB,算力成本就是 10 × $0.193 = $1.93。 真正的大头在存储。16kHz、16bit、单声道 WAV 是 32,000 字节/秒,也就是 115.2MB/小时,1,000 小时 = 115.2GB。NexGPU 存储中位价 $0.414/GB·月,整月挂着是 115.2 × 0.414 = $47.69;但这活儿只需要挂三天,115.2 × 0.414 × 3 ÷ 30 = $4.77。 出口流量可以忽略不计:1,000 小时的转写文本按 UTF-8 大约 30MB,0.03 × $0.0081 ≈ $0.0002。 合计约 $1.93 + $4.77 ≈ $6.70。这里有一条计费规则务必记住:实例一停,算力立刻停止计费;存储卷则要销毁才停。转写跑完记得把卷删掉,否则那 $47.69/月 会一直挂在账上——而这笔钱比整个转写任务的算力费贵二十倍。

04 —

常见问题

FunASR 到底需要多大显存?8GB 的卡够不够?

对 SenseVoiceSmall 路线来说远远够了:主模型 f16 权重 470MB,加上 fsmn-vad 0.4M、ct-punc 290M、cam++ 7.2M,整条流水线权重不到 2GB,8GB 卡跑批量转写都很宽裕。要上 Fun-ASR-Nano 800M 并用 vLLM 服务化,建议 8GB 起步、16GB 舒适;Qwen3-ASR 1.7B 建议 12GB 以上。在 NexGPU 上这几档分别对应 RTX 3090 24GB($0.193/卡·时)到 RTX 5090 32GB($0.723/卡·时),按秒计费,先租一小时试出真实占用再决定长期跑哪张。

FunASR 和 Whisper 该怎么选?中文场景差别大吗?

中文场景 FunASR 优势明显。SenseVoiceSmall 中文 CER 7.81%,处理 10 秒音频约 70ms,官方称比 Whisper-Large 快 15 倍,而且原生带情感识别和音频事件检测。更关键的是说话人分离:Whisper 得再拼一套 pyannote,FunASR 的 cam++ 是流水线内置组件。Whisper 的长处在小语种广度和生态成熟度。想两条线都实测一遍,在 NexGPU 上开一张 RTX 3090 24GB 同时装两套跑同一批音频,一小时不到两毛钱就有答案了。

SenseVoiceSmall 单段只能吃 30 秒音频,一小时的录音怎么办?

这正是流水线里 fsmn-vad 的作用。AutoModel 传入 vad_model="fsmn-vad" 后会自动把长音频按语音端点切成片段再逐段识别,最后合并结果,你在代码层面感知不到 30 秒这个限制。v1.4.3 还新增了可选的 Silero VAD 适配器,阈值可调、输出毫秒级片段,噪声环境下切得更干净。真正影响吞吐的是 batch_size_s 这个参数,NexGPU 的实例可以按秒计费反复调参试,调完直接停机。

Fun-ASR-Nano 能用 CPU 跑吗?没有 GPU 有没有替代方案?

Fun-ASR-Nano 需要 GPU,官方明确建议纯 CPU 用户改用 SenseVoiceSmall。SenseVoiceSmall 在 CPU 上有 17 倍实时,并且有 llama.cpp 路线:下载 GGUF 权重(q8 只有 254MB)后用独立二进制运行,运行时完全不需要 Python,支持 CUDA 和 Vulkan 后端加速,也能直接出 SRT。不过要注意,CPU 路线的 17 倍实时对上 GPU 的 170 倍差了整整一个数量级——真要批量转写,在 NexGPU 上租一张 RTX 3090 24GB($0.193/卡·时)比多等九倍时间划算得多。

在 RTX 5090 这类 Blackwell 卡上跑 FunASR 报错或掉回 CPU,怎么办?

这是目前最常见的坑:官方 Windows CUDA 预编译产物只针对计算能力 8.6(Ampere)构建,RTX 50 系是 sm120,直接跑会退回 CPU 或干脆报错,需要从源码重编。最省事的做法是走 Linux + cu128 及以上的 PyTorch。NexGPU 的 RTX 5090 32GB($0.723/卡·时)走的就是 Linux 镜像,2,000+ 预置镜像里挑一个新版 PyTorch 环境即可绕开整个问题;不确定选哪个镜像,Telegram 上直接问我们,中英文都有人,没有工单排队。

FunASR 可以商用吗?授权协议是什么?

工具链源码是 MIT 协议,商用没有障碍。但模型权重是分开授权的,各个 model card 下按「FunASR 模型开源许可协议」单独约定,Fun-ASR-Nano、SenseVoiceSmall、Paraformer 等都要各自确认一遍再上生产。这也正是很多团队选择私有化部署而不是调用云端 API 的原因——音频数据不出自己的机器。NexGPU 提供 51 个国家和地区、1,175 个已验证可租用节点,可以按数据合规要求就近选地域部署,实例停止即停止计算算力费用。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。