демо
Полигон small — 9 476 993 параметра — работает в браузере как обычный JavaScript-движок вывода. Без сервера, без WebGPU, без WASM: тот же артефакт .dormouse, который загружает dormouse serve --export.
движок
- словарь — байты
- Токенизатора нет: промпт — это UTF-8 байты, и каждый символ — одно из 256 значений. Пишите что угодно — по-русски, код, бинарь — всё уже в словаре модели.
- линейное внимание KDA
- Гейт-дельта-правило, по одному байту за шаг, рекуррентное состояние переносится между байтами:
n_heads × head_dim²= 49 152 значения fp32 на слот итерации (196 КБ) — независимо от длины контекста. KV-кэша, который растёт, здесь нет. - блок с общими весами
- Один блок, четыре итерации: контроллер управляет плечами KDA, памятью Engram и экспертами на каждой итерации, а выход — среднее по итерациям. Параметры не умножаются на глубину.
- низкоранговые эксперты TSCT
- Три маршрутизируемых эксперта плюс один общий, всегда включённый; каждый — факторизация
U·diag(s)·Vᵀ. В артефакте факторы хранятся 2-битными тернарными кодами (четыре в байте), скейл лежит в заголовке; движок распаковывает их в fp32 при загрузке. - память Engram
- 25 000 строк на порядок по байтовым n-граммам порядков [2, 3, 4] — хэш FNV-1a, ширина 32, гейт в плечо памяти через жёсткий пол
min(w_mem, lam_max). 33% параметров модели, и это поиск в таблице, а не матричное умножение.
Проверено против питоновского эталона в tests/test_demo_engine.py: логиты движка совпадают с decode._step_logits с максимальной |Δlogit| 1.058e-6 на small (допуск 1e-4), и жадный байт совпадает на каждом префиксе.
запустить
загружаю движок…
температура 0 — это жадный выбор, правило самого демо; питоновский декодер его отвергает, а не приближает.
чем это не является
- полигон small на 9,5Mинструмент для A/B
- чат-ботнет SFT, нет шаблона чата
- dropless-путь top-k MoEmoe_topk = 0, плотная смесь
- тернарное ядро на GPUкоды распаковываются в fp32 при загрузке
- вычисления в bf16движок — плечо fp32
- быстрый путьодин поток, ~30M MAC/байт
Это модель, на которой в проекте гоняется A/B-протокол, а не релиз. Она предсказывает следующий байт; её никогда не дообучали на инструкциях, и здесь нет никакого утверждения о качестве языка. Что страница действительно показывает — это архитектуру: арифметика, которую считает питоновский тренер, — та же арифметика, которую считает этот движок; гейт выше и есть это утверждение, и он проверяется на каждом прогоне тестов. В артефакте лежат только веса; лосс, оптимизатор и шаг обучения живут в чекпоинте — это другой файл для другой задачи.
Веса — это артефакт .dormouse, который пишет dormouse export small --ckpt-name … --engram-dtype fp16; он весит 16,3 МБ (15,51 MiB), поэтому генерируется, а не коммитится. Измеренные числа, включая отозванные утверждения, — в разделе Status.