MLX (bfloat16) conversion of prithivida/Splade_PP_en_v1 for Apple Silicon,
produced by NomaDamas/SPLADE-mlx.
Independent Apache-2.0 SPLADE++ reproduction (BERT-base), freely usable commercially.
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| 5.5e-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.
from splade_mlx import load
import mlx.core as mx
model, tok = load("NomaDamas/Splade_PP_en_v1-mlx")
enc = tok(["what causes vitamin d deficiency"], return_tensors="np", padding=True)
sparse = 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 prithivida/Splade_PP_en_v1 checkpoint to create an fp32 conversion.
Apache-2.0, same as the upstream checkpoint.
3 commits
MLX (bfloat16) conversion of prithivida/Splade_PP_en_v1 for Apple Silicon,
produced by NomaDamas/SPLADE-mlx.
Independent Apache-2.0 SPLADE++ reproduction (BERT-base), freely usable commercially.
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| 5.5e-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.
from splade_mlx import load
import mlx.core as mx
model, tok = load("NomaDamas/Splade_PP_en_v1-mlx")
enc = tok(["what causes vitamin d deficiency"], return_tensors="np", padding=True)
sparse = 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 prithivida/Splade_PP_en_v1 checkpoint to create an fp32 conversion.
Apache-2.0, same as the upstream checkpoint.
3 commits