Views
No views yet
| Модель | Репозиторий | Positional Encoding | Attention |
|---|---|---|---|
| Базовая | llm-course-hw1 | ALiBi | GQA |
| RoPE | llm-course-hw1-rope | RoPE | GQA |
| MLA | llm-course-hw1-mla | RoPE | MLA |
| Параметр | Значение |
|---|---|
| Слоёв | 3 |
| Голов внимания | 4 |
| KV голов | 2 |
| Hidden dim | 96 |
| Intermediate dim | 256 |
| Vocab size | 1024 |
| Max seq len | 128 |
| Параметров | ~0.5M |
[EOS] — конец последовательности.| Модель | Train Loss | Val Loss |
|---|---|---|
| ALiBi | 3.496 | 3.490 |
| RoPE | 3.461 | 3.473 |
| MLA | 3.512 | 3.522 |
Заходит в барALiBi: Заходит в баре. Пока:- Ну что ты не могу внутьсячу?- Я не могу идешь!- Ну, сегодня я не могу сразу.
RoPE: Заходит в бар в кухни:- Папа, а вчера не знает, кто у тебя снова.
MLA: Заходит в барпарату. Слышал с пациенту:- Я тебе не папа, что я тебе, и с ним и говорит: - Мама, доктор, я не придется! - Ну и что, что это? - Да нет, ты мне, что у меня ведь я не понимаешь, что это я, что он у меня не знаю, что у тебя на кого?
1import torch
2from huggingface_hub import snapshot_download
3
4tokenizer = ByteLevelBPETokenizer.from_pretrained("zhanslu/llm-course-hw1")
5model = TransformerForCausalLM.from_pretrained("zhanslu/llm-course-hw1")
6model.eval()
7
8text = "Заходит в бар"
9input_ids = torch.tensor(tokenizer.encode(text)[:-1])[None, :]
10output = model.generate(
11 input_ids,
12 max_new_tokens=100,
13 eos_token_id=tokenizer.eos_token_id,
14 do_sample=True,
15 top_k=10
16)
17print(tokenizer.decode(output[0].tolist()))