The strongest open system at ≤250M parameters on catalogue and title search.
MODA Pro Lite+ is MODA Pro Lite — a 213M
fashion retrieval encoder — served with a calibrated multi-view recipe. This repository holds
the recipe, as runnable code; the weights are pulled from moda-pro-lite at load time.
Zero added parameters. One stored vector per item. The uplift is paid once at index time and
costs nothing at query time.
Results
MAP@10, full corpus, all ground-truth queries, one evaluator (pytrec_eval map_cut.10).
MODA is FashionSigLIP with its own serving recipe, shown for reference.
benchmark
MODA
Pro Lite (bare)
Pro Lite+ (with recipe)
KAGL
0.2887
0.3055
0.3201
Polyvore
0.3726
0.3952
0.4049
Atlas
0.1862
0.1814
0.1904
Fashion200K
0.1946
0.1758
0.1846
DeepFashion In-Shop
0.1642
0.0930
0.1026
DeepFashion Multimodal
0.0147
0.0118
0.0133
Pro Lite+ leads the ≤250M class on KAGL, Polyvore and Atlas — +10.9% over MODA on KAGL,
+8.7% on Polyvore, both significant under a paired bootstrap (10,000 resamples).
The recipe is worth +2.5% to +12.8% over the bare encoder on every benchmark, and costs
nothing at query time: the views are fused into a single vector before indexing.
Where this model is weak, stated plainly. Pro Lite is tuned for short catalogue titles.
On long natural-language descriptions it trails FashionSigLIP substantially — DeepFashion
In-Shop queries average 75 words, and Pro Lite+ scores 0.1026 there against MODA's 0.1642.
If your queries are descriptions rather than titles, use
MODA Duo, which routes per query.
Serving cost
stored vectors per item : 1
ANN queries per search : 1
image forwards at index : 3x offline, paid once
text forwards per query : 2x negligible beside the ANN probe
The recipe is a rule for what you encode, not a model change. Views are combined into one
unit vector before indexing, so nearest-neighbour search costs exactly what the bare encoder
costs — same index, same probe, no extra routes and no re-ranking.
serving_ann.py implements it. Zero added parameters, one stored vector.
Evaluation
All figures are full corpus, all ground-truth queries, MAP@10 under one evaluator
(pytrec_eval map_cut.10), float32. Per-query results and confidence intervals are in the
repository.
Related
MODA Pro Lite — the bare encoder these weights come from.
MODA Duo — routes each query to Pro Lite+ or MODA by its shape; beats both on a mixed workload.
MODA — FashionSigLIP with a serving recipe. Stronger on long descriptions.