尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

GPT-SoVITS Mac推理从0.8s到0.2s每句:Apple Silicon的MPS调优清单

GPT-SoVITS Mac推理从0.8s到0.2s每句:Apple Silicon的MPS调优清单 GPT-SoVITS Mac推理从0.8s到0.2s每句Apple Silicon的MPS调优清单【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS你在MacBook Pro上用GPT-SoVITS生成播客音频一句要等0.8秒16GB内存常年吃紧。改两处就能提速把推理配置的device换成mps再打开半精度单句推理时间降到0.2秒内存占用从4.2GB降到3.5GB。本文是一份可直接照做的MPS调优清单。快速通道四条命令跑通MPS加速只想立刻跑起来的读者按顺序执行这4步# 1. 安装Apple Silicon专属环境自动装好对应PyTorch bash install.sh --device MPS --source ModelScope # 2. 确认MPS后端可用输出True即通过 python -c import torch; print(torch.backends.mps.is_available()) # 3. 改配置GPT_SoVITS/configs/tts_infer.yaml 里对应版本的 # device: cpu → device: mpsis_half: false → is_half: true # 4. 启动WebUI验证 python webui.py第1步省掉手动拼环境install.sh会识别芯片架构并下载预训练模型到GPT_SoVITS/pretrained_models/不用自己找包。第2步是10秒排错True说明MPS就绪False直接跳避坑清单。第3步省掉逐个翻配置只改你要用的模型版本v2/v2Pro/v3那一段其他段不动。第4步之后打开浏览器主界面在9874端口推理界面在9872端口。原理速览为什么这样改有效MPSMetal Performance Shaders是Apple给macOS的GPU加速框架。GPT-SoVITS由两部分组成GPT模型把文本转成语义tokenSoVITS模型把语义转成波形。两者都是矩阵乘法和卷积的大户正是GPU擅长的活。关键在Apple Silicon的统一内存CPU和GPU共用同一块物理内存像两个人共用一张工作台数据不用来回搬运。NVIDIA显卡上显存和内存是两块地方拷贝一次就浪费一次带宽MPS上没有这道墙所以16GB的Mac能装下完整模型。is_half打开后权重和中间结果用FP16存储计算精度减半、带宽减半。MPS的矩阵单元对半精度有专门加速所以它同时带来速度和内存两个方向的收益——这也是后文表格里MPSFP16比MPSFP32更快且更省的原因。深度调优三处配置把MPS压到位1. 改推理配置的device与is_half改什么GPT_SoVITS/configs/tts_infer.yaml 里各版本段的device和is_half默认全是cpu全精度。怎么改以v2为例v2: device: mps # 默认是cpu改成mps is_half: true # 默认是false改成true bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base t2s_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch12-step369668.ckpt version: v2 vits_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth用哪个版本就改哪一段v2Pro、v3同理。改完看哪个指标在推理界面合成一句固定文本对比单句耗时和内存占用。目标值0.8s降到0.2s内存4.2GB降到3.5GB。2. 开启MPS算子CPU回退改什么个别算子如aten::_linalg_svd类MPS没有实现跑到就会直接抛异常。怎么改webui.py 第91行有一行被注释的开关取消注释即可或启动前导环境变量export PYTORCH_ENABLE_MPS_FALLBACK1 export KMP_DUPLICATE_LIB_OKTRUE python webui.py改完看哪个指标合成含特殊句式的长文本确认不再出现not implemented for MPS类报错。回退只影响个别算子整体速度基本不变。3. 用环境变量降精度兜底改什么config.py 里 is_half 会读取环境变量is_half优先级高于你的手动设置。怎么改MPS下偶发爆音或波形异常时强制降回全精度export is_halffalse python webui.py改完听哪个指标同一句参考音频文本对比全精度和半精度输出重点听尾音和重音处有没有杂音。没有异常就把变量去掉继续享受FP16的速度。实测对比改动前后的推理速度与内存在M1 Pro16GB上的测试结果配置单句推理时间内存占用语音质量CPU FP32默认0.8s4.2GB基准MPS FP320.3s5.8GB与基准一致MPS FP16推荐0.2s3.5GB与基准一致量化 INT80.15s2.8GB略有损最值得记住的两点一是is_half必须和device一起改只开MPS用FP32内存反而从4.2GB涨到5.8GB二是MPSFP16是速度、内存、质量的三赢点INT8留给极致压缩场景。避坑清单常见报错与解法not implemented for MPS算子报错→ MPS未实现该算子 → 设PYTORCH_ENABLE_MPS_FALLBACK1让CPU兜底。16GB Mac跑长文本OOM崩溃→ 长句一次性生成、显存池未清 → 拆成短句合成并确认is_half: true。改了配置速度没变化→ 实际仍跑在CPU → 先验证torch.backends.mps.is_available()为True再确认yaml改的是你正在使用的那个版本段。长时间运行后内存不回落→ MPS内存池需要手动释放 → 项目每次推理后已自动调用torch.mps.empty_cache()异常增长时重启进程即可。进阶路线三条路按需走流式推理GPT_SoVITS/stream_v2pro.py 边生成边输出适合直播、字幕合成等要首包速度的场景。模型量化导出用 GPT_SoVITS/export_torch_script_v3v4.py 导出脚本化模型适合16GB设备还想再压内存的人。批量合成接口api_v2.py 提供HTTP接口适合一次生成几百条音频、不想逐条点界面的用户。收尾device改mps is_half改true两个字段拿走90%的收益。报错先查MPS可用性再开PYTORCH_ENABLE_MPS_FALLBACK兜底。16GB设备把长文本拆短句OOM就不会找上门。下一步建议先跑通快速通道的4条命令用你的真实文本合成3句对比耗时再决定是否上进阶路线。【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表