Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.3 KB

File metadata and controls

44 lines (32 loc) · 1.3 KB

CosyVoice3 昇腾 NPU 快速入门

环境准备

conda activate torch280_py310_ali

# 关键:transformers 必须使用 4.51.3,高版本会导致音频失真
pip install transformers==4.51.3 --no-deps
pip install "tokenizers>=0.21,<0.22" --no-deps
pip install "huggingface-hub>=0.30.0,<1.0" --no-deps

下载模型权重

unset https_proxy http_proxy ALL_PROXY
python -c "from modelscope import snapshot_download; snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512')"

运行推理

export ASCEND_RT_VISIBLE_DEVICES=6,7
cd 01_CosyVoice
python run_npu.py

输出音频保存在 output_npu/ 目录下。

已验证功能

  • zero-shot TTS(中文 + 英文)
  • cross-lingual TTS
  • instruct TTS
  • fp16 autocast 推理

注意事项

  1. transformers 版本: 必须使用 4.51.3,5.x 版本会导致 Qwen2 LLM 生成的 speech tokens 失真
  2. iSTFT: 用 torch.fft.irfft + scatter_add 替代 torch.istft(NPU 不支持 fold 算子),全程在 NPU 上执行
  3. f0_predictor: 从原始 fp64 改为 fp32,全程 NPU 执行(实测精度无损)
  4. 推理性能: fp16 模式下 warmup 后 RTF ≈ 1.7-1.9
  5. empty_cache: NPU 的 empty_cache 默认关闭以避免同步开销,需要时设置 export COSYVOICE_NPU_EMPTY_CACHE=1