/ Модель

Характеристики

Контекст
512 токенов
Параметры
192 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
2 мар 2022

bangla-bert-base

Заполнение пропусковТекст → текст4 профессии

Предварительно обученная BERT-модель для бенгальского языка, предназначенная для заполнения пропусков и дообучения на NLP-задачи.

17 601скачиваний за 30 дней26лайковвеса обновлены21 июл 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Bangla BERT Base — предварительно обученная языковая модель для бенгальского языка, разработанная Сагором Саркером. Это плотная модель архитектуры BERT с примерно 191,6 млн параметров, обученная предсказывать замаскированные токены в текстах; контекст — до 512 токенов. Для токенизации используется SentencePiece-словарь размером 102 025 токенов.

Модель предназначена прежде всего для заполнения пропусков в бенгальском тексте и может служить основой для дообучения задач классификации, анализа тональности, выявления языка вражды, тематической классификации новостей и распознавания именованных сущностей. В README приведены результаты на бенгальских классификационных наборах и Wikiann, но они не гарантируют качество на других данных.

Модель работает с текстом и выдаёт вероятности токенов для заполнения маски. Она обучалась на бенгальских данных OSCAR/Common Crawl и Wikipedia и распространяется по лицензии MIT. Поддерживаются веса в форматах PyTorch, TensorFlow и Flax.

Сценарии применения

  • заполнение замаскированных слов в бенгальском тексте
  • дообучение классификатора тональности бенгальских отзывов
  • классификация бенгальских новостей по темам
  • выявление языка вражды в бенгальских сообщениях
  • распознавание именованных сущностей в бенгальском тексте

Ограничения

Модель обучена для бенгальского языка и сама по себе предназначена для заполнения масок; классификация и распознавание сущностей требуют подходящей головы и обычно дообучения. Приведённые в карточке оценки относятся к конкретным наборам данных и не гарантируют качество на других доменах.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Bangla BERT Base

A long way passed. Here is our Bangla-Bert! It is now available in huggingface model hub.

Bangla-Bert-Base is a pretrained language model of Bengali language using mask language modeling described in BERT and it's github repository

Pretrain Corpus Details

Corpus was downloaded from two main sources:

After downloading these corpora, we preprocessed it as a Bert format. which is one sentence per line and an extra newline for new documents.

sentence 1
sentence 2

sentence 1
sentence 2

Building Vocab

We used BNLP package for training bengali sentencepiece model with vocab size 102025. We preprocess the output vocab file as Bert format. Our final vocab file availabe at https://github.com/sagorbrur/bangla-bert and also at huggingface model hub.

Training Details

  • Bangla-Bert was trained with code provided in Google BERT's github repository (https://github.com/google-research/bert)
  • Currently released model follows bert-base-uncased model architecture (12-layer, 768-hidden, 12-heads, 110M parameters)
  • Total Training Steps: 1 Million
  • The model was trained on a single Google Cloud GPU

Evaluation Results

LM Evaluation Results

After training 1 million steps here are the evaluation results.

global_step = 1000000
loss = 2.2406516
masked_lm_accuracy = 0.60641736
masked_lm_loss = 2.201459
next_sentence_accuracy = 0.98625
next_sentence_loss = 0.040997364
perplexity = numpy.exp(2.2406516) = 9.393331287442784
Loss for final step: 2.426227

Downstream Task Evaluation Results

  • Evaluation on Bengali Classification Benchmark Datasets

Huge Thanks to Nick Doiron for providing evaluation results of the classification task. He used Bengali Classification Benchmark datasets for the classification task. Comparing to Nick's Bengali electra and multi-lingual BERT, Bangla BERT Base achieves a state of the art result. Here is the evaluation script.

ModelSentiment AnalysisHate Speech TaskNews Topic TaskAverage
mBERT68.1552.3272.2764.25
Bengali Electra69.1944.8482.3365.45
Bangla BERT Base70.3771.8389.1977.13

We evaluated Bangla-BERT-Base with Wikiann Bengali NER datasets along with another benchmark three models(mBERT, XLM-R, Indic-BERT). Bangla-BERT-Base got a third-place where mBERT got first and XML-R got second place after training these models 5 epochs.

Base Pre-trained ModelF1 ScoreAccuracy
mBERT-uncased97.1197.68
XLM-R96.2297.03
Indic-BERT92.6694.74
Bangla-BERT-Base95.5797.49

All four model trained with transformers-token-classification notebook. You can find all models evaluation results here

Also, you can check the below paper list. They used this model on their datasets.

NB: If you use this model for any NLP task please share evaluation results with us. We will add it here.

Limitations and Biases

How to Use

Bangla BERT Tokenizer

from transformers import AutoTokenizer, AutoModel

bnbert_tokenizer = AutoTokenizer.from_pretrained("sagorsarker/bangla-bert-base")
text = "আমি বাংলায় গান গাই।"
bnbert_tokenizer.tokenize(text)
# ['আমি', 'বাংলা', '##য', 'গান', 'গাই', '।']

MASK Generation

You can use this model directly with a pipeline for masked language modeling:

from transformers import BertForMaskedLM, BertTokenizer, pipeline

model = BertForMaskedLM.from_pretrained("sagorsarker/bangla-bert-base")
tokenizer = BertTokenizer.from_pretrained("sagorsarker/bangla-bert-base")
nlp = pipeline('fill-mask', model=model, tokenizer=tokenizer)
for pred in nlp(f"আমি বাংলায় {nlp.tokenizer.mask_token} গাই।"):
  print(pred)

# {'sequence': '[CLS] আমি বাংলায গান গাই । [SEP]', 'score': 0.13404667377471924, 'token': 2552, 'token_str': 'গান'}

Author

Sagor Sarker

Reference

Citation

If you find this model helpful, please cite.

@misc{Sagor_2020,
  title   = {BanglaBERT: Bengali Mask Language Model for Bengali Language Understanding},
  author  = {Sagor Sarker},
  year    = {2020},
  url    = {https://github.com/sagorbrur/bangla-bert}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForMaskedLM
Ревизия весов
875aa80

0 моделей