Skip to main content
This example mirrors examples/qwen_coder/ and shows how to submit a LoRA or QLoRA SFT job against Synth. Important: Qwen Coder uses the 30B A3B variant for this flow and requires at least 2× H200 GPUs.

Prereqs

  • Deploy your task app (or use hosted) and run uvx synth-ai setup
  • Prepare a JSONL dataset (see Task Datasets)

Minimal command

uvx synth-ai train \
  --type sft \
  --config examples/qwen_coder/configs/coder_lora_30b.toml \
  --dataset /abs/path/to/train.jsonl

Config highlights

[job]
model = "Qwen/Qwen3-Coder-30B-A3B-Instruct"

[compute]
gpu_type = "H200"
gpu_count = 2
nodes = 1

[training]
mode = "lora"          # adapters
use_qlora = true        # set false for LoRA without 4-bit

[hyperparameters]
n_epochs = 1
per_device_batch = 2
gradient_accumulation_steps = 32
sequence_length = 4096
learning_rate = 5e-6

[lora]
r = 16
alpha = 32
dropout = 0.05
target_modules = ["all-linear"]

Tips

  • Use at least 2× H200 for 30B A3B; ZeRO‑2 is recommended
  • Prefer LoRA without QLoRA unless memory is tight; add lora_rank under [hyperparameters] to sweep
  • See examples/qwen_coder/sft_lora_30b.py and examples/qwen_coder/configs/coder_lora_30b.toml for a working setup
I