Nodes/ComfyUI-FL-VoxCPM/FL VoxCPM Train Config
ComfyUI Node

FL VoxCPM Train Config

V1 LoRA training settings — what actually moves the needle

By filliptm·Created 7 months ago·Updated 4 months ago· 32
FL VoxCPM Train Config
    • Train Config
    learning_rate0.0001
    lora_rank32
    lora_alpha16
    lora_dropout0.00
    warmup_steps100
    grad_accum_steps1
    max_batch_tokens8192
    sample_rate44100
    weight_decay0.01
    enable_lm_loratrue
    enable_dit_loratrue
    enable_proj_lorafalse
    lr_schedulercosine

    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_tokens or lora_rank, not the dataset.
    • The output looks like a dict - it is. Train Config only has meaning when connected to the LoRA Trainer; it's not a file, it's a value.
    CategoryFL/VoxCPM/Training

    Inputs (13)

    NameTypeDefaultDescription
    learning_rateFLOAT0.00010.000001–0.01Learning rate for the optimizer.
    lora_rankINT324–128Rank (dimension) of the LoRA adapter.
    lora_alphaINT161–128Alpha scaling factor for LoRA.
    lora_dropoutFLOAT0.000–0.5Dropout probability for LoRA layers.
    warmup_stepsINT1000–1000Number of warmup steps for learning rate scheduler.
    grad_accum_stepsINT11–64Number of steps to accumulate gradients before updating weights.
    max_batch_tokensINT81921024–32768Maximum number of tokens per batch to manage VRAM usage.
    sample_rateINT4410016000–48000Sample rate of the training audio.
    weight_decayFLOAT0.010–0.1Weight decay for regularization.
    enable_lm_loraBOOLEANtrueApply LoRA to the Language Model backbone.
    enable_dit_loraBOOLEANtrueApply LoRA to the Diffusion Transformer.
    enable_proj_loraBOOLEANfalseApply LoRA to projection layers.
    lr_schedulerCOMBOcosineLR schedule: 'cosine' decays to 0 over training, 'constant' keeps LR fixed after warmup.

    Outputs (1)

    NameTypeDescription
    Train ConfigVOXCPM_TRAIN_CONFIG