Instructions to use openmasq/ner-multilingual with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use openmasq/ner-multilingual with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="openmasq/ner-multilingual")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("openmasq/ner-multilingual") model = AutoModelForTokenClassification.from_pretrained("openmasq/ner-multilingual", device_map="auto") - Notebooks
- Google Colab
- Kaggle
openmasq/ner-multilingual
On-device multilingual NER for OpenMasq, a privacy tool that redacts personal data before a prompt leaves the machine. These weights run in the desktop app and in the local proxy, on CPU, offline.
A 6-layer student of Davlan/bert-base-multilingual-cased-ner-hrl, started from the
Apache-2.0 mBERT base, with the wordpiece vocabulary reduced to Latin script: 97.2 M
parameters, 94 MB as int8 ONNX β against 177.3 M and 178 MB for the model it imitates, for
the same score on held-out text and a little more on the product's own cases.
| Davlan (teacher) | this model | |
|---|---|---|
| encoder blocks | 12 | 6 |
| vocabulary (wordpieces) | 119 547 | 70 606 |
| parameters | 177.3 M | 97.2 M |
| ONNX int8 | 178 MB | 94 MB |
| CPU latency, 419 characters (M1, int8) | 59.5 ms | 32.4 ms |
| weights derived from the teacher | β | none |
Labels
The teacher's tag set, unchanged β O, B-/I-PER, B-/I-ORG, B-/I-LOC, B-/I-DATE. A
drop-in replacement: same id2label, same pipeline.
How it was made
The student is initialised from google-bert/bert-base-multilingual-cased with a fresh
classification head, keeps 6 of its 12 blocks (0, 2, 4, 7, 9, 11 β evenly spaced, the
XtremeDistil shape) and every Latin-script wordpiece. It is then trained with three terms:
loss = 0.7 Β· KL( student/T β teacher/T ) Β· TΒ² T = 2, on every real token
+ 0.3 Β· CE( student, gold ) on the 5 % of cases that carry gold
+ 1.0 Β· MSE( hidden_s[i], hidden_t[kept[i]] ) on the 7 mapped layers, embeddings included
- KL against the teacher on every token: the student copies Davlan's full distribution, hesitations included. This is what preserves everything the teacher does.
- Cross-entropy on gold where a source claims labels: 540 documents of the UNER
English-EWT train split (human) and 3 000 prose documents annotated by Claude through a
scored bench column (0.900 F1 against UNER's human gold, 96 % recall on organisations).
A token nothing annotated is imitated, not scored as
O; a token the teacher reads as a date is left to the KL term, since no source annotates dates. - Hidden-state transfer on the mapping the block selection actually made (Udagawa et al. 2023 place it above output-distribution transfer alone). Measured: +0.002 to +0.003 F1 on every corpus over the same recipe without it.
Corpus: 65 114 documents β Wikipedia prose in six languages, synthetic records, generated credential carriers β plus 20 % shown a second time in capitals and 20 % in lower case (Mayhew et al. 2019). 3 epochs, 21 195 steps, lr 5e-5, batch 16, windows of 256 with stride 48. Final agreement with the teacher on held-out windows: 0.957 F1.
Why the pruned vocabulary is safe on Latin text
WordPiece is greedy longest-match, so a word whose pieces all survive the cut splits exactly as before; keeping every Latin-script piece makes that true of any Latin-script word. Verified rather than assumed: the teacher itself with the pruned vocabulary and no training returns predictions identical to the original on 127 of 127 documents of the Text Anonymization Benchmark.
Measured
Character-level F1 on the categories the product exposes, in the product (rules + model,
the level a user gets). TAB (European Court of Human Rights judgments) and UNER (the
English Web Treebank's test and validation splits: e-mails, newsgroups, reviews, weblogs)
are real text held out from everything either model was trained on; the other three are the
public PII benchmarks' scoring splits.
| corpus | documents | previous model (Davlan) | this model |
|---|---|---|---|
| ai4privacy | 2 000 | 0.827 | 0.825 |
| Gretel | 2 000 | 0.646 | 0.646 |
| Nemotron | 2 000 | 0.928 | 0.938 |
| TAB β real, held out | 127 | 0.862 | 0.861 |
| OpenMasq internal | 907 | 0.923 | 0.925 |
| UNER English-EWT β real, held out | 634 | 0.674 | 0.682 |
Three corpora up, two down by a thousandth, one level. Where precision was measured separately (TAB, internal, UNER) it is 0.001 to 0.017 above the teacher's, and the gains are precision rather than recall β the supervision taught the student where entities are not more than where they are, which is what 91 % of the supervised tokens say.
Limitations β read this before deploying
- Non-Latin scripts are gone. Chinese, Arabic, Cyrillic, Japanese, Korean, Hebrew, Bengali
and every other non-Latin writing system were removed with the vocabulary; their characters
become
[UNK]and entities in them are not detected at all. The teacher covered ten languages including Chinese and Arabic. A deliberate trade for a product serving six European languages β disqualifying for anything else. - Brand knowledge is weaker than the teacher's. Well-formed company names it has not seen
(
Royal Caribbean,Hobby Lobby,Travelocity,BBC) are recognised less often: 70 % of organisation characters on UNER against the teacher's 74 %. Three training runs with five times more supervised organisations did not move that figure β it looks like a property of the 2018 pre-training, not of the corpus. In OpenMasq a rules-side lexicon is the planned answer; on its own, this model is not the one to pick for entity linking over web text. - Quantisation is part of the measurement. Every figure above is the int8 ONNX graph, which is what ships β not the fp32 checkpoint.
- It predicts
DATE, which OpenMasq maps to an opt-in category; ignore that tag if you do not want it.
Files
| file | what reads it |
|---|---|
onnx/model_quantized.onnx |
onnxruntime, in the desktop app and the local proxy |
config.json |
the label set |
tokenizer.json, tokenizer_config.json |
the pruned wordpiece tokenizer |
vocab.txt |
the same vocabulary for the slow tokenizer |
OpenMasq pins each of the first four by sha256 and verifies them before onnxruntime parses a byte, so this repository is the origin, never the trust anchor: a change here can fail a build, it cannot substitute bytes.
onnx/model_quantized.onnx 7470819a0961b246614ceedd940934b8d8ae7c39070cb15508883fe0e6f93012
config.json b942516293db81db39bc12b734888dc5e7a7e38c2f5f6f7ecacb337fd716c4c3
tokenizer.json 01c1e79cf5f607729b4e64af721b961d41981c77c91849a9fd4f7262b4cc9437
tokenizer_config.json 5c1d1f0110ec8761dc91247fb20bebfea28aa577e35b2f0eb02c55cfb69871b1
Licence
Apache-2.0. The weights are initialised from google-bert/bert-base-multilingual-cased
(Apache-2.0) and contain no parameter of any other model. They were trained to imitate the
outputs of Davlan/bert-base-multilingual-cased-ner-hrl (AFL-3.0); whether learning from a
model's answers makes a derivative of that model is a contested question that this card does
not settle β it states the provenance so the reader can judge. The earlier release in this
repository (commit fa87beb) was initialised from Davlan's weights and was declared
AFL-3.0 for that reason.
Training data, for the record: WikiNER (CC-BY 4.0), Universal NER English-EWT train split (CC-BY-SA 4.0), ai4privacy PII-Masking-300k, Nemotron-PII and Gretel PII Finance under their respective terms, and synthetic credential carriers generated in-house. TAB and UNER's scoring splits were used for evaluation only.
Citation
- Mukherjee & Hassan Awadallah, XtremeDistil, ACL 2020 β the shallow-student shape.
- Hinton, Vinyals & Dean, Distilling the Knowledge in a Neural Network, 2015 β the KL term.
- Udagawa et al., A Comparative Analysis of Task-Agnostic Distillation Methods, 2023 β hidden-state transfer over output transfer alone.
- Mayhew, Tsygankova & Roth, ner and pos when nothing is capitalized, EMNLP 2019 β the casing augmentation.
- Monaikul et al., 2021; Zhang et al., 2023 β the old model as teacher in the loss, and the semantic shift of the non-entity type it prevents.
- Adelani et al. /
Davlanβ the teacher. Mayhew et al., Universal NER, 2024; PilΓ‘n et al., The Text Anonymization Benchmark, CL 2022 β the held-out corpora.
- Downloads last month
- 36
Model tree for openmasq/ner-multilingual
Base model
google-bert/bert-base-multilingual-cased