Slider LoRA Targeting¶
In this guide, we'll be training a slider-style adapter in SimpleTuner. We'll be using Z-Image Turbo because it trains quickly, ships an Apache 2.0 license, and gives great results for its size—even with distilled weights.
For the full compatibility matrix (LoRA, LyCORIS, full-rank), see the Sliders column in documentation/QUICKSTART.md; this guide applies to all architectures.
Slider targeting works with standard LoRA, LyCORIS (including full), and ControlNet. The toggle is available in both CLI and WebUI; everything ships in SimpleTuner, no extra installs needed.
Step 1 — Follow the base setup¶
- CLI: Walk through
documentation/quickstart/ZIMAGE.mdfor environment, install, hardware notes, and the starterconfig.json. - WebUI: Use
documentation/webui/TUTORIAL.mdto run the trainer wizard; pick Z-Image Turbo as usual.
Everything from those guides can be followed until you reach the point of configuring a dataset because sliders only change where adapters are placed and how data is sampled.
Step 2 — Enable slider targets¶
- CLI: add
"slider_lora_target": true(or pass--slider_lora_target true). - WebUI: Model → LoRA Config → Advanced → check “Use slider LoRA targets”.
For LyCORIS, keep lora_type: "lycoris" and for lycoris_config.json, use the presets in the details section below.
Step 3 — Build slider-friendly datasets¶
Concept sliders learn from a contrastive dataset of "opposites". Create small before/after pairs (4–6 pairs is enough to start, more if you have them):
- Positive bucket: “more of the concept” (e.g., brighter eyes, stronger smile, extra sand). Set
"slider_strength": 0.5(any positive value). - Negative bucket: “less of the concept” (e.g., dimmer eyes, neutral expression). Set
"slider_strength": -0.5(any negative value). - Neutral bucket (optional): regular examples. Omit
slider_strengthor set it to0.
It's not necessary to keep filenames matched across positive/negative folders - just ensure you have an equal number of samples in each bucket.
Step 4 — Point the dataloader at your buckets¶
- Use the same dataloader JSON pattern from the Z-Image quickstart.
- Add
slider_strengthto each backend entry. SimpleTuner will: - Rotate batches positive → negative → neutral so both directions stay fresh.
- Still honor each backend’s probability, so your weighting knobs keep working.
You don’t need extra flags—just the slider_strength fields.
Step 5 — Train¶
Use the usual command (simpletuner train ...) or start from the WebUI. Slider targeting is automatic once the flag is on.
Step 6 — Validate (optional slider tweaks)¶
Prompt libraries can carry per-prompt adapter scales for A/B checks:
{
"plain": "regular prompt",
"slider_plus": { "prompt": "same prompt", "adapter_strength": 1.2 },
"slider_minus": { "prompt": "same prompt", "adapter_strength": 0.5 }
}
If omitted, validation uses your global strength.