🍅 EBLAN GPT 1984
Крошечная LLaMA-архитектура на 115K параметров, обученная на русском словаре словоформ.
Совместима с llama.cpp из коробки — архитектура llama, всё по спеке.
Это скорее демка того что можно обучить настоящий трансформер с нуля и экспортнуть в GGUF, чем полезная модель. Генерит морфологически правдоподобные псевдорусские слова.
Архитектура
| Параметр | Значение |
|---|---|
| Тип | LLaMA (RMSNorm + RoPE + SwiGLU + causal self-attention) |
| vocab | 256 (byte-level) |
| n_embd | 64 |
| n_layers | 2 |
| n_heads | 4 |
| head_dim | 16 |
| n_ff | 128 |
| context | 64 |
| параметров | 115,008 |
| размер | 468 KB (F32) |
Использование
llama.cpp
llama-completion -m eblangpt1984.gguf -p "программ" -n 200 --temp 0.7
Python (llama-cpp-python)
from llama_cpp import Llama
llm = Llama(model_path="eblangpt1984.gguf", n_ctx=64)
out = llm("программ", max_tokens=100, temperature=0.7)
print(out["choices"][0]["text"])
Пример вывода
Промпт программ при temp=0.7:
программою плапланную окоплежившему отмехальногичество
выконымпарваюшеннпруеках арлватлеганиа тууу стшнноурра маш
Модель поймала окончания русских слов (склонения, спряжения, причастия), но синтаксису и семантике не обучена — в датасете был только словарь, без связных предложений.
Обучение
Обучено на сабсете русского словаря словоформ (30 KB), 1000 шагов AdamW, batch=16, lr=3e-3. Лосс 5.7 → 0.89.
Код обучения: см. tiny_llama.py.
Переобучить на своих данных:
python tiny_llama.py train свой_текст.txt model.gguf 2000
Как улучшить
- Увеличить
N_EMBD=128,N_LAYERS=4,N_FF=256— будет ~1M параметров - Обучать на связной прозе (не только словарь) — появится хоть какая-то семантика
- Больше шагов (10K+) на большем датасете (несколько МБ)
Лицензия
Apache 2.0 — делай что хочешь.
- Downloads last month
- 36
We're not able to determine the quantization variants.