IrishCore-GlobalPointer-135M-v1-rc1

IrishCore-GlobalPointer-135M-v1-rc1 is a raw-only Irish PII masking model derived from OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1.

It targets explicit masking with placeholders such as [PII:PPSN], [PII:EMAIL], and [PII:POSTCODE] for:

  • PPSN
  • ACCOUNT_NUMBER
  • BANK_ROUTING_NUMBER
  • CREDIT_DEBIT_CARD
  • PASSPORT_NUMBER
  • POSTCODE
  • PHONE_NUMBER
  • EMAIL
  • FIRST_NAME
  • LAST_NAME
  • SWIFT_BIC

The main target is English plus Irish Gaelic text in citizen-support, public-sector, and HSE-style flows. The repo ships both the full transformers checkpoint and a dynamic q8 ONNX artifact for CPU deployment.

What This Model Is

This release is a compact span-matrix extractor built on top of the OpenMed mLiteClinical encoder.

Short version:

  • Base OpenMed: plain BIO token classification
  • DiffMask: token-span extraction with per-token presence plus boundary heads
  • GlobalPointer: direct typed span scoring over the token grid

This release is fully raw-only:

  • no regex scanner layer
  • no checksum validator layer
  • no post-hoc repair decoder

The published behavior is fully defined by the weights plus the bundled score-only decoder in common.py.

Architecture

  • Encoder: DistilBERT-size encoder from OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1
  • Span head: GlobalPointer-style typed span matrix
  • Positional encoding inside the span head: RoPE
  • Training objective: positive-weighted BCE with hard-negative mining over valid upper-triangular spans
  • Runtime: one forward pass plus score-only span decoding

Unlike the DiffMask line, this release does not use diffusion-style training. It directly predicts whether each (start_token, end_token) pair is an entity span for each released label.

Why This Line Exists

The main reason for this architecture change was to improve the cases where earlier raw-only lines were fragile:

  • mixed messages containing 2-3 PII types together
  • Eircode and IBAN/card boundaries in realistic support text
  • PPSN and phone/entity overlap cases
  • broader generalization on unseen nearby phrasing

The tradeoff is straightforward:

  • accuracy is materially better on the hard Irish/UAT suites
  • CPU q8 speed is slower than the DiffMask q8 line

Included Artifacts

  • full transformers checkpoint in the repo root
  • dynamic q8 ONNX artifact in onnx/model_quantized.onnx
  • inference_mask.py
  • inference_mask_onnx.py
  • benchmark JSON and summaries in eval/
  • release provenance in training_sources.json

Benchmark Summary

This Release

Suite Full F1 Q8 F1 Q8 ex/s
Irish core 0.9934 0.9934 36.6448
UAT exact 1.0000 1.0000 124.5963
Fresh holdout 0.9841 0.9841 80.0495
Hardening exact 1.0000 1.0000 38.0318
Edge 1.0000 1.0000 45.3294
Multilingual PPSN overall 0.9371 0.9371 36.3622
Multilingual PPSN label-only 0.9880 0.9880

Closest Public Comparisons

Repo Stack Q8 Core F1 Q8 Hardening F1 Q8 Multilingual F1 Q8 Core ex/s
temsa/IrishCore-GlobalPointer-135M-v1-rc1 GlobalPointer raw-only span-matrix 0.9934 1.0000 0.9371 36.6448
temsa/IrishCore-DiffMask-135M-v1-rc6 DiffMask raw-only token-span 0.9733 0.9756 0.9274 130.3415
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8 Raw-only token-span 0.9737 0.9176 46.1420

Practical reading:

  • This release is the strongest raw-only checkpoint in this repo family on the hard Irish/UAT/holdout suites.
  • The q8 CPU artifact keeps the same accuracy on the main suites used for release.
  • The multilingual benchmark's overall score is lower than the PPSN label-only score because that suite penalizes extra name detections as false positives. On the label that matters there, PPSN, this release is strong.

Usage

Full checkpoint

python3 inference_mask.py \
  --model temsa/IrishCore-GlobalPointer-135M-v1-rc1 \
  --text "My PPSN is 1234567T, my Eircode is D02 XY45, and my phone is 087 123 4567." \
  --json

ONNX q8 CPU artifact

python3 inference_mask_onnx.py \
  --model temsa/IrishCore-GlobalPointer-135M-v1-rc1 \
  --text "My PPSN is 1234567T, my Eircode is D02 XY45, and my phone is 087 123 4567." \
  --json

Both scripts emit:

  • extracted spans with offsets and labels
  • masked text using [PII:LABEL]

How It Differs From Other OpenMed-Derived Lines

Compared with the original OpenMed base model:

  • this release does not use a BIO token head
  • it scores typed spans directly
  • it is tuned only for the released Irish core PII labels

Compared with DiffMask:

  • no diffusion-style masked denoising during training
  • no token-presence or boundary heads
  • direct span-matrix scoring instead of reconstructing spans from token and boundary logits

Compared with the old hybrid releases:

  • no external scanner or validator layer is required for the published behavior
  • deployment stays simple: encoder + span head + deterministic replacement

Limitations

  • It is slower on CPU than the DiffMask q8 release.
  • The multilingual benchmark is not a clean multilingual NER benchmark; it is a PPSN-focused suite where extra name detections count against the overall score.
  • If you need the fastest CPU-first public line rather than the strongest raw-only accuracy, compare this release against temsa/IrishCore-DiffMask-135M-v1-rc6.

References

License And Attribution

  • Release license: Apache-2.0
  • Base model: OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1
  • Dataset attribution is listed in NOTICE

Portfolio Comparison

Updated: 2026-03-15.

Use this section for the fastest public comparison across the temsa PII masking portfolio.

  • The first core table only includes public checkpoints that ship both comparable q8 accuracy and q8 CPU throughput.
  • The first PPSN table only includes public artifacts that ship comparable PPSN accuracy and CPU throughput.
  • Missing cells in the archive tables mean the older release did not ship that metric in its public bundle.
  • DiffMask rows use the reconciled clean_single_pass harness that matches the deployed runtime.
  • GlobalPointer rows use the public raw-only span-matrix release bundle and its packaged q8 ONNX artifact.
  • The same content is shipped as PORTFOLIO_COMPARISON.md inside each public model repo.

Irish Core PII: Comparable Public Checkpoints

Repo Stack Full Core F1 Q8 Core F1 Q8 Multilingual PPSN F1 Q8 Core ex/s
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc7 GlobalPointer raw-only + context labels 1.0000 1.0000 0.9333 89.0
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc6 GlobalPointer raw-only + context labels 1.0000 1.0000 0.9333 89.0
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc5 GlobalPointer raw-only + context labels 1.0000 1.0000 0.9333 84.5
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc4 GlobalPointer raw-only + context labels 0.9935 0.9935 0.9333 61.5
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc3 GlobalPointer raw-only + context labels 0.9935 0.9935 0.9333 61.5
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc2 GlobalPointer raw-only + context labels 0.9935 0.9935 0.9222 61.5
temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc1 GlobalPointer raw-only + context labels 0.9935 0.9935 0.9222 61.5
temsa/IrishCore-GlobalPointer-135M-v1-rc4 GlobalPointer raw-only span-matrix 1.0000 1.0000 0.9333 221.6
temsa/IrishCore-GlobalPointer-135M-v1-rc3 GlobalPointer raw-only span-matrix 1.0000 1.0000 0.9213 204.9
temsa/IrishCore-GlobalPointer-135M-v1-rc2 GlobalPointer raw-only span-matrix 0.9934 0.9934 0.9326 231.2
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8 Raw-only token-span 0.9737 0.9737 0.9176 46.1
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc7 Hybrid classifier + generated scanner spec 1.0000 0.9934 1.0000 30.0
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc6 Hybrid classifier + repair decoders 1.0000 0.9934 1.0000 29.5
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5 Hybrid classifier + repair decoders 0.9737 0.9669 0.9333 34.4
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc4 Hybrid classifier + repair decoders 0.9870 0.9740 0.9600 114.2
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc3 Hybrid classifier + repair decoders 0.9806 0.9677 0.9333 44.9
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc2 Hybrid classifier + repair decoders 0.9554 0.9615 0.7887 119.1
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v1 Hybrid classifier baseline 0.9530 0.9333 0.9882 103.3
temsa/IrishCore-DiffMask-135M-v1-rc6 DiffMask token-span, scanner-free 0.9801 0.9733 0.9274 130.3
temsa/IrishCore-DiffMask-135M-v1-rc5 DiffMask token-span, scanner-free 0.9733 0.9733 0.9379 249.2
temsa/IrishCore-DiffMask-135M-v1-rc4 DiffMask token-span, scanner-free 0.9733 0.9733 0.9371 29.5
temsa/IrishCore-DiffMask-135M-v1-rc3 DiffMask token-span, scanner-free 0.9664 0.9664 0.9591 30.0
temsa/IrishCore-DiffMask-135M-v1-rc2 DiffMask token-span, scanner-free 0.9664 0.9664 0.9212 247.1
temsa/IrishCore-DiffMask-135M-v1-rc1 DiffMask token-span, scanner-free 0.9801 0.9934 0.9412 251.2

Irish Core PII: Other Public Checkpoints

Repo Stack Full Core F1 Q8 Core F1 Q8 Multilingual PPSN F1 Notes
temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc1 Hybrid classifier prototype 0.9487 Predates the public q8 artifact.

Finance-boundary q8 F1 is 1.0000 for OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc6, OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc7, OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8, and all public IrishCore-DiffMask releases from rc1 to rc6. OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5 ships 0.8750 on that public q8 suite.

PPSN-Only: Comparable Public Artifacts

Repo Artifact Irish Large F1 Multilingual PPSN F1 User Raw F1 QA v8 F1 CPU ex/s
temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1 fp32 canonical checkpoint 0.8979 0.9704 0.8000 0.7385 57.4
temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1-fp16 fp16 CPU/GPU artifact 0.9704 0.8000 0.7385 45.8
temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1-q8 dynamic int8 CPU artifact 0.9040 132.1

PPSN-Only: Historical Public Checkpoints

Repo Main Published Metrics Notes
temsa/OpenMed-PPSN-mLiteClinical-v1 same as canonical fp32 repo: multilingual 0.9704, user raw 0.8000 Legacy alias; prefer temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1.
temsa/OpenMed-PPSN-v6-raw-rc2 irish_reg_v5 0.8750; user_raw 0.8000; qa_v8 0.7385 Raw PPSN-only research checkpoint; no packaged multilingual CPU benchmark row.
temsa/OpenMed-PPSN-v5_1 irish_large_v2 raw 0.9285; qa_v6 hybrid strict 1.0000 Hybrid PPSN-only checkpoint; predates the canonical multilingual suite packaging.
temsa/OpenMed-PPSN-v5 irish_reg_v5 raw 0.8235; irish_reg_v5 hybrid strict 1.0000 Hybrid PPSN-only checkpoint; predates the canonical multilingual suite packaging.
temsa/OpenMed-PPSN-v4 synthetic non-PPSN drift check only Predates the current PPSN eval suite; no packaged apples-to-apples multilingual CPU row.

If you need the strongest current raw-only Irish core model, start with IrishCore-GlobalPointer-135M-v1-rc4. If you need the fastest CPU-first raw-only line, compare it against IrishCore-DiffMask-135M-v1-rc6. If you need a PPSN-only artifact, compare the canonical fp32, fp16, and q8 variants of OpenMed-mLiteClinical-IrishPPSN-135M-v1 directly in the table above.

Downloads last month
43
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for temsa/IrishCore-GlobalPointer-135M-v1-rc1

Datasets used to train temsa/IrishCore-GlobalPointer-135M-v1-rc1

Papers for temsa/IrishCore-GlobalPointer-135M-v1-rc1

Evaluation results