modelscope / FunASR

A Fundamental End-to-End Speech Recognition Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Recognition, Voice Activity Detection, Text Post-processing etc.
https://www.funasr.com
Other
6.49k stars 688 forks source link

多进程CPU使用率剧增问题 #1406

Closed Wkdwlaud closed 7 months ago

Wkdwlaud commented 7 months ago
  1. 环境 linux,机器显卡H100,172核

  2. 贴出你遵循的文档链接? https://github.com/alibaba-damo-academy/FunASR/blob/main/README_zh.md 非实时语音识别部分

  3. 执行到哪一个步骤?

    from funasr import AutoModel
    model = AutoModel(
    model="paraformer-zh", model_revision="v2.0.4",
    vad_model="fsmn-vad", vad_model_revision="v2.0.4",
    punc_model="ct-punc-c", punc_model_revision="v2.0.4",
    batch_size_s=100,
    )
    `result = model.generate(input=local_audio_path, batch_size_s=300)`
  4. 错误信息是什么? 开4进程,峰值CPU使用率是80%,8个能稳定90%使用率,GPU占用很低,无法开更多进程大批量刷数据

  5. 你 Google 这个错误信息收集到的结论是什么? 没有找到有用的信息

  6. 请教该往哪个方向排查? 我们发现貌似是vad模型占用了大量的CPU,想问一下为什么会占用如此大的CPU资源?

Yangget commented 7 months ago

@LauraGPT help!!!

Simon-chai commented 7 months ago

马克。在80核机器上跑punc模型遇到同样的问题,一秒钟处理一两百字把80核CPU跑满了。

LauraGPT commented 7 months ago

A instance of AutoModel will use all CPUs as default (details see). If you want to limit cpu usage, you could set the ncpu:

from funasr import AutoModel
model = AutoModel(
    model="paraformer-zh", model_revision="v2.0.4",
    vad_model="fsmn-vad", vad_model_revision="v2.0.4",
    punc_model="ct-punc-c", punc_model_revision="v2.0.4",
    ncpu=1,
)
result = model.generate(input=local_audio_path, batch_size_s=300)
Wkdwlaud commented 7 months ago

A instance of AutoModel will use all CPUs as default (details see). If you want to limit cpu usage, you could set the ncpu:

from funasr import AutoModel
model = AutoModel(
    model="paraformer-zh", model_revision="v2.0.4",
    vad_model="fsmn-vad", vad_model_revision="v2.0.4",
    punc_model="ct-punc-c", punc_model_revision="v2.0.4",
    ncpu=1,
)
result = model.generate(input=local_audio_path, batch_size_s=300)

Thanks a lot!