CoolFace
Modelpublic

temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc1

sourceHugging Faceapache-2.0updated 6mo agoView on Hugging Face
0likes20downloads
Model Card

IrishCore-GlobalPointer-ContextPII-135M-v1-rc1

IrishCore-GlobalPointer-ContextPII-135M-v1-rc1 is an expanded-label raw-only PII masking model for Irish public-sector and citizen-support flows.

It keeps the same DistilBERT-size GlobalPointer span extractor family as temsa/IrishCore-GlobalPointer-135M-v1-rc4, but adds contextual labels that the core model did not serve:

  • —STREET_ADDRESS
  • —CITY
  • —COUNTY
  • —DATE_OF_BIRTH
  • —AGE

The model still covers the core Irish structured labels:

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

Positioning

Use this release when you need broader masking for Irish gov / HSE / citizen-support text, including user turns and assistant answers that contain:

  • —personal address fragments
  • —city / county
  • —date of birth
  • —age
  • —official callback numbers or public-service mailbox emails that still need masking in assistant output

If you only need the narrower Irish-core structured label set and want maximum CPU throughput, temsa/IrishCore-GlobalPointer-135M-v1-rc4 remains the faster option.

Architecture

  • —base encoder: OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1
  • —extractor head: GlobalPointer-style typed span matrix
  • —runtime: single-pass span extraction
  • —output policy: deterministic bracket masking, for example [PII:PPSN]
  • —deployment target: ONNX Runtime CPU with dynamic q8 per-channel quantization

This is not a generative model and does not rewrite text. It predicts typed spans and the provided inference scripts replace them with [PII:LABEL] placeholders.

Decoder Policy

The serving path is still raw-only in the sense that there is no external scanner/validator service. The repo does include bundled decoder repairs for highly structured spans:

  • —PPSN normalization and overlap repair
  • —passport cue-based repair
  • —contextual date-of-birth repair
  • —full-email recovery
  • —contextual phone extension
  • —Eircode recovery

These repairs live inside common.py and are part of the published inference path.

Benchmarks

ONNX q8

SuiteF1Examples/s
Irish core0.993561.4970
Irish extended1.000098.7502
Demographic holdout v20.998890.7807
Gov contact policy v10.983629.7205
Gov chatbot red-team v20.972613.0422
Gov chatbot gap holdout v20.996930.7289
Multilingual PPSN overall0.922233.5447
Multilingual PPSN label-only0.9940—

Comparison

ModelCore F1Demographic Holdout v2 F1Gov Contact Policy v1 F1Multilingual F1Core examples/s
ContextPII rc1 q80.99350.99880.98360.922261.4970
GlobalPointer rc4 q81.00000.69380.78430.9333221.5743
DiffMask rc6 q80.9733——0.9274130.3415

Tradeoff:

  • —this expanded-label line is materially better on contextual Irish masking tasks
  • —it is slower than the core-only GlobalPointer line on CPU because it carries a broader label inventory and more decoder work

Evaluation Notes

  • —globalpointer_demographic_patch_v2_test is the corrected held-out benchmark. The earlier v1 demographic patch contained invalid synthetic Eircodes in some rows.
  • —irish_gov_contact_policy_v1 is the policy-aligned assistant-output benchmark for this release.
  • —The legacy irish_gov_chatbot_redteam_v2 negatives still assume some public assistant contact details should not be masked. That assumption does not match this release's target policy.

Usage

Full checkpoint:

bash
python3 inference_mask.py   --model temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc1   --text "I live at 14 Main Street, Dublin, Co. Dublin, D02 XY45 and my date of birth is 03/02/1991."

ONNX q8:

bash
python3 inference_mask_onnx.py   --model temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc1   --text "Employment Permit documents can be sent to EPStamp4@enterprise.gov.ie."

Expected masking style:

text
I live at [PII:STREET_ADDRESS], [PII:CITY], [PII:COUNTY], [PII:POSTCODE] and my date of birth is [PII:DATE_OF_BIRTH].

Files

  • —model.safetensors: full checkpoint
  • —onnx/model_quantized.onnx: recommended CPU artifact
  • —inference_mask.py: full-checkpoint inference
  • —inference_mask_onnx.py: ONNX q8 inference
  • —eval/benchmark_summary.json: machine-readable benchmark summary
  • —training_sources.json: data provenance

Limitations

  • —This release is Irish-first. Multilingual overall precision is still pulled down by extra name detections outside the primary Irish target domain.
  • —The decoder deliberately prefers recall on structured Irish identifiers. If you need a stricter public-contact suppression policy, test on your own corpora before promoting beyond rc.

<!-- portfolio-comparison:start -->

Portfolio Comparison

Updated: 2026-03-16.

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

RepoStackFull Core F1Q8 Core F1Q8 Multilingual PPSN F1Q8 Core ex/s
`temsa/IrishCore-GlobalPointer-ContextPII-4L-122M-v1-rc6`4-layer GlobalPointer distilled fast student1.00001.00000.9333282.9
`temsa/IrishCore-GlobalPointer-ContextPII-4L-122M-v1-rc5`4-layer GlobalPointer distilled fast student1.00001.00000.9333282.9
`temsa/IrishCore-GlobalPointer-ContextPII-4L-122M-v1-rc3`4-layer GlobalPointer distilled fast student1.00001.00000.9333317.9
`temsa/IrishCore-GlobalPointer-ContextPII-4L-122M-v1-rc2`4-layer GlobalPointer distilled fast student1.00001.00000.9333292.5
`temsa/IrishCore-GlobalPointer-ContextPII-4L-122M-v1-rc1`4-layer GlobalPointer distilled fast student1.00001.00000.9333337.3
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc29`GlobalPointer raw-only + context labels1.00001.00000.9333232.7
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc28`GlobalPointer raw-only + context labels1.00001.00000.9333232.7
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc25`GlobalPointer raw-only + context labels1.00001.00000.9333212.1
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc24`GlobalPointer raw-only + context labels1.00001.00000.9333278.9
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc23`GlobalPointer raw-only + context labels1.00001.00000.9333237.6
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc22`GlobalPointer raw-only + context labels1.00001.00000.9333106.8
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc21`GlobalPointer raw-only + context labels1.00001.00000.9333150.8
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc20`GlobalPointer raw-only + context labels1.00001.00000.9333181.9
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc19`GlobalPointer raw-only + context labels1.00001.00000.933373.1
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc18`GlobalPointer raw-only + context labels1.00001.00000.9333126.2
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc17`GlobalPointer raw-only + context labels1.00001.00000.9333125.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc16`GlobalPointer raw-only + context labels1.00001.00000.9333125.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc15`GlobalPointer raw-only + context labels1.00001.00000.9333125.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc14`GlobalPointer raw-only + context labels1.00001.00000.9333119.2
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc13`GlobalPointer raw-only + context labels1.00001.00000.9333126.1
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc12`GlobalPointer raw-only + context labels1.00001.00000.933373.6
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc11`GlobalPointer raw-only + context labels1.00001.00000.933394.1
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc10`GlobalPointer raw-only + context labels1.00001.00000.9333125.8
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc9`GlobalPointer raw-only + context labels1.00001.00000.9333119.8
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc8`GlobalPointer raw-only + context labels1.00001.00000.9333128.9
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc7`GlobalPointer raw-only + context labels1.00001.00000.933389.0
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc6`GlobalPointer raw-only + context labels1.00001.00000.933389.0
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc5`GlobalPointer raw-only + context labels1.00001.00000.933384.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc4`GlobalPointer raw-only + context labels0.99350.99350.933361.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc3`GlobalPointer raw-only + context labels0.99350.99350.933361.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc2`GlobalPointer raw-only + context labels0.99350.99350.922261.5
`temsa/IrishCore-GlobalPointer-ContextPII-135M-v1-rc1`GlobalPointer raw-only + context labels0.99350.99350.922261.5
`temsa/IrishCore-GlobalPointer-135M-v1-rc4`GlobalPointer raw-only span-matrix1.00001.00000.9333221.6
`temsa/IrishCore-GlobalPointer-135M-v1-rc3`GlobalPointer raw-only span-matrix1.00001.00000.9213204.9
`temsa/IrishCore-GlobalPointer-135M-v1-rc2`GlobalPointer raw-only span-matrix0.99340.99340.9326231.2
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8`Raw-only token-span0.97370.97370.917646.1
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc7`Hybrid classifier + generated scanner spec1.00000.99341.000030.0
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc6`Hybrid classifier + repair decoders1.00000.99341.000029.5
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc5`Hybrid classifier + repair decoders0.97370.96690.933334.4
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc4`Hybrid classifier + repair decoders0.98700.97400.9600114.2
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc3`Hybrid classifier + repair decoders0.98060.96770.933344.9
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc2`Hybrid classifier + repair decoders0.95540.96150.7887119.1
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v1`Hybrid classifier baseline0.95300.93330.9882103.3
`temsa/IrishCore-DiffMask-135M-v1-rc6`DiffMask token-span, scanner-free0.98010.97330.9274130.3
`temsa/IrishCore-DiffMask-135M-v1-rc5`DiffMask token-span, scanner-free0.97330.97330.9379249.2
`temsa/IrishCore-DiffMask-135M-v1-rc4`DiffMask token-span, scanner-free0.97330.97330.937129.5
`temsa/IrishCore-DiffMask-135M-v1-rc3`DiffMask token-span, scanner-free0.96640.96640.959130.0
`temsa/IrishCore-DiffMask-135M-v1-rc2`DiffMask token-span, scanner-free0.96640.96640.9212247.1
`temsa/IrishCore-DiffMask-135M-v1-rc1`DiffMask token-span, scanner-free0.98010.99340.9412251.2

Irish Core PII: Other Public Checkpoints

RepoStackFull Core F1Q8 Core F1Q8 Multilingual PPSN F1Notes
`temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc1`Hybrid classifier prototype0.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

RepoArtifactIrish Large F1Multilingual PPSN F1User Raw F1QA v8 F1CPU ex/s
`temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1`fp32 canonical checkpoint0.89790.97040.80000.738557.4
`temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1-fp16`fp16 CPU/GPU artifact—0.97040.80000.738545.8
`temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1-q8`dynamic int8 CPU artifact—0.9040——132.1

PPSN-Only: Historical Public Checkpoints

RepoMain Published MetricsNotes
`temsa/OpenMed-PPSN-mLiteClinical-v1`same as canonical fp32 repo: multilingual 0.9704, user raw 0.8000Legacy alias; prefer temsa/OpenMed-mLiteClinical-IrishPPSN-135M-v1.
`temsa/OpenMed-PPSN-v6-raw-rc2`irishregv5 0.8750; userraw 0.8000; qav8 0.7385Raw PPSN-only research checkpoint; no packaged multilingual CPU benchmark row.
`temsa/OpenMed-PPSN-v5_1`irishlargev2 raw 0.9285; qa_v6 hybrid strict 1.0000Hybrid PPSN-only checkpoint; predates the canonical multilingual suite packaging.
`temsa/OpenMed-PPSN-v5`irishregv5 raw 0.8235; irishregv5 hybrid strict 1.0000Hybrid PPSN-only checkpoint; predates the canonical multilingual suite packaging.
`temsa/OpenMed-PPSN-v4`synthetic non-PPSN drift check onlyPredates 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. <!-- portfolio-comparison:end -->