wikillm

Concept · 1 paper · updated 2026-10-19

Intrinsic dimension

Measures how many free parameters a fine-tuning task needs by training only d numbers pushed through a fixed random projection onto frozen pretrained weights. The smallest d reaching 90% of full fine-tuning is the task's intrinsic dimension; for RoBERTa-Large on MRPC it is 207 to 322 numbers. Values are upper bounds and depend on the metric and the projection.

fine-tuningintrinsic-dimensionpretraininggeneralization

Markdown4 min read

AI-compiled overview, updated 2026-10-19, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

Overview

Intrinsic dimension is a measure of how many free parameters a fine-tuning task really needs. Full fine-tuning updates every weight of a pretrained model. The measure asks instead how small a trainable subspace can get while still doing most of the job. The one card so far applies this measure to language-model fine-tuning 2012.13255 §1 2012.13255 §3.

The method keeps all D pretrained weights frozen. It trains a vector \theta^{d} of d numbers and maps it into weight space through a fixed random projection P 2012.13255 eq. 1. The measured value is d_{90}: the smallest d that reaches 90% of the score of standard full fine-tuning 2012.13255 §3 2012.13255 §4.1. The authors report that for RoBERTa-Large on MRPC, about 200 to 300 numbers reach that target 2012.13255 §4.2 2012.13255 tab. 1. The two variants give 207 (SAID) and 322 (DID) for that cell.

The paper treats d_{90} as an upper bound on the true intrinsic dimension, because random projections make the estimate crude 2012.13255 §4.2.

Variants

Direct intrinsic dimension (DID)

The projection acts on all weights at once, with no knowledge of the layer structure 2012.13255 §3. The projection is the Fastfood construction M = HG\Pi HB, which can be applied in \mathcal{O}(D \log d) 2012.13255 eq. 2 2012.13255 §3. On MRPC, DID reaches 90% of full fine-tuning with 322 trainable numbers for RoBERTa-Large and 1861 for BERT-Base 2012.13255 tab. 1. Card: Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning.

Structure-aware intrinsic dimension (SAID)

The paper assumes that the layers of an attention model specialise. SAID spends m of the d trainable values, where m is the number of layers, on one learned scale \lambda_i per layer. The other d - m values feed the same projection as before 2012.13255 §3 2012.13255 eq. 3. The paper's own table gives 207 numbers for RoBERTa-Large on MRPC, against 322 for DID 2012.13255 tab. 1. SAID is the paper's new contribution; DID is the variant it builds on 2012.13255 §3.

The paper says SAID improves consistently over DID 2012.13255 §4.2. Table 1 does not fully support that wording, since the two tie on RoBERTa-Large for QQP at 774 numbers 2012.13255 tab. 1. See the Contradictions section.

When to use which

The paper's experiments cover sentence-pair classification on GLUE-style tasks (MRPC and QQP) with BERT and RoBERTa 2012.13255 §4.1. Choose by the constraint that binds you.

SituationUseWhy
You want to know how much trainable capacity a task needs on a fixed pretrained modelThe d_{90} protocol with SAIDThis is the paper's question. It needs about 100 subspace runs per dataset and model 2012.13255 §4.1.
Your model is small and the task is a sentence-pair dataset like MRPCSAID, then DID as a checkTable 1 gives the most detail for this setting 2012.13255 tab. 1.
You must store a projection matrix explicitlyNot feasible at scale; use FastfoodThe authors estimate 1.42 TB for a dense projection of RoBERTa-Large at d=1000 2012.13255 §3.
You need a deployable adapter that is trained and servedThis paper does not evaluate oneIt compares only DID against full fine-tuning and reports no other method 2012.13255 §4. See parameter-efficient-fine-tuning and low-rank-adaptation for other cards.
You need training speed or memory numbersNot supported by this cardThe card reports d_{90} and accuracy only. Training cost is not stated, so do not cite savings from this paper.
You are comparing d across modelsOnly with the same metric and the same searchd_{90} depends on the metric, the learning-rate search and the full fine-tuning baseline 2012.13255 §4.1 2012.13255 §5.1.

For the pre-training question, the paper reports that d_{90} falls as pre-training continues 2012.13255 §5.1 2012.13255 fig. 2, and that it falls as the parameter count grows across public models 2012.13255 §5.2 2012.13255 fig. 3. Both results are qualitative in the card, because the figures are described in words only.

For generalization, the paper reports that lower d_{90} goes with higher evaluation accuracy and a smaller relative gap 2012.13255 §5.3 2012.13255 fig. 4 2012.13255 fig. 5. This is a correlation, not a causal claim. Its bound, \mathcal{O}(\sqrt{d/m}), is asymptotic, has no stated constants, and applies only to models trained inside the subspace 2012.13255 §5.3.1 2012.13255 eq. 5.

Implementation sketch

The protocol is a search over d, with one full training run per candidate. The subspace step keeps the pretrained weights fixed and trains only \theta^{d} 2012.13255 §3 2012.13255 eq. 2.

Pseudocode
# Subspace fine-tuning run for one value of d  [arxiv:2012.13255 §3] [eq. 2]
# Input:  theta_0 (D,) pretrained weights; d; seed; train_data
# Output: trained theta_d (d,)

def subspace_finetune(theta_0, d, seed, train_data):
    # Draw the fixed random factors once per seed; never train them  [§3]
    G, B, Pi = draw_fastfood_factors(D, seed)
    # Start at zero, which is the pretrained model  [§4.1]
    theta_d = zeros(d)
    for batch in train_data:
        # Map the d trainable values into weight space  [eq. 2]
        theta_D = theta_0 + fastfood(theta_d, G, Pi, B)
        loss = model_loss(theta_D, batch)
        theta_d = sgd_step(theta_d, grad(loss, theta_d))
    return theta_d

# d90 search: smallest d reaching 90% of full fine-tuning  [§3] [§4.1]
def find_d90(full_score, train_and_eval, low, high):
    target = 0.9 * full_score
    while low < high:
        mid = (low + high) // 2
        if train_and_eval(mid) >= target:
            high = mid
        else:
            low = mid + 1
    return low

Where the variants differ: SAID splits \theta^{d} into d - m projected values and m per-layer scales, and multiplies each layer's projected part by its scale 2012.13255 eq. 3. The paper's search is over a log-spaced sweep of d in §4.1 and a binary search in §5.1 2012.13255 §4.1 2012.13255 §5.1. The sketch uses a binary search, which assumes the score rises with d. The card does not confirm that monotonicity.

Contradictions

  • Text and table differ slightly. The text says "roughly 200" numbers for RoBERTa-Large on MRPC and "800" for QQP 2012.13255 §4.2. Table 1 gives 207 and 774 2012.13255 tab. 1. Both come from the same paper.
  • SAID versus DID. The text says SAID improves consistently 2012.13255 §4.2. Table 1 has SAID and DID tied at 774 for RoBERTa-Large on QQP 2012.13255 tab. 1.

Only one card covers this concept, so no cross-paper disagreement is known.

Papers

Source and license

Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.