FL MiniMax Music 3 Train Config
FL MiniMax Music 3 Train Config — the settings sheet your LoRA is built from
- train_config
This node does nothing by itself, and that's the point. It's the settings sheet: every knob you hand it gets packed into a single versioned FL_MINIMAX_MUSIC3_TRAIN_CONFIG object that the LoRA Trainer consumes. No models are loaded, no steps are run - it just translates your choices into a config the pinned SimpleTuner backend can execute. Think of it as the difference between tuning a car and just owning the spec sheet.
The inputs that actually matter
There are a lot of fields, but a beginner genuinely only needs to reason about three of them:
- lora_rank -
16,32,64,128, or256(default64). Higher rank = more capacity to memorize your dataset, but slower and bigger. For a style LoRA from a modest song library, 32–64 is the sane starting band; 256 is for people with big libraries and deep pockets for compute. - learning_rate - default
5e-05, and honestly the default is a fine place to start. If your LoRA comes out barely audible, the instinct is to crank this - resist it; that's usually a dataset/steps problem, not an LR problem. - max_train_steps - default
500, but treat that as a smoke-test number. The pack's own example workflow uses deliberately short settings so you can verify the pipeline installs and runs; for real training you'll be pushing this way up.
The rest are worth knowing at a glance rather than obsessing over: lora_alpha (scaling, default 64 - keep it near rank), lora_dropout (default 0), lr_scheduler (cosine/constant/constant_with_warmup/linear/polynomial), lr_warmup_steps, weight_decay, and seed. One pair deserves attention: train_batch_size × gradient_accumulation_steps - the node helpfully reports their product as your effective batch size (default 1 × 4 = 4), which is the number that actually matters for LR sanity.
The VRAM decisions are pre-made for you
The precision fields default to int8-quanto for both base_model_precision and text_encoder_precision. That's the pack trying to keep a ~14 GB model trainable on a single consumer GPU, and for a first run you should leave them alone. no_change is there if you know you have headroom (or are on a big card). gradient_checkpointing defaults on for the same reason. The optimizer options are adamw_bf16 (default), optimi-stableadamw, and bnb-adamw8bit - the bnb option trades a little quality for much lower optimizer VRAM.
checkpoint_interval and checkpoints_total_limit (defaults 100 steps / 3 kept) control how often full checkpoints land and how many are retained - relevant for resume safety, not for output quality.
Install and wiring
This node ships in the FL MiniMax Music 3 pack:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI-FL-MiniMaxMusic3.git
cd ComfyUI-FL-MiniMaxMusic3
pip install -r requirements.txt
Restart ComfyUI. In the graph it's a one-liner: Dataset → Train Config → LoRA Trainer. The single train_config output goes into the trainer's required input.
Gotchas
- The config is versioned. The trainer validates that a resumed run matches its original config on dataset identity, LoRA shape, precision, and output name. You can't quietly change rank mid-resume - the pack will refuse, which is a feature, not a bug.
- Don't read 500 steps as "the right number." It's the install-check default. If you actually train a LoRA at 500 steps you'll get a whisper of a style - the common complaint in the music-LoRA community is under-trained LoRAs, not over-trained ones.
- Changing batch size changes effective batch size, and your LR was likely tuned for the default. If you move from 4 to 8 effective batch, scale LR up a touch (or don't - starting from defaults works for most people).
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_rank | COMBO | 64 | 5 options: 16, 32, 64, 128, 256 |
| lora_alpha | INT | 641–512 | — |
| lora_dropout | FLOAT | 0.000–0.9 | — |
| learning_rate | FLOAT | 0.00011e-8–0.1 | — |
| max_train_steps | INT | 5001–1000000 | — |
| train_batch_size | INT | 11–64 | — |
| gradient_accumulation_steps | INT | 41–1024 | — |
| lr_scheduler | COMBO | cosine | 5 options: cosine, constant, constant_with_warmup, linear, polynomial |
| lr_warmup_steps | INT | 500–100000 | — |
| weight_decay | FLOAT | 0.0100–1 | — |
| optimizer | COMBO | adamw_bf16 | 3 options: adamw_bf16, optimi-stableadamw, bnb-adamw8bit |
| base_model_precision | COMBO | int8-quanto | 2 options: int8-quanto, no_change |
| text_encoder_precision | COMBO | int8-quanto | 2 options: int8-quanto, no_change |
| gradient_checkpointing | BOOLEAN | true | — |
| seed | INT | 420–18446744073709550000 | — |
| checkpoint_interval | INT | 1001–100000 | — |
| checkpoints_total_limit | INT | 31–100 | — |
| preserve_cache | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| train_config | FL_MINIMAX_MUSIC3_TRAIN_CONFIG | — |