longtimedevs commited on
Commit
cbccfd9
·
verified ·
1 Parent(s): d01bbc9

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +145 -31
README.md CHANGED
@@ -1,55 +1,169 @@
1
  ---
 
 
 
2
  language:
3
  - ru
4
- license: mit
5
  tags:
6
- - text-generation
7
  - llama
8
  - russian
9
- - instruct
10
  - small-language-model
11
  - sovereign-ai
12
- - chat
13
- pipeline_tag: text-generation
14
- widget:
15
- - text: "<|юзер|>\nПривет! Кто ты?\n<|юзерзакончил|>\n<|я_начал|>\n"
16
- example_title: "Приветствие"
17
- - text: "<|юзер|>\nКто такой слон?\n<|юзерзакончил|>\n<|я_начал|>\n"
18
- example_title: "Определение"
19
  ---
20
 
21
- # 🇷🇺 Ru-Small-Instruct (0.2B) — Суверенная русскоязычная модель-инструктор
22
 
23
- **Ru-Small-Instruct** — это сверхлегкая, независимая русскоязычная языковая модель на архитектуре LLaMA (~0.2B параметров), обученная **с нуля (Zero-Fingerprint)** на локальном оборудовании без заимствования весов у чужих корпоративных моделей.
 
 
24
 
25
- Модель прошла полный цикл разработки: обучение собственного BPE-токенизатора, фундаментальное чтение открытых русскоязычных энциклопедий и новостей (Pre-training) и диалоговая огранка на решение задач (Instruction Tuning / SFT).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
- 🌐 **Официальный сайт автора и проекта:** [https://long-time.ru](https://long-time.ru)
 
 
 
 
 
 
 
 
28
 
29
- ---
 
 
 
30
 
31
- ## ⚙️ Характеристики Ru-Small-Instruct
 
32
 
33
- * **Название модели:** Ru-Small-Instruct
34
- * **Архитектура:** LLaMA (`LlamaForCausalLM`)
35
- * **Количество параметров:** ~165M – 200M (~0.2B по классификации Hugging Face)
36
- * **Размер словаря (Vocab):** 28 672 токена (кастомный BPE ByteLevel для чистого русского языка)
37
- * **Контекстное окно:** 450–512 токенов
38
- * **Тип данных:** `bfloat16` / `float16`
39
- * **Нативные управляющие теги диалога:**
40
- * `<|юзер|>` — начало реплики пользователя
41
- * `<|юзерзакончил|>` — завершение реплики пользователя
42
- * `<|я_начал|>` — начало ответа модели
43
- * `<|я_закончил|>` — системный маркер завершения генерации (EOS)
44
 
45
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
- ## 💬 Формат диалога (Chat Template)
48
 
49
- Для получения корректных и связных ответов подавайте запрос с переносами строк `\n` вокруг тегов:
50
 
51
  ```text
52
  <|юзер|>
53
- Ваш вопрос или задача
54
  <|юзерзакончил|>
55
  <|я_начал|>
 
1
  ---
2
+ license: mit
3
+ library_name: transformers
4
+ pipeline_tag: text-generation
5
  language:
6
  - ru
 
7
  tags:
 
8
  - llama
9
  - russian
 
10
  - small-language-model
11
  - sovereign-ai
12
+ - text-generation
13
+ - instruct
 
 
 
 
 
14
  ---
15
 
16
+ # Ru-Small-Instruct (0.2B): Sovereign Lightweight Language Model
17
 
18
+ <!-- markdownlint-disable first-line-h1 -->
19
+ <!-- markdownlint-disable html -->
20
+ <!-- markdownlint-disable no-duplicate-header -->
21
 
22
+ <div align="center">
23
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 240" width="85%" style="border-radius: 18px; box-shadow: 0 12px 36px rgba(0,0,0,0.35);">
24
+ <defs>
25
+ <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
26
+ <stop offset="0%" stop-color="#0b0f19" />
27
+ <stop offset="50%" stop-color="#111827" />
28
+ <stop offset="100%" stop-color="#030712" />
29
+ </linearGradient>
30
+ <linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
31
+ <stop offset="0%" stop-color="#38bdf8" />
32
+ <stop offset="50%" stop-color="#818cf8" />
33
+ <stop offset="100%" stop-color="#c084fc" />
34
+ </linearGradient>
35
+ <linearGradient id="glowGrad" x1="0%" y1="100%" x2="100%" y2="0%">
36
+ <stop offset="0%" stop-color="#3b82f6" stop-opacity="0.2" />
37
+ <stop offset="100%" stop-color="#8b5cf6" stop-opacity="0.0" />
38
+ </linearGradient>
39
+ </defs>
40
+
41
+ <rect width="900" height="240" fill="url(#bgGrad)" rx="18" />
42
+ <rect width="900" height="240" fill="url(#glowGrad)" rx="18" />
43
+
44
+ <!-- Сетка нейросети -->
45
+ <g opacity="0.12" stroke="#38bdf8" stroke-width="1.2">
46
+ <line x1="120" y1="40" x2="200" y2="100" />
47
+ <line x1="200" y1="100" x2="140" y2="180" />
48
+ <line x1="200" y1="100" x2="280" y2="80" />
49
+ <line x1="280" y1="80" x2="360" y2="150" />
50
+ <line x1="720" y1="50" x2="780" y2="120" />
51
+ <line x1="780" y1="120" x2="840" y2="70" />
52
+ <line x1="780" y1="120" x2="810" y2="190" />
53
+ <circle cx="120" cy="40" r="4" fill="#38bdf8" />
54
+ <circle cx="200" cy="100" r="5" fill="#818cf8" />
55
+ <circle cx="140" cy="180" r="4" fill="#38bdf8" />
56
+ <circle cx="280" cy="80" r="4" fill="#c084fc" />
57
+ <circle cx="780" cy="120" r="5" fill="#38bdf8" />
58
+ </g>
59
 
60
+ <!-- Заголовок -->
61
+ <text x="450" y="96" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" font-size="44" font-weight="800" fill="url(#accentGrad)" letter-spacing="1.5">
62
+ Ru-Small-Instruct
63
+ </text>
64
+
65
+ <!-- Подзаголовок -->
66
+ <text x="450" y="142" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" font-size="18" font-weight="500" fill="#94a3b8" letter-spacing="3">
67
+ 0.2B ZERO-FINGERPRINT SOVEREIGN LANGUAGE MODEL
68
+ </text>
69
 
70
+ <!-- Бейджики внутри баннера -->
71
+ <g transform="translate(290, 172)">
72
+ <rect x="0" y="0" width="90" height="28" rx="6" fill="#1e293b" stroke="#334155" stroke-width="1"/>
73
+ <text x="45" y="18" text-anchor="middle" font-family="sans-serif" font-size="12" font-weight="600" fill="#38bdf8">LLaMA 0.2B</text>
74
 
75
+ <rect x="104" y="0" width="105" height="28" rx="6" fill="#1e293b" stroke="#334155" stroke-width="1"/>
76
+ <text x="156.5" y="18" text-anchor="middle" font-family="sans-serif" font-size="12" font-weight="600" fill="#818cf8">Context 512</text>
77
 
78
+ <rect x="223" y="0" width="95" height="28" rx="6" fill="#1e293b" stroke="#334155" stroke-width="1"/>
79
+ <text x="270.5" y="18" text-anchor="middle" font-family="sans-serif" font-size="12" font-weight="600" fill="#34d399">Pure Russian</text>
80
+ </g>
81
+ </svg>
82
+ </div>
 
 
 
 
 
 
83
 
84
+ <hr>
85
+
86
+ <div align="center" style="line-height: 1;">
87
+ <a href="https://long-time.ru" target="_blank" style="margin: 2px;">
88
+ <img alt="Homepage" src="https://img.shields.io/badge/🌐%20Website-long--time.ru-0284c7?color=0284c7&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
89
+ </a>
90
+ <a href="https://huggingface.co/models?search=Ru-Small-Instruct" target="_blank" style="margin: 2px;">
91
+ <img alt="Hugging Face" src="https://img.shields.io/badge/🤗%20Hugging%20Face-Ru--Small--Instruct-ffc107?color=ffc107&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
92
+ </a>
93
+ <a href="LICENSE" style="margin: 2px;">
94
+ <img alt="License" src="https://img.shields.io/badge/License-MIT-10b981?color=10b981&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
95
+ </a>
96
+ </div>
97
+
98
+ <p align="center">
99
+ <a href="https://long-time.ru"><b>Project Home & Development Details</b> 🚀</a>
100
+ </p>
101
+
102
+ ## Introduction
103
+
104
+ **Ru-Small-Instruct** — компактная русскоязычная модель класса **SLM (Small Language Model)** с объемом параметров ~0.2B (~165M). Разработана с упором на суверенность весов (Zero-Fingerprint): модель обучена с нуля без заимствования базовых чекпоинтов у корпоративных моделей (Llama 3, Qwen, Mistral).
105
+
106
+ Модель предназначена для локального исполнения на маломощном оборудовании, CPU, мобильных чипах и в микросервисной архитектуре, где критичны нулевая задержка (Time-To-First-Token) и отсутствие лицензионных ограничений.
107
+
108
+ **Архитектура и характеристики:**
109
+ * **Архитектурный базис:** модифицированная авторегрессионная архитектура LLaMA (`LlamaForCausalLM`).
110
+ * **Параметризация:** 16 слоев внимания, скрытый размер `hidden_size = 896`, промежуточный слой `intermediate_size = 2560`, 14 attention-голов (Grouped Query Attention с 2 KV-головами для экономии VRAM).
111
+ * **Словарь и токенизация:** чистый BPE ByteLevel токенизатор на **28 672 токена**, обученный с нуля на репрезентативном русском корпусе.
112
+ * **Потребление ресурсов:** полный вес модели в `bfloat16` составляет **~330 МБ**, потребление видеопамяти при инференсе — **< 500 МБ VRAM**.
113
+
114
+ ## Architecture & Specifications
115
+
116
+ <div align="center">
117
+
118
+ | Спецификация | Значение | Описание |
119
+ | :--- | :---: | :--- |
120
+ | **Backbone Parameters** | ~165M – 200M | ~0.2B по каталогу Hugging Face |
121
+ | **Hidden Dimension ($d_{model}$)** | 896 | Размер латентного пространства |
122
+ | **Intermediate Dimension ($d_{ff}$)** | 2560 | Размерность слоев SwiGLU MLP |
123
+ | **Layers** | 16 | Глубина трансформерных блоков |
124
+ | **Attention Heads (Q / KV)** | 14 / 2 | Grouped-Query Attention (GQA) |
125
+ | **Context Length** | 512 | Окно внимания с поддержкой RoPE |
126
+ | **Vocab Size** | 28 672 | Чистый русский ByteLevel BPE |
127
+ | **Native Precision** | `bfloat16` / `float16` | Базовый формат хранения |
128
+ | **Special Chat Tags** | Custom Cyrillic | Нативная разметка без утечек английских токенов |
129
+
130
+ </div>
131
+
132
+ ## Training Recipe
133
+
134
+ ### 1. Pre-training (Фундаментальное чтение)
135
+ Модель прошла фундаментальное обучение с нуля на сбалансированном русскоязычном корпусе:
136
+ * **Энциклопедический блок:** срез русской Википедии (животные, естественные науки, география, история, космос).
137
+ * **Связанная речь и аналитика:** очищенные новостные тексты открытого корпуса «Газета».
138
+ * **Упаковка данных:** потоковая конкатенация токенов (Data Packing) с удалением паразитных паддингов.
139
+
140
+ ### 2. SFT & Alignment (Инструкционная доводка)
141
+ Для предотвращения галлюцинаций и сохранения фактологии проведена диалоговая огранка (Instruction Tuning) с маскированием пользовательского ввода:
142
+ * **Инвариантность к регистру:** устойчивость к строчным и заглавным запросам (`привет`, `Привет`, `ПРИВЕТ`).
143
+ * **Фактологическое якорение:** очистка от ложных ассоциаций (биологическая классификация, термины информатики).
144
+ * **Нативный диалоговый протокол:** управляющие маркеры `<|юзер|>`, `<|юзерзакончил|>`, `<|я_начал|>`, `<|я_закончил|>`.
145
+
146
+ ## Benchmark & Performance
147
+
148
+ Оценка производительности на локальном оборудовании (NVIDIA GeForce RTX, FP16/BF16):
149
+
150
+ <div align="center">
151
+
152
+ | Метрика | Значение |
153
+ | :--- | :---: |
154
+ | **Generation Speed (RTX Laptop / Desktop)** | **180 – 210 t/s** |
155
+ | **Memory Footprint (Inference)** | **~380 – 490 MB** |
156
+ | **Cold Start Time** | **< 0.15 s** |
157
+ | **Supported Hardware** | CUDA, Apple Silicon (MPS), CPU, Edge |
158
+
159
+ </div>
160
 
161
+ ## Prompt Encoding
162
 
163
+ Для получения точных и связных ответов структурируйте промпт с переносами строк:
164
 
165
  ```text
166
  <|юзер|>
167
+ Кто такой слон?
168
  <|юзерзакончил|>
169
  <|я_начал|>