sberbank-ai/model-zoo

NLP model zoo for Russian

50

10 commits

updated Jul 15, 2021

See the code

README

Welcome to the Model Zoo!

Here you can find NLP models for Russian, implemented in HF transformers🤗

See Examples In Colab!

Models:

ModelTaskTypeTokenizerDict sizeNum ParametersTraining Data Volume
ruBERT-basemask fillingencoderbpe120 138178 M30 GB
ruBERT-largemask fillingencoderbpe120 138427 M30 GB
ruRoBERTa-largemask fillingencoderbbpe50 257355 M250 GB
ruT5-basetext2text generationencoder-decoderbpe32101222 M300 GB
ruT5-largetext2text generationencoder-decoderbpe32101737 M300 GB

ruT5

Text2Text Generation task T5 paper

Model parameters

ruRoBerta

fill-mask task Roberta paper

ruBert

fill-mask task Bert paper

How to:

Use this Colab! to explore the models or run them on your machine.

Model set up:

pip install -r requirements.txt

Pipeline usage

from transformers import pipeline

unmasker = pipeline("fill-mask", model="sberbank-ai/ruRoberta-large")
unmasker("Евгений Понасенков назвал <mask> величайшим маэстро.", top_k=1)

Classical usage

# ruRoberta-large example 
from transformers import RobertaForMaskedLM,RobertaTokenizer

model=RobertaForMaskedLM.from_pretrained('sberbank-ai/ruRoberta-large')

tokenizer=RobertaTokenizer.from_pretrained('sberbank-ai/ruRoberta-large')

unmasker = pipeline('fill-mask', model=model,tokenizer=tokenizer)
unmasker("Стоит чаще писать на Хабр про <mask>.")

Use BertViz to obtain model visualizations

Roberta model_view:

/ !

from transformers import RobertaModel, RobertaTokenizer
from bertviz import model_view

model_version = 'sberbank-ai/ruRoberta-large'
model = RobertaModel.from_pretrained(model_version, output_attentions=True)
tokenizer = RobertaTokenizer.from_pretrained(model_version)

sentence_a = "The cat sat on the mat"
sentence_b = "The cat lay on the rug"
inputs = tokenizer.encode_plus(sentence_a, sentence_b, return_tensors='pt', add_special_tokens=True)
input_ids = inputs['input_ids']
attention = model(input_ids)[-1]
input_id_list = input_ids[0].tolist() # Batch index 0
tokens = tokenizer.convert_ids_to_tokens(input_id_list)
model_view(attention, tokens)

bert
nlp
pytorch
roberta
roberta-model
russian
russian-language
t5
t5-model
transformers

sberbank-ai/model-zoo

NLP model zoo for Russian

50

10 commits

updated Jul 15, 2021

See the code

README

Welcome to the Model Zoo!

Here you can find NLP models for Russian, implemented in HF transformers🤗

See Examples In Colab!

Models:

ModelTaskTypeTokenizerDict sizeNum ParametersTraining Data Volume
ruBERT-basemask fillingencoderbpe120 138178 M30 GB
ruBERT-largemask fillingencoderbpe120 138427 M30 GB
ruRoBERTa-largemask fillingencoderbbpe50 257355 M250 GB
ruT5-basetext2text generationencoder-decoderbpe32101222 M300 GB
ruT5-largetext2text generationencoder-decoderbpe32101737 M300 GB

ruT5

Text2Text Generation task T5 paper

Model parameters

ruRoBerta

fill-mask task Roberta paper

ruBert

fill-mask task Bert paper

How to:

Use this Colab! to explore the models or run them on your machine.

Model set up:

pip install -r requirements.txt

Pipeline usage

from transformers import pipeline

unmasker = pipeline("fill-mask", model="sberbank-ai/ruRoberta-large")
unmasker("Евгений Понасенков назвал <mask> величайшим маэстро.", top_k=1)

Classical usage

# ruRoberta-large example 
from transformers import RobertaForMaskedLM,RobertaTokenizer

model=RobertaForMaskedLM.from_pretrained('sberbank-ai/ruRoberta-large')

tokenizer=RobertaTokenizer.from_pretrained('sberbank-ai/ruRoberta-large')

unmasker = pipeline('fill-mask', model=model,tokenizer=tokenizer)
unmasker("Стоит чаще писать на Хабр про <mask>.")

Use BertViz to obtain model visualizations

Roberta model_view:

/ !

from transformers import RobertaModel, RobertaTokenizer
from bertviz import model_view

model_version = 'sberbank-ai/ruRoberta-large'
model = RobertaModel.from_pretrained(model_version, output_attentions=True)
tokenizer = RobertaTokenizer.from_pretrained(model_version)

sentence_a = "The cat sat on the mat"
sentence_b = "The cat lay on the rug"
inputs = tokenizer.encode_plus(sentence_a, sentence_b, return_tensors='pt', add_special_tokens=True)
input_ids = inputs['input_ids']
attention = model(input_ids)[-1]
input_id_list = input_ids[0].tolist() # Batch index 0
tokens = tokenizer.convert_ids_to_tokens(input_id_list)
model_view(attention, tokens)

bert
nlp
pytorch
roberta
roberta-model
russian
russian-language
t5
t5-model
transformers