LoRA Training

Guide d'Entraînement LoRA ACE-Step

Affinez ACE-Step avec des adaptateurs LoRA personnalisés pour générer de la musique dans votre style unique.

Dernière mise à jour : Février 2026

Qu'est-ce que l'Ajustement Fin LoRA ?

LoRA (Adaptation de Bas Rang) est une technique permettant d'affiner efficacement les grands modèles en n'entraînant qu'un petit ensemble de poids d'adaptateurs. Pour ACE-Step, cela signifie que vous pouvez enseigner un style musical spécifique au modèle en utilisant seulement 20-50 pistes de référence.

Préparation du Dataset

Des données de qualité sont le facteur le plus important dans l'entraînement LoRA. Chaque fichier audio doit faire 30-120 secondes, être un seul instrument ou clairement mixé, et représenter de manière cohérente le style cible.

  • Minimum 20 échantillons pour la capture de style de base
  • 50-100 échantillons pour une généralisation robuste du style
  • Utilisez des outils de séparation de stems pour isoler les voix ou instruments propres
  • Étiquetez chaque fichier avec des sous-titres textuels précis
  • Normalisez la sonorité audio à -14 LUFS pour la cohérence
# 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

Paramètres d'Entraînement

Ces paramètres recommandés fonctionnent pour la plupart des LoRAs de style musical. Ajustez selon la taille de votre dataset et la spécificité du style cible.

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

Étapes d'Entraînement

  1. 1

    Préparer les Données d'Entraînement

    Collectez 20-100 échantillons audio représentant votre style cible. Utilisez la séparation de stems pour un signal d'entraînement plus propre. Exportez en WAV/FLAC à 44,1kHz.

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

    Générer des Descriptions Textuelles

    Écrivez des légendes descriptives précises pour chaque fichier audio : genre, instruments, tempo, ambiance, tonalité. La qualité des légendes impacte directement l'efficacité du 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

    Configurer le Script d'Entraînement

    Copiez configs/lora_training_template.yaml vers configs/my_lora.yaml. Définissez data_dir vers votre chemin de dataset et ajustez num_epochs selon la taille du 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

    Lancer l'Entraînement

    Exécutez : python train_lora.py --config configs/my_lora.yaml. Surveillez les courbes de perte — la perte d'entraînement doit diminuer régulièrement sans pics.

    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

    Tester et Itérer

    Chargez votre checkpoint LoRA et testez avec des prompts variés. Si les sorties ne correspondent pas au style cible, augmentez les données d'entraînement ou les epochs.

    # 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

Contrôle de Style Zéro-Shot avec FM9

L'entraînement LoRA nécessite 20-50 pistes de référence, un GPU avec 8Go+, et des heures de calcul. FM9 vous permet de contrôler le style musical avec des prompts descriptifs — sans entraînement, sans collecte de données, sans attente.

Commencer à Créer Gratuitement