Bladeren bron

night report 2026-10-21/22 (in progress): dashboard fixes 1.3.0-1.3.3, recipe-relative hooks, TF 1.0.12 bring-up blocked with diagnosis, GLM-5.3 full MXFP4xFP8 lane staged

Alexander Korolev 1 dag geleden
bovenliggende
commit
ff00fa4d1a
1 gewijzigde bestanden met toevoegingen van 84 en 0 verwijderingen
  1. 84 0
      history/night-shifts/2026-10-22.md

+ 84 - 0
history/night-shifts/2026-10-22.md

@@ -0,0 +1,84 @@
+# Night shift 2026-10-21 → 22 — отчёт
+
+Стенд dgx5–8 (по указанию оператора), прод dgx1–4 не трогали.
+
+## 1. Баги из дашборда — исправлены и выпущены
+
+**Панель рецептов держала лейны «активными» после остановки.** Причина: строки
+пересобирались только по событиям файлов в `reports/` и `recipe.toml`, а
+`serve`/`stop` пишут `.lock` (леджер) — он не считался релевантным. Плюс флаги
+`stale`/`fleet_up` выставлялись навсегда.
+
+- `.lock` теперь триггерит пересборку; 30-секундный тик сверяет «up»-множество
+  строк с леджером и пересобирает при расхождении;
+- флаги пересчитываются каждый проход (в т.ч. `fleet_up` на аддоне, где леджера
+  нет вообще — раньше он замирал после первого прохода).
+- Проверено вживую: подсунутый открытый run → оранжевый `stale`; `runlock
+  close` → строка исчезает на следующем тике. Релиз **1.3.3**.
+
+**Ресайз окна лога.** Жест умирал при пересечении iframe-панели рецептов (iframe
+становится целью pointer-событий). `drag()` теперь берёт pointer capture —
+работает и рост, и перенос. Релиз **1.3.1**.
+
+**Host-скрипты переехали в репозиторий рецептов.** `before_serve`/`after_stop`
+принимают `{ script = "scripts/prepare.sh" }` — путь относительно каталога
+рецепта (абсолютные и `..` запрещены). `tensorfold_1017_prepare` стал
+`recipes/dsv41-flash-1017-2x-tensorfold/scripts/prepare.sh`. Попутно: хуки
+получают **serve-local** `NODE_RANK` (на subset-запуске отдавали конфиг-ранг —
+паки строились для ранга 2/3 в 2-ранговом движке), `bench` понимает
+TensorFold-овский `--name`.
+
+**Чейнджлог аддона** — `sm121/CHANGELOG.md` (HA показывает секцию установленной
+версии); правило «каждый бамп = своя секция» в AGENTS.md. Релизы 1.3.0 → 1.3.3.
+
+**Дисциплина мониторинга** (по замечанию оператора) — раздел в AGENTS.md: не
+`sleep 600; check`, а фоновый запуск + короткий поллинг в том же вызове с
+выходом на первом `Error:`/`FATAL`.
+
+## 2. Дневной ресерч — главное
+
+**TensorFold ушёл далеко вперёд.** Наш рецепт пинит TF **0.6.0**; публичная
+семья — **1.0.12 / 1.2.4** (нативный Zig-движок) с 2- и 4-нодовыми рецептами,
+kept-prompt reuse, wide copy windows, точным DSpark.
+
+**RedHatAI/GLM-5.3-MXFP4xFP8** (21-е): полный GLM-5.3 (не Flash), 78 слоёв,
+`GlmMoeDsaForCausalLM`, ~4.5 бита/пар, **415.4 GB**, 1M окно. В карточке —
+TP8; у нас TP4 = ~97 GiB весов на ранк.
+
+**local-inference-lab открыл GitHub**: `blackwell-llm-docker` (образы
+`voipmonitor/sglang:cu130|cu132`, `voipmonitor/vllm:vllm-b12x-cu132`,
+`voipmonitor/vllm:lucifer` — b12x + FlashInfer из исходников, CUDA 13.2),
+форк `flashinfer`, `llm-inference-bench`.
+
+**Форум, новое**: 386130 «RAIDFLASH: 2.5× decode on 2×GB10 GLM-5.3-Flash
+(TensorFold)» — слой параллельных страйпов поверх TF 0.6.0 (разбивает длинный
+ответ на k полос, собирает): 49 → 110–200 tok/s на одном пользователе,
+но это про длинную генерацию, не про агентский ход (целостность между полосами
+под вопросом — см. #4 в треде). 386108 (GLM-5.3-Flash-FP4-Local + 2M FP8 KV),
+386098 (1017), 386285 (4×China OEM без свитча, 90 tok/s).
+
+Полный план: `2026-10-21-night-plan.md`.
+
+## 3. TensorFold 1.0.12 (Zig) TP4 — собран, но не поднялся
+
+Подробно: `specs/tech-architecture/tensorfold-1.0.12-bringup.md`.
+
+Сделано: движок собран (Zig 0.17.0 + CUDA 13, `-Dsm=121`), kit проверен
+(362/362 файлов MANIFEST; RoPE-таблицы и vision-биas добраны из HF), веса
+EXL3 4.0bpw (288 GB) на NAS, rank-cache 75.6 GiB/нода (`tf-dsv41-check`:
+189 610 записей, 0 расхождений), token map.
+
+Блокер: `the native CUDA engine cannot load /model … glue kernels
+(FileNotFound)`, а `tf-dsv41-load` → `MissingEntry` — движок и 4.0bpw-чекпойнт
+на этом коммите расходятся по какой-то записи (не шард, не kit-файл).
+Попутно выяснено и записано: HF-симлинки рвут bind-mount (лечится каталогом
+жёстких ссылок), entrypoint образа надо гасить (`--entrypoint ""`), token map
+на хосте падает (нет `tokenizers`).
+
+## 4. GLM-5.3 (full) MXFP4×FP8 на 4 нодах — в работе
+
+Рецепт `glm53-mxfp4-fp8-4x` (TP4, 32K окно, MTP k=5, glm47-парсеры, образ
+`spark-glm53:v10`, у которого в реестре уже есть `GlmMoeDsaForCausalLM`).
+Веса (415 GB) качаются на NAS (~123 MB/s). Образ разложен на все 4 ноды заранее.
+
+Дальше: boot (чтение 415 GB с NAS на каждый ранк), probe, tool-eval-bench.