LoRA Training

Guía de Entrenamiento LoRA de ACE-Step

Ajusta ACE-Step con adaptadores LoRA personalizados para generar música en tu estilo único.

Última actualización: Febrero 2026

¿Qué es el Ajuste Fino LoRA?

LoRA (Adaptación de Bajo Rango) es una técnica que permite ajustar fino modelos grandes eficientemente entrenando solo un pequeño conjunto de pesos de adaptadores. Para ACE-Step, esto significa que puedes enseñarle al modelo un estilo musical específico usando solo 20-50 pistas de referencia.

Preparación del Dataset

Los datos de calidad son el factor más importante en el entrenamiento LoRA. Cada archivo de audio debe tener 30-120 segundos, ser de un solo instrumento o claramente mezclado, y representar consistentemente el estilo objetivo.

  • Mínimo 20 muestras para captura básica de estilo
  • 50-100 muestras para generalización robusta del estilo
  • Usa herramientas de separación de stems para aislar voces o instrumentos limpios
  • Etiqueta cada archivo con descripciones de texto precisas
  • Normaliza la sonoridad del audio a -14 LUFS para consistencia
# Using Demucs for stem separation
pip install demucs
python -m demucs --two-stems=vocals audio/mixed_track.wav

Stem separation with Demucs for cleaner vocal isolation

# Normalize to -14 LUFS using ffmpeg
ffmpeg -i input.wav -filter:a loudnorm=I=-14:TP=-1.5:LRA=11 output.wav

Loudness normalization to -14 LUFS

Parámetros de Entrenamiento

Estos parámetros recomendados funcionan para la mayoría de LoRAs de estilo musical. Ajusta según el tamaño de tu dataset y la especificidad del estilo objetivo.

ParameterRecommendedRangeNote
LoRA Rank164–64Higher = more capacity, slower training
LoRA Alpha328–128Usually 2× rank value
Learning Rate1e-45e-5 – 5e-4Lower for small datasets
Batch Size41–16Reduce if OOM errors occur
Epochs50–15020–500Monitor for overfitting
Warmup Steps500–200Stabilizes early training

Pasos de Entrenamiento

  1. 1

    Preparar Datos de Entrenamiento

    Reúne 20-100 muestras de audio representando tu estilo objetivo. Usa separación de stems para una señal de entrenamiento más limpia. Exporta como WAV/FLAC a 44.1kHz.

    # Recommended directory structure:
    dataset/
      audio/
        track_001.wav
        track_002.wav
        ...
      metadata.json
  2. 2

    Generar Descripciones de Texto

    Escribe descripciones precisas para cada archivo de audio: género, instrumentos, tempo, estado de ánimo, tonalidad. La calidad de las descripciones impacta directamente la efectividad del LoRA.

    [
      {
        "file": "audio/track_001.wav",
        "caption": "upbeat indie folk, acoustic guitar, female vocals, 120 BPM, C major, energetic"
      },
      {
        "file": "audio/track_002.wav",
        "caption": "melancholic jazz, piano and double bass, slow tempo, 70 BPM, F minor, introspective"
      }
    ]
  3. 3

    Configurar Script de Entrenamiento

    Copia configs/lora_training_template.yaml a configs/my_lora.yaml. Establece data_dir en la ruta de tu dataset y ajusta num_epochs según el tamaño del dataset.

    # configs/my_lora.yaml
    model:
      base_model: "ace-step-1.5"
      lora_rank: 16
      lora_alpha: 32
      target_modules: ["q_proj", "v_proj", "k_proj", "out_proj"]
    
    training:
      num_epochs: 100
      batch_size: 4
      learning_rate: 1.0e-4
      warmup_steps: 50
      save_every: 25
    
    data:
      data_dir: "./dataset"
      sample_rate: 44100
      max_duration: 120
  4. 4

    Ejecutar Entrenamiento

    Ejecuta: python train_lora.py --config configs/my_lora.yaml. Monitorea las curvas de pérdida — la pérdida de entrenamiento debe disminuir constantemente sin picos.

    python train_lora.py \
      --config configs/my_lora.yaml \
      --data_dir ./dataset \
      --output_dir ./lora_output \
      --num_epochs 100 \
      --batch_size 4 \
      --learning_rate 1e-4 \
      --lora_rank 16
  5. 5

    Probar e Iterar

    Carga tu checkpoint LoRA y prueba con prompts variados. Si los resultados no coinciden con el estilo objetivo, aumenta los datos de entrenamiento o las épocas.

    # Load and use your trained LoRA
    python generate.py \
      --prompt "upbeat indie folk with acoustic guitar" \
      --lora_path ./lora_output/checkpoint-100 \
      --lora_weight 0.8

FAQ

Control de Estilo Zero-Shot con FM9

El entrenamiento LoRA requiere 20-50 pistas de referencia, GPU con 8GB+, y horas de cómputo. FM9 te permite controlar el estilo musical con prompts descriptivos — sin entrenamiento, sin recolección de datos, sin esperar. Pruébalo gratis con 50 créditos de bonificación.

Comenzar a Crear Gratis