DoRA separates weight updates into magnitude and direction components:
Standard LoRA updates both together. DoRA trains them separately. LoRA updates apply to the direction only; magnitude is trained independently.
This decomposition is inspired by weight normalization techniques. It stabilizes training and better matches how full fine-tuning updates weights. DoRA often outperforms LoRA at the same rank with minimal extra compute. If you're using LoRA, DoRA is usually a free upgrade.