The model was developed as part of a DL course at HSE university. The task was to create a model capable of generating anecdotes in Russian. This involved writing a tokenizer and implementing Byte Pair Encoding (BPE), followed by building a custom Transformer model. The model incorporates SwiGLU activation functions, Grouped Query Attention for optimization, and ALiBI positional embeddings. It was then trained on a dataset of Russian anecdotes.
Tokenizer consists of 2048 tokens. Model window is 256 tokens.
The training resulted in a validation cross-entropy loss of 1.25
Generated examples:
- nano: Американец, немец и русский, чего-то возл, если сделать самолете помнить сврезованной взвещает не помнишь, стояло у тебя в телесть порузчарка, а пойдет, нашее выходить убед в сыном доного в половил респалось?- Да вы все время, я пеpвого можно, упадай, как подает новостикамано, соверлив.Муж: конотдала добарков, провозд� стола с ставляются!
- mini: Американец, немец и русский, решил деньги на уши для чистить. Только вкусный смешный наркотик, спрашивает его:- Величий день.- Ну как?! А почему ты человеческий?
- small: Американские бомжит выставляете помогает сидят теща. Понимают, что у вас доказаться. Один пока немцы умные дешевают. - Серьезные, кому выпил.
usage: Right now I suppose only snapshot_download from huggingface_hub works. After that:
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path)
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs)
Or you can just use .safetensors weights wherever you want.
Small model metrics:
