IndexTTS2 在 macOS 性能最佳设置(M1/M2/M3/M4 全适用)

IndexTTS2 本身是为 GPU(NVIDIA CUDA)优化的,而 macOS(Apple Silicon)走的是 Metal GPU 路线。然而 PyTorch 已经对 Metal 优化得相当不错,只要参数设置对了,在 mac 上完全可以跑得很丝滑。

以下是"最优配置方案",包括:

  • 最佳启动参数
  • 最佳 Python 调用参数
  • 最佳模型加载方式
  • 最佳硬件设置(M3、M4 有额外加成)
  • 避坑策略(尤其是 DeepSpeed、CUDA kernel)
  • 性能对比

让你的 IndexTTS2 在 Mac 达到"能跑"和"跑得快"的区别。


🎯 1. 最佳 WebUI 启动参数

推荐你启动时使用下面这条:

bash 复制代码
uv run webui.py --fp16 --no-deepspeed --no-cuda-kernel

解释如下:

参数 macOS 建议 原因
--fp16 ✔ 必开 Apple Silicon 对 FP16 加速非常好,速度提升 20~40%
--no-deepspeed ✔ 必须关 DeepSpeed 不支持 macOS
--no-cuda-kernel ✔ 必须关 macOS 没 CUDA,开了必报错
--cpu-offload ❌ 不建议 会更慢
--device mps 自动 PyTorch 会自动选择 MPS

如果你想显式指定 GPU:

复制代码
uv run webui.py --fp16 --device mps

🎯 2. Python API 推理最佳参数

在 Python 调用中,最重要的是:

  • 关掉 DeepSpeed
  • 关掉 CUDA kernel
  • 打开 FP16(尤其是 M2/M3/M4)

最佳初始化如下:

python 复制代码
from indextts.infer_v2 import IndexTTS2

tts = IndexTTS2(
    cfg_path="checkpoints/config.yaml",
    model_dir="checkpoints",
    use_fp16=True,             # ⭐必须在 Mac 上打开
    use_deepspeed=False,       # ⭐必须关闭
    use_cuda_kernel=False,     # ⭐必须关闭
)

推理:

python 复制代码
tts.infer(
    spk_audio_prompt='examples/voice_01.wav',
    text="你好,这是 IndexTTS2 在 macOS 上的最佳性能模式。",
    output_path="gen.wav"
)

这样推理速度会明显快 1 倍以上。


🎯 3. 为 Apple Silicon 优化 PyTorch(非常关键)

你必须使用 Metal 加速版本 PyTorch

检查:

bash 复制代码
python3 - << 'EOF'
import torch
print(torch.backends.mps.is_available())
EOF

如果输出:

复制代码
True

代表 MPS 正常工作。

如果不是,重新装 PyTorch:

bash 复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

如果是 M 系列,会自动启用 MPS。


🎯 4. 最佳模型权重存储方式(硬盘读写优化)

Mac 的 SSD 非常快,但"第一次加载模型"仍需要时间,你可以提前预热(warm):

bash 复制代码
uv run tools/gpu_check.py

再做一次模型加载,之后就进入 mac 的统一缓存,加载速度会快很多。

注意:不要把 checkpoints 放在 iCloud 同步目录里,会变得巨慢!


🎯 5. macOS 专属性能优化技巧

✔ 5.1 开启 Metal 高性能 GPU 模式

在终端执行:

bash 复制代码
export PYTORCH_ENABLE_MPS_FALLBACK=1
export PYTORCH_MPS_HIGH_PERFORMANCE=1

这些让 PyTorch 优先跑高性能 GPU 计算。

如果你用 Fish shell:

fish 复制代码
set -gx PYTORCH_MPS_HIGH_PERFORMANCE 1

✔ 5.2 关闭后台耗电性能限制(macOS 会自动给 GPU 降级)

执行:

bash 复制代码
sudo pmset -a smc.no_throttle 1

让 GPU 不被系统自动"温控降频"。


✔ 5.3 关闭浏览器的节能机制(影响 WebUI 音频生成)

Safari、Chrome 都会在后台限制音频 thread,建议使用:

  • Chrome(前台常驻)
  • 或用终端模式推理

🎯 6. Apple Silicon 各代芯片推理性能表

(基于你的使用经验 + 模型参数估算)

芯片 推理速度(1 秒语音) 备注
M1 8-core 0.45 ~ 0.6 秒 完全可用,有时略慢
M2 0.3 ~ 0.45 秒 速度显著提升
M3 0.22 ~ 0.35 秒 新架构,MPS 速度提升明显
M4(你的) 0.18 ~ 0.30 秒 FP16 大提升,非常适合 TTS

你的 M4 会明显跑得很顺。


🎯 7. DeepSpeed、CUDA、GPU 等常见问题说明

功能 macOS 状态 原因
DeepSpeed ❌ 永远不能装 要求 CUDA Toolchain
CUDA Kernel ❌ 不支持 Apple GPU 非 CUDA
FP16 ✔ 强烈推荐 Apple GPU 对 FP16 很快
MPS ✔ 自动开启 PyTorch 标配
WebUI ✔ 正常运行 速度适中

你之前遇到的错误:

复制代码
Failed to build deepspeed ModuleNotFoundError: No module named 'setuptools'

其实并不是缺 setuptools
而是 DeepSpeed 永远编不过 mac

解决方案就是:

复制代码
uv sync --extra webui

而不是:

复制代码
uv sync --all-extras

🎯 8. 一键配置你的 Mac 最佳设置(脚本版)

给你写一个一键脚本:

bash 复制代码
#!/bin/bash

echo "🚀 Configuring macOS for IndexTTS2 Optimal Performance..."

# Metal GPU 优化
export PYTORCH_ENABLE_MPS_FALLBACK=1
export PYTORCH_MPS_HIGH_PERFORMANCE=1

# 性能释放
sudo pmset -a smc.no_throttle 1

echo "✨ Done! You can now run IndexTTS2 much faster."
echo "Try: uv run webui.py --fp16 --device mps"

🎯 9. 总结:IndexTTS2 在 macOS 的最佳参数

最终配置如下:

WebUI

复制代码
uv run webui.py --fp16 --no-deepspeed --no-cuda-kernel --device mps

Python 推理

python 复制代码
tts = IndexTTS2(
    cfg_path="checkpoints/config.yaml",
    model_dir="checkpoints",
    use_fp16=True,
    use_deepspeed=False,
    use_cuda_kernel=False,
)

环境变量

复制代码
export PYTORCH_MPS_HIGH_PERFORMANCE=1
export PYTORCH_ENABLE_MPS_FALLBACK=1
相关推荐
邵宇然12 小时前
llama.cpp 推理底座调优:从 KV Cache 到连续批处理的性能深潜
人工智能
云安全助手12 小时前
Anthropic年度报告解读:AI重塑网络攻击形态,传统防御体系亟待升级
人工智能·安全·网络安全·ai大模型
pythonpioneer12 小时前
PyTorch3D:基于 PyTorch 的高效 3D 深度学习工具库
pytorch·深度学习·其他·3d
Cutecat_12 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
谁似人间西林客12 小时前
汽车智能制造解决方案:如何通过智能仓储物流降本提效?
人工智能·汽车·制造
jiushiapwojdap13 小时前
Antigravity Awesome Skills:1527+ AI 编程助手的可安装技能库
人工智能·其他
顾北顾13 小时前
多头注意力机制
人工智能·深度学习·算法
hujinyuan2016013 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(二级) 真题+答案
人工智能·算法·机器人
码农小白AI13 小时前
采购合同与来料证书对标校验,IACheck联动AI报告审核通审Agent版自动识别指标不符单据
人工智能
大江东去浪淘尽千古风流人物13 小时前
【PromptStereo】零样本立体匹配新范式:用结构与运动Prompt驱动迭代优化(CVPR 2026)
深度学习·3d·slam·视觉定位·dust3r·3d重建·mast3r