File size: 3,504 Bytes
f879d3b
 
 
 
 
 
 
 
 
 
 
 
 
 
0d03a36
 
88c16fe
 
0d03a36
 
 
 
 
 
 
75b6f80
0d03a36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f879d3b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
---
license: apache-2.0
language:
- ru
base_model:
- Qwen/Qwen2.5-0.5B-Instruct
pipeline_tag: text-generation
tags:
  - tool-use
  - function-calling
  - recurrent-depth
  - qwen2
  - russian
---
# assistant8

https://github.com/RUD9/Grimoire

**Compact Dual Dynamic LLM** — обучен скриптом `build_neuroset.py`.

| | |
|---|---|
| параметров | **35.85M** (35,849,352) |
| архитектура | d_model=896, heads=14x64, base_layers=1, depth=8 |
| словарь | 11264 (coverage, покрытие 99.84%) |
| обучение | 08:00:00 |
| val loss | 2.5465 |
| val ppl | 12.76 |
| best val | 2.5078 |
| данных | 65,490 сэмплов / 40,030,505 токенов |

![loss](loss_curve.svg)

## Демо

```
usr> привет бро
agt> Привет! Я на связи. Чем могу помочь?

usr> посчитай: 50 - 18
agt> <tool_call>
{"name":"calculate","arguments":{"expression":"50 - 18"}}
</tool_call>

<tool_response>
{"content":"32"}
</tool_response>Итого: 32.

usr> поищи столицу франции
agt> <tool_call>
{"name":"web_search","arguments":{"query":"столица Франции"}}
</tool_call>

<tool_response>
{"content":"Франция , официальное название — Французская Республика — трансконтинентальное государство, включающее основную территорию в Западной Европе и ряд заморских регионов и территорий в разных частях света. Столица и крупнейший город — Париж. Площадь — 623 459 квадратных километров."}
</tool_response>По вики: Франция — греческая версия, входит как административная территориальная единица, входит как административная территория, включая

usr> сколько будет 2 * 2
agt> <tool_call>
{"name":"calculate","arguments":{"expression":"2 * 2"}}
</tool_call>

<tool_response>
{"content":"4"}
</tool_response>Итого: 4.

usr> расскажи коротко о Москве
agt> <tool_call>
{"name":"web_search","arguments":{"query":"Спасибо"}}
</tool_call>

<tool_response>
{"content":"Спасибо — вежливое слово, употребляемое для выражения благодарности. Также может означать:"}
</tool_response>Из вики: Сахи — отрица, веб — уважительное, село и село.
```

## Чат

```bash
python build_neuroset.py --mode chat --run runs/assistant8
```

## Бенч

```bash
python build_neuroset.py --mode bench --run runs/assistant8
```

## Файлы

- `checkpoints/final.pt` — веса (fp16)
- `checkpoints/best.pt` — лучшая валидация
- `checkpoints/last.pt` — полное состояние для `--resume`
- `compact_vocab.pt` — compact-словарь (те же ключи, что в вашем проекте)
- `tokenizer/` — токенизатор
- `metrics.jsonl` — кривая обучения
- `demo.txt` — примеры генерации

> Модель крошечная и обучена за ограниченное время — это демонстрация работоспособности
> архитектуры, а не качества уровня Qwen.