Downloads · 30 days
248
52% of all-time downloads
iktino/bge-reranker-v2-m3-mlx-int8
bge-reranker-v2-m3-mlx-int8 is a text classification model from iktino. Use it when you need a label for a piece of text. It is set up for mlx. The card lists the license as apache-2.0.
A multilingual cross-encoder reranker for on-device search on Apple Silicon, at 0.64 GB.
Downloads · 30 days
248
52% of all-time downloads
All-time downloads
474
Public
Parameters
160M
658 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors641 MB · 97%
How the weights are stored.
U32142M · 89%
From the Hugging Face model README
A multilingual cross-encoder reranker for on-device search on Apple Silicon, at 0.64 GB.
| Base | BAAI/bge-reranker-v2-m3 @ 953dc6f6 |
| Task | Cross-encoder relevance scoring (query, passage) → one logit |
| Format | MLX Swift safetensors, 8-bit affine, group size 64 (Linear + Embedding) |
| Size | 0.64 GB (fp32 original ≈ 2.2 GB) |
| Accuracy | byte-identical downstream results vs fp32 on a multilingual benchmark (below) |
| License | Apache-2.0 (unchanged) |
Re-ranking retrieval candidates and judging whether two texts are about the same thing, in 100+ languages, fully on-device. Feed (query, passage) as a sentence pair; the single output logit (sigmoid for a 0–1 score) ranks candidates.
The original fp32 weights were loaded with an MLX Swift BertModel (MLXEmbedders naming, after its sanitize step) and
quantized in memory with MLXNN.quantize (affine, 8-bit, group size 64, default Linear and Embedding layers). The
quantized module parameters were saved unchanged as model.safetensors; quantization.json records the scheme.
An item-linking benchmark of four multilingual packs (English, Czech and a multilingual parliament set) uses this model together with two companion models from the same family of repos (embedder, reranker, NLI). It produced byte-identical outputs with these 8-bit files and with the original fp32 weights.
These are MLX Swift weights, not a Transformers checkpoint: transformers and sentence-transformers cannot load
them. Use the original repo for those. To load in MLX Swift:
MLXEmbedders BertModel from config.json (with the sequence-classification head).quantize(model: model, groupSize: 64, bits: 8, mode: .affine) on it before loading weights. Quantized layers
store weight / scales / biases.model.safetensors into the module and use the tokenizer files as usual.quantization.json ({"bits": 8, "groupSize": 64, "mode": "affine"}) is the marker a loader can check to take step 2.
| file | content |
|---|---|
model.safetensors | 8-bit parameters |
quantization.json | quantization scheme |
config.json | copied from the source revision |
tokenizer.json, tokenizer_config.json, special_tokens_map.json | copied from the source revision |
Apache License 2.0, the same as BAAI/bge-reranker-v2-m3; the text is in LICENSE. All credit for the model goes to BAAI. The change here is quantization only.