# Multi-scale training and REPA
[Contents](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/README.md) · [Previous: Combining an assistant with regularisation](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/experiments/assistant-regularisation.md) · [Next: Learning-rate experiments](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/experiments/learning-rate.md)
The fixed-shift multi-scale REPA run produces coherent Domokun beach and bicycle samples with fine texture at 1024px. The comparisons cover single-resolution REPA, multi-scale training, and fixed versus automatic flow shift.
| Shared setting | Value |
| --- | --- |
| Assistant | Frozen v2; disabled for validation |
| Regularisation target | **Bare base**, both adapters disabled |
| Rank / alpha / precision | 32 / 32 / BF16 |
| Optimizer / learning rate | AdamW BF16 / `1e-4` |
| Batch / warmup / norm clipping | 1 / 25 updates / 1.0 |
| Gradient checkpointing | Interval 2 |
| Multi-scale sampling | Domokun-512, Domokun-1024, synthetic-512, synthetic-1024: 0.25 each |
| REPA | DINOv2-G patch features, size 518, block 8, weight 0.5, spatial alignment, temporal distance 0 |
| Flow shift | Fixed 3, or auto (approximately 1.7138 at 512px and 2.0008 at 1024px) |
The three original multi-scale runs share initial concept weights and batch counts: 1,005 Domokun-512, 1,014 Domokun-1024, 1,036 synthetic-512, and 945 synthetic-1024. Training uses square buckets. At 4,000 updates, exposure per resolution approximately matches the 2,000-update single-resolution runs.
## Final checkpoints
CPU-generator seed 42 · 40 inference steps · CFG 1 · Details-fixed VAE (madebyollin) · full-frame decoding. Concept adapter only. Columns show prompts; rows show checkpoints or methods. Click a sample to view it at full resolution.
### 512px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| 512px control, 2,000 |  |  |  |  |  |
| 512px + REPA, 2,000 |  |  |  |  |  |
### 1024px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| 512px control, 2,000 |  |  |  |  |  |
| 512px + REPA, 2,000 |  |  |  |  |  |
### Multi-scale, 512px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| Fixed shift, 4,000 |  |  |  |  |  |
| Auto shift, 4,000 |  |  |  |  |  |
| REPA, fixed shift, 4,000 |  |  |  |  |  |
| REPA + auto shift, 4,000 |  |  |  |  |  |
### Multi-scale, 1024px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| Fixed shift, 4,000 |  |  |  |  |  |
| Auto shift, 4,000 |  |  |  |  |  |
| REPA, fixed shift, 4,000 |  |  |  |  |  |
| REPA + auto shift, 4,000 |  |  |  |  |  |
## Learning progression
Single-resolution REPA, 512px training:
### 512px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| Step 1,000 |  |  |  |  |  |
| Step 2,000 |  |  |  |  |  |
### 1024px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| Step 1,000 |  |  |  |  |  |
| Step 2,000 |  |  |  |  |  |
Multi-scale REPA, fixed shift:
### 512px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| Step 2,000 |  |  |  |  |  |
| Step 4,000 |  |  |  |  |  |
### 1024px output
| Checkpoint / method | Beach | Red scarf | Bicycle | Fox | Portrait |
| Base |  |  |  |  |  |
| Step 2,000 |  |  |  |  |  |
| Step 4,000 |  |  |  |  |  |
## Recipes and checkpoints
| Variant | Training resolution | REPA | Flow shift | Selected LoRA checkpoints |
| --- | --- | --- | --- | --- |
| [512px control](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/recipes/assisted-v2-bare-parent-512/config.json) | 512 | No | 3 | [2,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-bare-parent-512/step-2000/pytorch_lora_weights.safetensors) |
| [512px + REPA](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/recipes/assisted-v2-repa-512/config.json) | 512 | Yes | 3 | [1,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-repa-512/step-1000/pytorch_lora_weights.safetensors), [2,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-repa-512/step-2000/pytorch_lora_weights.safetensors) |
| [Multi-scale, fixed shift](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/recipes/assisted-v2-multiscale/config.json) | 512 + 1024 | No | 3 | [2,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale/step-2000/pytorch_lora_weights.safetensors), [4,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale/step-4000/pytorch_lora_weights.safetensors) |
| [Multi-scale, auto shift](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/recipes/assisted-v2-multiscale-autoshift/config.json) | 512 + 1024 | No | Auto | [2,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale-autoshift/step-2000/pytorch_lora_weights.safetensors), [4,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale-autoshift/step-4000/pytorch_lora_weights.safetensors) |
| [Multi-scale + REPA, fixed shift](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/recipes/assisted-v2-multiscale-repa/config.json) | 512 + 1024 | Yes | 3 | [2,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale-repa/step-2000/pytorch_lora_weights.safetensors), [4,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale-repa/step-4000/pytorch_lora_weights.safetensors) |
| [Multi-scale + REPA + auto shift](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/recipes/assisted-v2-multiscale-repa-autoshift/config.json) | 512 + 1024 | Yes | Auto | [4,000](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale-repa-autoshift/step-4000/pytorch_lora_weights.safetensors), [10,000 continuation](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/resolve/main/checkpoints/assisted-v2-multiscale-repa-autoshift/step-10000/pytorch_lora_weights.safetensors) |
The [Domokun run report](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/runs/domokun.md) contains the complete REPA + auto-shift trajectory through 10,000 updates. [Shared training and evaluation settings](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/reference/methods.md).
## Limitations
Each variant uses one training seed and these grids use one validation seed. The separate [assistant-plus-regularisation experiment](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/experiments/assistant-regularisation.md) uses an assisted target. Keep that distinction when comparing methods.
[Contents](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/README.md) · [Previous: Combining an assistant with regularisation](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/experiments/assistant-regularisation.md) · [Next: Learning-rate experiments](https://huggingface.co/SimpleTuner/Qwen-Image-2.1-LoRA-experiments/blob/main/experiments/learning-rate.md)