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
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
- 257
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.