Ziyue (Alvin) Liu
EMNLP 2025Oral

CoLA: Compute-Efficient Pre-Training of LLMs via Low-Rank Activation

Ziyue Liu*1, Ruijie Zhang*1, Zhengyang Wang*1, Mingsong Yan1, Zi Yang2, Paul Hovland3, Bogdan Nicolae3, Franck Cappello3, Sui Tang1, Zheng Zhang1

1University of California, Santa Barbara2University at Albany, SUNY3Argonne National Laboratory*Equal contribution

In short

The activations inside a pre-trained LLM are low-rank, yet every layer computes them at full size. CoLA builds the low rank into the architecture: each linear layer becomes a small auto-encoder. Models come out 2× smaller and training takes half the compute, at full-rank perplexity.

Full-size layer
the activation is as wide as the layer
d W σ dff h = σ(Wx)
CoLA layer
a rank-r bottleneck with the nonlinearity inside
d A σ r B dff h = B σ(Ax)
Every linear layer, with or without a nonlinearity after it, becomes an auto-encoder B σ(Ax) with A of size r × d and B of size dff × r, so the activation is low-rank throughout training.
2×
less training compute than full-rank, at the default rank
2×
smaller models, with full-rank perplexity from 60M to 7B
1.86×
training throughput on LLaMA-1B, and 1.64× at inference
⅔
less pre-training memory for LLaMA-7B with CoLA-M, still faster than full-rank

Abstract

The full-size MLPs and the projection layers in attention introduce tremendous model sizes of large language models (LLMs), consuming extensive computational resources in pre-training. We empirically observe that the activations of pre-trained LLMs exhibit low-rank property. Motivated by such observations, we propose CoLA and its memory-efficient implementation, CoLA-M, to replace these full-size layers with compute-efficient auto-encoders that naturally enforce low-rank activations throughout training. This fundamental architectural change eliminates the activation redundancy and significantly boosts model capacity and training efficiency. Experiments on LLaMA models with 60 million to 7 billion parameters show that CoLA reduces the computing cost by 2× and improves training throughput by 1.86× while maintaining full-rank level performance. CoLA-M further squeezes memory cost without sacrificing throughput, offering a pre-training approach with collectively superior parameter, computing, and memory efficiency. The LLMs produced are also 2× smaller, enabling faster inference with lower memory cost on resource-constrained platforms.

Low-rank activation by construction

In a pre-trained GPT-2, the singular values of the MLP activations fall off quickly: in every block, the rank that keeps 95% of the spectral energy is a small fraction of the full dimension. Full-size layers spend most of their compute producing that redundancy.

Effective rank of the MLP activation in GPT-2 small
singular values needed to keep 95% of the spectral energy, per block
effective rankfull dimension, 3,072
01,0002,0003,072
1
2
3
4
5
6
7
8
9
10
11
12
decoder block
Show the numbers
Block123456789101112
Effective rank≈200≈240≈250≈320≈370≈400≈400≈400≈390≈370≈310≈220
In every block, about 7% to 13% of the 3,072 activation dimensions hold 95% of the energy. Activations measured on WikiText-2.

CoLA replaces each linear layer with h = B σ(Ax), where r is well below both input and output sizes. The nonlinearity sits between the two factors, so the activation itself stays low-rank. That differs from factorizing W into BA, which compresses parameters but keeps a full-size activation. All MLP layers and all attention projections become CoLA layers; attention itself, residual connections and the gated product stay as they are.

With the default rank r = d/4, a decoder layer needs about half the compute of full-rank training, and CoLA saves compute for any r below about 0.62d. The other efficient pre-training methods each cover only part of the picture:

CoLA(-M)SLTrainGaLoreReLoRA
Fewer parameters✓✓––
Less compute, training✓––✓
Less compute, inference✓–––
Less memory, training✓✓✓✓
Less memory, inference✓✓––
Higher throughput, training✓–––
Higher throughput, inference✓–––
Which kinds of efficiency each method provides.

What the theory says

  1. Never worse than plain low rank. A CoLA layer approximates a layer at least as well as a standard low-rank layer of the same rank. Proposition 3.1
  2. Strictly better under data-dependent conditions. The nonlinearity in the middle lets it beat the standard low-rank layer. Theorem 3.3
  3. Benefits from low effective rank. Its error bound depends on the output's effective rank, which is small in practice. Theorem 3.4

CoLA-M: save only the small activations

At large batch sizes, activations can take most of the memory. Plain gradient checkpointing keeps each block's input and recomputes the whole block in the backward pass, almost a full forward pass. CoLA-M keeps the low-rank activations instead, and recomputes only the up-projections and self-attention, about half of a CoLA forward pass.

At a similar memory saving on LLaMA-1B, that is 4.6× less recomputation than plain checkpointing. CoLA-M needs a quarter of full-rank training's memory at 1B and a third at 7B, and it still trains faster.

One CoLA-M decoder block
LLaMA-style, read from top to bottom
hl−1AqσBqAkσBkAvσBvself-attentionAoσBoAgateσBgateAupσBupσAdownσBdownhl
low-rank activation, savedrecomputed in the backward passfull-size SiLU
CoLA-M against full-rank training
one H100 94GB; Vanilla GCP is full-rank training with plain gradient checkpointing
MemoryGB, lower is better
Full-rank
69.84
Vanilla GCP
14.89
CoLA
66.46
CoLA-M
17.33
0306090
ComputeFLOPs relative to full-rank, lower is better
Full-rank
1.00×
Vanilla GCP
1.68×
CoLA
0.40×
CoLA-M
0.55×
00.511.52
Throughputtokens per second, higher is better
Full-rank
12,365
Vanilla GCP
8,799
CoLA
22,979
CoLA-M
16,617
010k20k

Results

LLaMA models from 60M to 7B parameters pre-trained on C4 with no data repetition, following the exact setup of GaLore and SLTrain, plus BERT-Large and an over-trained LLaMA-350M.

Smallest model, full-rank perplexity

At every size CoLA has the fewest parameters and the least memory, and its perplexity is on par with full-rank training: 15.52 against 15.56 at 1B.

LLaMA-1B: perplexity, compute and model size
bubble area is the number of parameters
CoLA, 609Mothers, 646M to 1,339M
Show the numbers
MethodPerplexityComputeParameters
CoLA15.520.41×609M
Full-rank15.561.00×1,339M
ReLoRA18.331.06×1,339M
GaLore15.642.31×1,339M
SLTrain16.142.96×646M
Compute is the paper's per-step estimate for one decoder layer with a 256-token batch. SLTrain and GaLore spend extra compute on rebuilding weights and projecting gradients, so they sit above full-rank training.
Compute-optimal pre-training on C4
same setup as GaLore and SLTrain
MethodPerplexityParameters (M)Memory (GB)
Full-rank15.561,3399.98
ReLoRA18.331,3396.79
GaLore15.641,3396.60
SLTrain16.146464.81
CoLA15.526094.54

Rank / width 512 / 2048, 13.1B training tokens. Memory counts weights, gradients and optimizer states in BF16.

LLaMA-7B with a third of the memory

At 150k steps, CoLA-M reaches a perplexity of 12.73 with 26.8 GB of memory. 8-bit Adam and 8-bit GaLore stay around 14.6 while using 65 to 73 GB.

LLaMA-7B on C4
memory for each method in the legend
CoLA-M, 26.8 GB8-bit GaLore, 65.2 GB8-bit Adam, 72.6 GB
Show the numbers
MethodMemory (GB)10k40k80k120k150k
8-bit Adam72.59n/a18.0915.4714.8314.61
8-bit GaLore65.1626.8717.9415.3914.9514.65
SLTrain60.9127.59n/an/an/an/a
CoLA-M26.8222.7616.2113.8213.0912.73
8-bit Adam and GaLore numbers are from the GaLore paper, SLTrain's from its paper. The 7B runs are below the compute-optimal budget.

A larger rank beats full-rank training

Raising the rank to 0.7× of the full-rank compute makes CoLA better than full-rank training at all three sizes. Shrinking a full-rank model to CoLA's default budget instead costs a lot of perplexity.

60Mperplexitycompute130Mperplexitycompute350Mperplexitycompute
Full-rank34.061×24.361×18.801×
Smaller full-rank37.730.4×27.050.5×20.530.4×
CoLA, default rank34.040.4×24.480.5×19.400.4×
CoLA, larger rank31.520.7×23.970.7×18.320.7×
Validation perplexity and compute relative to full-rank training.

Beyond compute-optimal

Trained 8× past the compute-optimal budget (51B tokens), LLaMA-350M with CoLA reaches 13.96 against 14.47 for full rank. A CoLA version of BERT-Large (350M) pre-trained on 85B tokens ends at a lower loss (1.257 against 1.263), and after fine-tuning it averages 83.5 on GLUE against 82.7, ahead or level on 7 of 8 tasks.

QQPSST-2MRPCCoLAQNLIMNLIRTESTS-BAvg
BERT-Large91.192.190.753.191.684.369.988.982.7
CoLA91.292.390.654.191.784.374.289.783.5
GLUE after pre-training both models with NVIDIA's BERT reproduction; mean of the best 5 of 10 seeds.

Faster to train and to serve

CoLA and CoLA-M are the only methods here that train faster than the full-rank model. At inference, CoLA is up to 1.64× faster and uses up to 1.67× less memory.

Pre-training throughput, LLaMA-1B on one A100 40GB
tokens per second at batch 16
CoLA
full-rank
11,506
CoLA-M
8,569
Full-rank
7,161
ReLoRA
6,942
APOLLO
6,838
SLTrain
6,770
Vanilla GCP
5,278
GaLore
4,556
03,0006,0009,00012,000

Limitations and follow-up work

Citation

BibTeX
@inproceedings{liu-etal-2025-cola,
    title = "{C}o{LA}: Compute-Efficient Pre-Training of {LLM}s via Low-Rank Activation",
    author = "Liu, Ziyue  and
      Zhang, Ruijie  and
      Wang, Zhengyang  and
      Yan, Mingsong  and
      Yang, Zi  and
      Hovland, Paul D.  and
      Nicolae, Bogdan  and
      Cappello, Franck  and
      Tang, Sui  and
      Zhang, Zheng",
    editor = "Christodoulopoulos, Christos  and
      Chakraborty, Tanmoy  and
      Rose, Carolyn  and
      Peng, Violet",
    booktitle = "Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing",
    month = nov,
    year = "2025",
    address = "Suzhou, China",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2025.emnlp-main.230/",
    doi = "10.18653/v1/2025.emnlp-main.230",
    pages = "4627--4645",
    ISBN = "979-8-89176-332-6"
}