跳到主要内容

语音识别模型

Paraformer 本地部署:220M 参数,一张 3090 绰绰有余

单步非自回归解码让 Paraformer 在 GPU 上跑到 120 倍实时,而它加上 VAD、标点、说话人整条链路也不到 520M 参数。这一页把版本、显存、命令和账单一次讲清。

Paraformer 出自阿里达摩院(现 FunAudioLLM 团队)的 INTERSPEECH 2022 论文,作者是 Zhifu Gao、Shiliang Zhang、Ian McLoughlin 和 Zhijie Yan。它解决的是自回归 Transformer 一个 token 一个 token 吐字太慢的问题:用 CIF(continuous integrate-and-fire)predictor 先预测这段音频该出多少个字,再用 glancing language model sampler 把语义 embedding 注回去补上下文建模,最后交给单步非自回归 decoder 一次性解完。论文在 AISHELL-1、AISHELL-2 和一个两万小时的工业语料上验证,推理相比自回归基线快十倍以上。

到 2026 年,Paraformer 在 FunASR 的 model zoo 里已经不是旗舰了 —— 上面站着 Fun-ASR-Nano(800M)、Qwen3-ASR(1.7B)、GLM-ASR-Nano(1.5B)这些 LLM 式识别模型,旁边还有 SenseVoiceSmall(234M,顺带出情绪和音频事件标签)。但官方的模型选型文档写得很直白:场景是纯中文、要字级时间戳或者要热词定制,就选 Paraformer。它是成熟的非自回归路径,220M 参数、Apache-2.0 权重、六万小时以上训练数据,工程上没有惊喜,这在生产环境里是优点。

显存从来不是 Paraformer 的瓶颈 —— 真正卡人的是吞吐和链路。它是非自回归架构、没有 LLM decoder,所以 FunASR 官方明确说明 vLLM 加速路径不支持 Paraformer(vLLM 只服务 Fun-ASR-Nano、GLM-ASR-Nano 这类带 LLM 解码器的模型)。这意味着你租一张 H100 也换不来 vLLM 的连续批处理红利,正确做法是用便宜的卡开多进程、把 batch_size_s 拉满。NexGPU 上 RTX 3090 24GB 只要 $0.193/卡·时,按秒计费、无最低消费,把一万小时存量录音灌完的成本可能还不够一顿午饭。

01 —

Paraformer 家族有哪些版本,各要多少显存

以 FunASR v1.4.3 的模型注册表为准,别再照着 2024 年的博客抄 model id

版本参数量显存上下文说明
paraformer-zh(实际落点是 SeACo-Paraformer-large)220Mfp32 权重约 0.9GB / fp16 约 0.45GB;单卡推理预算 4GB由 fsmn-vad 切段,单段默认上限 60 秒(max_single_segment_time=60000)FunASR 里写 model="paraformer-zh" 拿到的其实是 iic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch,也就是 ICASSP 2024 的 SeACo-Paraformer,带热词定制分支。想要原版请写 model="paraformer"。
paraformer(Paraformer-large,vocab8404)220Mfp32 权重约 0.9GB;2GB 显存即可起跑同样依赖 VAD 切段处理长音频原版单步非自回归 large,中英混说、带字级时间戳,没有热词分支。ONNX 导出走这个入口最省事。
paraformer-zh-streaming(...vocab8404-online)220M单路常驻约 2GB,多路并发按路数线性叠加chunk_size=[0, 10, 5],对应 600ms 输出粒度;encoder_chunk_look_back=4,decoder_chunk_look_back=1流式听写用这个。chunk_stride = chunk_size[1] * 960,喂音频的步长必须跟它对齐,否则输出会漂。
paraformer-en(vad-punc,vocab10020)220M约 2GB(VAD 与标点已内置在 pipeline 里)内置 VAD + PUNC,长音频开箱即用英文离线转写。注意 FunASR v1.4.1(2026/08/04)才修好 Hugging Face 上这个 alias 的解析,老版本会拉错权重。
配套链路:fsmn-vad + ct-punc + cam++0.4M + 290M + 7.2M ≈ 298Mfp32 权重合计约 1.2GB,与 ASR 同卡共存VAD 负责切段,标点按句还原,cam++ 出说话人全家桶加起来约 518M 参数、fp32 权重约 2.1GB。ct-punc 比 ASR 本体还大,很多人只算 ASR 显存结果算漏了一半。
同门更新款:SenseVoiceSmall / Fun-ASR-Nano-2512234M / 800Mfp32 约 0.9GB / 约 3.2GBSenseVoice 覆盖中英日粤韩五语种;Fun-ASR-Nano 覆盖中英日与 7 种方言、26 种口音如果你要的是多语种、情绪与音频事件标签,或者方言口音场景,Paraformer 不是最优解,直接上这两个。Fun-ASR-Nano 还能走 vLLM,RTFx 可以到 340。

02 —

跑 Paraformer 该租哪张卡

220M 的模型不需要旗舰卡,把钱花在卡数和吞吐上更划算

  • 单卡跑 paraformer-zh 全流水线做批量转写与效果验证

    RTX 3090 24GB$0.193/卡·时

    全链路 fp32 权重约 2.1GB,24GB 显存连十分之一都用不满,而 3090 是 NexGPU 上单价最低的现代 CUDA 卡,性价比压倒一切。

  • paraformer-zh-streaming 流式听写常驻服务,多路并发

    A10 24GB$0.414/卡·时

    数据中心卡为 7×24 常驻负载设计,单路只吃约 2GB,24GB 能塞下十路以上流式会话而不用担心长时间满载掉频。

  • 上万小时存量音频灌批,batch_size_s 拉满、多进程压吞吐

    RTX 4090 24GB$0.540/卡·时

    Paraformer 用不上 vLLM,纯靠单卡算力和并行度堆吞吐,4090 的解码速度换来的墙钟时间缩短通常比 3090 的低单价更值。

  • 微调 SeACo-Paraformer 做行业热词,train_ds.py 多卡训练

    RTX A6000 48GB$0.817/卡·时

    训练要同时放下权重、梯度、优化器状态和激活,48GB 让你把 batch 开大而不用反复调 accum step;单节点最多可挂 14 卡直接 torchrun。

03 —

在 NexGPU 上四步跑起 Paraformer

从空实例到能对外提供 OpenAI 兼容转写接口

  1. 01

    开实例,装 FunASR

    在 NexGPU 控制台选 PyTorch 预置镜像开一台 RTX 3090,SSH 进去装 funasr。官方要求 Python 3.8–3.13、PyTorch ≥ 1.11.0,预置镜像已经带好匹配 CUDA 的 torch,不要自己再装一遍覆盖掉。

    pip3 install -U funasr modelscope && python -c "import torch; print(torch.cuda.is_available())"
  2. 02

    一行拉起离线全流水线转写

    AutoModel 把 ASR、VAD、标点、说话人串成一条链路。vad_kwargs 控制单段最长 60 秒,batch_size_s 是按音频总时长动态组批(不是按条数),长音频批量转写把它拉到 300 以上收益最明显。device 支持 cuda:0 / cpu / mps / xpu。

    from funasr import AutoModel
    model = AutoModel(model="paraformer-zh", vad_model="fsmn-vad", vad_kwargs={"max_single_segment_time": 60000}, punc_model="ct-punc", spk_model="cam++", device="cuda:0")
    print(model.generate(input="meeting.wav", batch_size_s=300)[0]["text"])
  3. 03

    对外提供服务:OpenAI 兼容接口或流式 WebSocket

    funasr-server 直接起一个 POST /v1/audio/transcriptions 的 OpenAI 兼容端点,跑在 8000 端口,现有用 Whisper API 的代码改个 base_url 就能切过来。要做实时字幕就换 paraformer-zh-streaming,chunk_size=[0, 10, 5] 对应 600ms 粒度,喂数据的步长必须等于 chunk_size[1] * 960,音频固定 16kHz 单声道 PCM16。

    pip install fastapi uvicorn python-multipart && funasr-server --model paraformer-zh --device cuda
  4. 04

    按需微调热词,或导出 ONNX 下沉到 CPU

    行业术语、人名、产品名识别不准,就用 SeACo-Paraformer 的热词分支微调,train_ds.py 配 torchrun 多卡。若最终要在 CPU 侧大并发跑,用 export 导出 ONNX 再走 funasr-onnx,GPU 只用来训练和验证,这是最省钱的分工。

    torchrun --nnodes 1 --nproc_per_node 2 funasr/bin/train_ds.py ++model=paraformer-zh ++train_data_set_list=train.jsonl ++train_conf.max_epoch=20

把一千小时录音转写完要花多少钱

算一笔实账。假设你有 1,000 小时中文会议录音要全量转写,也就是 3,600,000 秒音频。Hugging Face 上 funasr/paraformer-zh 的模型卡标称 GPU 上 120 倍实时,按这个吞吐:3,600,000 ÷ 120 = 30,000 秒 ≈ 8.33 小时墙钟。租 RTX 3090 24GB,$0.193/卡·时,8.33 × $0.193 ≈ $1.61。想更快就换 RTX 4090 24GB,$0.540/卡·时,吞吐保守按 200 倍实时估:3,600,000 ÷ 200 = 18,000 秒 = 5 小时,5 × $0.540 = $2.70 —— 快了四成,贵了六成,这笔账你自己权衡。真正的省法是并行:开 8 张 3090 同时灌,墙钟压到 8.33 ÷ 8 ≈ 1.04 小时,总卡时还是 8.33,成本仍然是 $1.61,因为我们按秒计费、并行不加价。再算周边:300GB 原始音频落盘一天,$0.414/GB·月 ÷ 30 × 300 ≈ $4.14;转写结果 JSONL 约 200MB 拉回本地,0.2 × $0.0081 ≈ $0.002。一次全量转写合计不到 $6,而且实例一停计算就不计费,盘删掉存储也立刻停 —— 没有最低消费、没有开通费、不用提配额申请。

04 —

常见问题

Paraformer 本地部署到底需要多大显存?

Paraformer-large / paraformer-zh 都是 220M 参数,fp32 权重约 0.9GB,fp16 约 0.45GB。但很多人算漏了链路里的其他模型:ct-punc 标点模型 290M(比 ASR 本体还大)、cam++ 说话人 7.2M、fsmn-vad 0.4M,合起来约 518M 参数、fp32 权重约 2.1GB。加上激活和动态组批的余量,单卡推理按 4GB 显存预算就很稳,batch_size_s 拉到 300 以上再留到 8GB。结论是任何一张 16GB 以上的卡都绰绰有余,NexGPU 上 RTX 3090 24GB 只要 $0.193/卡·时,是这个模型最经济的落点。

model="paraformer-zh" 和 model="paraformer" 是同一个模型吗?

不是,这是 FunASR 最容易踩的坑。翻 funasr/download/name_maps_from_hub.py 就能看到:paraformer 映射到 iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch,是原版 Paraformer-large;而 paraformer-zh 映射到 iic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch,也就是 SeACo-Paraformer,多了热词定制分支。两者都是 220M、都是 vocab8404,但权重不同、行为不同。写基线对比论文的时候别搞混。要在 NexGPU 上两个都跑一遍做对比?按秒计费,跑完就停,一张 3090 一小时不到两毛钱。

Paraformer 能用 vLLM 加速吗?租 H100 划算吗?

不能,也不划算。FunASR 官方的 vLLM 指南写得很清楚:vLLM 路径只支持带 LLM decoder 的架构,也就是 Fun-ASR-Nano(Qwen3-0.6B 编码器)、GLM-ASR-Nano 和 LLMASR 系列;Paraformer 因为是非自回归、没有 LLM 组件,明确不在支持列表里,SenseVoice 同理。所以你租 H100 SXM 80GB($3.582/卡·时)换不来连续批处理的红利,一个 220M 的模型也根本喂不饱它。正确姿势是租便宜卡开多进程:NexGPU 上 8 张 RTX 3090 并行的总成本,还不到一张 H100 单卡时价的一半。

2026 年了,中文语音识别该选 Paraformer 还是 SenseVoice、Fun-ASR-Nano?

看你要什么。纯中文、要字级时间戳、要热词定制,Paraformer 仍是官方模型选型文档推荐的成熟路径。要多语种(中英日粤韩)外加情绪标签和音频事件标签,选 SenseVoiceSmall(234M)。要方言口音覆盖或者 LLM 式的容错纠错能力,选 Fun-ASR-Nano-2512(800M),它还能走 vLLM,RTFx 实测到 340。官方给的建议是别看跑分、拿你自己 20–50 条代表性音频实测。NexGPU 有 2,000+ 预置镜像,三个模型同一台机器上依次装完对比,一次评测的机器成本通常在一美元量级。

Paraformer 流式识别的延迟能做到多低,chunk_size 怎么配?

官方示例配置是 chunk_size = [0, 10, 5],对应 600ms 的输出粒度,配合 encoder_chunk_look_back = 4、decoder_chunk_look_back = 1。喂音频时 chunk_stride 必须等于 chunk_size[1] * 960,输入必须是 16kHz 单声道 PCM16,格式不对是 WebSocket 实时服务最常见的故障源。想再压延迟就调小 chunk_size[1],代价是准确率下降和调用次数上升。做常驻流式服务建议用 A10 24GB($0.414/卡·时)这类数据中心卡,单路约 2GB 显存,一张卡挂十路以上并发不成问题。

Paraformer 权重可以商用吗?许可证是什么?

FunASR 工具箱源码是 MIT 协议;预训练权重按各自 model card 的许可走 —— Hugging Face 上的 funasr/paraformer-zh 标注 Apache-2.0,训练数据超过六万小时;ModelScope 上的部分工业预训练模型走的是仓库的模型许可协议,商用前请自己核对具体那个 model id 的条款,别拿一句话覆盖整个家族。技术侧要注意 FunASR 迭代很快,v1.4.0 才加上参数拼写校验(拦 vda_model 这类笔误),v1.4.1 修了 paraformer-en 的 alias 解析,v1.4.3 加了 Silero VAD 适配器 —— 锁版本、记录 FunASR 版本号再上线。在 NexGPU 上把每个版本各开一台实例回归验证,用完即停,按秒计费不留尾巴。

开始使用 NexGPU

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

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