AI & ML interests

Multimodal reasoning

Recent Activity

ArkidMitraΒ  updated a model about 5 hours ago
HopitAI/moda-fashion-distilled
ArkidMitraΒ  updated a Space about 7 hours ago
HopitAI/moda-fashion-search
ArkidMitraΒ  updated a Space about 9 hours ago
HopitAI/README
View all activity

Organization Card

Hopit AI β€” fashion retrieval, measured properly

We build the MODA family of fashion retrieval models and benchmark them the way we wish everyone did: full corpus, one shared harness, every competitor under identical protocol β€” including the cells we lose.

Full benchmark page Β· Interactive demo Β· Code & methodology Β· hopit.ai Β· Book a call

Text-to-image β€” models under 250M parameters

The size class most deployments use. Full-corpus MAP@10; best per row bold πŸ₯‡, second πŸ₯ˆ:

benchmark (corpus)FashionSigLIP 203MMODA 203MMODA Pro Lite 213M
KAGL (44K)0.27690.2890 πŸ₯ˆ0.3185 πŸ₯‡
Polyvore (94K)0.36650.3726 πŸ₯ˆ0.3997 πŸ₯‡
Atlas (78K)0.18260.1884 πŸ₯ˆ0.1945 πŸ₯‡
Fashion200K (202K)0.1858 πŸ₯ˆ0.1947 πŸ₯‡0.1802
DeepFashion In-Shop (53K)0.1587 πŸ₯ˆ0.1703 πŸ₯‡0.1031
DeepFashion Multimodal (43K)0.0148 πŸ₯‡0.0147 πŸ₯ˆ0.0118

Every benchmark in this class is led by a MODA-family model except one, where frozen FashionSigLIP keeps a 0.8% edge. MODA Pro Lite owns catalog and title search (KAGL +10.2%, Polyvore +7.3% over MODA, both significant) from one checkpoint, no serving recipe; MODA owns captions and instance retrieval (4 of 6 wins over FashionSigLIP significant under paired bootstrap).

Text-to-image β€” all systems, including larger models

Full-corpus MAP@10 through one shared pipeline, identical preprocessing per model, no gallery subsampling anywhere. Best per row in bold with πŸ₯‡, second πŸ₯ˆ.

benchmark (corpus)FashionSigLIP
203M
MODA
203M
SO400M
878M
ZooClaw
375M
MODA Pro Lite
213M
MODA Pro
hosted
KAGL (44K)0.27690.28900.3370 πŸ₯‡0.29510.31850.3263 πŸ₯ˆ
Polyvore (94K)0.36650.37260.4378 πŸ₯‡0.38040.39970.4088 πŸ₯ˆ
Atlas (78K)0.18260.18840.2309 πŸ₯‡0.15830.19450.2053 πŸ₯ˆ
Fashion200K (202K)0.18580.1947 πŸ₯ˆ0.13530.17750.18020.2101 πŸ₯‡
DeepFashion In-Shop (53K)0.15870.1703 πŸ₯ˆ0.16950.10240.10310.1762 πŸ₯‡
DeepFashion Multimodal (43K)0.0148 πŸ₯‡0.0147 πŸ₯ˆ0.00790.00990.01180.0144

MODA Pro: rank 1 or 2 on every row, and on 9 of 10 cells once the H&M and ZooClaw-Fashion registers are included β€” the only system with no bad benchmark (+6.9% mean over MODA on these six, peak +12.9%). MODA Pro Lite is the strongest open single model ≀250M on catalog search: KAGL +10.2% and Polyvore +7.3% over MODA (both significant), from one checkpoint with no serving machinery. Full page with ranks, ops costs and losses: benchmark page.

Image-to-image retrieval β€” LookBench Fine R@1

modelparamsFine R@1
MODA-SigLIP-Distilled203M67.63 πŸ₯‡
GR-Pro (closed)n/a67.38
Tianmu-MERE1.24B65.99†
FashionSigLIP203M63.84†

†same-harness reruns; our harness reproduces Tianmu's published 66.20 within 0.5pt. A 203M open model above a closed commercial system and a 1.24B model.

The MODA family

modelwhat it isavailability
MODA (203M) zero-new-parameter serving recipe over frozen FashionSigLIP; 4/6 statistically significant full-corpus wins over its own base model open source + open weights
MODA Pro Lite (213M) trained encoder (verified fashion-vocab build); beats MODA on catalog search as a plain bi-encoder β€” no recipe required open weights
MODA Pro our hosted retrieval system β€” rank 1 or 2 on 9 of 10 benchmark cells at single-model query latency and cost closed Β· hosted
MODA-SigLIP-Distilled (203M) image-to-image specialist β€” #1 open model on LookBench open weights (+ matryoshka, 512d, fp16-vision variants)

Why trust these numbers

  • Full corpus only β€” no subsampled galleries; screening runs are never mixed with full-corpus rows.
  • One harness β€” every model, ours and competitors', runs identical preprocessing and protocol.
  • Losses shown β€” every model card links the cells it loses; paired-bootstrap CIs where significance is claimed.
  • Reproducible β€” code, harness, and per-cell receipts in the public repo.

Which model should I use?

your workloadusewhy
catalog / title searchmoda-pro-litestrongest ≀250M on catalog benchmarks; plain bi-encoder, any vector DB
caption-style / exact-item searchMODAleads the class on Fashion200K, In-Shop, Multimodal
best text search, zero integrationMODA Pro (hosted)rank 1–2 on 9 of 10 benchmarks, no bad benchmark
visually similar products (image)moda-fashion-distilled#1 open model on LookBench
small index / edgematryoshka @256d Β· fp163Γ— smaller index at no loss Β· 186 MB vision tower

All models serve on CPU. Each card links the benchmarks it loses, too.

Quick start

Text to image (plain bi-encoder, works with any vector DB):

import open_clip

model, _, preprocess = open_clip.create_model_and_transforms("hf-hub:HopitAI/moda-pro-lite")
tokenizer = open_clip.get_tokenizer("hf-hub:HopitAI/moda-pro-lite")

Image to image, for finding visually similar products:

import open_clip

model, _, preprocess = open_clip.create_model_and_transforms("hf-hub:HopitAI/moda-fashion-distilled")

MODA's full multi-view retrieval recipe:

pip install "git+https://huggingface.co/HopitAI/moda-fashionsiglip-multiview-203m"
from moda_fashionsiglip_multiview import ModaFashionSigLIP

retriever = ModaFashionSigLIP.from_pretrained()
index = retriever.build_index(image_paths, item_ids=item_ids)
results = retriever.search("red floral summer dress", index, top_k=5)[0]

Use cases

  • Search a fashion catalog with a natural-language query.
  • Find visually similar products in a fashion catalog.
  • Match street-style looks to shoppable items.
  • Deduplicate product images across marketplaces.
  • Build embedding indexes for ecommerce search and recommendations.

datasets 0

None public yet