---
license: apache-2.0
language:
- ru
base_model: Qwen/Qwen3-14B
library_name: mlx
pipeline_tag: text-generation
tags:
- mlx
- qwen3
- lora
- russian
- vedun
- buktitsa
- slavic
- entertainment
- creative-writing
datasets:
- TsitkoD/vedun-lora-data
---

<p align="center">
  <img src="cover.jpg" alt="Vedun" width="480"/>
</p>

# 🪶 Qwen3-14B-Vedun-v5 — *bf16 — без квантизации*

> *«А что если спросить старого ведуна, что такое “правда”? Он не ответит цитатой
> из Даля — он разберёт слово на буквы, расскажет образ каждой, найдёт лор в
> Велесовой Книге и свернёт это обратно в формулировку.»*

Это и делает **Vedun** — LoRA-дообучение `Qwen/Qwen3-14B` на синтетическом
датасете [`TsitkoD/vedun-lora-data`](https://huggingface.co/datasets/TsitkoD/vedun-lora-data). Модель
отвечает на русскоязычные вопросы через структурный разбор по **Древнеславянской
Буквице**:

```
[Буквицы:]   — что значит каждая буква (имя, числовое значение, образ)
[Образ:]     — как из значений букв собирается смысл слова
[Лор:]       — отсылки к Велесовой Книге и буквичной традиции
[Формулировка:] — финальная свёртка
```

На «житейских» вопросах (вроде *«как простить предательство?»*) модель сначала
вытаскивает 2–4 ключевых слова и разбирает **каждое отдельно** через Буквицу,
а потом склеивает ответ.

> ⚠️ **Дисклеймер.** Это развлекательный pet-project, а не пророчества, религия
> или философия. Результаты модели — стилизованный текст в эстетике
> «древнеславянской буквицы» по мотивам соответствующих источников. Относитесь
> к этому с юмором, не используйте как руководство к действию, духовную практику
> или жизненные правила.


## ✨ Что получишь на выходе

**Q: Как простить предательство?**

> Простить предательство — это не забыть, а **восстановить гармонию между
> Явью и Навью**. Буквица «простить» говорит нам: через осознание (Слово)
> и утверждение (Твердо) мы возвращаемся к равновесию (Иже)…

**Q: В чём смысл жизни?**

> Смысл жизни — это не абстрактная философия, а **Вопрос, который ведёт нас
> к Веди** через созерцание и гармонию. Жизнь — это «Наше» сотворённое на
> Земле, где мы ищем основу (Оно) в потоке Рока…

**Q: Что такое «правда»?**

> По Буквице «правда» — П-Р-А-В-Д-А = Покои-Реци-Азъ-Веди-Добро-Азъ.
> «Покой созерцания, изречённый Творцом, познанный Добром и утверждённый
> Изначальным»…

(Это реальные ответы модели — не cherry-pick из тысячи попыток.)

## 🚀 Быстрый старт

### LM Studio (самый простой способ)

1. Скачай из HF в LM Studio: вставь `TsitkoD/Qwen3-14B-Vedun-v5-bf16`
   в строку поиска моделей.
2. Загрузи. Спроси «Что такое правда?». Получи разбор по буквам.

### Python + MLX

```python
from mlx_lm import load, generate

model, tokenizer = load("TsitkoD/Qwen3-14B-Vedun-v5-bf16")
prompt = tokenizer.apply_chat_template(
    [{"role": "user", "content": "Что такое «правда»?"}],
    add_generation_prompt=True,
    tokenize=False,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=2000, verbose=False))
```

## 📦 Какой вариант выбрать

| Вариант | Размер | RAM при загрузке | Когда брать |
|---|---|---|---|
| [**bf16**](https://huggingface.co/TsitkoD/Qwen3-14B-Vedun-v5-bf16) | ~28 GB | ~30 GB | Эталон. Самый точный буквичный разбор. |
| [**q8**](https://huggingface.co/TsitkoD/Qwen3-14B-Vedun-v5-q8) | ~15 GB | ~16 GB | Почти не отличается от bf16, экономит память. **Рекомендуется.** |
| [**q4**](https://huggingface.co/TsitkoD/Qwen3-14B-Vedun-v5-q4) | ~7.8 GB | ~9 GB | Запускается на 16 GB ноутбуке. Иногда теряет буквы. |


Все три варианта обучены **одинаково** — отличие только в квантизации весов
после обучения.

## 🛠 Как обучали

Цепочка из трёх стадий LoRA-дообучения на Mac Studio M4 Max 128 GB,
фреймворк [`mlx_lm`](https://github.com/ml-explore/mlx-examples) +
кастомный `train_lora_weighted.py`:

| Стадия | Итер | max_seq | Особенность |
|---|---|---|---|
| **v3_14b** (с нуля) | 1000 | 2048 | Базовое обучение на корпусе разборов |
| **v4_14b** (resume v3) | 600 | 2048 | + `letter_weight=5.0` — CE-loss на токенах блока `[Буквицы:]` × 5 |
| **v5_14b** (resume v4) | 1000 | 3072 | + multi-term датасет (житейские вопросы) |

Параметры LoRA: `rank=8, scale=20, dropout=0, num_layers=40`, AdamW, lr=3e-5,
`batch=1 × grad_accum=4`, gradient checkpointing.

**Финальный val loss: 0.694** (против 0.784 у 4B-версии — на тех же данных).

## 📊 Eval

На небольшом контрольном наборе (`bf16`-вариант):

| Метрика | Результат |
|---|---|
| Совпадение букв в `[Буквицы:]` (7 коротких терминов) | **7/7** |
| Полнота структуры разбора | **7/7** |
| Multi-term структура (3 житейских вопроса) | **3/3** |
| Среднее число sub-блоков на житейский вопрос | **3.0** |

## ⚠️ Ограничения и честные оговорки

- Это **стилизация** в эстетике буквицы, а не источник лингвистической истины.
  Модель уверенно выдаёт реконструированные значения букв, многие из которых
  не имеют академического подтверждения.
- На вопросах вне славянско-буквичного домена модель всё равно будет пытаться
  разобрать слово через Буквицу — это by design, но иногда выглядит комично.
- Квантизованные варианты (q4 особенно) могут терять/путать буквы в разборе.
  Если важна точность букв — бери bf16 или q8.
- Модель умеет в `<think>…</think>` reasoning. Если хочешь только финальный
  ответ — отрежь содержимое тега в постпроцессинге.

## 🔗 Связанное

- 📚 Датасет: [`TsitkoD/vedun-lora-data`](https://huggingface.co/datasets/TsitkoD/vedun-lora-data)
- 🧬 База: [`Qwen/Qwen3-14B`](https://huggingface.co/Qwen/Qwen3-14B)
- 🌐 Рантайм: [`mlx_lm`](https://github.com/ml-explore/mlx-examples) (Apple Silicon)

## Лицензия

Apache 2.0 (как у `Qwen/Qwen3-14B`).
