智能语音大模型阿里开源CosyVoice2.0部署备忘

背景

CosyVoice2.0是阿里通义开源的语音生成大模型的第二个正式版本,有比较优秀的音色,可实现快速低成本的声音复制功能。支持流式推理,合成延迟可以达到150ms。

部署步骤

1. 准备机器

本次使用的机器为4C16G的公有云机器,显卡为Nvidia T4 (基于 Turing 架构,有 2560 个 CUDA 核心,单精度浮点性能TFLOPS 8.1)。操作系统为Ubuntu 24

2. 安装显卡驱动

  • 可以直接使用最新版本570(2025.4),对应cuda12.8。
  • 驱动可以使用cuda包解压得到,只安装驱动即可。也可以使用apk包管理工具。
 wget https://developer.download.nvidia.com/compute/cuda/12.8.1/local_installers/cuda_12.8.1_570.124.06_linux.run

chmod +x cuda_12.8.1_570.124.06_linux.run 
./cuda_12.8.1_570.124.06_linux.run --extract=/root/cuda128

cd cuda128
./NVIDIA-Linux-x86_64-570.124.06.run

3. 按照conda

注意为了保持python环境的一致性,这里使用conda来指定安装的python版本,如果python版本跨度较大,可能有很多莫名其妙的问题。安装参考如下:

 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
 chmod +x Anaconda3-2023.03-1-Linux-x86_64.sh
 # 使用 -b 只安装命令行, 使用 -u 参数更新安装
 ./Anaconda3-2023.03-1-Linux-x86_64.sh  -u -b
 
 # 添加执行目录到环境变量
 export PATH=$PATH:/root/anaconda3/bin
 
 # 注意会提示重启shell

4. 代码文件

注意代码仓库包括了子依赖,要下载完全,否则会缺少依赖,无法启动。如果服务器无法直接访问github,需要在下载完全部代码,包括子模块代码之后,再打包上传到服务器。

git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git

#如果有异常,执行如下命令
git submodule update --init --recursive

5. 下载模型

下载模型可以通过git-lfs。 如果没有git-lfs, 参考如下命令安装。


curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

apt install git-lfs

下载对应模型

# git模型下载,请确保已安装git lfs
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/CosyVoice2-0.5B.git pretrained_models/CosyVoice2-0.5B
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M
git clone https://www.modelscope.cn/iic/CosyVoice-300M-25Hz.git pretrained_models/CosyVoice-300M-25Hz
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct
# git clone https://www.modelscope.cn/iic/CosyVoice-ttsfrd.git pretrained_models/CosyVoice-ttsfrd

模型大小参考:

11G     ./CosyVoice-300M
11G     ./CosyVoice-300M-SFT
22G     ./

6. 进行项目启动

# 创建虚拟环境
conda create -n cosy -y python=3.10
conda activate cosy
# pynini is required by WeTextProcessing, use conda to install it as it can be executed on all platform.
# (可选项)
#conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

# If you encounter sox compatibility issues
# ubuntu
sudo apt-get install sox libsox-dev

7. 启动模型自带的gradio WebUI

启动脚本参考如下,以CosyVoice-300M-SFT模型为例。

# 非静默启动
python3 webui.py --port 7860 --model_dir pretrained_models/CosyVoice-300M-SFT/

# 静默启动
nohup python3 -u  webui.py --port 7860 --model_dir pretrained_models/CosyVoice-300M-SFT/  >> run.log 2>&1 &

启动后如图所示:


cosyvoice2.0-webui.png

8. 启动API

python3 runtimes/fastAPI/server.py  --port 7861 --model_dir pretrained_models/CosyVoice-300M-SFT/

# 执行使用POST form ,可以参考server.py的内容。

9. 关闭程序

# 官方默认端口是 50000
netstat -anp | grep 7860 
kill -9 <pid>

问题和解决

  1. 如果出现依赖问题,检查下python版本是否3.10,之前用3.12 有报错Cython

相关文档

  1. CosyVoice 本地部署详细教程 手把手小白教程_cosyvoice 部署-CSDN博客

  2. CosyVoice2-0.5B 的本地使用指南-CSDN博客

  3. tangshuang

  4. 手动安装CUDA_GPU云服务器(EGS)-阿里云帮助中心

  5. CosyVoice2.0 official github

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容