splade-v3-mlx
MLX (bfloat16) conversion of
naver/splade-v3 for Apple Silicon,
produced by
NomaDamas/SPLADE-mlx.
SPLADE-v3 (BERT-base): symmetric sparse encoder for queries and documents; the main SPLADE-v3 family model. Upstream is gated on the HF hub (click-through, CC BY-NC-SA acknowledgement).
Changes from upstream: PyTorch checkpoint converted to MLX safetensors
(parameter re-mapping, cast to bfloat16). No training or fine-tuning was performed.
Quality: Separate fp32 conversion validation: max |logit delta| 7.6e-05, sparse cosine 1.000000, top-64 term overlap 100%.
This repository stores bfloat16 weights. Any fp32 parity number above comes from a
separate fp32 conversion of the upstream checkpoint, not this linked bfloat16 artifact.
Full methodology: see the SPLADE-mlx report.
Usage
1from splade_mlx import load
2import mlx.core as mx
3
4model, tok = load("NomaDamas/splade-v3-mlx")
5enc = tok(["what causes vitamin d deficiency"], return_tensors="np", padding=True)
6sparse = model.encode(mx.array(enc["input_ids"]), mx.array(enc["attention_mask"])) # (1, 30522)
Do not pass dtype="float32" for this pre-converted repository: its declared stored
dtype is bfloat16. Load the upstream naver/splade-v3 checkpoint to create an fp32 conversion.
License
CC BY-NC-SA 4.0 — the original weights are Copyright (c) NAVER Corp. (NAVER LABS Europe) and are licensed for non-commercial use only. This conversion is Adapted Material redistributed under the same CC BY-NC-SA 4.0 license (ShareAlike), with attribution and the changes stated above. This repository is not affiliated with or endorsed by NAVER. For commercial use, consider NomaDamas/Splade_PP_en_v1-mlx (Apache-2.0).