art bigram-language-model text-generation en be license:mit region:us
---
license: mit
language:
- en
- be
inference: false
tags:
- art
- bigram-language-model
- text-generation
---

# beLLM

## Model Description
The beLLM or `belarusian Large Language Model (LLM)` is a pretrained generative language model for the Belarusian language. It is based on the previous work
of [RuPoemGPT](https://github.com/gromdimon/ml-random/tree/master/rupoemgpt). The model was trained on a collection of belarusian poems and prose, which
were collected from different sources.

For more information about beLLM, please refer to [github-repo](https://github.com/gromdimon/beLLM).

### Intended Use
This model is intended for natural language generation tasks, such as creative writing assistance or text completion.

### Limitations and Bias
The model was trained just on 10mb of data, so it's very biased and very limited.

## Training and Evaluation Data
The dataset was collected from different sources and manually preprocessed. It contains over 9.5 million characters and is available on the [github-repo](https://github.com/gromdimon/beLLM). The dataset includes the following sources:

- [Belaruskaja Palichka](https://knihi.com/)
- [Ejka](https://ejka.ru/)
- [LitBel](https://lit-bel.org/)
- [RuLit](https://www.rulit.me/)
- [Stihi.by](https://stihi.by/)
- [BelSputnik](https://bel.sputnik.by/)

Some of the authors included in the dataset:
- Maxim Tank (Максім Танк) 
- Yanka Kupala (Янка Купала)
- Yakub Kolas (Якуб Колас)
- Maxim Bogdanovich (Максім Багдановіч)
- Vasyl Bykov (Васіль Быкаў)
- Francishak Bagushevich (Францішак Багушэвіч)
- Yanka Bryl (Янка Брыль)

### Training Procedure
Hyperparameters for the training included:

```
# # Hyperparameters
BATCH_SIZE = 32  # how many independent sequences will we process in parallel?
BLOCK_SIZE = 256  # what is the maximum context length for predictions?
MAX_ITERATIONS = 10000
EVALUATION_INTERVAL = 500
LEARNING_RATE = 4e-4
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
EVALUATION_ITERATIONS = 200
NUMBER_OF_EMBEDDINGS = 512
NUMBER_OF_HEADS = 8
NUMBER_OF_LAYERS = 8
DROPOUT = 0.0
# -----------
```

After every 2000 epochs the weights were saved. You can find them in this repo. Every model has the following semantics: "model_<number_of_epochs>".

### Evaluation Results
Currently the latest `model_9999.pt` can make following generations:

```
Хапаць, дзе к попле можна
Займаць зрабіць.
Так маўчаў кашлянуць, зноў барадучыся словы, зноў трагічна і шум пачаў упалы, як дрыготкімі вушамі.
Габрыня пацалавала Ганна лаючася:
– Зноў не знаёмую, за штаб мне кашлянулася, што будзе член такі рэч, на колішняй Нёмане! Як трэба дагледзець кожным? Што з табой: вялікі год кашляніць будуць, колькі Яўхіма! Ну што ж, колькі хітры! І не горш за ўсіх! Хадзіць на вуліцы – нясіць ды, за важней! Заявіць – конь бароўскі, дахаты!.. Пад Куранятком!
– Го-га, дзела хадзіць па хатах! – Яўхім свой, жвавы, запярэчыла Яўхіма.
– Няма начы! Не трэба ведаць нікому! – неахвотна засмяялася за Зайчыка. – Пакуль не пішаш! На добры малы чалавек!
Ніякі нячас, канешне, чакаў маладых панылы дыялектар, у Петрака, вячэрам, у турме які яго раней.
«Э-е, аднак! Не, не ведаю, якая чаго гэта яна».
— А ты, хлопец, кажа! Хлопчыкі, хлопчыкі! От хлопчыкі!
— Гэта ўжо толькі добра ведаюць, што. Найшла сушчэня і на гарышчы месяцяцца ўволю, ці славакі турмаюць?
— Пад бокам, — скамандаваў ката, — прадаваў Брык.
Апошняя нібы набок ад яго ці здурнела, быццам адчуваючы сябе чаканне нешта сваім, хоць яна гаварыла.
Дзёмчыхі неўпрыкмет пагорквалі з вачэй сетку. Ён магла дастаць з роспаччу астраўкаю трохпрыбы любіў адным ліхам, заслугачу было такое, што ж была пры сабе Лена такая грамада, якімі былі бліжэй да ўсіх магіл часам дабраўся.
— А хіба ён жа смуглы? — спытала яна.
— Выглядаў бы, каб аб нашым такім ваенным час ісці стаў і маладзіца не чапала. Толькі лапамі ўжо зусім недадзеленым быў незразумелы, але калі на Івана зноў кароценька прасіла.
— Вось што, барыс падкінуў? — спытаўся нарэшце, як змоўкла з вераспіскай у кішэню, прыпаўшы: — Выходзіць яна ўжо няма для яе! Годзе за бацьку. Ідзіце, a людзі стараліся бацькамі. Высадзіце, што ўсе роўныя!
Яна лёгенька штанула: Джулія дагоніць — барадаты ад шмат штабе чалавекі. Яна ісці маці не дагоніць, а яна не адчулася. Ён баяўся збірацца ў горад. Дзяўчыны яшчэ больш не былі, каб у печы, вядома, ніколі, яна не гаварыла. Ніколі
```

## Usage
For usage and other information, please refer to [github-repo](https://github.com/gromdimon/beLLM).

## Source and Contributions
This model was developed by [Dzmitry Hramyka](https://github.com/gromdimon). Contributions and feedback are welcome.


