Spectrum is a targeted fine-tuning method developed by Arcee AI that selectively trains a subset of model layers based on their signal-to-noise ratio (SNR), while freezing the rest. Instead of updating every parameter in the model (full fine-tuning) or injecting low-rank adapters into every layer (LoRA), Spectrum uses Random Matrix Theory to identify which layers contain the most learnable signal, then concentrates all training compute on those layers.
The core idea is that not all layers in a neural network are equally important for learning new tasks. Some layers already encode robust representations with high signal content, while others contain more noise. By profiling each layer’s weight matrix and computing its SNR, Spectrum determines which layers will benefit most from updates and which can be safely frozen without sacrificing performance.
For AI engineers, Spectrum fills an important gap between full fine-tuning and parameter-efficient methods like LoRA. It achieves performance competitive with full fine-tuning while using significantly less memory and training time, and in many benchmarks it outperforms QLoRA — particularly in distributed training setups where frozen layers can be efficiently sharded across GPUs.
Every weight matrix in a transformer can be decomposed via singular value decomposition (SVD) into a spectrum of singular values. In a well-trained layer, the singular value distribution shows clear structure: a few large singular values capturing meaningful patterns (signal), and a bulk of smaller values representing noise. Spectrum quantifies this by computing the SNR of each layer’s weight matrix.
SNR measures how much meaningful structure (signal) exists in a weight matrix relative to random noise. Layers with low SNR are dominated by noise and have more room for improvement during fine-tuning. Layers with high SNR already encode strong representations and can be frozen.
To separate signal from noise in a weight matrix, Spectrum uses the Marchenko-Pastur (MP) distribution from Random Matrix Theory. The MP distribution describes the expected eigenvalue distribution of a purely random matrix. By comparing a layer’s actual singular value distribution against the MP baseline, Spectrum can determine which singular values represent genuine learned structure and which are noise.
The MP distribution defines the theoretical eigenvalue distribution of a large random matrix. Singular values that fall within the MP bounds are likely noise; values that exceed the MP upper bound represent signal. The ratio of signal energy to noise energy gives the layer’s SNR.
Concretely, for a weight matrix W of dimensions m x n:
W.Once SNR is computed for every layer module in the model, Spectrum ranks them and selects a configurable percentage for training:
# Spectrum layer selection (conceptual)
# 1. Profile all layer modules
snr_scores = {}
for name, module in model.named_modules():
if is_linear_layer(module):
svd = torch.linalg.svd(module.weight.data)
snr_scores[name] = compute_snr(svd, marchenko_pastur_bound)
# 2. Select bottom X% by SNR (most room for improvement)
sorted_layers = sorted(snr_scores.items(), key=lambda x: x[1])
num_to_train = int(len(sorted_layers) * target_percentage)
trainable_layers = {name for name, _ in sorted_layers[:num_to_train]}
# 3. Freeze all other layers
for name, param in model.named_parameters():
if not any(layer in name for layer in trainable_layers):
param.requires_grad = False
The default configuration targets the bottom 25% of layers by SNR (called “Spectrum-25”), meaning 75% of the model’s parameters are frozen during training. This percentage is configurable — Spectrum-50 trains the bottom 50% and so on.
An important detail is that Spectrum performs SNR analysis and selection within each module type separately. For a transformer, this means it independently ranks and selects from:
self_attn.q_proj — query projection layersself_attn.k_proj — key projection layersself_attn.v_proj — value projection layersself_attn.o_proj — output projection layersmlp.gate_proj — MLP gate layersmlp.up_proj — MLP up-projection layersmlp.down_proj — MLP down-projection layersThis ensures balanced representation across different module types rather than accidentally freezing all attention layers and only training MLP layers (or vice versa).
Selected layers are trained in full precision (no quantization or low-rank approximation). This is a key difference from LoRA/QLoRA: Spectrum trains fewer layers, but trains them fully. The frozen layers use no gradient memory, significantly reducing VRAM requirements.
Spectrum has demonstrated strong results across multiple evaluation frameworks:
Choosing the right fine-tuning approach depends on your constraints:
Spectrum integrates with popular training frameworks. It’s available as a configuration option in the Arcee training stack and can be combined with other techniques:
Spectrum builds on insights from the LASER (LAyer-SElective Rank Reduction) research, which showed that selectively reducing the rank of specific layers can actually improve model performance. While LASER removes noisy components post-training, Spectrum uses the same SNR analysis to decide which layers should be updated during training — a complementary approach that targets the same underlying insight about layer-level signal quality.