Token Classification
Transformers
ONNX
Safetensors
English
Irish
distilbert
pii
de-identification
ireland
irish
gaelic
ppsn
eircode
passport
phone-number
iban
int8
Instructions to use temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5") model = AutoModelForTokenClassification.from_pretrained("temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5", device_map="auto") - Notebooks
- Google Colab
- Kaggle
File size: 4,846 Bytes
d1ddb26 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | ---
language:
- en
- ga
license: apache-2.0
library_name: transformers
pipeline_tag: token-classification
tags:
- pii
- de-identification
- token-classification
- ireland
- irish
- gaelic
- ppsn
- eircode
- passport
- phone-number
- iban
- onnx
- int8
base_model:
- OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1
datasets:
- temsa/OpenMed-Irish-PPSN-Eircode-Spec-v1
- temsa/OpenMed-Irish-CorePII-TrainMix-v1
- joelniklaus/mapa
- gretelai/synthetic_pii_finance_multilingual
---
# OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5
Token-classification checkpoint for Irish core PII in English and Irish Gaelic.
## Included Variants
- Full `transformers` checkpoint in the repo root
- Unquantized ONNX export in `onnx/model.onnx`
- Dynamic q8 ONNX artifact in `onnx/model_quantized.onnx`
- `inference_mask.py` for the full checkpoint
- `inference_mask_onnx.py` for the ONNX q8 artifact
- benchmark files in `eval/`
## Coverage
- `PPSN`
- `ACCOUNT_NUMBER`
- `BANK_ROUTING_NUMBER`
- `CREDIT_DEBIT_CARD`
- `PASSPORT_NUMBER`
- `POSTCODE`
- `PHONE_NUMBER`
- `EMAIL`
- `FIRST_NAME`
- `LAST_NAME`
- `SWIFT_BIC`
## What Changed From rc4
`rc5` keeps the same fine-tuned checkpoint weights as `temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc4`, but changes the shipped inference stack:
- recommended `PPSN` threshold lowered from `0.71` to `0.55`
- recommended decoder is now the Irish core label-aware repair decoder for both full and q8 inference
- bundled q8 artifact is rebuilt from a preprocessed ONNX export before dynamic int8 quantization
This is the right change because the new QA misses in Gaelic weak-context PPSN text were calibration/inference failures, not weight-quality failures.
## Recommended Inference
Full checkpoint:
```bash
uv run python inference_mask.py \
--model temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5 \
--ppsn-min-score 0.55 \
--other-min-score 0.50 \
--text "Duradh liom mo uimhir 1234567T a sholatar agus me ag denamh iarratais." \
--json
```
Dynamic q8 ONNX:
```bash
uv run python inference_mask_onnx.py \
--model temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5 \
--onnx-file onnx/model_quantized.onnx \
--ppsn-min-score 0.55 \
--other-min-score 0.50 \
--text "Is e mo upsp na 1234567tw agus teastaionn uaim eolas faoi liuntas curamora." \
--json
```
The bundled `pyproject.toml` is intended for `uv`. Use `uv run` so `onnxruntime` is available for the q8 script.
## Key Benchmarks
### Fix For The Reported Gaelic PPSN Regression
| Variant | QA Gaelic weak-context PPSN F1 |
|---|---:|
| `rc4` full published defaults | 0.0000 |
| `rc4` q8 published defaults | 0.6667 |
| `rc5` full | 1.0000 |
| `rc5` q8 | 1.0000 |
### Base OpenMed vs rc5
| Suite | Base OpenMed | rc5 full | rc5 ONNX q8 |
|---|---:|---:|---:|
| Irish core manual | 0.6119 | 0.9737 | 0.9669 |
| Irish PPSN/phone edge | 0.0769 | 0.9744 | 0.9744 |
| Remaining gaps | n/a | 1.0000 | 0.8889 |
| Phone/passport/finance | n/a | 0.9600 | 0.9362 |
| Finance boundary repair | n/a | 0.9143 | 0.8750 |
| Multilingual PPSN | 0.0000 | 0.9333 | 0.9333 |
| User PPSN regressions | n/a | 1.0000 | 1.0000 |
| Irish PPSN overlap | n/a | 1.0000 | 1.0000 |
### Core Label Breakdown
| Label | Base OpenMed | rc5 full | rc5 ONNX q8 |
|---|---:|---:|---:|
| PPSN | 0.0000 | 0.9231 | 0.9231 |
| PHONE_NUMBER | 0.0000 | 0.9565 | 0.9565 |
| POSTCODE | 0.0000 | 1.0000 | 0.8571 |
| PASSPORT_NUMBER | 0.0000 | 1.0000 | 1.0000 |
| ACCOUNT_NUMBER | 0.4000 | 0.8571 | 0.8571 |
| BANK_ROUTING_NUMBER | 0.0000 | 1.0000 | 1.0000 |
| EMAIL | 1.0000 | 1.0000 | 1.0000 |
| FIRST_NAME | 0.8947 | 1.0000 | 1.0000 |
| LAST_NAME | 0.8889 | 1.0000 | 1.0000 |
## Dynamic q8 Artifact
Artifact paths:
- unquantized: `onnx/model.onnx`
- quantized: `onnx/model_quantized.onnx`
Quantization recipe used in this repo:
- ONNX pre-processing before quantization
- ONNX Runtime dynamic int8
- `qint8`
- `per_channel=true`
- `op_types=MatMul,Gemm,Attention`
This q8 path keeps the same F1 as the best prior q8 recipe on the sampled comparison suites while improving CPU throughput on the manual Irish-core suites.
### CPU Throughput
| Suite | Base OpenMed | rc5 full | rc5 ONNX q8 |
|---|---:|---:|---:|
| Irish core manual | 15.79 | 6.70 | 34.43 |
| Irish PPSN/phone edge | 16.60 | 16.50 | 36.56 |
| Multilingual PPSN | 121.08 | 125.30 | 289.49 |
## Limits
- The full checkpoint is still stronger than q8 on the finance-boundary suite.
- The q8 artifact is still weaker than the full checkpoint on the strict remaining-gap suite.
- Grouped credit/debit-card boundary cases remain the main shared weakness and should still be QA tested.
## License And Attribution
- Release license: Apache-2.0
- Base model: `OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1`
- See `NOTICE` and `training_sources.json` for attribution and release details.
|