Principle:Intel Ipex llm ReLoRA Training
| Knowledge Sources | |
|---|---|
| Domains | Finetuning, Parameter_Efficient_Training |
| Last Updated | 2026-02-09 04:00 GMT |
Overview
Training technique that achieves high effective rank by periodically merging low-rank adapter weights into the base model and restarting adapter training.
Description
ReLoRA (Restart Low-Rank Adaptation) addresses the rank limitation of standard LoRA by performing multiple rounds of low-rank training. At each restart step, the current LoRA adapter weights are merged into the base model weights, the adapter is reset, and training continues with a brief learning rate warmup. Over multiple iterations, the cumulative rank of updates exceeds the rank of any single LoRA adapter, effectively enabling high-rank model adaptation while maintaining low memory usage per step.
Usage
Use this principle when standard LoRA's fixed rank is insufficient for the target task but full fine-tuning is too memory-intensive. ReLoRA is particularly effective for tasks that require significant model capacity changes, such as domain adaptation or instruction tuning of large models.
Theoretical Basis
The core insight is that the sum of multiple low-rank matrices can approximate a high-rank matrix:
If each LoRA update produces with rank , then after restarts the cumulative update can have effective rank up to .
Pseudo-code Logic:
# Abstract ReLoRA algorithm
for restart in range(num_restarts):
adapter = initialize_lora(rank=r)
train(model + adapter, steps=relora_steps)
model.weights += adapter.merged_weights # Merge
adapter.reset() # Restart
warmup_learning_rate(steps=warmup_steps)