2026-10-02.md 5.1 KB

Night shift 2026-10-02

Оператор: «заставь kindling-конструкцию работать», «сверь апстримы того, что используем», «скилл для триажа», «headless на узлах». Все 8 узлов активны, агент переключен на «плуту» (macOS).

kindling glm53-kindling-4x — e2e-ночь (mode B)

Хронология запусков на dgx58-switch (dgx5–8), образ spark-glm53:v9 (checksum d285a3f…):

  1. Краш #1 (ночь 10-01): --speculative-config в TOML задублирован (генератор вставил JSON дважды) → vLLM не парсит mash-up.
  2. Форма кавычек: значение должно быть """ + newline + '{JSON}' + """ с закрывающим """ на той же строке (форма mimo-рецептов); trailing newline перед """ → лаунчер не снимает апострофы → cannot be converted to loads. Фикс во всех 3 рецептах, argv провалидированы in-image (at4: argparse пройден, движок ушёл в загрузку).
  3. Апстрим kindling: +3 коммита (27cf839): их фикс #64 — ровно наш баг (второй --speculative-config в EXTRA выигрывал; теперь SPEC_EXTRA, второй конфиг запрещён), megamoe #67, kindling.json #68. Ре-вендорен (наш build.sh/README сохранены, README.upstream.md обновлён).
  4. UMA-гейт (главная находка): Free memory on device cuda:0 (106.28/ 106.92/121.63 GiB) ... less than desired GPU memory utilization (0.88, 107.03 GiB) — на СЛУЧАЙНЫХ узлах (rank1/rank2 в одну секунду), маржа 0.11–0.75 GiB. Встроенный drop_caches (config, default true) не спасает: к worker-init контейнерный стек (torch+CUDA+code page cache) уже дописал ~11 GiB. Фикс: GMU 0.88→0.86 (нужно 104.60, маржа ≥1.68) + mods-drop_caches вплотную к exec; жёсткий --kv-cache-memory 26 GiB не тронут → пул KV не меняется.
  5. Итог: все 4 контейнера Up, веса 33/33 shards за 648 с (NAS), их W4/FP8-конверсия работает; далее draft + autotune (первый запуск на узлах, /tmp-кэш автотюна) → готовность ~09:00–09:20.

Процесс-улучшения:

  • Скилл .agents/skills/serve-boot-triage/ — триаж: --keep (контейнер переживает крах, логи читаются), detached serve, per-node матрица, hard rules (IP только из config; base64-скрипты; runlock).
  • Серв-вызовы: follow-режим по умолчанию — без --no-follow serve блокируется в логах (это и было «зависание 600 с», не баг лаунчера).
  • Длинный foreground-вызов (make check + serve в одном) уходит в interruption — serve в отдельном коротком вызове.

Headless + уборка

  • X/gdm (graphical.target) найден на dgx6/7/8 (dgx1–5 уже multi-user); переключено: systemctl set-default multi-user.target + stop gdm. Оператор: «это явная ошибка конфигурации».
  • searxng-контейнер на dgx6 удалён (мусор чужого эксперимента, по запросу).
  • runlock: закрыты stale gemma4-12b (09-30) и mimo26-flash-mopd-4x-sparkring (09-30).

Апстрим-сверка (что используем)

Стек Статус
kindling glm-5.3-flash-gx10 +3 коммита → ре-вендор 27cf839 (см. выше)
tool-eval-bench без изменений с пина v2.7.0 (544afb576b)
MiMo Flash/Pro MOPD (HF) refs/main == наши пины (2479e2d0 / adea8e2c)
nvidia GLM-5.3-Flash-NVFP4 refs/main == да920bb0 (наш)
incoai DFlash2 refs/main == bf582e4e (наш)
eugr/spark-vllm-b12x новый nightly-20261001 (+0930) — vllm-лейн подхватит при следующем старте (floating :latest)
sparkring (ghcr) наш пин = glm53-shared-74275757 (f25cdb6b); есть ещё два тега glm53-shared-{a8aeff2,8b32ef2} — новые сборки, adoption = ре-пин по digest + re-bench (отложено)
vLLM upstream PR #58846/#58720 (flashkda fp32) merged; открытые spec-decode багфиксы не трогать (форк)

Ожидания

  1. Готовность kindling 4x (~09:00–09:20), smoke (chat + structured output).
  2. Bench-кампания (hardmode, c1+c2) — до возвращения оператора.
  3. При хорошем результате: ребилд образа на 27cf839 (megamoe #67) + A/B с lab GLM53; TP6--bootstrap (make_padded.py) — в следующем окне.