Nodes/raylight/Load Lora Model (Ray)
ComfyUI Node

Load Lora Model (Ray)

Your normal LoRAs, but inside the multi-GPU pipeline

By komikndr·Created about a year ago·Updated 2 days ago· 409
Load Lora Model (Ray)
  • prev_ray_lora
  • ray_lora
lora_name
strength_model1.00

Load Lora Model (Ray) is how you get your character/style LoRAs into a Raylight multi-GPU run. In the early days of the pack this was a real gap - distributed sampling and LoRAs didn't mix, and the release notes that announced "full LoRA support" (September 2025, for Wan, Flux, and Qwen) were a genuinely big deal for anyone who wanted both multi-GPU speed and their trained characters. That support is what this node is.

It looks almost exactly like the regular ComfyUI LoraLoader, and that's the point. lora_name reads from your existing ComfyUI/models/loras folder - the same files you already use in single-GPU workflows, no conversion, no re-download. strength_model is the usual strength slider, with a twist: it goes negative too, which the tooltip flags explicitly. Negative LoRA strength is genuinely useful for subtracting a style or concept from a generation, and it's nice that the raylight version doesn't pretend the range doesn't exist.

The one raylight-specific input is prev_ray_lora. That's how you stack multiple LoRAs - feed the ray_lora output of one Load Lora Model (Ray) into the next one's prev_ray_lora, and the chain accumulates. It behaves like a list you keep appending to: each node adds its LoRA to whatever came before. If you set a node's strength_model to 0, it just passes the previous chain through untouched, which is a tidy way to disable a LoRA mid-graph without deleting it.

The output is a ray_lora object - not a model, not a clip. That's the key mental shift from the normal LoraLoader: you're building up a LoRA stack as data, and the Ray sampler (XFuser KSampler, Data Parallel KSampler, or Unified Parallel Sampler) is what applies it to the sharded/sequence-split model. Wire the ray_lora into the sampler alongside your ray_actors_init, and the workers each load and apply the stack on their rank.

Quick usage

  1. Init your workers with Ray Initializer.
  2. Chain one or more Load Lora Model (Ray) nodes, each feeding prev_ray_lora forward.
  3. Feed the final ray_lora (and your ray_actors) into the Ray sampler.

Things worth knowing

  • It's the pack's own loader, so it works in FSDP mode too - LoRA weights get handled on the sharded model, which the README confirms is supported across the major model families.
  • If a LoRA doesn't seem to have any effect in a multi-GPU run, check your degrees before blaming the node: a LoRA applied at strength 1.0 on a model whose weights are split across ranks still behaves, but if your sampler is set to the wrong parallel type the whole run is off, not just the LoRA.
  • Same install as the rest of the pack: ComfyUI Manager → "raylight", or clone + pip install -r requirements.txt. No extra model downloads - it uses your loras folder as-is.
CategoryRaylight

Inputs (3)

NameTypeDefaultDescription
lora_nameCOMBOThe name of the LoRA.
strength_modelFLOAT1.00-100–100How strongly to modify the diffusion model. This value can be negative.
prev_ray_loraoptRAY_LORA

Outputs (1)

NameTypeDescription
ray_loraRAY_LORA