Files
acestep-studio/research/ace-step-xl-research.md
T

7.2 KiB
Raw Blame History

ACE-Step 1.5 XL — исследование для RTX A2000 12GB

Дата: 2026-08-30 Цель: определить, что нужно изучить для вывода генерации на более высокий уровень Модель: acestep-v15-xl-turbo (4B DiT) на RTX A2000 12GB


Ключевой вывод

RTX A2000 12GB = Tier 4 по классификации ACE-Step. XL DiT официально НЕ поддерживается на этом tier — работает только через aggressive CPU offload + INT8 quantization, и только с LM-моделью 0.6B (не 1.7B). Это накладывает жёсткие ограничения на «высокий уровень»: LoRA нельзя грузить на INT8-модель, а качество вокала на turbo-режиме всегда будет «грубее», чем на base.


Обзор (синтез источников)

ACE-Step 1.5 использует гибридную LM+DiT архитектуру: 5Hz Language Model строит Chain-of-Thought (планирует BPM/тональность/структуру), DiT генерирует звук [1][2]. Разделение на caption (звучание) и lyrics (структура песни) — ключевое отличие от Suno [3].

Система автоматически определяет tier GPU по VRAM и подбирает настройки [2]:

VRAM Tier XL DiT LM модель Backend
≤4GB 1 ❌ None pt
4–6GB 2 ❌ None pt
6–8GB 3 ⚠️ 0.6B 0.6B pt
8–12GB 4 ⚠️ 0.6B 0.6B vllm
12–16GB 5 ⚠️ 0.6B, 1.7B 1.7B vllm
16–20GB 6a ✅ offload 1.7B vllm
20–24GB 6b ✅ 1.7B vllm
≥24GB Unlimited ✅ все 4B vllm

XL (4B) DiT весит ~9GB (vs ~4.7GB для 2B) [2]. На A2000 XL влезает только с offload + INT8, поэтому в текущей конфигурации offload_to_cpu=True — правильный выбор.


Подтемы

1. Качество генерации: turbo vs base

  • Turbo = 8 шагов, быстро (~12–22 сек на A2000), но вокал «грубее» с микроартефактами. guidance_scale=1.0 (CFG не поддерживается на turbo) [4].
  • Base = 32–100 шагов, медленнее, чище вокал, поддерживает CFG. Используется для стемов (task_type="extract").
  • XL turbo vs 2B turbo: XL даёт чище и разборчивее вокал, но на A2000 XL требует offload [4].

2. Параметры caption (что влияет на результат)

Рекомендации из официальной документации [1][2]:

  • Style: конкретно про жанр, инструменты, настроение
  • Natural language: LM-DiT отлично понимает «a soft Bengali love song for a quiet evening»
  • Formatting: можно использовать format_sample API, чтобы LM-модель улучшила raw-теги в структурированный промпт
  • vocal_language: 50+ языков; указание языка помогает LM спланировать фонетику
  • caption — английский (модель лучше ловит стиль), lyrics — русский

3. Качество русского вокала

  • ru есть в VALID_LANGUAGES — официально поддержан [4]
  • ACE-Step — единственная локальная модель с русским вокалом в топ-10 (v1.5: 50+ языков)
  • Вокал «грубоват» (признание авторов), русский звучит разборчиво, но с лёгкой синтетичностью
  • Для чистого русского вокала — base-модель вместо turbo

4. Fine-tuning (LoRA) — путь к «высокому уровню»

  • LoRA позволяет обучить модель на свой/эталонный вокал [1]
  • Работает с 8 песнями; ~1 час на RTX 3090 для базового style LoRA
  • КРИТИЧЕСКИЙ ПИТФОЛЛ: LoRA-адаптеры НЕ грузятся на INT8-модели. Нужно INT8 Quantization = None перед загрузкой адаптера [2]
  • На A2000 12GB для LoRA-обучения нужен режим без INT8 → VRAM будет ~9.6GB для XL → рискованно, но возможно с offload
  • Альтернатива: обучить LoRA на 2B-модели (4.7GB, легко влезает) — быстрее, стабильнее

5. Оптимизация VRAM (уже частично применена)

  • CPU Offload: модели переносятся в RAM когда не используются; автоматически на GPU <20GB [2]
  • INT8 Quantization: уменьшает VRAM DiT; автоматически на Tier 1–6a [2]
  • Tiled VAE decode: 3-уровневый фолбэк (GPU tiled → GPU+CPU → CPU) [2]
  • Auto Chunk Size: VAE decode chunk 64/128/256/512/1024/1536 адаптируется под свободный VRAM
  • VRAM Guard: перед каждой генерацией оценивает VRAM и уменьшает batch при необходимости
  • Adaptive VAE Decode: если free VRAM <2GB → tiled decode (именно это мы видим в логах: Effective free VRAM: 1.81 GB)

6. Что НЕ изучено (рекомендации)

  • benchmark XL на A2000: реальная скорость при offload+INT8 (в логах ~22 сек — это с tiled decode)
  • timestep shift / cfg_interval: параметры качества diffusion
  • constrained decoding / FSM: контроль структуры
  • DCW correction (wavelet-фильтрация): уже активна в текущей конфигурации — стоит изучить влияние на качество

Дополнительные вопросы

  1. Стоит ли обучать LoRA на 2B-модели (быстрее, стабильнее) или ждать XL?
  2. Какой эталонный вокал использовать для LoRA — свой или конкретный артист?
  3. Нужен ли base-режим для русского вокала (чище, но медленнее)?
  4. Стоит ли исследовать Side-Step (fine-tuning framework) для кастомных пресетов?

Источники

[1] DeepWiki — ACE-Step 1.5 Tutorials & Best Practices: https://deepwiki.com/ace-step/ACE-Step-1.5/10-tutorials-and-best-practices [2] ACE-Step 1.5 GPU Compatibility Guide: https://ace-step.github.io/ACE-Step-1.5/en/GPU_COMPATIBILITY [3] deAPI — ACE-Step 1.5 Prompting Guide: https://deapi.ai/blog/ace-step-1-5-prompting-guide-how-to-write-tags-structure-lyrics-and-generate-better-music [4] ACE-Step 1.5 README (skill ace-step-music-generation): https://github.com/ace-step/ACE-Step-1.5