| --- |
| 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. |
|
|