SLORR: Simple and Efficient In-Training Low-Rank Regularization
By David González-Martínez, Shiwei Liu
"A simple, stateless in-training low-rank regularizer that improves compressibility without SVD or extra parameters, adding <8% overhead."
Abstract
Low-rank factorization is widely used to compress neural networks, but modern models are often not naturally amenable to aggressive factorization without significant accuracy loss. Existing training-time low-rank regularizers can improve compressibility, but they often require SVDs of large weight matrices, modify the model architecture (introducing additional trainable parameters), or rely on stateful cached quantities. To address these limitations, we introduce SLORR, a simple, stateless, and architecture-preserving framework for in-training low-rank regularization, instantiated with two main variants based on the Hoyer sparsity metric and the nuclear norm. SLORR directly regularizes the original weight matrices using GPU-friendly approximations for the forward and backward passes of the regularizers, for which we provide approximation guarantees. We first evaluate SLORR on ImageNet-1K across short-horizon continued training of ResNet-50, ViT-B/16, and ViT-L/16, and pretraining of ResNet-18, where SLORR induces compressibility while introducing less than 8% training overhead. We further evaluate SLORR-Hoyer in LLM pretraining at 135M and 560M scales: SLORR-trained compressed models preserve performance substantially better than unregularized models while adding less than 1% average training overhead.
Technical Analysis & Implementation
Overview§
SLORR introduces lightweight regularizers that encourage low-rank weight matrices during training, enabling better post-training factorization without architectural modifications.
Core Methodology§
Two variants based on differentiable surrogates for rank:
- SLORR-Hoyer: Uses the Hoyer sparsity metric $\text{Hoyer}(W) = \frac{\|W\|_1}{\|W\|_F}$, which is scale-invariant and smooth. The regularizer is $\mathcal{R}_{\text{Hoyer}} = \lambda \cdot \text{Hoyer}(W)$.
- SLORR-Nuclear: Approximates the nuclear norm $\|W\|_$ via a differentiable surrogate: $\|W\|_ \approx \|W\|_F^2 / \|W\|_2$ (using power iteration for spectral norm). The regularizer is $\mathcal{R}_{\text{nuc}} = \lambda \cdot \|W\|_*$.
Both are applied to original weight matrices (no extra parameters) and require only forward/backward passes that are GPU-friendly. The paper provides approximation guarantees and shows that the Hoyer variant works best in practice.
Implementation Details§
The regularizer is added to the standard training loss: $\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{task}} + \alpha \cdot \mathcal{R}(W)$. The backward pass uses autograd; no manual gradient computation needed. The spectral norm for nuclear norm is estimated with 1-3 power iterations, which is cheap.
PyTorch Code Snippet§
class SLORRHoyer(torch.nn.Module):
def __init__(self, lambd=1e-4):
super().__init__()
self.lambd = lambd
def forward(self, W):
l1 = W.norm(p=1)
fro = W.norm(p='fro')
hoyer = l1 / (fro + 1e-12)
return self.lambd * hoyer
# Usage in training loop
model = YourModel()
regularizer = SLORRHoyer(lambd=1e-4)
optimizer = torch.optim.Adam(model.parameters())
for data, target in dataloader:
optimizer.zero_grad()
output = model(data)
loss = nn.CrossEntropyLoss()(output, target)
# Add regularization for all weight matrices
reg_loss = 0
for name, param in model.named_parameters():
if 'weight' in name and param.dim() >= 2:
reg_loss += regularizer(param)
total_loss = loss + reg_loss
total_loss.backward()
optimizer.step()Key Results§
- On ImageNet-1K (short-horizon continued training): ResNet-50, ViT-B/16, ViT-L/16 achieve higher post-SVD accuracy with <8% overhead.
- On LLM pretraining (135M, 560M): SLORR-Hoyer preserves perplexity after SVD (e.g., 50% compression) with <1% overhead.
Conclusion§
SLORR is a practical, plug-and-play regularizer for any neural network that can be trained with standard optimizers, improving compressibility without architectural changes.
Interactive LLM Token & Cost Calculator
Estimate token usage and model pricing. Enter your prompt below to see how it is parsed into tokens and calculate the exact API cost for different providers.
Cost Breakdown (USD)
API Pricing Comparison (per Million Tokens)
| Model | Input | Output |
|---|---|---|
| GPT-5.5 Pro | $30.00 | $180.00 |
| o3 Mini | $1.10 | $4.40 |
| DeepSeek V3.1 | $0.21 | $0.79 |
| GPT-4o-mini | $0.15 | $0.60 |
| Mistral Medium 3.1 | $0.40 | $2.00 |
| GLM 4.7 Flash | $0.06 | $0.40 |
| GPT-5.2-Codex | $1.75 | $14.00 |
| MiniMax M1 | $0.40 | $2.20 |
| Gemini 2.5 Flash | $0.30 | $2.50 |
| o3 Pro | $20.00 | $80.00 |
| Gemini 2.5 Pro Preview 06-05 | $1.25 | $10.00 |
| Claude Opus 4.6 | $5.00 | $25.00 |
| Claude Haiku 4.5 | $1.00 | $5.00 |
| Qwen Plus 0728 (thinking) | $0.26 | $0.78 |
| Claude Sonnet 5 | $2.00 | $10.00 |
| Claude Opus 4.8 | $5.00 | $25.00 |
| Claude Opus 4.7 | $5.00 | $25.00 |
| Claude Opus 4 | $15.00 | $75.00 |
| o4 Mini | $1.10 | $4.40 |
| GPT-4.1 Mini | $0.40 | $1.60 |
| Claude Opus 4.7 (Fast) | $30.00 | $150.00 |
| Claude Opus 4.5 | $5.00 | $25.00 |
| GLM 4.5V | $0.60 | $1.80 |
| o1 | $15.00 | $60.00 |
| GPT-5 Chat | $1.25 | $10.00 |
| Gemini 3.1 Flash Lite | $0.25 | $1.50 |
| GPT-4o (2024-11-20) | $2.50 | $10.00 |
| Mistral Large 2407 | $2.00 | $6.00 |
| GPT Chat Latest | $5.00 | $30.00 |
| GPT-5 Nano | $0.05 | $0.40 |
| Claude Sonnet 4.6 | $3.00 | $15.00 |
| gpt-oss-120b | $0.04 | $0.18 |
| MoonshotAI Kimi Latest | $0.66 | $3.41 |
| GPT-5 Mini | $0.25 | $2.00 |
| Qwen2.5 7B Instruct | $0.04 | $0.10 |
| Google Gemini Flash Latest | $1.50 | $9.00 |
| GPT-5.3-Codex | $1.75 | $14.00 |
| Gemini 3.1 Pro Preview | $2.00 | $12.00 |
| Qwen3.5 Plus 2026-02-15 | $0.26 | $1.56 |
| Llama 3.2 3B Instruct | $0.05 | $0.33 |
| Gemini 3.1 Flash | $0.25 | $1.50 |
| GPT-5.6 Luna Pro | $1.00 | $6.00 |
| GPT-5.6 Luna | $1.00 | $6.00 |
| GPT-5.6 Terra Pro | $2.50 | $15.00 |
| GPT-5.6 Terra | $2.50 | $15.00 |
| Gemini 2.5 Pro | $1.25 | $10.00 |
| Qwen2.5 72B Instruct | $0.36 | $0.40 |
| Command R (08-2024) | $0.15 | $0.60 |
| Mistral Nemo | $0.02 | $0.03 |
| GPT-4o-mini (2024-07-18) | $0.15 | $0.60 |
| Kimi K2.6 | $0.66 | $3.41 |
| Llama 4 Scout | $0.10 | $0.30 |
| Llama 4 Maverick | $0.15 | $0.60 |
| Llama 3.2 11B Vision | $0.34 | $0.34 |
| Command R+ | $2.50 | $10.00 |
| GPT-4o (2024-05-13) | $5.00 | $15.00 |
| Mixtral 8x22B Instruct | $2.00 | $6.00 |
| Mistral Large | $2.00 | $6.00 |
| GPT-3.5 Turbo (older v0613) | $1.00 | $2.00 |
| Llama 3 8B Instruct | $0.14 | $0.14 |
| GPT-4 Turbo Preview | $10.00 | $30.00 |
| MiniMax M2.7 | $0.24 | $0.96 |
| Qwen3 30B A3B Instruct 2507 | $0.05 | $0.19 |
| Grok 4.20 | $1.25 | $2.50 |
| Claude 3 Haiku | $0.25 | $1.25 |
| Mistral Small 3 | $0.07 | $0.20 |
| GLM 4.5 Air | $0.13 | $0.85 |
| GPT-5.4 Nano | $0.20 | $1.25 |
| GLM 5 | $0.60 | $1.92 |
| Qwen3 Coder 480B A35B | $0.22 | $1.80 |
| UI-TARS 7B | $0.10 | $0.20 |
| GPT-5 | $1.25 | $10.00 |
| GPT-5.5 | $5.00 | $30.00 |
| Mistral Small 4 | $0.15 | $0.60 |
| GPT-4o | $2.50 | $10.00 |
| Qwen3 Coder Next | $0.11 | $0.80 |
| GLM 5 Turbo | $1.20 | $4.00 |
| Qwen3 Max Thinking | $0.78 | $3.90 |
| MiniMax M2-her | $0.30 | $1.20 |
| GPT Audio | $2.50 | $10.00 |
| GPT Audio Mini | $0.60 | $2.40 |
| Claude Fable 5 | $10.00 | $50.00 |
| Qwen3.7 Plus | $0.32 | $1.28 |
| DeepSeek V3.1 Terminus | $0.27 | $0.95 |
| Qwen3 30B A3B Thinking 2507 | $0.13 | $1.56 |
| Grok 4.3 | $1.25 | $2.50 |
| DeepSeek V4 Pro | $0.43 | $0.87 |
| Mistral Small 3.2 24B | $0.07 | $0.20 |
| Gemma 3n 4B | $0.06 | $0.12 |
| Gemini 2.5 Pro Preview 05-06 | $1.25 | $10.00 |
| MiniMax M3 | $0.30 | $1.20 |
| Step 3.7 Flash | $0.20 | $1.15 |
| Step 3.5 Flash | $0.10 | $0.30 |
| o3 | $2.00 | $8.00 |
| Kimi K2.5 | $0.38 | $2.02 |
| gpt-oss-20b | $0.03 | $0.14 |
| Claude Opus 4.1 | $15.00 | $75.00 |
| DeepSeek R1 | $0.70 | $2.50 |
| Claude Opus 4.8 (Fast) | $10.00 | $50.00 |
| Qwen3.7 Max | $1.25 | $3.75 |
| Gemini 3.5 Flash | $1.50 | $9.00 |
| GLM 5V Turbo | $1.20 | $4.00 |
| Grok 4.20 Multi-Agent | $1.25 | $2.50 |
| GPT-5 Image Mini | $2.50 | $2.00 |
| Qwen3 8B | $0.12 | $0.46 |
| Gemini 3.1 Pro | $2.00 | $12.00 |
| DeepSeek V3.2 | $0.21 | $0.32 |
| Nano Banana Pro (Gemini 3 Pro Image Preview) | $2.00 | $12.00 |
| GPT-5.1 | $1.25 | $10.00 |
| Llama 3.3 70B Instruct | $0.10 | $0.32 |
| Grok 4.20 | $1.25 | $2.50 |
| DeepSeek V3 0324 | $0.24 | $0.90 |
| o1-pro | $150.00 | $600.00 |
| Mistral Small 3.1 24B | $0.35 | $0.56 |
| Mistral Large 3 | $0.50 | $1.50 |
| Command R | $0.15 | $0.60 |
| Seed-2.0-Mini | $0.10 | $0.40 |
| Qwen3.5-122B-A10B | $0.26 | $2.08 |
| Qwen3 235B A22B Thinking 2507 | $0.15 | $1.50 |
| Qwen 2.5-Coder 32B | $0.35 | $0.70 |
| Yi-Lightning | $0.15 | $0.30 |
| ERNIE 4.0 | $1.20 | $2.40 |
| GPT-5.4 Mini | $0.75 | $4.50 |
| Qwen3.5-Flash | $0.07 | $0.26 |
| Qwen Plus 0728 | $0.26 | $0.78 |
| Doubao Pro | $0.80 | $1.60 |
| Mistral Large 2 | $0.60 | $1.80 |
| GPT-5.1 Chat | $1.25 | $10.00 |
| GPT-5.1-Codex | $1.25 | $10.00 |
| Kimi K2 0711 | $0.57 | $2.30 |
| Mixtral 8x22B | $0.50 | $1.00 |
| Seed-2.0-Lite | $0.25 | $2.00 |
| Qwen3.5 397B A17B | $0.39 | $2.45 |
| MiniMax M2.5 | $0.15 | $0.90 |
| GPT-5.6 Sol Pro | $5.00 | $30.00 |
| Mistral Medium 3 | $0.40 | $2.00 |
| GPT-5.6 Sol | $5.00 | $30.00 |
| Llama 3.1 405B | $0.80 | $0.80 |
| Llama 3.1 8B | $0.04 | $0.04 |
| GPT-4.1 | $2.00 | $8.00 |
| Nano Banana 2 (Gemini 3.1 Flash Image) | $0.50 | $3.00 |
| DeepSeek V4 Flash | $0.08 | $0.15 |
| GPT-5.1-Codex-Max | $1.25 | $10.00 |
| Ministral 3 14B 2512 | $0.20 | $0.20 |
| Hunyuan Pro | $0.60 | $1.20 |
| Grok 4.5 | $2.00 | $6.00 |
| Google Gemini Pro Latest | $2.00 | $12.00 |
| Hy3 preview | $0.06 | $0.21 |
| MiniMax M2 | $0.26 | $1.02 |
| Qwen3.6 35B A3B | $0.14 | $1.00 |
| Qwen3 VL 32B Instruct | $0.10 | $0.42 |
| Qwen3 VL 8B Instruct | $0.12 | $0.46 |
| Qwen3.6 Max Preview | $1.04 | $6.24 |
| Seed 1.6 Flash | $0.07 | $0.30 |
| GPT-5 Image | $10.00 | $10.00 |
| GPT-4.1 Nano | $0.10 | $0.40 |
| Llama 4 Maverick | $0.15 | $0.60 |
| o3 Deep Research | $10.00 | $40.00 |
| o4 Mini Deep Research | $2.00 | $8.00 |
| GLM 5.1 | $0.97 | $3.04 |
| Claude Sonnet 4.5 | $3.00 | $15.00 |
| Qwen 2.5 72B | $0.40 | $0.80 |
| GPT-5.4 Image 2 | $8.00 | $15.00 |
| Claude Opus Latest | $5.00 | $25.00 |
| Gemma 4 26B A4B | $0.06 | $0.33 |
| Nano Banana 2 (Gemini 3.1 Flash Image Preview) | $0.50 | $3.00 |
| Qwen3.5-35B-A3B | $0.14 | $1.00 |
| Ministral 3 8B 2512 | $0.15 | $0.15 |
| Gemma 4 31B | $0.12 | $0.35 |
| Qwen3.6 Plus | $0.33 | $1.95 |
| Qwen3.5-9B | $0.10 | $0.15 |
| GLM 4.7 | $0.40 | $1.75 |
| Gemma 3 4B | $0.05 | $0.10 |
| Gemini 3 Flash Preview | $0.50 | $3.00 |
| GPT-5.2 Chat | $1.75 | $14.00 |
| Ministral 3 3B 2512 | $0.10 | $0.10 |
| R1 0528 | $0.50 | $2.15 |
| Llama Guard 4 12B | $0.18 | $0.18 |
| Qwen3 30B A3B | $0.12 | $0.50 |
| Nano Banana (Gemini 2.5 Flash Image) | $0.30 | $2.50 |
| Qwen3 VL 30B A3B Thinking | $0.13 | $1.56 |
| Claude 3.5 Sonnet v2 | $3.00 | $15.00 |
| Gemini 2.0 Flash | $0.10 | $0.40 |
| GPT-5.4 Pro | $30.00 | $180.00 |
| Qwen3 VL 30B A3B Instruct | $0.13 | $0.52 |
| GPT-5.4 | $2.50 | $15.00 |
| GPT-5 Pro | $15.00 | $120.00 |
| GLM 4.6 | $0.43 | $1.74 |
| Qwen3 Max | $0.78 | $3.90 |
| GLM 5.2 | $0.39 | $1.23 |
| GPT-5.3 Chat | $1.75 | $14.00 |
| Gemini 3.1 Flash Lite Preview | $0.25 | $1.50 |
| Qwen3.5-27B | $0.20 | $1.56 |
| Gemini 3.1 Pro Preview Custom Tools | $2.00 | $12.00 |
| Hunyuan A13B Instruct | $0.14 | $0.57 |
| GLM 4.6V | $0.30 | $0.90 |
| Codestral 2508 | $0.30 | $0.90 |
| Qwen3 Coder 30B A3B Instruct | $0.07 | $0.27 |
| Hy3 | $0.14 | $0.58 |
| Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image) | $0.25 | $1.50 |
| Nano Banana Pro (Gemini 3 Pro Image) | $2.00 | $12.00 |
| Kimi K2.7 Code | $0.72 | $3.50 |
| Claude Fable Latest | $10.00 | $50.00 |
| KAT-Coder-Pro V2 | $0.30 | $1.20 |
| Seed 1.6 | $0.25 | $2.00 |
| GPT-5.2 Pro | $21.00 | $168.00 |
| Grok Build 0.1 | $1.00 | $2.00 |
| Mistral Medium 3.5 | $1.50 | $7.50 |
| Anthropic Claude Haiku Latest | $1.00 | $5.00 |
| Anthropic Claude Sonnet Latest | $2.00 | $10.00 |
| Qwen3.5 Plus 2026-04-20 | $0.30 | $1.80 |
| Qwen3.6 Flash | $0.19 | $1.13 |
| Qwen3.6 27B | $0.28 | $2.40 |
| DeepSeek V3.2 Exp | $0.27 | $0.41 |
| Kimi K2 0905 | $0.60 | $2.50 |
| Gemini 2.5 Flash Lite | $0.10 | $0.40 |
| Qwen3 235B A22B Instruct 2507 | $0.09 | $0.10 |
| Gemma 3 12B | $0.05 | $0.15 |
| Command A | $2.50 | $10.00 |
| GPT-4o-mini Search Preview | $0.15 | $0.60 |
| GPT-4o Search Preview | $2.50 | $10.00 |
| Lyria 3 Pro Preview | $0.00 | $0.00 |
| Lyria 3 Clip Preview | $0.00 | $0.00 |
| GPT-5 Codex | $1.25 | $10.00 |
| GLM 4.5 | $0.60 | $2.20 |
| Qwen3 32B | $0.08 | $0.28 |
| GPT-5.2 | $1.75 | $14.00 |
| Devstral 2 2512 | $0.40 | $2.00 |
| Mistral Large 3 2512 | $0.50 | $1.50 |
| MiniMax M2.1 | $0.30 | $1.20 |
| GPT-3.5 Turbo | $0.50 | $1.50 |
| GPT-5.1-Codex-Mini | $0.25 | $2.00 |
| Qwen-Plus | $0.26 | $0.78 |
| DeepSeek V3 | $0.20 | $0.80 |
| Command R7B (12-2024) | $0.04 | $0.15 |
| Llama 3.3 70B Instruct | $0.10 | $0.32 |
| Qwen2.5 Coder 32B Instruct | $0.66 | $1.00 |
| GPT-4o (2024-08-06) | $2.50 | $10.00 |
| Llama 3.1 8B Instruct | $0.02 | $0.03 |
| Kimi K2 Thinking | $0.60 | $2.50 |
| Voxtral Small 24B 2507 | $0.10 | $0.30 |
| gpt-oss-safeguard-20b | $0.07 | $0.30 |
| Qwen3 VL 8B Thinking | $0.12 | $1.36 |
| Llama 3.1 70B Instruct | $0.40 | $0.40 |
| Gemini 2.5 Flash Lite Preview 09-2025 | $0.10 | $0.40 |
| Qwen3 VL 235B A22B Thinking | $0.26 | $2.60 |
| Qwen3 VL 235B A22B Instruct | $0.20 | $0.88 |
| Qwen3 Coder Plus | $0.65 | $3.25 |
| Qwen3 Coder Flash | $0.20 | $0.97 |
| Qwen3 Next 80B A3B Thinking | $0.10 | $0.78 |
| R1 Distill Llama 70B | $0.80 | $0.80 |
| R1 | $0.70 | $2.50 |
| MiniMax-01 | $0.20 | $1.10 |
| Qwen3 Next 80B A3B Instruct | $0.09 | $1.10 |
| Qwen2.5 VL 72B Instruct | $0.80 | $1.00 |
| ERNIE 4.5 VL 424B A47B | $0.42 | $1.25 |
| Claude Sonnet 4 | $3.00 | $15.00 |
| Qwen3 14B | $0.10 | $0.24 |
| Qwen3 235B A22B | $0.46 | $1.82 |
| o4 Mini High | $1.10 | $4.40 |
| Gemma 2 27B | $0.65 | $0.65 |
| Gemma 3 27B | $0.08 | $0.16 |
| Saba | $0.20 | $0.60 |
| o3 Mini High | $1.10 | $4.40 |
| Llama 3.2 1B Instruct | $0.03 | $0.20 |
| Llama 3.2 11B Vision Instruct | $0.34 | $0.34 |
| GPT-4 Turbo | $10.00 | $30.00 |
| GPT-3.5 Turbo Instruct | $1.50 | $2.00 |
| GPT-3.5 Turbo 16k | $3.00 | $4.00 |
| GPT-4 | $30.00 | $60.00 |