Token Classification
GLiNER
atomizer
atomic-claims
claim-extraction
decontextualization
fact-checking
check-worthiness

atomizer-gliner2.5-base-xhead

atomizer on Fastino's GLiNER2.5 base (fastino/gliner2.5-base-v1) with a head-interaction block ("xhead"): a single-pass span atomizer with a critic. It splits a text into short, self-contained claims ("atoms") and scores each one for verifiable (is it a checkable factual claim) and checkworthy (is it worth checking). 217M parameters; ~1.5Γ— slower than the small model.

The model does not generate text. It selects words from the input, replaces references ("She" β†’ "Marie Curie") with earlier spans or keeps them as written, and adds closed-class glue words ("is", "the", "'s"). An atom cannot contain a name or number that is not in the input.

One repo per architecture. The atomizer models live in one Hugging Face repo per backbone and head design, so every tag of a repo loads the same way and has the same size and speed. Each repo has its own version numbers:

Repo Backbone Heads
atomizer-gliner-small GLiNER small v2.5 (163M) standard; the releases (main)
atomizer-gliner-large GLiNER large v2.5 standard
atomizer-gliner2.5-base Fastino GLiNER2.5 base standard, no BiLSTM
atomizer-gliner2.5-base-native Fastino GLiNER2.5 base GLiNER2.5's own pretrained heads
atomizer-gliner2.5-base-xhead (this repo) Fastino GLiNER2.5 base head-interaction block

Status: research models. main is the latest version (v0.2); every version is a tag. The model recommended for use is atomizer-gliner-small v0.6: trained on the same data, within noise of this one, and lighter.

Model

The encoder of Fastino's GLiNER2.5 base (DeBERTa-v3-base, 12 layers; Apache-2.0), no BiLSTM, with atomizer's four standard heads (anchor, pair, antecedent, critic) and one addition: a head-interaction block, 2 transformer layers over the rows the heads read (anchor, reference and atom rows), with a gate initialised at 0 so training starts from the plain model. The heads are trained with teacher forcing and decoded in 3 passes (pass 1's references and atoms feed the antecedent head and the critic). It adds 14.2M parameters to atomizer-gliner2.5-base. Assembly from the predictions is deterministic; texts longer than 1,024 tokens are atomized in sentence windows with read-only context. Details: ARCHITECTURE.md.

Versions

Each tag is one run from fastino/gliner2.5-base-v1 on all the training data (3 epochs, batch 32, 1Γ— A100; the last step is published). Load a tag with Atomizer.load("nishparadox/atomizer-gliner2.5-base-xhead", revision="<tag>").

Tag Training data W&B run Notes
v0.2 the v0.6 data (the same as small v0.6): Propositionizer, ClaimBuster, CheckThat! 2024, synthetic v0.4, Decontextualization, Factcheck-Bench, WiCE, FActScore, chat templates; 9,690 steps xhead-v07 the most accurate candidate of that round on the new sets and on real LLM answers
v0.1 the v0.5 data: the same without WiCE, FActScore and synthetic v0.4; 9,147 steps gliner25-xhead resolved the most references on the old suite (0.778)

Until 2026-10-15 these two were tags v0.7-rc3 and v0.6-rc4 on atomizer-gliner-small's dev branch; the files are the same (model.pt sha256 3d91d2b9… and 5d0ae332…).

A100 runs of the test suite (test splits only; soft F1 unless stated; resolved / wrong on Decontextualization; the v0.7 suite adds WiCE and FActScore and a larger synthetic test, so the two suites are not comparable with each other):

Tag suite synthetic Factcheck-Bench Decontext. resolved wrong ↓ Propositionizer PropSegmEnt CheckThat! F1 / AUC WiCE soft / exact FActScore soft / exact
v0.2 v0.7 0.897 0.783 0.574 0.728 0.065 0.734 0.784 0.850 / 0.975 0.821 / 0.322 0.722 / 0.105
v0.1 v0.5 0.908 0.767 0.610 0.778 0.064 0.733 0.769 0.838 / 0.977 – –

Paired bootstraps (2,000 resamples over texts): v0.2 βˆ’ v0.1 wins on FActScore +0.114, WiCE exact +0.094 / soft +0.027 and PropSegmEnt +0.016, loses on Decontextualization βˆ’0.036. v0.2 βˆ’ small v0.6 (163M, the same data): wins on FActScore +0.012, PropSegmEnt +0.011 and WiCE soft +0.010, loses on synthetic exact βˆ’0.024 and Propositionizer βˆ’0.005, so the small model stays the proposed release. All numbers and the other pairs: EVALS.md; the runs: EXPERIMENTS.md, runs 11 and 12.

Usage

The loading code is the atomizer package at NISH1001/atomizer (private for now, access on request). This architecture needs code β‰₯ v0.2.0; v0.3.0 is current.

uv add "atomizer @ git+ssh://git@github.com/NISH1001/atomizer@v0.3.0"
from atomizer import Atomizer

atomizer = Atomizer.load("nishparadox/atomizer-gliner2.5-base-xhead", revision="v0.2")

for atom in atomizer.atomize("Tesla was founded in 2003. It delivered about 1.8 million vehicles in 2023."):
    print(atom.text, round(atom.verifiable, 2), round(atom.checkworthy, 2))

atomizer.atomize(text, min_verifiable=0.5)      # only checkable facts
print(atomizer.explain(text).show())            # every head's predictions

Limitations

Those of the small model (its card), plus: ~1.5Γ— slower than the small model on a CPU and the largest atomizer model; v0.2 resolves "I" and "my" to a self-given name, but writes the possessive ("Paradox's lab") less reliably than the small v0.6.

License

The weights are CC-BY-4.0; the atomizer code is MIT. Fine-tuned from Fastino's gliner2.5-base-v1 (Apache-2.0). The training data has its own terms (Propositionizer labels were written by GPT-4; ClaimBuster is CC-BY-SA 4.0; CheckThat! 2024 under the CLEF lab's terms; WiCE ODC-BY; FActScore's data terms are not stated and it is not redistributed; atomizer-chat-synthetic was written by Claude).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for nishparadox/atomizer-gliner2.5-base-xhead

Finetuned
(11)
this model

Datasets used to train nishparadox/atomizer-gliner2.5-base-xhead

Collection including nishparadox/atomizer-gliner2.5-base-xhead