Downloads · 30 days
81
27% of all-time downloads
arthrod/v1-deberta_large-token_level-1-7
v1-deberta_large-token_level-1-7 is a token classification model from arthrod. Use it when you need labels on individual words, such as names. It is set up for gliner. The card lists the license as apache-2.0.
Superseded. This is an early checkpoint, kept because it has a DOI (10.57967/hf/8522). For current pt-BR PII detection use arthrod/gliner-mmbert-small-ptbr-pii-full-3x-v1 or the OpenAI Privacy Filter fine-tune arthrod…
Downloads · 30 days
81
27% of all-time downloads
All-time downloads
298
Public
Repo size
31.7 GB
Likes
0
Public
Click a slice to open those files.
.onnx1.8 GB · 50%
From the Hugging Face model README
knowledgator/gliner-pii-large-v1.0 fine-tuned 8k steps)Superseded. This is an early checkpoint, kept because it has a DOI (10.57967/hf/8522). For current pt-BR PII detection use arthrod/gliner-mmbert-small-ptbr-pii-full-3x-v1 or the OpenAI Privacy Filter fine-tune arthrod/gliner-opf-ptbr-pii-v1; results for both are in arthrod/gliner-opf-ptbr-pii-bench-v1.
TL;DR. The main run of the 24-Feb-2026 MI300X session documented in
arthrod/attempt_vanilla (run gliner-pii-large-full-v1,
config vanilla_f). It continued knowledgator/gliner-pii-large-v1.0
(DeBERTa-v3-large, token-level GLiNER) on ~1.03M in-house synthetic PII examples. Training was stopped by hand
at step 8,000 of a planned 15,000 (1.44 epochs). The repo was first published as
arthrod/gliner-pii-large-full-v1, and that URL still redirects here.
Among the five legacy repos in this group, this is the only one with task metrics. On the 23-label PT-BR
canonical set it reaches F1 0.730, up from 0.459 for the knowledgator base. On nvidia/Nemotron-PII it
reaches F1 0.627 (base 0.581). It loses ground on general and multilingual NER sets (see Evaluation).
v1, deberta_large and token_level in the repo name are accurate. 1-7 is not explained anywhere in the repo.
| Repo | Type | Role |
|---|---|---|
| arthrod/gliner-mmbert-small-ptbr-pii-full-3x-v1 | model | Current recommended PT-BR PII GLiNER (mmBERT-small) |
| arthrod/gliner-opf-ptbr-pii-v1 | model | OpenAI Privacy Filter fine-tune for PT-BR PII (current suite) |
| arthrod/gliner-ettin-68m-ptbr-pii-full-3x-v1 · gliner-ettin-68m-ptbr-pii-full-3x-v1-checkpoints/gliner-ettin-68m-ptbr-pii-top50k-v1 · ettin-32m | model | Current-suite Ettin GLiNER models |
| arthrod/gliner-opf-ptbr-pii-bench-v1 | dataset | Benchmark of the current suite |
| arthrod/gliner_review_comparison | dataset | Side-by-side review of GLiNER outputs |
| arthrod/gliner-opf-ptbr-pii-demo | space | Interactive demo of the current suite |
arthrod/gliner_eval_folder (private) | dataset | Feb-2026 sweep: GLiNER models x 9 eval sets (source of the only task metrics for these legacy repos) |
| arthrod/attempt_vanilla | model | Experiment log (24 Feb 2026) of the runs behind v1-deberta_large-… and v1-deberta_small-… |
| arthrod/c3750-mdeberta_base-vanilla-1-2 | model | Legacy (Aug 2025): mDeBERTa-v3-base span (markerV0) GLiNER, 15 checkpoints |
| arthrod/c5k-deberta_base-token_level-1-2 | model | Legacy (Feb 2026): urchade/gliner_multi_pii-v1 continued on a PII-in-spam corpus, 13 checkpoints |
| arthrod/v0-ettin68m-token_level-0-3 | model | Legacy (Feb 2026): LoRA fine-tune of knowledgator/gliner-pii-small-v1.0 (Ettin-68M), 25 checkpoints |
| arthrod/v1-deberta_large-token_level-1-7 | model | Legacy (Feb 2026): knowledgator/gliner-pii-large-v1.0 fine-tuned 8k steps, has eval metrics |
| arthrod/v1-deberta_small-token_level-0-6 | model | Legacy (Feb 2026): failed from-scratch DeBERTa-v3-small run (loss stuck at 0) |
from huggingface_hub import snapshot_download
from gliner import GLiNER
# Skip the 1.76 GB ONNX file if you only need PyTorch.
path = snapshot_download(
"arthrod/v1-deberta_large-token_level-1-7",
allow_patterns=["gliner_config.json", "pytorch_model.bin", "tokenizer*.json"],
)
model = GLiNER.from_pretrained(path)
text = "Meu nome é Maria Silva, CPF 123.456.789-09, moro na Rua das Flores, 42, em São Paulo."
labels = ["first name", "last name", "cpf document number", "location street",
"location building number", "location city"]
for ent in model.predict_entities(text, labels, threshold=0.5):
print(ent["text"], "->", ent["label"], round(ent["score"], 3))
The arthrod/gliner_eval_folder (private) sweep loaded this
exact repo (as arthrod/gliner-pii-large-full-v1, same weights) with GLiNER on ROCm. The snippet itself was not
re-run for this card. Trained with gliner==0.2.25, transformers==5.1.0.
| Path | What it is |
|---|---|
pytorch_model.bin | Weights at step 8,000 (1.76 GB). Unchanged since the "Training in progress, step 8000" commit (LFS sha256 6904da41…). |
gliner_config.json | GLiNER config merged with the Trainer arguments (span mode, encoder config, max_types 30, max_width 100, max_len 768, …). hub_token is the literal placeholder <HUB_TOKEN>. |
config.json | Near-copy of gliner_config.json, added on 2026-03-02 (its model_type is deberta-v2). |
tokenizer.json, tokenizer_config.json | DeBERTa-v3 SentencePiece tokenizer (vocab 128,004 incl. <<ENT>>/<<SEP>>). |
onnx/model.onnx | ONNX export (opset 19, added 2026-03-19, 1.76 GB). |
training_args.bin | Pickled gliner.training.trainer.TrainingArguments (hub_token: None). |
Intermediate checkpoints live in the git history. The Trainer pushed every 500 steps ("Training in progress,
step N", N = 500 … 8000). Any of them can be loaded with revision=<commit>. The lowest eval loss was at
step 7,500 (commit 3a3303a1). arthrod/attempt_vanilla
also publishes checkpoint-7500 as a folder.
Source: gliner_logs/gliner-pii-large-full-v1/checkpoint-8000/trainer_state.json in
arthrod/attempt_vanilla (this repo has no trainer state).
Eval set: about 50k examples (data/eval.json cut down to 50,000). Focal loss with sum reduction.
| Step | 500 | 1000 | 1500 | 2000 | 2500 | 3000 | 3500 | 4000 | 4500 | 5000 | 5500 | 6000 | 6500 | 7000 | 7500 | 8000 (this repo) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Eval loss | 936.8 | 653.7 | 576.1 | 535.6 | 520.3 | 478.0 | 486.5 | 477.4 | 453.2 | 451.4 | 466.0 | 438.9 | 442.2 | 440.0 | 417.7 | 449.8 |
Best checkpoint by recorded metrics: by eval loss, step 7,500 (in git history and in attempt_vanilla).
Task metrics (below) exist only for step 8,000, the weights in this repo, and for step 1,000. Step 8,000 beats
step 1,000 on the three PII sets (both PT-BR sets and Nemotron-PII). It is worse on the four general-NER sets.
data/train.json: about 1,026,320 examples of in-house synthetic PII, not published. data/eval.json was cut
to 50,000 examples (per attempt_vanilla). The label set is not
recorded here. The strong results on the 23-label PT-BR canonical set (labels such as cpf document number,
rg document number, pis document number) suggest PT-BR PII was in the mix.
From gliner_config.json / training_args.bin (inspected without unpickling) and attempt_vanilla's notes:
knowledgator/gliner-pii-large-v1.0; encoder microsoft/deberta-v3-large (24 layers, hidden 1024);
span_mode: token_level, max_len 768, max_width 100, max_types 30, max_neg_type_ratio 1,
hidden_size 512, dropout 0.1, 1 RNN layer, subtoken_pooling: first, whitespace splitter.max_steps 15000 (stopped at 8,000); batch 184 (eval 176); grad clip 1.0; bf16; gradient checkpointing; seed 42.alpha 0.75, gamma 0, sum reduction; negatives 2; masking: global; random_drop on.huggingface.Source: data/summary.parquet of arthrod/gliner_eval_folder (private)
(Feb-2026 sweep, run_eval.py). It uses GLiNER's built-in evaluator: exact span + exact label, micro
precision/recall/F1. Threshold 0.5, up to 25 labels per batch (seed 42), batch 256, MI300X.
Each set is sub-sampled to 5,000 examples, except ptbr_pii_val_19k (19,164).
| Eval set | N | P | R | F1 (this repo) | F1 base knowledgator/gliner-pii-large-v1.0 | F1 step 1000 (attempt_vanilla) |
|---|---|---|---|---|---|---|
| arthrod gliner-canonical-ptbr-pii-v1 | 5,000 | 0.6358 | 0.8570 | 0.7300 | 0.4593 | 0.6913 |
| ptbr_pii_val_19k | 19,164 | 0.4184 | 0.3534 | 0.3831 | 0.1832 | 0.3674 |
| nvidia/Nemotron-PII | 5,000 | 0.6555 | 0.6008 | 0.6269 | 0.5806 | 0.6008 |
| urchade/synthetic-pii-ner-mistral-v1 | 5,000 | 0.2895 | 0.2147 | 0.2465 | 0.2830 | 0.2628 |
| urchade/pile-mistral-v0.1 | 5,000 | 0.1748 | 0.1015 | 0.1285 | 0.1568 | 0.1330 |
| knowledgator/gliner-multilingual-synthetic | 5,000 | 0.1674 | 0.0849 | 0.1127 | 0.1352 | 0.1210 |
| knowledgator/GLINER-multi-task-synthetic-data | 5,000 | 0.0718 | 0.0917 | 0.0806 | 0.1897 | 0.0960 |
| Ihor/gliner-post-train | 5,000 | 0.2111 | 0.0946 | 0.1307 | – | – |
The sweep also evaluated attempt_vanilla's local checkpoint-8000, which should be the same weights. It matches
this repo exactly on 6 sets and differs slightly on Nemotron-PII (0.6155) and ptbr_pii_val_19k (0.3850). The
cause is not recorded.
Per-label results on the PT-BR canonical set (same source, per_entity_json), sorted by gold count:
| Label | Gold | Pred | P | R | F1 | Base F1 |
|---|---|---|---|---|---|---|
| first name | 3617 | 3595 | 0.7844 | 0.7797 | 0.7820 | 0.4692 |
| last name | 2219 | 2813 | 0.7177 | 0.9099 | 0.8025 | 0.3567 |
| phone number | 1037 | 1100 | 0.8973 | 0.9518 | 0.9237 | 0.8705 |
| location city | 938 | 1075 | 0.6744 | 0.7729 | 0.7203 | 0.6151 |
| email address | 931 | 994 | 0.9024 | 0.9635 | 0.9319 | 0.9620 |
| location street | 758 | 1096 | 0.5575 | 0.8061 | 0.6591 | 0.6003 |
| location building number | 636 | 1531 | 0.3743 | 0.9009 | 0.5288 | 0.1717 |
| subject described medical data | 551 | 464 | 0.7996 | 0.6733 | 0.7310 | 0.0398 |
| subject described political opinion | 471 | 641 | 0.5429 | 0.7389 | 0.6259 | 0.0302 |
| subject described ethnicity | 455 | 481 | 0.8233 | 0.8703 | 0.8462 | 0.1324 |
| subject described religious conviction | 445 | 451 | 0.8581 | 0.8697 | 0.8638 | 0.0941 |
| dob | 398 | 1003 | 0.3968 | 1.0000 | 0.5682 | 0.8112 |
| subject described organization affiliation | 395 | 424 | 0.7217 | 0.7747 | 0.7473 | 0.0000 |
| location zip | 387 | 634 | 0.5694 | 0.9328 | 0.7071 | 0.7223 |
| subject described sexual data | 318 | 383 | 0.6292 | 0.7579 | 0.6876 | 0.0202 |
| cpf document number | 283 | 569 | 0.4833 | 0.9717 | 0.6455 | 0.6112 |
| location state | 272 | 506 | 0.4763 | 0.8860 | 0.6195 | 0.6309 |
| middle name | 271 | 704 | 0.3807 | 0.9889 | 0.5497 | 0.0000 |
| rg document number | 271 | 500 | 0.5420 | 1.0000 | 0.7030 | 0.4104 |
| pis document number | 255 | 824 | 0.3046 | 0.9843 | 0.4652 | 0.4934 |
| location neighborhood | 241 | 450 | 0.4333 | 0.8091 | 0.5644 | 0.2840 |
| credit card | 202 | 351 | 0.5613 | 0.9752 | 0.7125 | 0.8138 |
| location state abbreviation | 120 | 264 | 0.4545 | 1.0000 | 0.6250 | 0.6715 |
The pattern is high recall and low precision on structured identifiers (dob, CPF, PIS, RG, building number, middle name): the model over-predicts them. The gains are largest on the sensitive "subject described …" categories, where the base model scored near zero.
gliner-canonical-ptbr-pii-v1 and ptbr_pii_val_19k are not public.Apache-2.0, matching knowledgator/gliner-pii-large-v1.0 (Apache-2.0). The encoder microsoft/deberta-v3-large is MIT.
@misc{arthrod_v1_deberta_large_token_level,
author = {arthrod},
title = {v1-deberta_large-token_level-1-7 (gliner-pii-large-full-v1): knowledgator/gliner-pii-large-v1.0 fine-tuned for PII},
year = {2026},
doi = {10.57967/hf/8522},
url = {https://huggingface.co/arthrod/v1-deberta_large-token_level-1-7}
}
@misc{stepanov2024gliner,
title = {GLiNER multi-task: Generalist Lightweight Model for Various Information Extraction Tasks},
author = {Stepanov, Ihor and Shtopko, Mykhailo},
year = {2024},
eprint = {2406.12925},
archivePrefix = {arXiv}
}