苹果AppleMacOs最新Sonoma系统本地训练和推理GPT-SoVITS模型实践

苹果AppleMacOs最新Sonoma系统本地训练和推理GPT-SoVITS模型实践

💡 原文中文,约4600字,阅读约需11分钟。
📝

内容提要

GPT-SoVITS是MacOs系统下的TTS项目,可在M系列芯片上训练和推理。需要安装FFMPEG和conda环境,克隆GPT-SoVITS项目并安装依赖。推理时可选择使用CPU或MPS,但MPS存在内存泄露问题。

🔎

延伸解读

Mac 本地 TTS 的生态意义

GPT-SoVITS 是少数能在 Mac 上训练和推理的 TTS 项目,虽然效率无法与 N 卡设备相比,但为 M 系列芯片的 AI 生态迈出了第一步。对于 Mac 用户而言,这意味着无需依赖云端或额外硬件,即可在本地完成语音合成任务,降低了使用门槛。

环境配置的关键点

搭建环境时,需确保 FFMPEG 版本大于 6.1,可通过 HomeBrew 安装;同时需要 conda 环境,推荐创建 Python 3.9 的虚拟环境。安装依赖后,还需安装 Mac 版本的 PyTorch,并验证 MPS 是否可用。这些步骤是项目运行的基础,缺一不可。

CPU 与 MPS 推理的权衡

推理时可选 CPU 或 MPS,但 MPS 存在内存泄露问题,导致内存占用持续上升至 14GB,且速度不稳定;而 CPU 推理内存占用稳定在 3GB,速度可达 55it/s。尽管 MPS 理论上有优势,但实际表现可能不如 CPU,用户需根据自身需求选择。

MPS 内存泄露的应对

针对 MPS 内存泄露,PyTorch 官方 issue 中提到了修改 CMake 编译方式的解决方案。修改后,MPS 推理速度有所提升,但内存泄露现象依然存在。因此,在官方修复前,若追求稳定,CPU 仍是更可靠的选择。

❓

Q&A

GPT-SoVITS 在 Mac 上训练和推理需要满足哪些环境要求?

需要安装版本大于 6.1 的 FFMPEG 和 conda 环境。推荐通过 HomeBrew 安装 FFMPEG,并创建基于 Python 3.9 的 conda 虚拟环境。

如何在 Mac 上安装 FFMPEG 和 conda?

FFMPEG 可通过 HomeBrew 安装:先运行 brew cleanup && brew update,再运行 brew install ffmpeg。conda 可从 Anaconda 官网下载安装包进行安装。

如何为 GPT-SoVITS 创建 Python 虚拟环境并安装依赖?

使用 conda 创建并激活基于 Python 3.9 的环境:conda create -n GPTSoVits python=3.9 和 conda activate GPTSoVits。然后克隆项目,进入目录,运行 pip3 install -r requirements.txt 安装基础依赖,再安装 Mac 版 PyTorch:pip3 install --pre torch torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu。

在 Mac 上推理时,应该选择 CPU 还是 MPS?

根据文章测试,CPU 推理效率较高,内存占用稳定在 3GB,速度约 55it/s;而 MPS 推理内存占用持续上升至 14GB,速度最高 30it/s,偶发 1-2it/s,且存在内存泄露问题。因此推荐使用 CPU 推理。

MPS 推理存在什么问题?

MPS 推理存在内存泄露现象,Python 进程内存占用会持续稳步上升,最高可达 14GB,且推理速度不稳定,偶发极低速度。

如何修改 GPT-SoVITS 的推理设备?

可以修改项目中的 config.py 文件来指定 api 推理设备,或修改 inference_webui.py 文件来指定页面推理设备。代码中通过检查 torch.cuda.is_available() 和 torch.backends.mps.is_available() 来设置设备为 cuda、mps 或 cpu。

🏷️

标签

➡️

继续阅读