This model has been pushed to the Hub using the PytorchModelHubMixin integration:

  • Library: [More Information Needed]
  • Docs: [More Information Needed]

language: - ru license: mit tags: - text-generation - transformer - pytorch - causal-lm - russian datasets: - IgorVolochay/russian_jokes model_hub_mixin: true pytorch_model_hub_mixin: true

Russian Jokes Transformer Model

🃏 Нейросетевая модель для генерации русских анекдотов на основе архитектуры Transformer

Описание модели

Модель представляет собой Transformer с поддержкой современных техник:

  • ALiBi (Attention with Linear Biases) для позиционного кодирования
  • GQA (Grouped-Query Attention) для эффективного внимания
  • SwiGLU в feed-forward слоях
  • Byte-level BPE токенизация (размер словаря 1024)

Обучена на датасете Russian Jokes

Архитектура

Доступные конфигурации:

model_configs = {
    "nano": TransformerConfig(n_layer=3, n_head=4, n_kv_head=2, hidden_dim=96, intermediate_dim=256),
    "mini": TransformerConfig(n_layer=6, n_head=6, n_kv_head=3, hidden_dim=384, intermediate_dim=1024),
    "small": TransformerConfig(n_layer=12, n_head=12, n_kv_head=6, hidden_dim=768, intermediate_dim=2048),
}

Основные компоненты:

Токенизатор: Byte-level BPE с специальными токенами

Регуляризация: Dropout (0.1), RMSNorm

Оптимизация: AdamW с весом decay 0.01

Использование
Пример генерации текста:

from transformers import PyTorchModelHubMixin
from model import TransformerForCausalLM, ByteLevelBPETokenizer

# Загрузка модели и токенизатора
tokenizer = ByteLevelBPETokenizer.from_pretrained("ваш_username/llm-course-hw1")
model = TransformerForCausalLM.from_pretrained("ваш_username/llm-course-hw1")

# Генерация текста
text = "Штирлиц вышел из дома"
input_ids = tokenizer.encode(text)
output = model.generate(
    torch.tensor([input_ids]),
    max_new_tokens=100,
    eos_token_id=tokenizer.eos_token_id,
    temperature=0.7,
    do_sample=True
)
print(tokenizer.decode(output[0].tolist()))

Обучение
Параметры обучения:

Learning rate: 3e-4

Batch size: 16

Контекст: 128 токенов

Общее шагов: 10,000

Град клиппинг: 1.0

Инфраструктура:

Устройство: GPU (CUDA) / MPS / CPU

Репозиторий: HuggingFace Hub

Результаты
Метрики:

Средняя длина токенов на текст: ~70

Validation loss: ~3.77 (для конфигурации small)

Штирлиц пришел домойБел на банк и говорит:- Порщик, существом?- Мнее, а ты мне сейчас сегодня вечером?- Нет, я тебе волний стором. Там сейчас идутый вдруг, а нее...
Downloads last month
4
Safetensors
Model size
81.3M params
Tensor type
F32
·
BOOL
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support