LoRA Training

ACE-Step LoRAトレーニングガイド

カスタムLoRAアダプターでACE-Stepをファインチューニングして、あなた独自のスタイルで音楽を生成しましょう。

最終更新:2026年2月

LoRAファインチューニングとは?

LoRA(低ランク適応)は、少量のアダプターウェイトのみをトレーニングすることで大型モデルを効率的にファインチューニングできる技術です。ACE-Stepでは、20〜50の参照トラックを使用して、特定の音楽スタイルをモデルに学習させることができます。

データセットの準備

高品質なデータはLoRAトレーニングで最も重要な要素です。各音声ファイルは30〜120秒、単一楽器または明確にミックスされたもので、ターゲットスタイルを一貫して表している必要があります。

  • 基本的なスタイルキャプチャには最低20サンプル
  • 堅牢なスタイル汎化には50〜100サンプル
  • ステム分離ツールでクリーンなボーカルや楽器を抽出
  • 各ファイルに正確なテキストキャプションを付ける
  • 一貫性のために音声ラウドネスを-14 LUFSに正規化
# 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

トレーニングパラメーター

これらの推奨パラメーターは、ほとんどの音楽スタイルLoRAに機能します。データセットサイズとターゲットスタイルの特異性に基づいて調整してください。

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

トレーニング手順

  1. 1

    トレーニングデータの準備

    ターゲットスタイルを表す20〜100の音声サンプルを収集します。ステム分離ツールでよりクリーンなトレーニングシグナルを得ます。44.1kHzのWAV/FLACでエクスポートします。

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

    テキストキャプションの生成

    各音声ファイルに正確な説明的キャプションを書きます:ジャンル、楽器、テンポ、ムード、キー。キャプションの品質が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

    トレーニングスクリプトの設定

    configs/lora_training_template.yamlをconfigs/my_lora.yamlにコピーします。data_dirをデータセットパスに設定し、データセットサイズに基づいてnum_epochsを調整します。

    # 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

    トレーニングの実行

    実行:python train_lora.py --config configs/my_lora.yaml。損失曲線を監視します——トレーニング損失は急増なく着実に減少するはずです。

    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

    テストと反復

    LoRAチェックポイントをロードし、さまざまなプロンプトでテストします。出力がターゲットスタイルと一致しない場合は、トレーニングデータやエポックを増やしてください。

    # 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

FM9でゼロショットスタイルコントロール

LoRAトレーニングには20〜50の参照トラック、8GB以上のGPU、数時間のコンピューティングが必要です。FM9は説明的なプロンプトで音楽スタイルを制御できます——トレーニング不要、データ収集不要、待機不要。

無料で作成を開始