Instructions to use matura-lol/GLiNER2.5-multi-Decide-finetune with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- GLiNER2
How to use matura-lol/GLiNER2.5-multi-Decide-finetune with GLiNER2:
from gliner2 import AutoExtractor extractor = AutoExtractor.from_pretrained("matura-lol/GLiNER2.5-multi-Decide-finetune") # Extract entities text = "Apple CEO Tim Cook announced iPhone 15 in Cupertino yesterday." result = extractor.extract_entities(text, ["company", "person", "product", "location"]) print(result) - PEFT
How to use matura-lol/GLiNER2.5-multi-Decide-finetune with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
GLiNER 2.5 Multi-Decide Fine-Tune (Round 2 - SemIf Distillation)
Multi-task classification of Polish exam questions — a LoRA fine-tune of GLiNER2.5-multi-Decide on the matura.lol datasets (Jev & SemIf tags), by matura.lol.
Trained with authentic, verified teacher tags generated by SemIf-OpenJev (Qwen3.5-4B) alongside Jev (jev-1.13) on the matura.lol corpus (matematyka, fizyka, polski). Zero pseudo-labels; zero unverified tags.
The model classifies a Polish exam question along four dimensions in a single forward pass:
| Task | Description | Labels |
|---|---|---|
topic |
Subject-specific topic (per CKE informatory) | Varies by subject |
method |
Solution method | fakty, analiza_zrodla, rachunek, interpretacja_danych, wypowiedz, gramatyka, algorytm, inne, doswiadczenie, dowod, rysunek_techniczny |
answer_form |
Expected answer form | krotka_odpowiedz, wybor, liczba, wypracowanie, prawda_falsz, wyrazenie, dowod, rysunek, inne, kod |
difficulty |
Perceived difficulty | łatwe, bardzo łatwe, średnie, trudne |
Evaluation Benchmark (Held-out validation split)
Performance on the held-out validation split after SemIf distillation:
| Task | Accuracy | Macro-F1 | Notes |
|---|---|---|---|
answer_form |
95.56% | 19.77% | Highest accuracy across structural forms |
method |
90.00% | 24.14% | Strong classification across solution methods |
difficulty |
63.33% | 35.90% | Subjective difficulty assessment |
| Overall | 82.96% | — | Average task accuracy across evaluation split |
- Zero pseudo-labels; zero unverified tags.
- Substantial improvement over the initial baseline (~55.2% overall accuracy).
Model details
- Base model: fastino/GLiNER2.5-multi-Decide (287M, multilingual)
- Fine-tuning: LoRA (
r=16,alpha=32,dropout=0.05) on the encoder and classifier heads, ~2.7M trainable params (0.94% of the model) - Teacher models / Supervision: SemIf-OpenJev (
Qwen3.5-4B) and Jev (jev-1.13) providing verified teacher tags - Training data: Questions from the matura.lol corpus (
matematyka,fizyka,polski), paired with verified Jev and SemIf-OpenJev tags - License: AGPL-3.0 (see below)
- Organizations: github.com/matura-lol · huggingface.co/matura-lol
License
This model is released under the GNU Affero General Public License v3.0 (AGPL-3.0), matching the matura.lol datasets.
The base model fastino/GLiNER2.5-multi-Decide is Apache-2.0, which is permissive and permits relicensing derived works under a different (including copyleft) license. The fine-tune itself — including this adapter and the training setup — is distributed under AGPL-3.0, consistent with the rest of the matura.lol open-source project.
Usage
from gliner2 import AutoExtractor
from peft import PeftModel
base = AutoExtractor.from_pretrained("fastino/GLiNER2.5-multi-Decide", map_location="cpu")
model = PeftModel.from_pretrained(base, "matura-lol/GLiNER2.5-multi-Decide-finetune")
METHODS = ["fakty", "analiza_zrodla", "rachunek", "interpretacja_danych",
"wypowiedz", "gramatyka", "algorytm", "inne", "doswiadczenie",
"dowod", "rysunek_techniczny"]
FORMS = ["krotka_odpowiedz", "wybor", "liczba", "wypracowanie", "prawda_falsz",
"wyrazenie", "dowod", "rysunek", "inne", "kod"]
DIFFICULTY = ["łatwe", "bardzo łatwe", "średnie", "trudne"]
schema = {
"method": {"labels": METHODS},
"answer_form": {"labels": FORMS},
"difficulty": {"labels": DIFFICULTY},
}
pred = model.classify_text("Oblicz pole koła o promieniu 5.", schema)
print(pred)
# {"method": "rachunek", "answer_form": "liczba", "difficulty": "łatwe"}
Attribution
If you reuse this model or the underlying data — including for AI training or retrieval-augmented generation — credit matura.lol with a link. The dataset is AGPL-3.0; individual pieces of text may carry their own licences (CKE/OKE materials, third-party solutions).
Links
- Site: matura.lol
- GitHub org: github.com/matura-lol
- Hugging Face org: huggingface.co/matura-lol
- Dataset: matura.lol datasets
- Categorisation pipeline: Jev-categorise
- Base model: fastino/GLiNER2.5-multi-Decide
- Base paper: GLiNER: Generalist Model for Named Entity Recognition using Bidirectional Transformer · GLiNER2.5
- Downloads last month
- 180
Model tree for matura-lol/GLiNER2.5-multi-Decide-finetune
Base model
fastino/gliner2.5-multi-v1