# ACE-Step 1.5 安装指南
**Language / 语言 / 言語:** [English](../en/INSTALL.md) | [中文](INSTALL.md) | [日本語](../ja/INSTALL.md)
---
## 目录
- [环境要求](#环境要求)
- [快速开始(全平台)](#快速开始全平台)
- [启动脚本](#-启动脚本)
- [Windows 便携包](#-windows-便携包)
- [AMD / ROCm 显卡](#amd--rocm-显卡)
- [Intel 显卡](#intel-显卡)
- [仅 CPU 模式](#仅-cpu-模式)
- [Linux 注意事项](#linux-注意事项)
- [环境变量 (.env)](#环境变量-env)
- [命令行参数](#命令行参数)
- [模型下载](#-模型下载)
- [如何选择模型?](#-如何选择模型)
- [开发](#开发)
---
## 环境要求
| 项目 | 要求 |
|------|------|
| Python | 3.11-3.12(正式版,非预发布版)
**注意:** Windows 上的 ROCm 需要 Python 3.12 |
| GPU | 推荐 CUDA GPU;也支持 MPS / ROCm / Intel XPU / CPU |
| 显存 | 仅 DiT 模式 ≥4GB;LLM+DiT ≥6GB |
| 磁盘 | 核心模型约 10GB |
---
## 快速开始(全平台)
### 1. 安装 uv(包管理器)
```bash
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### 2. 克隆 & 安装
```bash
git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5
uv sync
```
### 3. 启动
**Gradio 网页界面(推荐):**
```bash
uv run acestep
```
**REST API 服务器:**
```bash
uv run acestep-api
```
**直接使用 Python**(Conda / venv / 系统 Python):
```bash
# 先激活你的环境,然后:
python acestep/acestep_v15_pipeline.py # Gradio UI
python acestep/api_server.py # REST API
```
> 首次运行时模型会自动下载。打开 http://localhost:7860(Gradio)或 http://localhost:8001(API)。
---
## 🚀 启动脚本
为所有平台提供开箱即用的启动脚本。这些脚本会自动处理环境检测、依赖安装和应用启动。所有脚本默认在启动时检查更新(可配置)。
### 可用脚本
| 平台 | 脚本 | 说明 |
|------|------|------|
| **Windows** | `start_gradio_ui.bat` | 启动 Gradio 网页界面(CUDA) |
| **Windows** | `start_api_server.bat` | 启动 REST API 服务器(CUDA) |
| **Windows** | `start_gradio_ui_rocm.bat` | 启动 Gradio 网页界面(AMD ROCm) |
| **Windows** | `start_api_server_rocm.bat` | 启动 REST API 服务器(AMD ROCm) |
| **Linux** | `start_gradio_ui.sh` | 启动 Gradio 网页界面(CUDA) |
| **Linux** | `start_api_server.sh` | 启动 REST API 服务器(CUDA) |
| **macOS** | `start_gradio_ui_macos.sh` | 启动 Gradio 网页界面(MLX) |
| **macOS** | `start_api_server_macos.sh` | 启动 REST API 服务器(MLX) |
### Windows
```bash
# 启动 Gradio 网页界面(NVIDIA CUDA)
start_gradio_ui.bat
# 启动 REST API 服务器(NVIDIA CUDA)
start_api_server.bat
# 启动 Gradio 网页界面(AMD ROCm)
start_gradio_ui_rocm.bat
# 启动 REST API 服务器(AMD ROCm)
start_api_server_rocm.bat
```
> **ROCm 用户:** ROCm 脚本(`start_gradio_ui_rocm.bat`、`start_api_server_rocm.bat`)会自动设置 `HSA_OVERRIDE_GFX_VERSION`、`ACESTEP_LM_BACKEND=pt`、`MIOPEN_FIND_MODE=FAST` 及其他 ROCm 相关环境变量。这些脚本使用独立的 `venv_rocm` 虚拟环境,以避免 CUDA/ROCm wheel 冲突。
### Linux
```bash
# 首次使用需添加执行权限
chmod +x start_gradio_ui.sh start_api_server.sh
# 启动 Gradio 网页界面
./start_gradio_ui.sh
# 启动 REST API 服务器
./start_api_server.sh
```
> **注意:** 需要通过系统包管理器安装 Git(`sudo apt install git`、`sudo yum install git`、`sudo pacman -S git`)。
### macOS(Apple Silicon / MLX)
macOS 脚本使用 **MLX 后端**,提供原生 Apple Silicon 加速(M1/M2/M3/M4)。
```bash
# 首次使用需添加执行权限
chmod +x start_gradio_ui_macos.sh start_api_server_macos.sh
# 启动 Gradio 网页界面(MLX 后端)
./start_gradio_ui_macos.sh
# 启动 REST API 服务器(MLX 后端)
./start_api_server_macos.sh
```
macOS 脚本会自动设置 `ACESTEP_LM_BACKEND=mlx` 和 `--backend mlx` 以启用原生 Apple Silicon 加速,在非 arm64 机器上则回退到 PyTorch 后端。
> **注意:** 通过 `xcode-select --install` 或 `brew install git` 安装 Git。
### 脚本功能
- 启动时自动检查更新(默认启用,可配置)
- 自动环境检测(便携 Python 或 uv)
- 自动安装 `uv`(如需要)
- 可配置下载源(HuggingFace/ModelScope)
- 可自定义模型和参数
### 如何修改配置
所有可配置选项均定义为每个脚本顶部的变量。如需自定义,请用文本编辑器打开脚本并修改变量值。
**示例:将界面语言改为中文并使用 1.7B LM 模型**
| Windows (.bat) | Linux / macOS (.sh) |
|
在 `start_gradio_ui.bat` 中找到以下行:
```batch
set LANGUAGE=en
set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-0.6B
```
修改为:
```batch
set LANGUAGE=zh
set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-1.7B
```
|
在 `start_gradio_ui.sh` 中找到以下行:
```bash
LANGUAGE="en"
LM_MODEL_PATH="--lm_model_path acestep-5Hz-lm-0.6B"
```
修改为:
```bash
LANGUAGE="zh"
LM_MODEL_PATH="--lm_model_path acestep-5Hz-lm-1.7B"
```
|
**示例:禁用启动时更新检查**
| Windows (.bat) | Linux / macOS (.sh) |
|
```batch
REM set CHECK_UPDATE=true
set CHECK_UPDATE=false
```
|
```bash
# CHECK_UPDATE="true"
CHECK_UPDATE="false"
```
|
**示例:启用已注释的选项** —— 删除注释前缀(.bat 用 `REM`,.sh 用 `#`):
| Windows (.bat) | Linux / macOS (.sh) |
|
修改前:
```batch
REM set SHARE=--share
```
修改后:
```batch
set SHARE=--share
```
|
修改前:
```bash
# SHARE="--share"
```
修改后:
```bash
SHARE="--share"
```
|
**常用可配置选项:**
| 选项 | Gradio UI | API 服务器 | 说明 |
|------|:---------:|:----------:|------|
| `LANGUAGE` | ✅ | — | 界面语言:`en`、`zh`、`he`、`ja` |
| `PORT` | ✅ | ✅ | 服务端口(默认:7860 / 8001) |
| `SERVER_NAME` / `HOST` | ✅ | ✅ | 绑定地址(`127.0.0.1` 或 `0.0.0.0`) |
| `CHECK_UPDATE` | ✅ | ✅ | 启动时更新检查(`true` / `false`) |
| `CONFIG_PATH` | ✅ | — | DiT 模型(`acestep-v15-turbo` 等) |
| `LM_MODEL_PATH` | ✅ | ✅ | LM 模型(`acestep-5Hz-lm-0.6B` / `1.7B` / `4B`) |
| `DOWNLOAD_SOURCE` | ✅ | ✅ | 下载源(`huggingface` / `modelscope`) |
| `SHARE` | ✅ | — | 创建公开 Gradio 链接 |
| `INIT_LLM` | ✅ | — | 强制启用/禁用 LLM(`true` / `false` / `auto`) |
| `OFFLOAD_TO_CPU` | ✅ | — | 低显存 GPU 的 CPU 卸载 |
### 更新与维护工具
| 脚本(Windows) | 脚本(Linux/macOS) | 用途 |
|------------------|----------------------|------|
| `check_update.bat` | `check_update.sh` | 从 GitHub 检查并更新 |
| `merge_config.bat` | `merge_config.sh` | 更新后合并备份的配置 |
| `install_uv.bat` | `install_uv.sh` | 安装 uv 包管理器 |
| `quick_test.bat` | `quick_test.sh` | 测试环境配置 |
**更新工作流:**
```bash
# Windows # Linux / macOS
check_update.bat ./check_update.sh
merge_config.bat ./merge_config.sh
```
---
## 🪟 Windows 便携包
为 Windows 用户提供了预装依赖的便携包:
1. 下载并解压:[ACE-Step-1.5.7z](https://files.acemusic.ai/acemusic/win/ACE-Step-1.5.7z)
2. 包含 `python_embedded`,所有依赖已预装
3. **要求:** CUDA 12.8
### 快速启动脚本
| 脚本 | 说明 |
|------|------|
| `start_gradio_ui.bat` | 启动 Gradio 网页界面 |
| `start_api_server.bat` | 启动 REST API 服务器 |
两个脚本均支持自动环境检测、自动安装 `uv`、可配置下载源、可选 Git 更新检查、可自定义模型和参数。
### 配置
**`start_gradio_ui.bat`:**
```batch
REM 界面语言 (en, zh, he, ja)
set LANGUAGE=zh
REM 下载源 (auto, huggingface, modelscope)
set DOWNLOAD_SOURCE=--download-source modelscope
REM Git 更新检查 (true/false)
set CHECK_UPDATE=true
REM 模型配置
set CONFIG_PATH=--config_path acestep-v15-turbo
set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-1.7B
```
### 更新与维护
| 脚本 | 用途 |
|------|------|
| `check_update.bat` | 从 GitHub 检查并更新 |
| `merge_config.bat` | 更新后合并备份的配置 |
| `install_uv.bat` | 安装 uv 包管理器 |
| `quick_test.bat` | 测试环境配置 |
---
## AMD / ROCm 显卡
> ⚠️ `uv run acestep` 会安装 CUDA PyTorch wheels,可能覆盖已有的 ROCm 环境。
### 推荐工作流
```bash
# 1. 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate
# 2. 安装 ROCm 兼容的 PyTorch
pip install torch --index-url https://download.pytorch.org/whl/rocm6.0
# 3. 安装 ACE-Step
pip install -e .
# 4. 启动服务
python -m acestep.acestep_v15_pipeline --port 7680
```
### GPU 检测问题排查
如果显示 "No GPU detected, running on CPU":
1. 运行诊断工具:`python scripts/check_gpu.py`
2. RDNA3 GPU 设置 `HSA_OVERRIDE_GFX_VERSION`:
| GPU | 值 |
|-----|---|
| RX 7900 XT/XTX, RX 9070 XT | `export HSA_OVERRIDE_GFX_VERSION=11.0.0` |
| RX 7800 XT, RX 7700 XT | `export HSA_OVERRIDE_GFX_VERSION=11.0.1` |
| RX 7600 | `export HSA_OVERRIDE_GFX_VERSION=11.0.2` |
3. Windows 上使用 `start_gradio_ui_rocm.bat` / `start_api_server_rocm.bat`
4. 验证 ROCm 安装:`rocm-smi`
### Linux(cachy-os / RDNA4)
详见 [ACE-Step1.5-Rocm-Manual-Linux.md](../en/ACE-Step1.5-Rocm-Manual-Linux.md)
---
## Intel 显卡
| 项目 | 详情 |
|------|------|
| 测试设备 | Windows 笔记本,Ultra 9 285H 集成显卡 |
| 卸载 | 默认禁用 |
| 编译与量化 | 默认启用 |
| LLM 推理 | 支持(已测试 `acestep-5Hz-lm-0.6B`) |
| nanovllm 加速 | Intel GPU 暂不支持 |
| 测试环境 | PyTorch 2.8.0([Intel Extension for PyTorch](https://pytorch-extension.intel.com/?request=platform)) |
> 注意:生成超过 2 分钟的音频时,LLM 推理速度可能下降。Intel 独立显卡预计可用但尚未测试。
---
## 仅 CPU 模式
ACE-Step 可以在 CPU 上运行**仅推理**,但速度会显著变慢。
- 不推荐在 CPU 上训练(包括 LoRA)。
- 低显存系统可使用 DiT-only 模式(禁用 LLM)。
如果没有 GPU,建议:
- 使用云 GPU 服务
- 仅运行推理工作流
- 使用 `ACESTEP_INIT_LLM=false` 启用 DiT-only 模式
---
## Linux 注意事项
### Python 3.11 预发布版问题
部分 Linux 发行版(包括 Ubuntu)自带 Python 3.11.0rc1 预发布版,可能导致 vLLM 后端出现段错误。
**建议:** 使用稳定版 Python(≥ 3.11.12)。Ubuntu 上可通过 deadsnakes PPA 安装。
如无法升级 Python,使用 PyTorch 后端:
```bash
uv run acestep --backend pt
```
---
## 环境变量 (.env)
```bash
cp .env.example .env # 复制并编辑
```
### 关键变量
| 变量 | 取值 | 说明 |
|------|------|------|
| `ACESTEP_INIT_LLM` | `auto` / `true` / `false` | LLM 初始化模式 |
| `ACESTEP_CONFIG_PATH` | 模型名称 | DiT 模型路径 |
| `ACESTEP_LM_MODEL_PATH` | 模型名称 | LM 模型路径 |
| `ACESTEP_DOWNLOAD_SOURCE` | `auto` / `huggingface` / `modelscope` | 下载源 |
| `ACESTEP_API_KEY` | 字符串 | API 认证密钥 |
### LLM 初始化 (`ACESTEP_INIT_LLM`)
处理流程:`GPU 检测 → ACESTEP_INIT_LLM 覆盖 → 模型加载`
| 值 | 行为 |
|----|------|
| `auto`(或空) | 使用 GPU 自动检测结果(推荐) |
| `true` / `1` / `yes` | 强制启用 LLM(可能导致 OOM) |
| `false` / `0` / `no` | 强制禁用,纯 DiT 模式 |
**示例 `.env`:**
```bash
# 自动模式(推荐)
ACESTEP_INIT_LLM=auto
# 低显存 GPU 强制启用
ACESTEP_INIT_LLM=true
ACESTEP_LM_MODEL_PATH=acestep-5Hz-lm-0.6B
# 禁用 LLM 加速生成
ACESTEP_INIT_LLM=false
```
---
## 命令行参数
### Gradio UI (`acestep`)
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `--port` | 7860 | 服务端口 |
| `--server-name` | 127.0.0.1 | 服务地址(使用 `0.0.0.0` 开放网络访问) |
| `--share` | false | 创建公开 Gradio 链接 |
| `--language` | en | 界面语言:`en`、`zh`、`he`、`ja` |
| `--init_service` | false | 启动时自动初始化模型 |
| `--init_llm` | auto | LLM 初始化:`true` / `false` / 省略为自动 |
| `--config_path` | auto | DiT 模型(如 `acestep-v15-turbo`) |
| `--lm_model_path` | auto | LM 模型(如 `acestep-5Hz-lm-1.7B`) |
| `--offload_to_cpu` | auto | CPU 卸载(显存 < 20GB 时自动启用) |
| `--download-source` | auto | 模型源:`auto` / `huggingface` / `modelscope` |
| `--enable-api` | false | 同时启用 REST API 端点 |
**示例:**
```bash
# 公开访问 + 中文界面
uv run acestep --server-name 0.0.0.0 --share --language zh
# 启动时预初始化模型
uv run acestep --init_service true --config_path acestep-v15-turbo
# 使用 ModelScope 下载
uv run acestep --download-source modelscope
```
---
## 📥 模型下载
首次运行时模型会从 [HuggingFace](https://huggingface.co/ACE-Step/Ace-Step1.5) 或 [ModelScope](https://modelscope.cn/organization/ACE-Step) 自动下载。
### CLI 下载
```bash
uv run acestep-download # 下载主模型
uv run acestep-download --all # 下载所有模型
uv run acestep-download --download-source modelscope # 从 ModelScope 下载
uv run acestep-download --model acestep-v15-sft # 指定模型
uv run acestep-download --list # 列出所有可用模型
```
### 手动下载 (huggingface-cli)
```bash
# 主模型
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ./checkpoints
# 可选模型
huggingface-cli download ACE-Step/acestep-5Hz-lm-0.6B --local-dir ./checkpoints/acestep-5Hz-lm-0.6B
huggingface-cli download ACE-Step/acestep-5Hz-lm-4B --local-dir ./checkpoints/acestep-5Hz-lm-4B
```
### 共享模型目录
如果你有多个 ACE-Step 安装(例如训练器、不同版本),可以共享同一个模型目录以避免重复下载、节省磁盘空间:
```bash
# 添加到 shell 配置文件(~/.bashrc、~/.zshrc 等)
export ACESTEP_CHECKPOINTS_DIR=~/ace-step-models
```
所有安装将使用相同的模型文件。也可以在 `.env` 文件中设置。
### 可用模型
| 模型 | 说明 | HuggingFace |
|------|------|-------------|
| **Ace-Step1.5**(主模型) | 核心:vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B | [链接](https://huggingface.co/ACE-Step/Ace-Step1.5) |
| acestep-5Hz-lm-0.6B | 轻量 LM(0.6B 参数) | [链接](https://huggingface.co/ACE-Step/acestep-5Hz-lm-0.6B) |
| acestep-5Hz-lm-4B | 大型 LM(4B 参数) | [链接](https://huggingface.co/ACE-Step/acestep-5Hz-lm-4B) |
| acestep-v15-base | 基础 DiT 模型 | [链接](https://huggingface.co/ACE-Step/acestep-v15-base) |
| acestep-v15-sft | SFT DiT 模型 | [链接](https://huggingface.co/ACE-Step/acestep-v15-sft) |
| acestep-v15-turbo-shift1 | Turbo DiT(shift1) | [链接](https://huggingface.co/ACE-Step/acestep-v15-turbo-shift1) |
| acestep-v15-turbo-shift3 | Turbo DiT(shift3) | [链接](https://huggingface.co/ACE-Step/acestep-v15-turbo-shift3) |
| acestep-v15-turbo-continuous | Turbo DiT(continuous shift 1-5) | [链接](https://huggingface.co/ACE-Step/acestep-v15-turbo-continuous) |
---
## 💡 如何选择模型?
ACE-Step 会自动适配你的 GPU 显存。UI 会根据检测到的 GPU 等级预配置所有设置(LM 模型、后端、卸载、量化):
| GPU 显存 | 推荐 DiT | 推荐 LM 模型 | 后端 | 说明 |
|----------|---------|--------------|------|------|
| **≤6GB** | 2B turbo | 无(仅 DiT) | — | 默认禁用 LM;INT8 量化 + 完全 CPU 卸载 |
| **6-8GB** | 2B turbo | `acestep-5Hz-lm-0.6B` | `pt` | 轻量 LM,PyTorch 后端 |
| **8-16GB** | 2B turbo/sft | `0.6B` / `1.7B` | `vllm` | 8-12GB 用 0.6B,12-16GB 用 1.7B |
| **16-20GB** | 2B sft 或 XL turbo | `acestep-5Hz-lm-1.7B` | `vllm` | XL 在 20GB 以下需要 CPU 卸载 |
| **20-24GB** | XL turbo/sft | `acestep-5Hz-lm-1.7B` | `vllm` | XL 无需卸载;可用 4B LM |
| **≥24GB** | XL sft(或 xl-base 用于 extract/lego/complete) | `acestep-5Hz-lm-4B` | `vllm` | 最佳质量,所有模型无需卸载 |
> 📖 详细 GPU 兼容性信息(等级表、时长限制、批量大小、自适应 UI 默认设置、显存优化),请参阅 [GPU 兼容性指南](GPU_COMPATIBILITY.md)。
---
## 开发
```bash
# 添加依赖
uv add package-name
uv add --dev package-name
# 更新所有依赖
uv sync --upgrade
```