|
|
--- |
|
|
tags: |
|
|
- casual-lm |
|
|
- russian |
|
|
- transformers |
|
|
- jokes |
|
|
license: mit |
|
|
language: |
|
|
- ru |
|
|
--- |
|
|
|
|
|
# 🤡 Русская LLM-модель для генерации анекдотов |
|
|
|
|
|
Модель обучена с нуля на архитектуре Transformer (small, 12 слоёв, 12 голов, 768 hidden) на корпусе русских анекдотов. |
|
|
|
|
|
## 📐 Архитектура |
|
|
|
|
|
- 12 слоёв, 12 attention-голов |
|
|
- 768 скрытых признаков, 2048 в FFN |
|
|
- RMSNorm + SwiGLU |
|
|
- ALiBi positional bias |
|
|
- Byte-level BPE токенизация |
|
|
|
|
|
## 📚 Датасет |
|
|
|
|
|
Датасет: [IgorVolochay/russian_jokes](https://huggingface.co/datasets/IgorVolochay/russian_jokes) |
|
|
Модель обучалась на русскоязычном корпусе анекдотов. |
|
|
Примеры: |
|
|
|
|
|
- Штирлиц заходит в бар... |
|
|
- Мужик приходит к доктору... |
|
|
- Вовочка отвечает на уроке... |
|
|
|
|
|
## 🧠 Обучение |
|
|
|
|
|
- Всего шагов: **50,000** |
|
|
- Оптимизатор: AdamW, learning rate: `3e-4` |
|
|
- Потери: |
|
|
- training loss: ~2.5 |
|
|
- validation loss: ~2.6 |
|
|
|
|
|
## 🧪 Примеры генерации |
|
|
|
|
|
```python |
|
|
prompts = ["Штирлиц", "Мужик", "Доктор", "Студентка", "Вовочка"] |
|
|
for prompt in prompts: |
|
|
input_ids = tokenizer(prompt, return_tensors="pt").input_ids |
|
|
output = model.generate(input_ids, max_new_tokens=100) |
|
|
print(tokenizer.decode(output[0])) |