Skip to content

Ночной отчёт (17 октября 2026) — что сделано, что работает, что честно не работает

Пользователь ушёл спать с задачей: «оптимизированный фреймворк + готовый чат-бот, с которым можно потрещать». Этот файл — честный статус на утро. Все числа замерены, логи в ~/logs/.

  1. Чат-бот работает: dormouse serve → OpenAI API → отвечает. Транскрипт: ~/logs/chat_transcript_v4.txt (и финальный v5 после SFT2).
  2. Фреймворк оптимизирован: 8 крупных фиксов за сутки, главный — ColRow-баг (−0.0428 BPB, крупнейшая A/B-победа в истории порта); fast-MSA Triton (12.5×); medium-калибровка 141.9M прошла чисто (BPB 3.14@2500, 16k tok/s).
  3. Честная граница качества: 141.9M byte-модель, ~1.5 часа обучения суммарно. Формат диалога выучен, простые ответы есть, сложные — нет. Это концепт-проверка, не «умный чат».

Что сделано за ночь (в порядке значимости)

Section titled “Что сделано за ночь (в порядке значимости)”
# что результат
1 ColRow 3-D баг найден, измерен, исправлен, флипнут в дефолт −0.0428 BPB (8.7× разброса, ноль пересечений сидов). Все прошлые прогоны шли с багом в 1/sqrt(d0) апдейта; A/B сравнимы между собой
2 MSA-вердикт на чистой базе TIE (3.0103 vs 3.0113) → выключен в b1 по правилу AGENTS 1.2; остаётся флагом для длинного контекста
3 Fast-MSA (Triton fused gather) 7.6 мс/вызов vs 95 (12.5×), overhead 7.0×→1.6×, VRAM вдвое меньше
4 Medium-калибровка 141.9M на реальном корпусе 6000 шагов, BPB 3.14@2500 (у 9.2M было 3.00@5000 — рецепт подтверждается на масштабе), 16k tok/s, 0 NaN
5 SFT-пайплайн целиком корпус (маркеры 0x01/0x02/0x03), prompt-masked CE, --init-from (веса pretrain→SFT), 17 тестов
6 Чат через OpenAI API dormouse serve + 3 бага найдено и починено вживую: генератор на CPU (crash), stop-байт (мусор после ответа), шаблон промпта (User:/Assistant: ≠ 0x01/0x02 — главная причина шума)
7 Engram-RAM GPU-смок зелёный: host-обновления работают, loss падает
8 SFT v2 GENERIC_QA 30→63 пар (identity, арифметика, terse-стиль EN+RU), 4000 шагов с 256 code/math задачами

Как запустить (когда проснёшься)

Section titled “Как запустить (когда проснёшься)”
Terminal window
cd /home/sehaxe/dormouse/port
# чат-сервер на SFT-модели (уже может быть запущен):
uv run --extra gpu dormouse serve medium --ckpt-name sft2 --out-dir checkpoints/sft --port 3783
# и в другом терминале — потрещать:
curl -s -X POST http://127.0.0.1:3783/v1/chat/completions -H 'Content-Type: application/json' \
-d '{"model":"sft2","messages":[{"role":"user","content":"What is 2+2?"}],"max_tokens":64}'

Или из opencode: провайдер openai, base_url http://127.0.0.1:3783/v1 (когда настроишь).

Честные ограничения (почему не «умный»)

Section titled “Честные ограничения (почему не «умный»)”
  • Модель 141.9M, byte-level, училась ~50 мин pretrain + ~10 мин SFT. Для сравнения: чат-класс — от 0.5B и дни обучения.
  • SFT-корпус крошечный (~500 записей): выучен формат, не знания.
  • Следующий шаг качества — b1 (1.07B, в 7.5× больше) + длинный SFT; b1-рецепт готов, scripts/run_b1.sh ждёт решения.
  • «Настоящий чат» = b1 + SFT на большом корпусе + RLVR (код есть).

ФИНАЛ НОЧИ (06:05) — числа

Section titled “ФИНАЛ НОЧИ (06:05) — числа”

Medium pretrain, 40 000 шагов (полный прогон ночи):

шаг eval BPB
2 500 3.140
12 000 2.764
30 000 2.627
40 000 2.5407

2.54 — ниже всех пятиграммных якорей (2.572-2.911): medium обогнал 5-граммную статистическую модель — первый порт-прогон, который это сделал на честном окне. 18.3k tok/s, 0 NaN, ~1.6 эпохи корпуса.

SFT v4 (3000 шагов от длинного medium) готов; dormouse serve отвечает. Транскрипт: ~/logs/chat_transcript_v8.txt — правильные ответы появились («Are you a human?» → «no»; «What can you not do?» → «I am small: long reasoning…»), но маршрутизация вопрос→ответ ещё путается: 141.9M byte-модель + ~500 SFT-пар.

Ночная корректировка (02:30): честная причина слабых ответов

Section titled “Ночная корректировка (02:30): честная причина слабых ответов”

SFT v1/v2/v3 показали: модель выучивает формат, но путает инструкции (ответ на «Who are you?» приходит на «What can you not do?»). Это не баг пайплайна — это pretrain-бюджет: medium видел 6000 шагов × 6144 Б = 37 MB = 0.19% корпуса. Базовые языковые способности не сформированы, SFT на ~500 парах их не создаёт.

Запущено: длинный medium-resume (steps=40000, ~4-5 часов, к 7-8 утра ~40k шагов ≈ 1.6 эпохи корпуса, loss уже 1.34@7500). Утром: SFT заново от него → serve → финальный транскрипт.

Что дальше (предложение)

Section titled “Что дальше (предложение)”
  1. Утром: транскрипт v8 на новом SFT — сравни с v4-v7 в ~/logs/chat_transcript_*.txt.
  2. Решить: запускать ли длинный b1-прогон (4-11 дней GPU; runbook готов scripts/run_b1.sh).
  3. Compile-прогрев b1 — не доделан (остановлен ради SFT; кэш частичный).