Knowledgator Releases GLiFormer, a 575M-Parameter Encoder for Schema-Driven Extraction
Knowledgator Engineering has released GLiFormer, a schema-conditioned encoder that handles NER, classification, relations, nested JSON structuring and embeddings without generating output tokens. Its Large v1 checkpoint reports 91.10 F1 on nested JSON extraction.
The release targets extraction pipelines that chain separate models, where one tags entities, another classifies documents and a third rebuilds records. The research team argues these tasks share one core operation: encode the source, represent the requested concepts, then score their compatibility. Large language models can emit nested JSON, but they generate field names, punctuation and values token by token; GLiFormer removes output generation from that path.
GLiFormer builds on GLiNER and generalizes its label matching through an "anchor," the object each runtime label is scored against. An anchor can be a group vector for classification, an entity pair for relations, or a record slot. The source is encoded once, and multiple schemas for the same document then run as task-local groups over that shared encoding. Head compute still grows with the number of groups, labels and anchors. For NER, the head scores start, end and inside evidence for every token and label pair, and independent sigmoid outputs let nested mentions and shared boundaries coexist.
Structuring runs in four stages. Field values are grounded as spans taken directly from the source text. Spans are then assigned to unordered record slots, trained with Hungarian matching. Directed parent-child links are predicted, restricted to paths the schema allows. A deterministic decoder assembles the nested JSON. Because values are source spans, the model cannot invent value text missing from the input, although span selection, record assignment and hierarchy can still be wrong.
Both v1 checkpoints use the gliformer-layout model type with five heads covering NER, classification, joint relations, multilevel structuring and embeddings. Each configures a 12-word maximum span width and 100 record anchors. Base v1 has 12 encoder layers, an embedding dimension of 768 and a configured maximum length of 16,384; Large v1 has 24 layers, 1,024 dimensions and a configured maximum length of 8,192. GLiFormer-base starts from a DeBERTa backbone further pretrained on 100 billion tokens. The paper documents 1,357,671 examples for broad multitask training and 372,090 for task-focused post-training.
Benchmark scores are reported by Knowledgator. On nested JSON extraction over 500 examples, Large scores 91.10 F1 and Base 87.20, against 91.96 for GPT-5.6-luna and 82.56 for GPT-5-mini; the metric is order-free and boundary-tolerant rather than an exact JSON match. Across 13 classification datasets, Large reaches 75.03 mean macro-F1 and Base 72.36, with GLiNER2.5 at 64.89 and GPT-5-mini leading at 79.79. On CrossNER's five domains, Base averages 65.10 F1 and Large 64.35, while Gemma-4-31B-IT reaches 70.74. On four relation benchmarks, Large averages 21.33 micro-F1 and Base 18.94, behind GLiNER-Relex at 25.6 and Gemma-4-31B-IT at 25.08. On combined NER and classification aggregates, the paper reports that Large beats Gemma-4-E4B with about 14 times fewer parameters.
Knowledgator timed GLiFormer-base on 40 structuring documents at batch size 1. Median latency was 69 ms on an NVIDIA RTX PRO 6000 Blackwell GPU in FP16, and 547 ms on an 8-thread AMD EPYC 9B45 CPU in FP32. The headline "up to 95.8 times faster" figure is an analytical estimate rather than a measured LLM run: it assumes prefill at 2,000 input tokens per second and generation at 60 output tokens per second, excludes queueing, network delay and hidden reasoning, and assumes nothing about accuracy parity.
The GitHub repository and model card show a short structuring call that returns records as dictionaries, and nested Pydantic schemas work for multilevel records. A single inference call can also run entities, classes and structures together. For relations, the documentation directs users to the joint_relations head, since the v1 checkpoints lack an open relation head.