VSSA-SDSA/LT_AI_FakeNews_BERT
ModernBERT-MIAITS
EN | LT
EN: English
Overview
ModernBERT-MIAITS is a fine-tuned Lithuanian-language text classification model developed as part of the MIAITS project (Melagingos informacijos automatinio identifikavimo tekstyno sukūrimas — Lithuanian Misinformation Automatic Identification Text Corpus). Lithuanian language resources for building artificial intelligence solutions.
The model classifies Lithuanian news articles and statements into three categories:
Architecture
- Base model: `VSSA-SDSA/LT-MLKM-modernBERT` — a ModernBERT variant pre-trained on Lithuanian text
- Task: Single-label sequence classification (3 classes)
- Hidden size: 768
- Attention heads: 12
- Hidden layers: 22 (alternating full and sliding window attention every 3 layers; local window: 128)
- Max context length: 4,096 tokens
- Pooling: CLS token
- Vocabulary size: 64,000 tokens
- Positional encoding: RoPE (Rotary Position Embedding)
- Activation: GELU
Training Data
Source: data/tekstynas.csv — Lithuanian misinformation classification dataset.
Labels (from 16-Label column):
- 0 — Klaidinga (False)
- 1 — Manipuliatyvu (Manipulative)
- 2 — Teisinga (True)
Train text columns (row expansion): Each training row is expanded into 3 rows — one per column: 7-Statement, 8-Statement_Context, 9-Full_text.
Val/Test text column: 9-Full_text only.
Splits: Stratified 80/10/10 (train/val/test), seed 42.
Augmentation: Sentence-shuffle on expanded training rows (1 shuffle per eligible doc, min 3 sentences, min 200 chars).
Training
Runtime: ~1h 12m
Performance
Best checkpoint: Epoch 2
Per-class metrics (test set):
Intended Use
- Detection of fake news and manipulative content in Lithuanian
- Research on misinformation in Baltic/Eastern European media
- Integration into content moderation pipelines
Limitations
- Trained exclusively on Lithuanian-language data; not suitable for other languages
- The
Manipuliatyvuclass is semantically ambiguous and has the lowest robustness
Usage
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
MODEL_PATH = "models/bert/modern-bert-miaits-v2" # path to this directory
MAX_LENGTH = 4096
# Load
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, use_fast=True)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
model.eval()
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
# Labels from model config
id2label = model.config.id2label # {0: "Klaidinga", 1: "Manipuliatyvu", 2: "Teisinga"}
def predict(texts: list[str]) -> list[dict]:
inputs = tokenizer(
texts,
truncation=True,
max_length=MAX_LENGTH,
padding=True,
return_tensors="pt",
).to(device)
with torch.no_grad():
logits = model(**inputs).logits
probs = torch.softmax(logits, dim=1).cpu()
results = []
for row in probs:
dist = {id2label[i]: round(float(p), 4) for i, p in enumerate(row)}
label = max(dist, key=dist.get)
results.append({"label": label, "distribution": dist})
return results
texts = [
# Klaidinga
'Nors didžioji žiniasklaida ir Didžioji farmacija deda visas pastangas, kad medikai ir nukentėję pacientai nekalbėtų apie neigiamą "Covid" vakcinų poveikį, apie šiuos atvejus pradedame girdėti vis dažniau, nes jų skaičius tampa per didelis, kad būtų galima į jį nekreipti dėmesio. Šiame straipsnyje gali būti teiginių, atspindinčių autoriaus nuomonę Kaip daugelis baiminosi, kai šios vakcinos buvo skubiai pateiktos rinkai beveik neišbandytos, tik laikui bėgant kai kurie padariniai tampa akivaizdesni.',
# Manipuliatyvu
'„The Economist" 2025 m. viršelio iššifravimas: Atskleista: globalistų kontrolė, 15 minučių miestai ir Saturno simbolika\nNaujausias „The Economist" viršelis visada pritraukia dėmesio ir diskusijų. 2025 m. leidinys, minimalistinio dizaino ir simboliška estetika, kelia klausimus apie globalinę kontrolę, technokratiją ir visuomenės transformacijas.',
# Teisinga
'Sparčiai šylantis klimatas reikalauja sprendimų. Būtent todėl Jungtinė Karalystė investuoja dešimtis milijonų svarų į tyrimus, kurie turėtų padėti atrasti būdą atvėsinti Žemės klimatą. Melagienų skleidėjai tvirtina, kad šie tyrimai reiškia, jog Jungtinė Karalystė oficialiai pripažįsta, kad „chemtreilai" nėra sąmokslo teorija ir patys jais užsiima.',
]
for text, result in zip(texts, predict(texts)):
print(f"Text: {text[:80]}...")
print(f"Label: {result['label']}")
print(f"Probs: {result['distribution']}\n")Example output (real predictions from the model):
Text: Nors didžioji žiniasklaida ir Didžioji farmacija deda visas pastangas, kad m...
Label: Klaidinga
Probs: {'Klaidinga': 0.9995, 'Manipuliatyvu': 0.0005, 'Teisinga': 0.0}
Text: „The Economist" 2025 m. viršelio iššifravimas: Atskleista: globalistų kont...
Label: Manipuliatyvu
Probs: {'Klaidinga': 0.0508, 'Manipuliatyvu': 0.8602, 'Teisinga': 0.089}
Text: Sparčiai šylantis klimatas reikalauja sprendimų. Būtent todėl Jungtinė Kara...
Label: Teisinga
Probs: {'Klaidinga': 0.0001, 'Manipuliatyvu': 0.0, 'Teisinga': 0.9999}LT: Lietuvių
Apžvalga
ModernBERT-MIAITS — tai suderintas lietuviškos kalbos teksto klasifikavimo modelis, sukurtas MIAITS projekto (Melagingos informacijos automatinio identifikavimo tekstyno sukūrimas). Lietuvių kalbos išteklius, skirtas dirbtinio intelekto sprendimams kurti.
Modelis klasifikuoja lietuviškus naujienų straipsnius ir teiginius į tris kategorijas:
Architektūra
- Bazinis modelis: `VSSA-SDSA/LT-MLKM-modernBERT` — ModernBERT variantas, iš anksto apmokytas lietuviškuose tekstuose
- Užduotis: Vienos etiketės sekų klasifikavimas (3 klasės)
- Paslėpto sluoksnio dydis: 768
- Dėmesio galvutės: 12
- Paslėpti sluoksniai: 22 (kintančio pilno ir slankiojančio lango dėmesio mechanizmai kas 3 sluoksnius; vietinis langas: 128)
- Maksimalus konteksto ilgis: 4 096 žetonai
- Telkinys: CLS žetono vektorius
- Žodyno dydis: 64 000 žetonų
- Pozicinis kodavimas: RoPE (sukamasis pozicinis įterpimas)
- Aktyvavimo funkcija: GELU
Mokymo duomenys
Šaltinis: data/tekstynas.csv — lietuviškos dezinformacijos klasifikavimo duomenų rinkinys.
Žymos (iš stulpelio 16-Label):
- 0 — Klaidinga
- 1 — Manipuliatyvu
- 2 — Teisinga
Eilutės su žyma REIKIA ĮVERTINTI buvo pašalintos.
Mokymo teksto stulpeliai (eilučių plėtimas): Kiekviena mokymo eilutė išplečiama į 3 eilutes — po vieną kiekvienam stulpeliui: 7-Statement, 8-Statement_Context, 9-Full_text.
Validavimo/testavimo teksto stulpelis: tik 9-Full_text.
Suskirstymas: Stratifikuotas 80/10/10 (mokymas/validavimas/testavimas), sėkla 42.
Duomenų papildymas: Sakinių maišymas išplėstose mokymo eilutėse (1 maišymas tinkamam dokumentui, min. 3 sakiniai, min. 200 simbolių).
Mokymas
Apmokytas: 2026-04-02 | Trukmė: ~1 val. 12 min.
Rezultatai
Geriausias patikros taškas: 2-oji epocha
Metrikos pagal klasę (testavimo rinkinys):
Numatytas naudojimas
- Melagingų naujienų ir manipuliatyvaus turinio aptikimas lietuvių kalba
- Dezinformacijos Baltijos ir Rytų Europos žiniasklaidoje tyrimai
- Integravimas į turinio moderavimo sistemas
Apribojimai
- Modelis apmokytas išimtinai lietuviškais duomenimis; kitoms kalboms netinka
Manipuliatyvuklasė yra semantiškai dviprasmiška ir mažiausiai atspari
Naudojimas
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
MODEL_PATH = "models/bert/modern-bert-miaits-v2" # kelias į šį katalogą
MAX_LENGTH = 4096
# Įkėlimas
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, use_fast=True)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
model.eval()
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
# Žymos iš modelio konfigūracijos
id2label = model.config.id2label # {0: "Klaidinga", 1: "Manipuliatyvu", 2: "Teisinga"}
def predict(texts: list[str]) -> list[dict]:
inputs = tokenizer(
texts,
truncation=True,
max_length=MAX_LENGTH,
padding=True,
return_tensors="pt",
).to(device)
with torch.no_grad():
logits = model(**inputs).logits
probs = torch.softmax(logits, dim=1).cpu()
results = []
for row in probs:
dist = {id2label[i]: round(float(p), 4) for i, p in enumerate(row)}
label = max(dist, key=dist.get)
results.append({"label": label, "distribution": dist})
return results
texts = [
# Klaidinga
'Nors didžioji žiniasklaida ir Didžioji farmacija deda visas pastangas, kad medikai ir nukentėję pacientai nekalbėtų apie neigiamą "Covid" vakcinų poveikį, apie šiuos atvejus pradedame girdėti vis dažniau, nes jų skaičius tampa per didelis, kad būtų galima į jį nekreipti dėmesio. Šiame straipsnyje gali būti teiginių, atspindinčių autoriaus nuomonę Kaip daugelis baiminosi, kai šios vakcinos buvo skubiai pateiktos rinkai beveik neišbandytos, tik laikui bėgant kai kurie padariniai tampa akivaizdesni.',
# Manipuliatyvu
'„The Economist" 2025 m. viršelio iššifravimas: Atskleista: globalistų kontrolė, 15 minučių miestai ir Saturno simbolika\nNaujausias „The Economist" viršelis visada pritraukia dėmesio ir diskusijų. 2025 m. leidinys, minimalistinio dizaino ir simboliška estetika, kelia klausimus apie globalinę kontrolę, technokratiją ir visuomenės transformacijas.',
# Teisinga
'Sparčiai šylantis klimatas reikalauja sprendimų. Būtent todėl Jungtinė Karalystė investuoja dešimtis milijonų svarų į tyrimus, kurie turėtų padėti atrasti būdą atvėsinti Žemės klimatą. Melagienų skleidėjai tvirtina, kad šie tyrimai reiškia, jog Jungtinė Karalystė oficialiai pripažįsta, kad „chemtreilai" nėra sąmokslo teorija ir patys jais užsiima.',
]
for text, result in zip(texts, predict(texts)):
print(f"Tekstas: {text[:80]}...")
print(f"Žyma: {result['label']}")
print(f"Tikimybės: {result['distribution']}\n")Pavyzdinė išvestis (realios modelio prognozės):
Tekstas: Nors didžioji žiniasklaida ir Didžioji farmacija deda visas pastangas, kad m...
Žyma: Klaidinga
Tikimybės: {'Klaidinga': 0.9995, 'Manipuliatyvu': 0.0005, 'Teisinga': 0.0}
Tekstas: „The Economist" 2025 m. viršelio iššifravimas: Atskleista: globalistų kont...
Žyma: Manipuliatyvu
Tikimybės: {'Klaidinga': 0.0508, 'Manipuliatyvu': 0.8602, 'Teisinga': 0.089}
Tekstas: Sparčiai šylantis klimatas reikalauja sprendimų. Būtent todėl Jungtinė Kara...
Žyma: Teisinga
Tikimybės: {'Klaidinga': 0.0001, 'Manipuliatyvu': 0.0, 'Teisinga': 0.9999}License
NewGenLTU OpenRAIL-M licencija, 1.0 versija
https://sitti.vdu.lt/en/newgenltu-openrail-m-license/
