FL VoxCPM Train Config
V1 LoRA training settings — what actually moves the needle
- Train Config
This node is the settings sheet for training a voice LoRA on VoxCPM V1 (VoxCPM1.5 / 0.5B). It doesn't do anything on its own - it just packages a pile of hyperparameters into a VOXCPM_TRAIN_CONFIG object that the LoRA Trainer consumes. If you're new to training, it's the friendliest possible on-ramp: sensible defaults, tooltips on everything, and only a couple of fields you'll actually touch.
It's part of filliptm/ComfyUI-FL-VoxCPM, wired as Dataset Maker → Train Config → LoRA Trainer.
How it works
Every input is a named hyperparameter, passed straight through into a config dict the trainer reads. It's a data node, not a training node - the moment you'd otherwise be editing a YAML config file by hand is the moment this earns its place. The V2 sibling ships with OpenBMB's official defaults; this one is the V1 flavor, tuned for the 800M / 44.1kHz model.
Inputs that matter
For a beginner, three knobs dominate:
- lora_rank (32) - the LoRA's capacity. This is the one the community actually pushes: people report "really impressive results" bumping rank to 128 for voice work. Higher rank = more faithful clone, more VRAM.
- learning_rate (0.0001) - the default is the official 1e-4. If your training diverges or the loss goes wild, drop it a notch; if it underfits and sounds nothing like the target, that's usually a dataset problem, not an LR problem.
- max_batch_tokens (8192) - the VRAM governor. Lower it if you OOM; the trainer sizes batches around it.
Worth knowing, not worth touching at first: lora_alpha (16, the scaling factor; alpha = rank gives scale 1.0), warmup_steps, grad_accum_steps (gradient accumulation for effective batch size), lr_scheduler (cosine vs constant), and the three LoRA target toggles - enable_lm_lora and enable_dit_lora both default on (Language Model + Diffusion Transformer), enable_proj_lora off. Leave those as-is unless you know why you're changing them.
One subtlety: sample_rate (44100) must match your training audio. VoxCPM1.5 is a 44.1kHz model, so your dataset should be too. If you're ripping audio from video at 48kHz, resample first.
Installation
Same pack as the rest - Manager search "FL VoxCPM", or clone + pip install -r requirements.txt as usual. This node itself has zero extra dependencies; the heavy argbind/datasets requirements are the trainer's problem, not this node's.
Common issues
- Config mismatch errors at the trainer - the LoRA Trainer version-checks your config. A V1 config into a V2 model (or vice versa) raises instead of silently training garbage. Use this node only for V1 models and the V2 Train Config for VoxCPM2.
- OOM during training - cut
max_batch_tokensorlora_rank, not the dataset. - The output looks like a dict - it is.
Train Configonly has meaning when connected to the LoRA Trainer; it's not a file, it's a value.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| learning_rate | FLOAT | 0.00010.000001–0.01 | Learning rate for the optimizer. |
| lora_rank | INT | 324–128 | Rank (dimension) of the LoRA adapter. |
| lora_alpha | INT | 161–128 | Alpha scaling factor for LoRA. |
| lora_dropout | FLOAT | 0.000–0.5 | Dropout probability for LoRA layers. |
| warmup_steps | INT | 1000–1000 | Number of warmup steps for learning rate scheduler. |
| grad_accum_steps | INT | 11–64 | Number of steps to accumulate gradients before updating weights. |
| max_batch_tokens | INT | 81921024–32768 | Maximum number of tokens per batch to manage VRAM usage. |
| sample_rate | INT | 4410016000–48000 | Sample rate of the training audio. |
| weight_decay | FLOAT | 0.010–0.1 | Weight decay for regularization. |
| enable_lm_lora | BOOLEAN | true | Apply LoRA to the Language Model backbone. |
| enable_dit_lora | BOOLEAN | true | Apply LoRA to the Diffusion Transformer. |
| enable_proj_lora | BOOLEAN | false | Apply LoRA to projection layers. |
| lr_scheduler | COMBO | cosine | LR schedule: 'cosine' decays to 0 over training, 'constant' keeps LR fixed after warmup. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Train Config | VOXCPM_TRAIN_CONFIG | — |