Z-System-ZBorn / README.md
GermannM's picture
Карточка: кривая коллапса (честные измерения)
5903dd9 verified
|
Raw
History Blame Contribute Delete
5.39 kB
---
license: mit
language:
- en
tags:
- z-system
- born-in-z
- low-rank
- svd
- cpu
- tiny-model
library_name: pytorch
pipeline_tag: text-generation
---
# Z-Born 4.5M — рождённая в Z
**Z-Born** — первая модель **Z-системы**, которая **родилась в Z-форме**: с рождения
обучалась в факторизованном виде `W = U·S·Vᵀ`, а не была сжата постфактум.
Это 4.5 миллиона параметров, которые работают на CPU и пишут связный английский.
> **Born in Z, not compressed post-hoc.** Collapse (truncation to rank k) is a
> physical process with its own laws; a network trained from birth in factored
> form is collapse-immune by construction.
## Архитектура
1-layer tanh RNN в факторизованной форме:
```
Wx = Ux · diag(Sx) · Vxᵀ (ранг k=32)
Wh = Uh · diag(Sh) · Vhᵀ (ранг k=32)
h_t = tanh(x_t·Wx + h·Wh + b)
head: Linear(2048 → 2048 BPE-токенов)
```
- `v = 2048` BPE-токенов, `hid = 2048`, ранг `k = 32`
- Стоимость шага `O(hid·k)`, а не `O(hid²)` — широкий скрытый слой бесплатен
- **4 462 656 параметров** (fp32: 17 MB)
## Обучение
- Корпус: WikiText-2 + WikiText-103 + TinyStories (~876M токенов), BPE-2048
- 300 000 шагов, CPU, 35.7 часа
- Рождена в Z-форме: параметры U, S, V с рождения (QR-инициализация, спектр 1.0→0.3)
## Качество (честно)
| метрика | значение |
|---|---|
| val NLL (смешанный корпус) | 3.974 (ppl 53.2) |
| TinyStories NLL | 2.148 (ppl 8.57) |
| параметров | 4.46M |
Пример генерации (CPU, ~0.1 с/токен):
> Once upon a time, a little bird named Benny. Molly was not so happy. He loved
> to play with her toys and watch the park. The lady was sorry to always
> remembered a special day...
## Быстрый старт
```bash
pip install torch tokenizers
python demo.py "Once upon a time"
python demo.py "The meaning of life is"
```
## Файлы
| файл | что это |
|---|---|
| `zborn.pt` | веса модели (torch, `{'model': state_dict, 'meta': {...}}`) |
| `tokenizer.json` | BPE-токенизатор (tokenizers) |
| `demo.py` | живой чат на CPU (самодостаточный) |
| `meta.json` | метаданные обучения |
## Ограничения (честно)
- Это **4.5M параметров** — не ассистент общего назначения. Это модель-исследование:
доказательство, что маленькая модель, рождённая в факторизованной форме, даёт
связную генерацию на CPU.
- Обучалась на 876M токенов — знания узкие, факты из учебников отсутствуют.
- Не настроена на диалог (instruction tuning не проводился).
- Код чат-демо — минимальный (top-k + repetition penalty), без стриминга.
## Z-система
Z-Born — продукт **Z-системы** (z-system): физики информационных объектов.
Нейросетевые матрицы раскладываются через SVD на направления (U, V), масштабы (S)
и обрезание спектра до ранга k — «коллапс». Модель, рождённая в этой форме,
**использует весь свой ранг** (см. кривую коллапса) и не требует пост-фактум
сжатия. В репозитории Z-системы — законы повреждения, спаривания, термодинамика
спектра, телепортация (Z-поток).
### Кривая коллапса (измерено, val NLL)
| rank | NLL | ppl |
|---|---|---|
| 32 (база) | 4.003 | 54.8 |
| 24 | 5.447 | 232 |
| 16 | 6.346 | 570 |
| 8 | 7.648 | 2096 |
| 4 | 8.070 | 3197 |
| 16 + лечение (400 шагов) | 5.210 | 183 |
Честное чтение: усечение ранга дорого — модель использует все 32 направления
(спектр S после обучения плоский, без хвоста). Лечение (дообучение на усечённом
ранге) возвращает ~49% ущерба за 400 шагов. Плотный counterfactual (dense RNN,
SVD-усечение) в работе — сравнение наклонов кривых на 200M-паре.
Связанный проект — **Kenga** (github.com/GermannM3/kenga-lang): язык программирования
для живого ИИ (Prophet-память, тензоры, свой decoder, C99-бутстрап без Rust).
Z даёт физику внутренней структуры модели, Kenga — среду, в которой модель живёт.
Проекты развиваются независимо; объединение — отдельный эксперимент.
© Герман Янтарас. MIT.