Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

gliclass-std-base-v3-5facet-qint8-v2

by Daecore Daecore/gliclass-std-base-v3-5facet-qint8-v2

gliclass-std-base-v3-5facet-qint8-v2 is an open-weight model for text classification from Daecore, released under Apache License 2.0. Its published files total 462.3 MB. It draws 53 downloads a month.

A GLiClass Base v3 fine-tune that describes what an English passage contains: a trap, decision, constraint, mechanism or procedure. A passage can have several facets. The model produces all five scores in one pass and runs locally through ONNX Runtime.

Parameters—
Context—
Weights452.8 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads53

Model Card

By Daecore, published under apache-2.0, revision 4289dffbbf0a.

A GLiClass Base v3 fine-tune that describes what an English passage contains: a trap, decision, constraint, mechanism or procedure. A passage can have several facets. The model produces all five scores in one pass and runs locally through ONNX Runtime. This revision's ONNX graph adds Vulkan compatibility. Learned weights, prompts, calibration and thresholds are unchanged. On 1,300 generated passages from three document families excluded from training, macro average precision is 0.9676 for the fine-tune, 0.9384 for a TF-IDF baseline trained on the same rows, and 0.7709 for the zero-shot upstream checkpoint. Install onnxruntime==1.24.4, tokenizers and numpy. This CPU example assumes the…

Read Daecore's full model card

Five-facet passage classifier

A GLiClass Base v3 fine-tune that describes what an English passage contains: a trap, decision, constraint, mechanism or procedure. A passage can have several facets. The model produces all five scores in one pass and runs locally through ONNX Runtime.

This revision's ONNX graph adds Vulkan compatibility. Learned weights, prompts, calibration and thresholds are unchanged.

On 1,300 generated passages from three document families excluded from training, macro average precision is 0.9676 for the fine-tune, 0.9384 for a TF-IDF baseline trained on the same rows, and 0.7709 for the zero-shot upstream checkpoint.

Quick start

Install onnxruntime==1.24.4, tokenizers and numpy. This CPU example assumes the package is in downloaded-model and uses its published prompts and calibration rather than new label wording:

import json
from pathlib import Path
import numpy as np
import onnxruntime as ort
from tokenizers import Tokenizer

root = Path("downloaded-model")
metadata = json.load(open(f"{root}/classifier-metadata.json", encoding="utf-8"))
facets = metadata["facet_order"]
prep = metadata["preprocessing"]
prefix = "".join(
    prep["label_token"] + prep["label_prompts"][facet] for facet in facets
) + prep["separator_token"]
tokenizer = Tokenizer.from_file(f"{root}/tokenizer.json")
tokenizer.enable_truncation(max_length=prep["max_length"])
encoded = tokenizer.encode(prefix + "We chose weekly releases to reduce rollout risk.")
session = ort.InferenceSession(
    f"{root}/model.onnx", providers=["CPUExecutionProvider"]
)
logits = session.run(["logits"], {
    "input_ids": np.array([encoded.ids], dtype=np.int64),
    "attention_mask": np.array([encoded.attention_mask], dtype=np.int64),
})[0][0].astype(np.float64)
calibration = metadata["probability_calibration"]
clip = calibration["probability_clip"]
raw = np.clip(1 / (1 + np.exp(-np.clip(logits, -80, 80))), clip, 1 - clip)
temperatures = np.array([calibration["temperatures"][f] for f in facets])
probabilities = 1 / (1 + np.exp(-np.log(raw / (1 - raw)) / temperatures))
print(dict(zip(facets, probabilities.tolist())))

The output is five independent calibrated scores, not a distribution that sums to one. For applications that need labels, the metadata supplies two threshold tables: contract favors precision and recall_leaning retains more candidates. Choose between them by the relative cost of missed and incorrect labels.

What the labels mean

Facet The passage…
trap Warns about a specific mistake, hazard or failure mode
decision Records a choice or commitment among alternatives
constraint States a rule or condition that materially restricts action
mechanism Explains how something is organized, connected or works
procedure Gives sequenced actions for carrying out a task

Mentioning a decision is different from making one; training labels treat “mentions only” as negative for that facet. Facets overlap: a procedure may also contain a constraint and warn about a trap. The scores help organize passages or inspect what a search returns. They do not establish relevance, truth or authority and should not serve as a hard retrieval filter.

Before and after fine-tuning

“Upstream” is the exact knowledgator/gliclass-base-v3.0 checkpoint used to start training, applied zero-shot with the same label definitions and no Daecore fine-tuning. The word-feature baseline is TF-IDF plus logistic regression, trained on the same labeled rows as the fine-tune. All three use the same 1,300-passage panel; unresolved labels are excluded per facet for every model.

Metric, macro average over five facets Upstream GLiClass Word-feature baseline Daecore fine-tune
Average precision 0.7709 0.9384 0.9676
Precision at 90% recall 66.11% 83.35% 90.21%
Precision at 95% recall 64.51% 78.62% 86.02%

Average precision summarizes how well scores rank positives across thresholds. Precision at 90% recall is the cleanest measured prediction set that still keeps at least 90% of positive labels; it comes from this evaluation's curve, not from a threshold chosen in advance.

Facet Resolved passages Positive prevalence Upstream AP Fine-tuned AP
Trap 1,300 71.77% 0.9028 0.9864
Decision 1,299 46.04% 0.5219 0.9135
Constraint 1,300 91.31% 0.9544 0.9986
Mechanism 1,297 68.77% 0.7692 0.9817
Procedure 1,293 37.51% 0.7064 0.9578

As the baseline shows, much of this task can be learned from word cues; the fine-tune's clearest benefit is at high recall. Constraint is common in this panel, so its near-perfect AP says less than the decision and procedure results. The panel was deliberately enriched for difficult decision and procedure cases and is not a sample of natural traffic. The evaluation companion contains the text-free labels and scores, model identities and calculation code.

Data and training choices

The final fit used 59,886 passages from 9,376 documents: 54,803 generated and 5,083 real. The real portion is 4,583 passages from self-owned workspaces and 500 from public-domain US Federal Register documents; all real rows were used for training, none for evaluation. Workspace documents may also be AI-written; real describes their source, not human authorship. Generated material was written as complete organizational documents and then parsed into passages, covering more settings and document types than the available workspaces.

Models applied fixed facet definitions to produce the labels. The main label campaigns used independent judgments with conflict resolution; 3,750 inherited rows used a single primary judge with a separate audit. Splits separate whole source families: the three evaluation families and four calibration families are disjoint from training and from each other. Calibration uses 1,700 passages to set per-facet temperatures and the two threshold tables.

Training choice Value and reason
Starting model GLiClass Base v3 on DeBERTa-v3, 186.5M parameters
Input length 768 tokens including label prompts; context-length experiments favored it over 512
Objective Weighted binary cross-entropy; mentions-only negatives receive 2× weight
Optimizer schedule Learning rate 2e-5; batch 4, accumulated over 8 steps
Duration Four fixed epochs; equal-weight average of epochs 2, 3 and 4, chosen before the final fit
Serving compression INT8 token embeddings with the transformer body in FP32

Quantizing only the token embeddings shrinks the large vocabulary table while keeping transformer calculations in FP32; broader quantization reduced quality. The ONNX graph is 452.8 MB, and the package is about 461.5 MB excluding runtime libraries.

Runtime and limits

On the 1,300 evaluation passages, the derived graph produced the same labels under both threshold tables on CPU, CUDA and Vulkan as the previous graph on CPU, with maximum score differences below 5.7e-6. Vulkan uses onnxruntime==1.24.4 with the native WebGPU plugin onnxruntime-ep-webgpu==0.4.0, registered explicitly, with dawnBackendType=Vulkan and no providers list at session creation. Checks used Windows x64 with an NVIDIA RTX 3060 Ti (8 GB); other GPUs and Linux are untested, even where Vulkan is available.

  • The model is trained and evaluated only on English text.
  • Labels are model judgments without human validation.
  • The evaluation covers generated text from three held-out families and was reused during development; performance on unrelated real documents is unmeasured.
  • Training was run once; variation across seeds is unmeasured.

License

Apache-2.0. The package includes upstream attribution and a modification notice.

Configuration

Architecture
GLiClassModel
Hidden size
768
Vocabulary size
128,003
Model type
GLiClass

Identity and Version

Repository
Daecore/gliclass-std-base-v3-5facet-qint8-v2
Publisher
Daecore
Task
Text classification
Modality
Text
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en
Revision
4289dffbbf0a4066a6b8dddcda7f6563b33d0f06
First published
2026-09-06
Last updated
2026-09-29

Files and Weights

20 files, 462.3 MB in total. The weights are 1 file totalling 452.8 MB in onnx.

Weights1 file · 452.8 MB
Configuration10 files · 783.2 KB
Tokenizer2 files · 8.7 MB
Documentation5 files · 31.1 KB
Other1 file · 8.6 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
model.onnxWeights452.8 MB 7e9b7e37afc0
classifier-metadata.jsonConfiguration2.7 KB —
config.jsonConfiguration2.1 KB —
evaluation/classifier-summary.jsonConfiguration4.8 KB —
evaluation/classifier.jsonConfiguration722.0 KB —
evaluation/figures.pyConfiguration4.1 KB —
evaluation/metrics.pyConfiguration11.1 KB —
evaluation/serving-qualification.jsonConfiguration4.7 KB —
evaluation/svg_figures.pyConfiguration21.5 KB —
publication-manifest.jsonConfiguration4.4 KB —
vulkan-derivation.jsonConfiguration5.8 KB —
LICENSEDocumentation11.4 KB —
MODIFICATIONS.mdDocumentation1.8 KB —
NOTICEDocumentation822 B —
README.mdDocumentation8.3 KB —
evaluation/README.mdDocumentation8.8 KB —
figures/classifier-comparison.svgOther8.6 KB —
.gitattributesRepository1.5 KB —
tokenizer.jsonTokenizer8.6 MB —
tokenizer_config.jsonTokenizer1.7 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
452.8 MB
Download from Daecore

Released by Daecore through its official repository on Hugging Face. Read the license.

Built From

  • Derived from knowledgator/gliclass-base-v3.0
  • Quantized from knowledgator/gliclass-base-v3.0

Memory Requirements

PrecisionWeights in memory
As published452.8 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About gliclass-std-base-v3-5facet-qint8-v2

Can I use gliclass-std-base-v3-5facet-qint8-v2 commercially?

Yes. gliclass-std-base-v3-5facet-qint8-v2 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text classification

twitter-roberta-base-sentiment-latest

Cardiff NLP

This is a RoBERTa-base model trained on ~124M tweets from January 2018 to December 2021, and finetuned for sentiment analysis with the TweetEval benchmark. The original Twitter-based RoBERTa model can be found here and the original reference paper is TweetEval. This model is suitable for English. 0 -> Negative; 1 -> Neutral; 2 -> Positive This sentiment analysis model has been integrated into TweetNLP. You can access the demo here.

Open weights cc-by-4.0 514 tokens transformers

Model · Text classification

finbert-tone

Yi

FinBERT is a BERT model pre-trained on financial communication text. The purpose is to enhance financial NLP research and practice. It is trained on the following three financial communication corpus. The total corpora size is 4.9B tokens. More technical details on FinBERT: Click Link This released finbert-tone model is the FinBERT model fine-tuned on 10,000 manually annotated (positive, negative, neutral) sentences from analyst reports. This model achieves superior performance on financial tone analysis task. If you are simply interested in using FinBERT for financial tone analysis, give it a try. If you use the model in your academic work, please cite the following paper: Huang, Allen H.…

Open weights 512 tokens transformers

Model · Text classification

ms-marco-MiniLM-L-6-v2

Joshua

https://huggingface.co/cross-encoder/ms-marco-MiniLM-L-6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights 512 tokens transformers.js

Model · Text classification

twitter-xlm-roberta-base-sentiment

Cardiff NLP

This is a multilingual XLM-roBERTa-base model trained on ~198M tweets and finetuned for sentiment analysis. The sentiment fine-tuning was done on 8 languages (Ar, En, Fr, De, Hi, It, Sp, Pt) but it can be used for more languages (see paper for details). This model has been integrated into the TweetNLP library.

Open weights 514 tokens transformers

Model · Text classification

unbiased-toxic-roberta

Unitary

The huggingface models currently give different results to the detoxify library (see issue here). For the most up to date models we recommend using the models from https://github.com/unitaryai/detoxify Trained models & code to predict toxic comments on 3 Jigsaw challenges: Toxic comment classification, Unintended Bias in Toxic comments, Multilingual toxic comment classification. Built by Laura Hanu at Unitary, where we are working to stop harmful content online by interpreting visual content in context. Score not directly comparable since it is obtained on the validation set provided and not on the test set. To update when the test labels are made available. It is also noteworthy to mention…

Open weights apache-2.0 514 tokens transformers

Model · Text classification

emotion-english-distilroberta-base

Hartmann

With this model, you can classify emotions in English text data. The model was trained on 6 diverse datasets (see Appendix below) and predicts Ekman's 6 basic emotions, plus a neutral class: 1) anger 2) disgust 3) fear 4) joy 5) neutral 6) sadness 7) surprise The model is a fine-tuned checkpoint of DistilRoBERTa-base. For a 'non-distilled' emotion model, please refer to the model card of the RoBERTa-large version. a) Run emotion model with 3 lines of code on single text example using Hugging Face's pipeline command on Google Colab: b) Run emotion model on multiple examples and full datasets (e.g.,.csv files) on Google Colab: Please reach out to [email protected] if you have any…

Open weights 514 tokens transformers