與WebUI版本相比,Frontend/Backend分離版本提供較高效能。Backend執行個體承載了全鏈路80%的算力,通過無損加速技術,可以使一個Backend執行個體承接8個Frontend執行個體的流量,從而提升輸送量,並降低25%的延遲。本文將介紹如何在阿里雲PAI-EAS上部署CosyVoice2 Frontend/Backend分離版本。
功能概述
本方案部署CosyVoice2高並發版本,具有如下優勢:
企業級部署:採用分離式結構,將Hift/Flow與Qwen2LM解耦合,獨立部署最耗時的Qwen2LM。
高吞吐:通過高效能推理引擎提升輸送量,單個Qwen2LM執行個體可支援多個Hift/Flow,節省了GPU使用量,進而降低成本。
低延時:與開源實現相比,單個請求的端到端延遲降低25%。
如僅用於功能體驗,可直接部署CosyVoice2.0 WebUI版本,詳情請參見快速部署WebUI服務。
使用限制
通過WebUI調用服務時,僅支援使用單個Frontend執行個體。若需同時通過多個Frontend執行個體訪問服務,請使用API方式調用。
部署服務
方式一:情境化部署(推薦)
在推理服务頁簽,單擊部署服务,然後在场景化模型部署地區,單擊AI语音生成-CosyVoice部署。
在基本信息中配置服务名称,版本选择選擇高性能版後,分別配置後端執行個體和前端執行個體的參數:
前端執行個體
參數
描述
环境信息
部署版本
根據資源類型選擇對應鏡像。本文選擇
cosyvoice-frontend:0.2.0-pytorch2.3.1-gpu-py310-cu128-ubuntu22.04。說明鏡像版本迭代迅速,以控制台頁面為準,如有多個選擇最高版本即可。
存储挂载
部署多個Frontend執行個體,必須掛載外部儲存,用於儲存上傳的音頻檔案或微調後的模型檔案。以通用型NAS為例:
请选择文件系统:選擇已有檔案系統,如無可用,單擊新建文件系统建立。
文件系统挂载点:選擇對應掛載點。若無可用項,單擊新建文件系统挂载点建立。
文件系统路径:填寫該檔案系統下的子路徑,例如
/。挂载路径:指定服務執行個體內掛載路徑。例如
/mnt/data/。
說明如果對穩定性要求較低(如測試環境),可不掛載外部儲存,以節省費用。
运行命令、端口
選擇鏡像後,系統會自動設定運行命令和連接埠號碼,無需修改。
注意運行命令中
--data_dir表示掛載目錄,需與儲存掛載中的掛載路徑一致。资源信息
资源类型
本方案選擇公共资源。
副本数
按調用方式配置:
WebUI調用:只能配置為1。
API調用:單Backend執行個體最多支援8個Frontend執行個體。當Backend執行個體數為1時Frontend執行個體數取值範圍為[1, 8]。
部署资源
資源規格必須選擇GPU機型,且最低顯存要求為16 GB或以上。例如
ecs.gn8is.4xlarge、ml.gu8is.c16m128.1-gu60。配置系统盘
建議配置100 GiB,因為鏡像檔案較大,避免因儲存空間不足導致服務部署失敗。如未配置,EAS後端將預設為CosyVoice2.0情境分配100 GiB的儲存空間。
专有网络配置
如配置了NAS檔案系統,系統自動設定VPC,僅需選擇安全性群組。
後端執行個體
參數
描述
环境信息
部署版本
根據資源類型選擇對應鏡像。本方案選擇
cosyvoice-backend:0.2.0-pytorch2.3.1-gpu-py310-cu128-ubuntu22.04。說明鏡像版本迭代迅速,以控制台頁面為準,如有多個選擇最高版本即可。
运行命令、端口
選擇鏡像後,系統會自動設定運行命令和連接埠號碼,無需修改。
资源信息
资源类型
本方案選擇公共资源。
副本数
按需配置,一個Backend執行個體最多可以承接8個Frontend執行個體。本方案配置為1。
部署资源
資源規格必須選擇GPU機型,且最低顯存要求為16 GB或以上。例如
ecs.gn8is.4xlarge、ml.gu8is.c16m128.1-gu60。配置系统盘
建議配置100 GiB,因為鏡像檔案較大,避免因儲存空間不足導致服務部署失敗。如未配置,EAS後端將預設為CosyVoice2.0情境分配100 GiB的儲存空間。
专有网络配置
選擇專用網路、交換器和安全性群組。前端執行個體和後端執行個體必須配置同一VPC。如無可選VPC,請參見建立和管理專用網路和管理安全性群組。
參數配置完成後,單擊部署。當服務狀態為運行中時,表明服務部署成功。
方式二:自訂部署
自訂部署需先部署後端執行個體,再部署前端執行個體。
步驟一:部署CosyVoice-Backend執行個體
在推理服务頁簽,單擊部署服务,然後在自定义模型部署地區,單擊自定义部署。
登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入EAS。
在自定义部署頁面,配置以下關鍵參數。參數配置完成後,單擊部署。
部署方式:選擇镜像部署。
镜像配置:在官方镜像列表中選擇cosyvoice-backend > cosyvoice-backend:0.2.0-pytorch2.3.1-gpu-py310-cu128-ubuntu22.04。
說明鏡像版本迭代迅速,以控制台頁面為準,如有多個選擇最高版本即可。
资源类型:本方案選擇公共资源。
副本数:按需配置,一個Backend執行個體最多可以承接8個Frontend執行個體。本方案配置為1。
运行命令、端口号:選擇鏡像後,系統會自動設定運行命令和連接埠號碼,無需修改。
部署资源:資源規格必須選擇GPU機型,且最低顯存要求為16 GB或以上。例如
ecs.gn8is.4xlarge、ml.gu8is.c16m128.1-gu60。配置系统盘:建議配置100 GiB,因為鏡像檔案較大,避免因儲存空間不足導致服務部署失敗。如未配置,EAS後端將預設為CosyVoice2.0情境分配100 GiB的儲存空間。
专有网络配置:選擇專用網路、交換器和安全性群組。請確保與後續建立的Frontend執行個體在同一VPC內。建立方法,請參見建立和管理專用網路和管理安全性群組。請確保選擇的專用網路與CosyVoice-Frontend服務一致。
部署完成後(約3分鐘),擷取VPC調用地址和Token,用於Frontend執行個體串連。
單擊目標服務名稱,在基本信息地區,單擊查看调用信息。
在调用信息配置面板,查詢訪問地址和Token。
說明Frontend執行個體串連Backend執行個體,不建議使用公網調用地址,速度慢,且需額外收費。
步驟二:部署CosyVoice-Frontend執行個體
在推理服务頁簽,單擊部署服务,然後在自定义模型部署地區,單擊自定义部署。
登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入EAS。
在自定义部署頁面,配置以下關鍵參數。參數配置完成後,單擊部署。
部署方式:選擇镜像部署,並勾選开启Web应用。
镜像配置:在官方镜像列表中選擇cosyvoice-frontend > cosyvoice-frontend:0.2.0-pytorch2.3.1-gpu-py310-cu128-ubuntu22.04 。
說明鏡像版本迭代迅速,以控制台頁面為準,如有多個選擇最高版本即可。
存储挂载:部署多個Frontend執行個體,必須掛載外部儲存,用於儲存上傳的音頻檔案或微調後的模型檔案。以通用型NAS為例:
选择文件系统:選擇已有檔案系統,如無可單擊新建文件系统建立。
文件系统挂载点:選擇對應掛載點。若無可用項,單擊新建文件系统挂载点建立。
文件系统路径:填寫該檔案系統下的子路徑,例如
/。挂载路径:指定服務執行個體內掛載路徑。例如
/mnt/data/。
說明如果對穩定性要求較低(如測試環境),可不掛載外部儲存,以節省費用。
运行命令:選擇鏡像後,系統會自動設定運行命令
/bin/bash /tmp/entry.sh --action=start_frontend --port=9000 --data_dir=/mnt/data/ --model_dir=/nasmnt/models/pretrained_models/CosyVoice2-0.5B/ --ttsfrd_dir=/nasmnt/models/pretrained_models/CosyVoice-ttsfrd/ --llm_api_key=token --llm_base_url=http://cosyvoice-server-ip:8000/v1,其中:--workers:設定Frontend服務的worker數。未指定時,系統根據所選資源規格自動分配。若需通過瀏覽器訪問WebUI頁面, 必須顯式設定--workers為1。--port:服務連接埠號碼,必須與服務配置的連接埠號碼保持一致。
--data_dir:掛載目錄,需與儲存掛載中的掛載路徑一致。--model_dir:模型載入路徑。若使用外部儲存存放微調後的模型檔案,需根據掛載路徑調整。--llm_api_key:配置為CosyVoice-Backend服務的Token。例如Yjk4YjdlNjM1YW*****GIxZDRmZmNhMjRjZmQwMz*****。--llm_base_url:配置為CosyVoice-Backend服務的VPC調用地址,並在末尾添加/v1。例如http://11577032709*****.vpc.cn-shanghai.pai-eas.aliyuncs.com/api/predict/cosyvoice_backend1/v1。
资源类型:本方案選擇公共资源。
部署资源:資源規格必須選擇GPU機型,且最低顯存要求為16 GB或以上。例如
ecs.gn8is.4xlarge、ml.gu8is.c16m128.1-gu60。副本数:按調用方式配置:
WebUI調用:只能配置為1。
API調用:單Backend執行個體最多支援8個Frontend執行個體。當Backend執行個體數為1時Frontend執行個體數取值範圍為[1, 8]。
配置系统盘:建議配置100 GiB,因為鏡像檔案較大,避免因儲存空間不足導致服務部署失敗。如未配置,EAS後端將預設為CosyVoice2.0情境分配100 GiB的儲存空間。
专有网络配置:如配置了NAS檔案系統,系統自動設定VPC,僅需選擇安全性群組。確保與Backend執行個體在同一VPC。
推理服務產生音頻
情境化部署將自訂部署的2個服務彙總,在推理服務頁簽中只顯示一個服務。在使用時請注意:
自訂部署:通過Frontend服務進入WebUI頁面並進行API調用。
情境化部署:暫不支援使用WebUI。請通過彙總服務的調用資訊進行API調用。
API調用
通過Frontend服務(自訂部署)/彙總服務(情境化部署)的調用資訊進行API調用,具體請參見API介面說明。
常見問題
Q:調用CosyVoice API介面報錯404 {"detail":"Not Found"}
404通常為請求路徑錯誤。部署Frontend/Backend分離式服務時,API調用請求的是Frontend服務,如果使用Backend服務的調用地址會出現該錯誤,請檢查。