Instructions to use lokomotifai/hushmark-berturk-112m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lokomotifai/hushmark-berturk-112m with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="lokomotifai/hushmark-berturk-112m")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("lokomotifai/hushmark-berturk-112m", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Hushmark BERTurk Span 112M 路 candidate v0.1.0
T眉rk莽e model kart谋 路 Hushmark source
Hushmark BERTurk Span 112M is a 112,422,957-parameter, fixed-taxonomy Turkish
named-entity recognition model. It fully fine-tunes the cased Turkish BERT encoder from
dbmdz/bert-base-turkish-cased
and adds a custom non-overlapping word-span classifier.
This private release is a challenger checkpoint, not the currently adopted Hushmark
production model. It substantially outperformed hushmark-tr-289m on the new locked
synthetic holdout, but runtime integration, ONNX parity, production-like evaluation, and
shadow testing are still required before promotion.
Intended use
The model proposes spans for the 12 NER-owned Hushmark entity types:
| Hushmark type | Model label |
|---|---|
PERSON |
person |
ADDRESS |
full address |
ORG |
organization |
DOB |
date of birth |
HEALTH |
medical condition |
RELIGION |
religious belief |
ETHNICITY |
ethnic origin |
POLITICAL |
political opinion |
SEXUAL_LIFE |
sexual orientation |
CRIMINAL |
criminal record |
BIOMETRIC_REF |
biometric data |
UNION |
trade union membership |
The taxonomy is closed: adding or changing a label requires retraining the span head. Deterministic identifiers and secrets remain the responsibility of Hushmark validators. Policy, masking, blocking, and audit decisions are outside this model.
This model is a detection aid, not an anonymization or legal-compliance guarantee. Do not use its predictions as the sole basis for legal, employment, healthcare, credit, or other high-impact decisions.
Usage
The repository contains a small standalone loader because this is a custom span model,
not a standard AutoModelForTokenClassification checkpoint.
pip install -r requirements.txt
from pathlib import Path
from huggingface_hub import snapshot_download
from hushmark_berturk import BerturkSpanModel
snapshot = Path(
snapshot_download("lokomotifai/hushmark-berturk-112m")
)
model = BerturkSpanModel.load_artifact(snapshot).eval()
# model = model.to("cuda") # optional
text = "Ay艧e Y谋lmaz, 14 May谋s 1985 tarihinde do臒du."
entities = model.predict_entities(
text,
list(model.label_names),
threshold=0.50,
)
print(entities)
Inputs are limited to 256 BERT subword tokens and candidate spans to 24 word units. Longer inputs must be chunked by the caller. Inference returns non-overlapping spans.
Architecture
- Base encoder:
dbmdz/bert-base-turkish-cased - Pinned base revision:
b6e1de16c983e0f2c70664591ea3f22810072608 - Parameters: 112,422,957
- Fully fine-tuned encoder; not a LoRA or PEFT adapter
- Span representation: start, end, mean-pooled word vectors, and width embedding
- Classifier: GELU MLP over 12 labels plus background
- Maximum input length: 256 subword tokens
- Maximum span width: 24 word units
- Artifact size: 450,470,897 bytes
Training data
No customer data or downloaded research documents were used. Training combined:
- 200,592 deterministic legacy Hushmark synthetic records used for
hushmark-tr-289m; - 28,000 project-generated Turkish synthetic records from Hushmark Combined35k, containing 20,000 positive and 8,000 hard-negative examples.
The union contains 228,592 unique records with zero cross-source ID and normalized-content overlap. Epoch sampling used a predeclared 70% legacy / 30% new replay ratio. The new dataset is Apache-2.0 for project-generated outputs.
Training configuration
The full run used one NVIDIA A100-SXM4-80GB, BF16, batch size 32, seed 20260809,
encoder learning rate 1e-5, head learning rate 5e-5, 500 warm-up steps, and early
stopping. The best checkpoint was selected at step 4,000; training stopped at step 8,000
after 572.599 seconds. Peak allocated GPU memory was 3,203,504,640 bytes.
Evaluation
Strict span F1 on the untouched locked synthetic suites:
| Suite | BERTurk candidate | hushmark-tr-289m |
|---|---|---|
| Legacy 12-type NER macro F1 | 1.000000 |
0.994124 |
| New PERSON/ADDRESS/DOB macro F1 | 0.975286 |
0.536787 |
| New micro F1 | 0.986301 |
0.617954 |
| Empty-gold false-positive spans | 37 |
545 |
On the new suite, candidate per-type strict F1 was PERSON=1.0, ADDRESS=1.0, and
DOB=0.925859.
The recorded formal adoption verdict is false: the legacy policy required an absolute
+0.05 macro-F1 improvement, while the incumbent already scored 0.994124. This is a
policy-limit result rather than a measured regression; no threshold or hyperparameter was
changed after opening either locked set. See EVALUATION.json for machine-readable detail.
Limitations
- Training and evaluation data are synthetic and partly template-adjacent.
- High locked scores do not establish robustness on arbitrary production Turkish.
- A qualitative natural-language smoke example caused both this candidate and the incumbent to miss an address span.
- The evidence does not cover every dialect, typo, OCR artifact, code-switching pattern, or organization-specific document.
- The fixed taxonomy cannot perform GLiNER-style zero-shot label expansion.
- Inputs beyond 256 subword tokens require caller-side chunking.
- An ONNX export and Torch/ONNX parity report have not yet been produced.
- Human-curated, production-like evaluation and shadow traffic are required before use.
Integrity
Exact artifact hashes are recorded in SHA256SUMS, MODEL_RELEASE.json, and
training_manifest.json. The principal weights are:
encoder/model.safetensors:a2426b32e90cc97909bcdb1e8518d0bfd5fbf6e7d4e9401565a389fb23807d2fspan_head.safetensors:49606104c71b9f10bac64086e43e6c528dd50566a18131bdd419ed7634e32af6
The deterministic source-only training package is included as
hushmark-berturk-training-source-0.1.2.tar.gz; it contains no training rows.
License and attribution
This Hushmark release is distributed under Apache-2.0. The pinned BERTurk base model is
MIT licensed. See LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.
Model tree for lokomotifai/hushmark-berturk-112m
Base model
dbmdz/bert-base-turkish-cased