Downloads · 30 days
42
100% of all-time downloads
iktino/multilingual-e5-large-mlx-int8
multilingual-e5-large-mlx-int8 is a sentence similarity model from iktino. Use it when you need a score for how close two texts are. It is set up for mlx. The card lists the license as mit.
A 100-language sentence embedder for on-device retrieval on Apple Silicon, at 0.63 GB.
Downloads · 30 days
42
100% of all-time downloads
All-time downloads
42
Public
Parameters
158M
648 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors631 MB · 97%
How the weights are stored.
U32140M · 89%
From the Hugging Face model README
A 100-language sentence embedder for on-device retrieval on Apple Silicon, at 0.63 GB.
| Base | intfloat/multilingual-e5-large @ 3d7cfbda |
| Task | Sentence embeddings (1024-d), multilingual retrieval and similarity |
| Format | MLX Swift safetensors, 8-bit affine, group size 64 (Linear + Embedding) |
| Size | 0.63 GB (fp32 original ≈ 2.2 GB) |
| Accuracy | byte-identical downstream results vs fp32 on a multilingual benchmark (below) |
| License | MIT (unchanged) |
Semantic search and related-item retrieval across 100 languages, fully on-device: notes, meetings, documents. Follow the E5 convention: prefix inputs with query: / passage: and mean-pool the last hidden state, then L2-normalise.
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 (encoder only; mean pooling).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 |
MIT, the same as intfloat/multilingual-e5-large. All credit for the model goes to its authors (Wang et al., Multilingual E5 Text Embeddings, 2024). The change here is quantization only.