CoolFace
Modelpublic

ronaldmannak/LFM2.5-ColBERT-350M-4bit

sourceHugging Faceotherupdated 3mo agoView on Hugging Face
0likes10downloads
Model Card

LFM2.5-ColBERT-350M — MLX (4-bit)

MLX build of **LiquidAI/LFM2.5-ColBERT-350M**, a multilingual late-interaction retriever (128-dim vector per token, scored with MaxSim), for local inference on Apple Silicon with MLX.

All weights, architecture, and behavior are LiquidAI's. This repository changes the file format (PyTorch/safetensors → MLX) and post-training quantized to 4-bit (affine, group size 64) from the bf16 MLX conversion. Every Linear and embedding layer (including the 1024→128 Dense projection head) is quantized; the non-quantized layers (conv, norms) stay bf16. See the original model card for training details and intended use.

Quantization details

  • Quantized with mlx.nn.quantize(mode='affine', bits=4, group_size=64) — the exact configuration benchmarked below.
  • Verified bit-exact: the reloaded checkpoint's encodings are identical (max abs diff 0) to the in-memory-quantized model used for the benchmark (verify_export.py) — the shipped artifact is the model measured below. Downstream ColBERT NDCG can wobble ≤0.002 across processes from GPU MaxSim reduction order — a scoring artifact, not the weights.
  • Reload applies the quant from config.json["quantization"] before loading weights (see retrieval.load_model).

Evaluation

Retrieval quality of this checkpoint (and its sibling precisions), measured as NDCG@10 / Recall@10 on judged pools. Retention = metric ÷ bf16 metric, averaged per-dataset.

Setup. English = the four NanoBEIR sets (full small corpora, ~2–5k passages, 50 queries each). Multilingual = MIRACL dev (the real queries and relevance judgments) for Spanish, German, Japanese, Arabic, each scored over a reduced pool of ~6k passages (judged positives + hard-mined negatives + sampled distractors, from mteb/MIRACLRetrievalHardNegatives), 100 queries each. Reduced pools make absolute scores easier than full-corpus MIRACL and not leaderboard-comparable — but every precision searches the identical pool, so the retention numbers (the point of this table) are sound. ColBERT uses brute-force MaxSim with no query augmentation, so its absolute scores sit a touch below a full PLAID setup.

Summary (mean over 8 datasets)

precisionNDCG@10NDCG retentionRecall@10Recall retentionsize
bf160.740100.0%0.780100.0%707 MB
8-bit0.741100.0%0.77999.4%376 MB
4-bit0.73198.7%0.78099.7%199 MB
mxfp40.73098.5%0.77398.8%

NDCG@10 by dataset

datasetbf168-bit**4-bit** ◄mxfp4
NanoNQ · en0.7570.7510.7160.742
NanoFiQA2018 · en0.5280.5120.5240.520
NanoSciFact · en0.6930.7120.7020.682
NanoNFCorpus · en0.3450.3420.3350.334
MIRACL · es0.9000.9010.8990.900
MIRACL · de0.8230.8370.8260.811
MIRACL · ja0.9340.9330.9230.926
MIRACL · ar0.9380.9410.9240.926

License & attribution

Redistributed under the LFM Open License v1.0 (`LICENSE`) — the same license as the original model. Per Section 4, this notice records that the files were modified (format conversion to MLX + 4-bit quantization). The original work is by Liquid AI; this repository is an independent conversion, not affiliated with or endorsed by Liquid AI. The license includes a commercial-use threshold (Section 5) — review it for your use case.

Base model: LiquidAI/LFM2.5-ColBERT-350M