ClinicalEvidence GLiNER2.5 base adapter — relabelled v3 ACT/Sol
Release repository: na399/clinical-evidence-gliner2.5-base-lora-v3-act-sol.
Intended use and output
The model identifies candidate clinical evidence spans in English text. Its v3 schema has six core entity types and explicit attributes. Shared attributes are three complete, qualified, single-label groups: assertion (affirmed, hypothetical, negated, ruled out, uncertain), experiencer (patient, family, other), and time frame (current, recent, historical, future). The registry also defines family-specific choice and literal-span labels. Use the complete versioned schema in schema_v3.json; do not substitute an open-ended or partial attribute schema. An absent axis in a source row was masked during training; it was not a negative or an implicit default. Defaults are ordinary explicit values when the axis is present.
The six core types and their intended scope are:
| Type |
Scope |
clinical_condition |
Diagnosis, disorder, symptom, or clinical state; preserve context without deciding a phenotype. |
clinical_measure |
Named clinical measurement and its locally bound raw result. |
clinical_treatment |
Medication or intervention mention, distinguished from exposure, allergy, indication, and candidacy. |
clinical_event |
Unified clinical actions, episodes, behavioral patterns, psychological experiences, and persistent states; not restricted to acute events. |
functional_activity |
Specific ADL, IADL, mobility, transfer, or communication ability; not a frailty label. |
care_context |
Care setting, services, goals, and support without inferring prognosis or terminal illness. |
The complete canonical descriptions and family-specific field labels are in schema_v3.json.
The threshold 0.6 is the validation-selected core-span threshold for this checkpoint. Shared axes use the official single-label group decoder; the core threshold is not a confidence cutoff for those axes. Bind attribute spans to their core anchors by the returned exact offsets. An anchor-to-field span does not establish which record or database field should receive it.
The release includes a pinned Python usage.py helper, USAGE.md, and requirements.txt. It verifies a bundled 91-file GLiNER source tree before import and pins Python 3.12.13, Torch 2.11.0+cu130, Transformers 4.57.6, PEFT 0.21.2, NumPy 2.5.3, and tokenizers 0.22.2; it does not install a GLiNER wheel. The API is load_model(model_name, *, package_dir=None, adapter_dir=None, base_dir=None, adapter_revision=None, device='cpu'); it returns a LoadedModel with predict(text). The model repository contains PEFT weights and the pinned helper, but not the base model weights. The helper loads the fixed public base reference below and uses the registry-derived v3 schema (registry_profiles.json, registry hash 80f255076cde0237c3f176b45545807bb237cbc57af1d983c6550a6d6816f547).
Authenticate the Hugging Face CLI using its existing login or HF_TOKEN. Set ADAPTER_REVISION to this repository's full immutable 40-character commit SHA, then download the private package before creating the Python environment. The downloaded snapshot contains the helper, runtime manifest, schema, and adapter; base weights are fetched separately from the pinned public reference.
ADAPTER_REVISION='replace-with-full-40-character-private-commit'
hf download na399/clinical-evidence-gliner2.5-base-lora-v3-act-sol \
--revision "$ADAPTER_REVISION" --local-dir ./clinical-gliner-base
cd ./clinical-gliner-base
uv venv --python 3.12.13 .venv
uv pip install --python .venv/bin/python torch==2.11.0
uv pip install --python .venv/bin/python -r requirements.txt
Select the Torch wheel appropriate for your host; ORCA's qualified environment uses CUDA 13.0. Run a fixed synthetic smoke from the downloaded package directory:
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python usage.py \
--model base --adapter-revision "$ADAPTER_REVISION" \
--synthetic --case-id affirmed_condition --device cpu
See USAGE.md for offline local-path loading and asset verification. The core threshold is recorded in release_manifest.json; do not change it at inference.
from usage import load_model
# Use this repository's full immutable 40-character private Hub commit SHA.
model = load_model(
"base",
adapter_revision="<private-adapter-commit-sha>",
device="cpu",
)
predictions = model.predict(text)
The bundled Python helper passed CPU job 17349 on all six fixed synthetic cases in offline mode with this adapter and its pinned base/runtime. This smoke checks loading and returned attributes and offsets; it is not a clinical evaluation or an accuracy qualification. See the CPU smoke report and receipt.
Training data and split policy
Only accepted v3 rows with status relabeled or repaired were eligible. Training kept natural row frequency; there was no source reweighting, upsampling, or downsampling. Patient and lineage splits, exact offsets, source hashes, and repair provenance were preserved.
| Source / use |
Train rows |
Validation rows |
Test / benchmark rows |
| ACT/MIMIC-derived |
8,301 |
2,202 |
2,183 ACT test rows, excluded from training |
| Sol generated synthetic notes |
54,689 |
6,047 |
No independent Sol test split |
| Sol training-only schema views |
9,600 |
— |
— |
| BPSD development benchmark |
— |
— |
1,714 rows; 900 non-default gold attribute instances |
| Total fitted training rows |
72,590 |
8,249 |
— |
The 9,600 schema-view rows are derived only from Sol training rows. They are a bounded training addition, not an external corpus. The ACT test split was protected from training. No native silver, Luna v2, public/open-schema corpora, v4 data, or Joint IE examples entered this run. Sol has no independent test split. The accepted Sol repair provenance records frames_dropped of 1,301 for training and 158 for validation; the frozen label audit retained that history, and training did not rewrite labels.
Accepted status counts and exclusions are recorded in the frozen audit:
| Source / split |
Accepted relabeled |
Accepted repaired |
Excluded base rows |
| ACT train |
6,645 |
1,656 |
2,097: 1,432 fallback_original, 45 fallback_repaired, 620 missing |
| ACT validation |
1,742 |
460 |
559: 416 fallback_original, 10 fallback_repaired, 133 missing |
| Sol train |
45,060 |
9,629 |
4,363 fallback_original |
| Sol validation |
5,072 |
975 |
398 fallback_original |
Thus 7,417 nonaccepted base rows were excluded from train and validation. A further 2,183 ACT test rows were protected from the training export; the original ACT test remained separate for final evaluation. The frozen export records 9,600 exclusion receipts in total, without uploading row-level audit data.
Training configuration
| Setting |
Value |
| Base reference |
Verified byte-matching public snapshot fastino/gliner2.5-base-v1 at revision ca906247640776a07753514055be9726f9080ead; core runtime assets match the frozen base, but this does not prove the historical revision resolved during training |
| Method |
PEFT LoRA on encoder and extractive head |
| LoRA |
rank 32, alpha 64, dropout 0.1 |
| Trainable parameters |
5,995,200 |
| Effective adapter learning rate |
1e-4 |
| Seed / selected checkpoint |
43 / epoch 12 (job 17111) |
| Batch / accumulation |
128 / 1 |
| Precision |
FP32 parameters and activations; TF32 enabled for FP32 matrix multiplication |
| Schedule and regularization |
12 epoch cap, patience 3, weight decay 0.01, warmup ratio 0.1, gradient clipping 1.0 |
| Input perturbation |
Entity-label order shuffled; query-removal and synthetic-label probabilities 0 |
| Training hardware |
ORCA H200; observed training wall time 1:53:23 |
| Final evaluation hardware |
ORCA H200 2g.35gb MIG; job 17140 completed successfully in 31:29 |
The checkpoint and threshold were selected using the frozen ACT/Sol validation protocol. The selected seed-43 run scored 65.96% non-default F1 at threshold 0.5 in the matched run comparison; this is separate from its final threshold-0.6 score below. One seed-42 and one seed-43 run at the same learning rate do not establish seed robustness or an uncertainty interval.
Evaluation
Scores use exact entity type and character offsets. Non-default F1 is end-to-end: missed anchors, wrong attribute values, and extra non-default predictions count against the score. The reported support is gold non-default attribute instances, identified by entity type, exact anchor offsets, axis, and value; several axes can refer to the same span. The threshold was frozen on validation before this final benchmark evaluation; ACT/BPSD benchmark results did not choose the epoch or threshold.
| Split |
Rows |
Non-default F1 |
Recall |
Precision |
Gold support |
| ACT/Sol validation, threshold 0.6 |
8,249 |
66.05% |
63.81% |
68.46% |
6,822 |
| ACT test, threshold 0.6 |
2,183 |
39.84% |
51.85% |
32.35% |
1,678 |
| BPSD development benchmark, threshold 0.6 |
1,714 |
72.03% |
72.67% |
71.40% |
900 |
Validation results by source show an important difference between the human-derived and synthetic data:
| Validation source |
Non-default F1 |
Core F1 |
Default-value accuracy |
Family-choice F1 |
Literal-span F1 |
| ACT/MIMIC-derived |
50.52% |
70.38% |
65.91% |
41.09% |
60.04% |
| Sol synthetic |
78.98% |
86.44% |
85.01% |
81.66% |
88.87% |
Shared-axis per-value F1 is end-to-end on validation, with gold support shown in parentheses. These are not conditional scores restricted to already-detected anchors.
| Source |
Axis value |
F1 (gold support) |
Source |
Axis value |
F1 (gold support) |
| ACT |
assertion: affirmed |
0.710 (4,877) |
Sol |
assertion: affirmed |
0.862 (9,528) |
| ACT |
assertion: negated |
0.484 (362) |
Sol |
assertion: negated |
0.805 (281) |
| ACT |
assertion: uncertain |
0.474 (149) |
Sol |
assertion: uncertain |
0.799 (243) |
| ACT |
assertion: hypothetical |
0.000 (23) |
Sol |
assertion: hypothetical |
0.450 (21) |
| ACT |
assertion: ruled out |
0.424 (56) |
Sol |
assertion: ruled out |
0.925 (147) |
| ACT |
experiencer: patient |
0.703 (5,391) |
Sol |
experiencer: patient |
0.864 (10,061) |
| ACT |
experiencer: family |
0.680 (74) |
Sol |
experiencer: family |
0.792 (146) |
| ACT |
experiencer: other |
0.000 (2) |
Sol |
experiencer: other |
0.444 (13) |
| ACT |
time frame: current |
0.551 (2,918) |
Sol |
time frame: current |
0.843 (7,464) |
| ACT |
time frame: recent |
0.254 (571) |
Sol |
time frame: recent |
0.770 (1,352) |
| ACT |
time frame: historical |
0.591 (1,680) |
Sol |
time frame: historical |
0.796 (514) |
| ACT |
time frame: future |
0.407 (298) |
Sol |
time frame: future |
0.797 (890) |
All 20 derived schema views were scored on 7,591 validation rows. Per-view F1 ranged from 0.353 for harm_and_accidents (20 gold spans) to 0.844 for medication_details (2,785 gold spans). These views reuse validation source notes and do not form a separate test set. The aggregate reports retain full view results and masked-axis diagnostics without row-level predictions.
ORCA MIG model-call latency, excluding model loading and full preprocessing:
| Split |
Mean per row |
p95 per row |
| Validation |
12.89 ms |
16.26 ms |
| ACT test |
13.41 ms |
16.83 ms |
| BPSD |
12.59 ms |
14.54 ms |
Limitations
- The labels are machine-relabeled/repaired v3 annotations, not independent clinical adjudication. Sol is generated synthetic text; it has no independent test split.
- BPSD is a development benchmark and the wider project has prior benchmark use. ACT test results here were not used to select this checkpoint, but ACT is not a prospective or external clinical validation cohort.
- ACT performance is materially weaker than Sol validation: ACT test precision is 32.35%. Unmatched-anchor false positives may reflect both model overprediction and incomplete gold labels; they are not adjudications of clinical truth.
- Low-support values remain unreliable: ACT
hypothetical assertion had F1 0.000 on 23 gold attribute instances and other experiencer had F1 0.000 on 2; ACT recent time-frame F1 was 0.254 on 571. Results on generated Sol text are substantially stronger and should not be transferred to clinical text.
- Span and attribute extraction does not establish record-level binding, coding correctness, treatment eligibility, prognosis, fairness, calibration, or improved patient outcomes.
- Evaluated data are English ACT/MIMIC-derived text and generated Sol notes. Other languages, institutions, note styles, and deployment settings are not established.
- This is a research artifact only. Do not use it to make or support decisions about an individual patient.
Frozen release identity and provenance
| Item |
SHA-256 / identity |
| Selected base model fingerprint |
e911185e05fe7c4230a43b08c54ec6d59dba10c4d664dac6e3a533ca634a32b0 |
| Adapter fingerprint |
a1baa9e59ef0eaf73bb11fac6c5e391035ff6ee60a4d1e639678dcc9d15964d0 |
| Frozen export manifest |
3655cdb7e61056ab5870e504894d8efe3643bad6bd0ec90bfa8939f483e5cb16 |
| Resolved training config |
909a1928d25c0b15d52c1492d004b0c4c59f19d753ea5722bff037999fbe44d2 |
| Training receipt |
72cc12aabac29ddd6b6090a7d935ec6ee00fb61a7974fb10ee166e39d1bcdfe2 |
| Validation selection |
0aad440212e31e4d9a9b77fbe391e77f0ca40d26db35d1344e74504bc18142ef |
| Threshold decision |
f029f20492c22621cde5b47bb845cc2a4595b120636caed064f3d509c861852c |
| Final delivery report |
d512465e4bf7ed58b6e6a786c1700a3419063f5017ce91df0966166ee34f0af6 |
| Final delivery receipt |
25fe642aca3ed9d7f430b593bc95a4659c8f62fe248877124d35de55c972852c |
| Frozen data-audit digest |
80e0e23f9902eb708fc7b4c8ef764df6fd7841903cc6c647e0453c02175fbdee |
| Excluded-row receipt digest |
26e70be7b839879fa563c9fc23a24a7482111058515c964df81208738708a038 |
| Schema-view catalog |
486f029a02601f3752e555d765f1cb61fd870d7147ffd3bf63c69bfd5db6d30d |
| Registry |
80f255076cde0237c3f176b45545807bb237cbc57af1d983c6550a6d6816f547 |
| Frozen runtime |
aec77e5692a8cf808fc0568a64b5ad882f4b8bbdedf6c3ba7b7f90b1a3d066d7 |
| Training source snapshot |
fe7db36c269b50ac1914b3bf1a1fd4e304317dcc346e460fc1ee272d7190f6aa |
| Evaluation source snapshot |
44ef846d7e305147fd8f484dcec90cb693226352f41e241d7c6f679cc0191f32 |
The release bundle retains the adapter/config, schema_v3.json, registry_profiles.json, per-model threshold in release_manifest.json, private LICENSE, and hash-bound aggregate provenance for training receipt, validation selection, runtime, final delivery report/receipt, ACT/BPSD mapping and evaluation, and the 20 schema-view results. Do not include raw notes, row-level predictions, credentials, or Codex/Hub tokens. The final report declares raw_text_in_report: false.