#Описание модели: в качестве модели используют трансформер для генерации текста на русском языке, обученный на датасете русских анекдотов.
Реализация включает:
- Позиционные эмбеддинги: ALiBi (Attention with Linear Biases) для улучшения экстраполяции на длинные последовательности без фиксированных позиций.
- Механизм внимания: GQA (Group Query Attention) для оптимизации памяти и скорости.
- Feed-Forward блок: SwiGLU (Swish-Gated Linear Unit) для лучшей нелинейности и производительности по сравнению с классическим FFN.
#Задача: авторегрессионная генерация текста.
Модель генерирует продолжения анекдотов.
- Архитектура: model_configs = {"nano": TransformerConfig(n_layer=3, n_head=4, n_kv_head=2, hidden_dim=96, intermediate_dim=256)}
- Обучение: обучена на ~151k примерах русских анекдотов из IgorVolochay/russian_jokes. Использован Byte-level BPE токенизатор с vocab_size=1024.
- В режиме генерации (инференса, метод inference) модель принимает некоторый префикс, с которого начинать генерацию, и продолжает его. Для этого на каждом шаге генерируются новые логиты, семплируется новый токен (из распределения, заданного логитами), и процесс продолжается, пока не будет сгенерирован токенEOSили не будет достигнуто ограничение на длину последовательности.
#Примеры генерации.
Input: "Заходит в бар". Output: "Заходит в баре и говорит:- Ты мне такое, а как у вас нее у меня сегодня утра?- Нет.- Ну какой ты счастливо, но и не волны не восточная, я папа идем - дурака." (сгенерировано с top_k=10, temperature=1.0)
Input: "Я думаю". Output: "Я думаю, что он держит в маленький квартир, вчера в палате, а теперь сразу играет и дорогу с дружбы и не успел!" (сгенерировано с top_k=10, temperature=1.0)
Input: "Встречаются два друга:". Output: "'Встречаются два друга: - Скажите, что я быстрее.'" (сгенерировано с top_k=10, temperature=1.0)
- Downloads last month
- 27
