M_T1 β€” Fully Frozen Vision-Language Alignment

A fully frozen-backbone image-text retrieval model: 47.2M deployed parameters, of which 2.9M are trainable.

Research artifact. Not licensed for commercial use. See NOTICE.

Code: https://github.com/Pranav210901/Efficient-VLM

What this is

A frozen DINOv3 ViT-S/16 vision tower (224 px) and a frozen all-MiniLM-L6-v2 text tower, joined by learned token aggregation and residual projections into a shared normalised 384-d space. MobileCLIP2-S0 provided a distillation signal during training only and is not part of this model.

Both backbones are completely frozen. The trainable set is a two-block 256-d learned vision-token aggregator (C4), a 128-d four-head learned-query text aggregator, two residual projection heads, and the logit scale.

Deployed parameters 47,196,549
Trainable at inference 2,896,389 (6.1%)
Seed 43
Embedding dim 384
Image size 224

Results

Flickr30k Karpathy test, opened once after the model was frozen, with no training of any kind. This checkpoint (seed 43) scores 51.90% mean bidirectional R@1.

Three-seed means for context:

Model Flickr30k test R@1 Params
M_T1 (fully frozen) 52.90 Β± 0.87 47.2M
FreezeShift dual 62.20 Β± 0.45 49.2M
OpenCLIP ViT-B/32 68.22 151.3M
MobileCLIP2-S0 78.25 74.8M
SigLIP2 ViT-B/32 80.46 376.9M

This model does not beat the compact references. MobileCLIP2-S0 is smaller than OpenCLIP and scores higher than both models released here. The contribution is a measured boundary on frozen-encoder alignment under a fixed latency budget, not a state-of-the-art retrieval model.

Zero-shot classification transfer is weak (CIFAR-100 ~36-38%, Oxford-IIIT Pet ~8-10%, EuroSAT ~22-24%) and should be treated as a negative result.

Seed selection

The seed was chosen on the validation split, never on test. Selecting on test would have picked a different seed and inflated the reported figure.

Checkpoint provenance

This exports the COCO-dev-selected epoch. The headline validation figures in the dissertation (54.487% / 63.416%) use Flickr-validation epoch selection; under the deployed selection the same models score 54.36% / 63.04% on validation. The test figures above are unaffected by this distinction.

Files

file contents
model.safetensors full stack, frozen towers included β€” self-contained
adapter.safetensors trainable parameters only; frozen towers fetched at load
config.json frozen architecture and data config
training_recipe.json training recipe as run
fingerprint.json provenance hashes (code, config, split, digest)
load_model.py loader for both variants

The adapter-only variant contains no third-party weights, which avoids redistributing DINOv3 entirely if that matters for your use.

Usage

# requires the repo code on PYTHONPATH
from load_model import load

model = load(".", adapter_only=False)          # or True for the adapter variant
image_embeds = model.encode_image(pixel_values) # (B, 384), L2-normalised
text_embeds  = model.encode_text(["a dog on a beach"])

Licensing

Component Terms
DINOv3 ViT-S/16 Meta DINOv3 License β€” copy included as LICENSE-DINOv3.md
all-MiniLM-L6-v2 Apache-2.0
MobileCLIP2-S0 (teacher, training only) Apple ML Research Model License β€” research only

The DINOv3 License requires that derivatives be distributed under its terms with a copy of the Agreement provided, that publications acknowledge DINO Materials, and that use comply with Trade Controls. It prohibits military, weapons, espionage, and nuclear applications. MobileCLIP2-S0 weights are not redistributed here.

Citation

Pokhrel, P. Efficient Frozen Vision-Language Alignment. MSc dissertation, University of Surrey, 2026.

Downloads last month
6
Safetensors
Model size
47.2M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support