pplx-pii-masking-MLX (int8, Apple Silicon / on-device)

MLX conversion of perplexity-ai/pplx-pii-masking (pii-masking-20260608: bidirectional Qwen3 ~600M backbone, BIOES token-classification head + conversation-sensitivity head), quantized to 8-bit (affine, group 64, backbone projection Linears only; embeddings, RMSNorms and both heads stay fp).

This is the recommended on-device variant: 779 MB (65% of bf16) and lossless.

Full v3 benchmark (13,479 docs) Char P Char R Char F1 Span-exact F1
torch reference (bf16, server) 41.08 74.79 53.03 47.04
MLX bf16 41.07 74.79 53.02 47.01
MLX int8 (this repo) 40.98 74.80 52.95 46.96

Same story on ai4privacy validation (47,728 docs): int8 char F1 94.99 vs bf16 95.01. 4-bit is NOT viable for this model (decision boundary collapses; would need QAT).

Contents

Self-contained artifact: weights.safetensors + config.json (architecture, quant params, Viterbi biases) + tokenizer files.

Loading

Loader lives in mlx_pii/ of the pplx-pii-masking repo (PR #2):

from mlx_pii.model import load_adapter
model = load_adapter("<this repo, downloaded>")   # scorer + torch Viterbi decoder
# tokenize -> model(input_ids, attention_mask) -> token_logits[T,37] + sensitivity_logit

Requires mlx, mlx-lm (Qwen3 blocks), and torch for the Viterbi decode.

Status

Private pending sync with the official release.

Downloads last month
2,037
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for perplexity-ai/pplx-pii-masking-MLX

Finetuned
(2)
this model