소스 검색

shift logs: 10-14 (gr8/DGPP/control benches, template fix, full-cluster power-off), 10-15 (dead nightly base → v0.31.0 re-pin, sm121-native rebuild)

Alexander Korolev 1 주 전
부모
커밋
6c4469ae4f
2개의 변경된 파일과 125개의 추가작업 그리고 0개의 파일을 삭제
  1. 66 0
      history/night-shifts/2026-10-14.md
  2. 59 0
      history/night-shifts/2026-10-15.md

+ 66 - 0
history/night-shifts/2026-10-14.md

@@ -0,0 +1,66 @@
+# Night shift 2026-10-14
+
+Оператор: новые движки (gr8, DGPP) + контроль 2x + чат-шаблон; после тестов —
+полное выключение 8x-кластера (сначала убить Mac-серверную петлю, close
+лиджера, потом detached power off — stop на dgx1 убил бы агента).
+
+## gr8 (полный GLM-5.3, TP=4) — развёрнут и пробенчен
+
+`ghcr.io/kindlingai/gr8` на dgx3/4/6/8 (docker compose, ранки
+dgx3,4,6,8; PEERS по mgmt-LAN, rails авто через 200G-свитч; кэш
+`/srv/gr8/cache`, uid 1000; `vm.compaction_proactiveness=0`).
+- Загрузка 85.6 GB/rank + конвертация DFlash2-драфтера (incoai/GLM-5.3-DFlash2,
+  CC BY-NC-ND) ~9 мин; smoke **12/12**, context limit 310,514.
+- API `http://192.168.88.50:8100/v1`, модель `glm-5.3`.
+- Perf c1: decode code **49.9** / prose 36.7 t/s (у них 49.3/30.0); prefill 8K
+  cold 1,294 / cached 50,871 t/s; aggregate c4 64.6 (у них 64.0) — опубликованные
+  числа воспроизводятся.
+- **TEB 89/100** (v2.8.0, 97 scen, hardmode, engine-default effort; 80 pass /
+  9 partial / 8 fail). Отчёт `recipes/glm53-full-tp4-gr8/reports/2026-10-14_193000_*`.
+
+## DGPP (Qwen3.8-Flash-Next NVFP4, w1) — развёрнут и пробенчен
+
+`HawkBearPig/dgpp` на dgx7 (`~/dgpp`, setup wizard ~15 мин; checkpoint
+123.6 GiB с NAS HF-кэша). API `http://192.168.88.54:18080/v1`, модель
+`nvidia/Qwen3.8-Flash-Next-NVFP4` (reasoning, honours `reasoning_effort`).
+- **TEB 88/100 @default effort (v2.8.0)**; 86/100 @low (2.7.1.dev7).
+- Чистый decode c1 (code, effort=low): **44.9 t/s** (их заявка 42.6–50.3).
+- Отчёты `recipes/qwen38-flash-next-nvfp4/reports/2026-10-14_233000_*`.
+- Стоп: `scripts/dgpp-cluster down` (native-процессы, без docker).
+
+## Контроль 2x на новом харнессе
+
+`glm53-kindling-2x` (живой 2x-серв, dgx1+dgx2): **93/100** (v2.8.0, 97 scen,
+hardmode, engine-default effort). Отчёт
+`recipes/glm53-kindling-2x/reports/2026-10-14_203500_2x-control-v28.*`.
+Все полосы теперь на одном харнессе v2.8.0: 2x Flash = 93 · gr8 = 89 ·
+DGPP = 88 (default) / 86 (low).
+
+## Чат-шаблон: фикс из zai-org/GLM-5.3 PR #31
+
+О(N²) проверка tool-result id → linear sort-merge. Пересажен в
+`glm53-kindling/image/chat-template.jinja` и `karmic-kraken/glm53-chat-template.jinja`
+(оба были байт-идентичны; квадратичные макросы остались, но не вызываются).
+Валидация (jinja2 + loopcontrols, 3000 random-разговоров с обычными/
+case-вариантными/отсутствующими id, list-of-outputs, дропом результатов):
+**0 расхождений**; 800 параллельных calls: **5.685 s → 0.023 s** (247×),
+вывод байт-идентичен. Коммит `989c085` (shared repo). Чексумма dirs
+поменялась → rebuild при следующем serve.
+
+## Shutdown
+
+gr8 остановлен чисто (`gr8 glm53 down`, exit 0 — не рестартанется при
+включении; кэш 90 GB/ранк персистит в `/srv/gr8/cache`). Mac-серверная петля
+2x убито, `runlock close glm53-kindling-2x`, detached
+`sm121 power off --cluster 8nodes-switch` — выключены все 8 узлов
+(dgx1 гаснет вместе с агентом — предусмотрено). Утром 10-15 включены
+dgx1-2 для 2x-серва.
+
+## Pi: 24 h подтверждение OOM-фикса
+
+`/tmp/sm121-rss-monitor.log`: RSS **плоский 33–40 MiB** сутки
+(10-14 16:37 → 10-15 06:41). Рост 270 MiB/ч ушёл.
+
+## Завтра (10-15)
+
+- 2x serve снова: rebuild упёрся в мёртвый BASE (см. 2026-10-15.md).

+ 59 - 0
history/night-shifts/2026-10-15.md

@@ -0,0 +1,59 @@
+# Night shift 2026-10-15 (day)
+
+## Mёртвый BASE: ночные теги vLLM прунены, kindling не собирается
+
+После вчерашнего чат-шаблонного фикса `sm121 serve --build-node` попытался
+rebuild `spark-glm53:v10` (чексумма каталога сменилась) и упал:
+`FROM vllm/vllm-openai:nightly-ddd6fbca…` → **not found**. Docker Hub
+прунул всю старую схему `nightly-<fullsha>` (сейчас только
+`nightly-dev-<arch>-<cuda>-<shortsha>`), база прунена и с узлов (dgx1/2),
+дайджест нигде не записан (сентябрьский лог затёрт, реестр на Mac не
+включён, web-jobs чисты) → образ-база **невосстановим**.
+
+Промежуточный ручной путь (тонкая обёртка `FROM spark-glm53:v10` + новый
+шаблон + label) построен на dgx1, но **отклонён оператором**: sm121 должен
+уметь собрать всё с нуля, без ручных обходов.
+
+## Решение: репин BASE на релиз v0.31.0 (постоянный тег)
+
+- v0.31.0 (cut 2026-10-02) — первый релиз, содержащий коммит базы
+  ddd6fbca (09-26); multi-arch, arm64 ✓.
+- Дрейф-аудит `ddd6fbca..v0.31.0` (6 дней mainline, 239 файлов):
+  - все файлы, которые патчат kindling-патчеры (mla/_fa_common, mla/_core,
+    sparse_attn_indexer_kpool, kernel_warmup, shm_broadcast, platforms/cuda,
+    reasoning, glm5next/*) — **без изменений**;
+  - `routed_experts.py`: vllm#58720 вкатился upstream **дословно**
+    (`_index_expert_mapping` идентичен) → `vllm-58720-routed-experts.patch`
+    удалён из Dockerfile (verify-base.py по-прежнему ассертит наличие фикса);
+  - requirements: flashinfer 0.7.0 → 0.7.0.post1 (mикро-бамп), torch/NCCL/
+    cutlass-dsl без изменений.
+- `ARG BASE=vllm/vllm-openai:v0.31.0`, `ARG VLLM_REF=db9527a4…` (коммит
+  тега — FlashKDA shim компилится против того же исходника, что в base).
+- Коммит `546e7b2` (shared repo).
+
+## Сборка через sm121 — успешна
+
+`sm121 build --recipe glm53-kindling-2x --build-node dgx1.lan`:
+**11 m 16 s** (pull base 145 s + flashkda + патчи + verify-base гейт +
+--load). Гейт verify-base прошёл (Glm5Next, glm45, glm47_failclosed,
+sm_120, MiaAI SM90 + indexer, spin-wait, FlashKDA 17a037d, mentat).
+Образ `c4bf0a1a…`, label `74087ade…` (= чексумма каталога), шаблон внутри
+`6c444d8b…` (фикс). Каталог снова полностью воспроизводим с нуля.
+
+## 2x serve
+
+`sm121 serve --recipe glm53-kindling-2x` (pid 97998, /tmp/kindling-serve.log):
+sync dgx1→dgx2 автоматический, контейнеры стартовали 07:47 UTC,
+API http://192.168.100.14:30000, загрузка весов.
+
+## Замечания
+
+- **karmic-kraken** dirs (шаблон тоже обновлён): его BASE — дайджест-закреплённая
+  CUDA (вечная), rebuild воспроизводим, но полный clone-at-pin (долгий,
+  45+ мин) — сработает при следующем serve полос, использующих
+  karmic-kraken (`glm53-kindling-4x-karmic`, `mimo26-flash-mopd-4x-vllm`,
+  `mimo26-flash-mopd-4x-sparkring`).
+- Патчеры со «вступлением» (MiaAI retarget под flashinfer 0.7.0) прошли на
+  0.7.0.post1 — якоря не съехали.
+- Ночные vLLM-теги имеют TTL: любая схема на `nightly-*` мёртва через
+  недели. Базы должны быть релизными/дайджестными (karmic — образец).