CoolFace
Modelpublic

temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8

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

OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8

Raw-only Irish core PII release derived from OpenMed/OpenMed-PII-mLiteClinical-Base-135M-v1.

This repo does not require the scanner / validator layer used by temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc7. Both the full checkpoint and the ONNX q8 artifact use the same learned score-only decoder over token-presence and typed boundary heads.

Coverage

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

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
  • —common.py, model.py, and multitask_model.py implementing the raw-only decoder
  • —benchmark files in eval/

Artifact sizes:

  • —Full checkpoint: 515 MB (model.safetensors)
  • —Dynamic q8 ONNX: 393 MB (onnx/model_quantized.onnx)

What Changed From rc7

rc7 achieves its public quality with a bundled scanner / validator inference stack.

rc8 removes that layer completely:

  • —no regex-based candidate extraction
  • —no checksum validator dependency at inference time
  • —no separate scanner spec or generated scanner code
  • —same compact mLiteClinical encoder family, but with a raw-only multi-head decoder

The tradeoff is explicit:

  • —rc7 is still stronger on the broad manual Irish core suite
  • —rc8 is easier to embed, simpler to maintain, and its ONNX q8 path stays very close to the full checkpoint

Architecture

rc8 keeps the DistilBERT-size encoder class of the 135M mLiteClinical base and adds:

  • —a token-presence head for each released label
  • —a typed start-boundary head
  • —a typed end-boundary head
  • —a score-only decoder that uses model scores, token offsets, continuity priors, and minimum-length priors from config

There is no scanner or external validator in the release path.

Design references that informed this direction:

  • —Split-NER: https://aclanthology.org/2023.acl-short.36/
  • —SpanNER: https://aclanthology.org/2021.acl-long.558/
  • —Boundary Smoothing for Named Entity Recognition: https://aclanthology.org/2022.acl-long.490/
  • —TinyBERT: https://aclanthology.org/2020.findings-emnlp.372/

How To Use It

Full checkpoint:

bash
uv run python inference_mask.py \
  --model temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8 \
  --min-score 0.5 \
  --text "My PPSN is 1234567TW, my Eircode is D02 X285, and my phone is 087 123 4567." \
  --json

Dynamic q8 ONNX:

bash
uv run python inference_mask_onnx.py \
  --model temsa/OpenMed-mLiteClinical-IrishCorePII-135M-v2-rc8 \
  --min-score 0.5 \
  --text "Please provide your passport NN5123456 and call me on 0851234567." \
  --json

Benchmarks

Main comparison:

ModelIrish core F1Edge F1Finance F1Finance-boundary F1User PPSN F1GA weak PPSN F1Multilingual PPSN F1Core CPU ex/sMultilingual CPU ex/s
Base OpenMed0.37430.0556----0.000015.181137.4666
Previous public rc7 full1.0000-1.00001.0000-1.0000-3.5394-
Previous public rc7 ONNX q80.9934-1.00001.0000-1.0000-12.1653-
rc8 full0.97371.00001.00001.00001.00001.00000.91762.29656.3095
rc8 ONNX q80.97371.00001.00001.00001.00001.00000.917646.142099.7166

Irish core label breakdown:

Label`rc8` full`rc8` ONNX q8
PPSN1.00001.0000
PHONE_NUMBER0.95650.9565
POSTCODE1.00001.0000
ACCOUNT_NUMBER0.80000.8000
PASSPORT_NUMBER1.00001.0000
EMAIL1.00001.0000
FIRST_NAME0.97440.9744
LAST_NAME0.97440.9744

Dynamic q8 Artifact

Artifact paths:

  • —unquantized: onnx/model.onnx
  • —preprocessed: onnx/model.preprocessed.onnx
  • —quantized: onnx/model_quantized.onnx

Quantization recipe used here:

  • —ONNX pre-processing before quantization
  • —ONNX Runtime dynamic int8
  • —qint8
  • —per_channel=true
  • —op_types=MatMul,Gemm,Attention

For CPU deployment, the ONNX q8 artifact is the recommended default.

Limits

  • —rc8 is raw-only. It intentionally gives up the scanner/validator stack used by rc7, so its broad manual-suite ceiling is lower.
  • —The current remaining local misses are a bare 8-digit account-number case and one Gaelic phone-number case in the manual core suite.
  • —If you need the exact rc8 behavior, use the bundled inference scripts or import decode_token_presence_segments from common.py.

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 training details.

<!-- 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-rc4`4-layer GlobalPointer distilled fast student1.00001.00000.9333299.0
`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-rc27`GlobalPointer raw-only + context labels1.00001.00000.9333270.0
`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 -->