jerteh-355 — Najveći BERT model specijalno obučen za srpski jezik.

  • Vektorizuje reči, ili dopunjava nedostajuće reči u tekstu
  • Zasnovan na RoBERTa-large arhitekturi, 355 miliona parametara
  • Obučavan na korpusu srpskog jezika veličine 4 milijarde tokena
  • Najbolji rezultati u modelovanju maskiranog jezika za srpski!
  • Jednaka podrška unosa i na ćirilici i na latinici!

Pored skupova navedenih u metapodacima, model je obučavan i na ostalim korpusima Društva za jezičke resurse i tehnologije, uključujući korpuse savremenog srpskog jezika: SrpKor2013 i SrpKor2021, kao i korpus PDRS 1.0 razvijen od strane Instituta za Srpski jezik SANU.

Upotreba

>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='jerteh/jerteh-355')
>>> unmasker("Kada bi čovek znao gde će pasti on bi<mask>.")
>>> 
[{'score': 0.2131326049566269, 'token': 11379, 'token_str': ' pao', 'sequence': 'Kada bi čovek znao gde će pasti on bi pao.'},
 {'score': 0.18836458027362823, 'token': 20536, 'token_str': ' pobegao', 'sequence': 'Kada bi čovek znao gde će pasti on bi pobegao.'},
 {'score': 0.07937008887529373, 'token': 10799, 'token_str': ' umro', 'sequence': 'Kada bi čovek znao gde će pasti on bi umro.'},
 {'score': 0.04340635612607002, 'token': 7797, 'token_str': ' otišao', 'sequence': 'Kada bi čovek znao gde će pasti on bi otišao.'},
 {'score': 0.038474686443805695, 'token': 25984, 'token_str': ' odustao', 'sequence': 'Kada bi čovek znao gde će pasti on bi odustao.'}]
>>> from transformers import AutoTokenizer, AutoModelForMaskedLM
>>> from torch import LongTensor, no_grad
>>> from scipy import spatial
>>> tokenizer = AutoTokenizer.from_pretrained('jerteh/jerteh-355')
>>> model = AutoModelForMaskedLM.from_pretrained('jerteh/jerteh-355', output_hidden_states=True)
>>> x = " pas"
>>> y = " mačka"
>>> z = " svemir"
>>> tensor_x = LongTensor(tokenizer.encode(x, add_special_tokens=False)).unsqueeze(0)
>>> tensor_y = LongTensor(tokenizer.encode(y, add_special_tokens=False)).unsqueeze(0)
>>> tensor_z = LongTensor(tokenizer.encode(z, add_special_tokens=False)).unsqueeze(0)
>>> model.eval()
>>> with no_grad():
>>>     vektor_x = model(input_ids=tensor_x).hidden_states[-1].squeeze()
>>>     vektor_y = model(input_ids=tensor_y).hidden_states[-1].squeeze()
>>>     vektor_z = model(input_ids=tensor_z).hidden_states[-1].squeeze()
>>>     print(spatial.distance.cosine(vektor_x, vektor_y))
>>>     print(spatial.distance.cosine(vektor_x, vektor_z))
>>> 
0.029090166091918945
0.0369451642036438

U slučaju potrebe za bržim modelom, pogledajte jerteh-81 — mali BERT model za srpski jezik.

U slučaju potrebe za generativnim modelom, pogledajte gpt2-orao i gpt2-vrabac

Autor
Mihailo Škorić

Citiranje

@article{skoric24modeli,
  author    = {Mihailo \vSkori\'c},
  title     = {Novi jezi\vcki modeli za srpski jezik},
  journal   = {Infoteka},
  volume    = {24},
  issue     = {1},
  year      = {2024},
  publisher = {Zajednica biblioteka univerziteta u Srbiji, Beograd},
  url       = {https://arxiv.org/abs/2402.14379}
}
Downloads last month
76
Safetensors
Model size
354M params
Tensor type
I64
·
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for jerteh/Jerteh-355

Finetunes
8 models

Datasets used to train jerteh/Jerteh-355