# Ночная смена 2026-10-20 → 21 — отчёт Автономный режим. Прод `4nodes-switch` (dgx1–4, 1017 SGLang EP2/1M) не трогал всю смену — работа только на `dgx58-switch` (dgx5–8). ## Итоговая таблица 4x/2x лейнов 1017-семейства и Beam | лейн | качество (v2.8.0, seed 42) | resp / ход | pp c1 | tg c1 / c2 / c4 | KV-пул | |---|---|---|---|---|---| | **1017 SGLang 4x** (прод, EP2/1M) | 87/100 | **75 / 1.4 s** | 3,019 | **45.6 / 67.8** / — | 9.30M | | 1017 TensorFold 2x (EXL3) | 89/100 | 23 / 6.7 s | ~380 (2K) | 50.4 / — | 26.6M (FLARE) | | 1017 FLARE 4x (native Rust) | **не измерим** — падает | — | ~2.4k | 22–27 | 26.6M | | **Beam NVFP4 4x** (новый) | **90/100** | 34 / 4.7 s | 2,501 | 26.2 / 41.1 / 62.3 | 6.81M | Вывод: **прод-конфиг остаётся лучшим по задержке**, Beam — лучший по качеству, TensorFold — лучший однопоточный декод среди 1017-вариантов, FLARE — не готов. ## 1. FLARE (local-inference-lab) — проверен, не подходит Находка: у них есть **официальный `gb10`-пакет «DeepSeek V4.1 Flash 1017 on four DGX Sparks»** (`local-inference-lab/DeepSeek-V4.1-Flash-1017-FLARE@gb10`, 511 GB = 12 весовых + 5 графовых шардов), рантайм — нативный Rust, образ multi-arch (**arm64 есть**), APT-репозиторий доступен. Что сделано: поставил `flare 0.1.0` на все 4 ноды, поднял орбиту (`flare orbit pair`, агенты на systemd --user — **требуется `loginctl enable-linger` + `XDG_RUNTIME_DIR`, иначе systemd --user не стартует по SSH**), скачал пакет на NAS, прошёл `orbit run` TP4 по dgx5–8. Результаты: - пакет валиден: `architecture sm_121`, 1,048,576 ctx, 16 конкурентных, MTP 1–6, по 74.7 GiB/ранг, 130 графов, KV-пул **26.6M токенов** (22.3 GiB/ранг); - коллективы **по RoCE, 2 рельса на пира** (`roceP2p1s0f0,rocep1s0f0`) — то есть сеть не при чём; - **декод 22–27 tok/s** (probe: 26.8 с драфтами, 22.8 без, 23.8 с кэшем 4 GiB) — в 1.8 раза медленнее нашего SGLang; - **падает под агентской нагрузкой**: `tensor-parallel peer failed: RoCE proxy failed: two-shot op N abandoned: kernel timed out at seq N` — воспроизводимо на первом же запросе с 52 тулами (короткие чат-запросы работают). Полный tool-eval-bench дал 0/100 (все сценарии — 500/connection closed); - TTFT при этом хороший (0.95–1.07 s), prefill ~2.4k tok/s. Итого: FLARE 1017 на нашем железе — медленнее и нестабильнее; для нас закрыт. Отдельно проверил FLARE на **Qwen3.8-Flash-Next `gb10` (tp1, одна Spark, 107 GB)**: работает, загрузка ~1 с (графы в пакете), decode 43.3 tok/s, TTFT 1.30 s, tool calls и json_schema — ок, а **`tool_choice: "required"` отдаёт HTTP 500** («required tool choice was not satisfied»). Это стоит сообщить вендору. ## 2. Beam-1.0-501B-A23B NVFP4 — новый лучший по качеству лейн Вендорский стек: `vllm/vllm-openai:reflection-beam` (Beam пока только в этом образе, min vLLM 0.33.0; arm64 есть), TP4, fp8 KV, парсеры `beam`. **90/100 (174/194), Hard Mode 47/56 = 84%** — лучший результат флота. Декод 26.2 / 41.1 / 62.3 (c1/c2/c4), pp 2,501, KV 6.81M, boot ~17 мин (первый старт автоподбирает FlashInfer MoE-кернелы — вендор сам просит поднять `VLLM_ENGINE_READY_TIMEOUT_S`). Грабли (все в `recipes/beam-1-0-nvfp4-4x/NOTE.md`): - пустой `entrypoint` → launcher делает `--entrypoint ` (известная ловушка) → `entrypoint = ["vllm", "serve"]`; - `--gpu-memory-utilization 0.90` не проходит boot-gate → 0.85; - этот билд отдаёт reasoning в поле **`reasoning`**, а `content` под thinking пустой — probes, которые смотрят только `content`, видят ноль токенов; - **DFlash2-спекудяция на GB10 не работает**: fp8 KV отвергается FlashAttention (нужен FA3/SM90 или FA4/SM100 — тот же барьер, что у GLM-5.3), а с BF16 KV ломается adaptive verification (конфликт с cudagraph replay); с выключенной адаптивкой — 23.6–27.1 tok/s, то есть ноль выигрыша за половинный KV-пул. Оставлено выключенным. Отчёт: `recipes/beam-1-0-nvfp4-4x/reports/*` (quality + perf) и `NOTE.md`. ## 3. Прочее - **Аддон 1.2.0 собран** (CI зелёный, `ghcr.io/kilork/sm121-addon:1.2.0` + `:latest`), на ha.lan остаётся нажать Update. - **Конкуренция**: рецепт прода переведён на `--max-running-requests 24` + `--cuda-graph-max-bs-decode 24` (закоммичено; применится при следующем рестарте прода). Замеры: пул 9.3M, при 24 потоках — ~380K контекста на поток. - **DeepInfer** — DeepSeek выпустил свой движок (vLLM-база + disaggregated prefill, писался под sm100). Кандидат на следующую смену. - **sparkring**: новый тег `dev-20261016-sparkcache-4a17f1f5198e` (мы на `dev-20261013-dcp2prefill-status038-sircl-tp6`). - **glm5.3-flash**: у Aiden новых образов нет (vllm 1.2 от 09-04, sglang-dsv41 1.7.1 от 09-29); новых рецептов под GLM-5.3 в тредах не появилось. - **Aiden 1017-страница**: их прогон 55 референсных encoder-тестов через SGLang 1.7.1 — 25 pass / 30 fail; 4 группы: имена reasoning effort (**мы уже запатчили**), порядок картинок в tool-результатах при параллельных вызовах, `namespace::name` у тулов, потеря reasoning на tool-результатах без списка тулов. Совет: слать **число** 1–100 вместо имени. ## Состояние на конец смены | | | |---|---| | dgx1–4 (прод) | 1017 SGLang EP2/1M, не тронут, ~30 ч аптайма | | dgx5–8 | **Beam NVFP4 TP4 поднят** (финальный конфиг, fp8 KV, без спекуляции), API :30000, 6.55M KV | | FLARE | орбита остановлена, пакеты закешированы (dgx5–8 по ~120 GB), `flare 0.1.0` установлен | | Диски dgx5–8 | ~120–430 GiB свободно (FLARE-пакеты занимают ~120 GB на ноду) | ## Что осталось на следующую смену 1. **Beam: reasoning budget** — thinking включён по умолчанию, ход 4.7 s. Снизить бюджет и перемерить responsiveness (декод при этом не меняется) — самый вероятный способ сделать Beam пригодным для интерактива. 2. **TensorFold**: включить session/continuation-кэш (`TF_DSV41_SESSIONS=0` сейчас) — у Elevatormusic-форка с кэшем второй вопрос по 24K-документу стартует за 1.1 s вместо 12.8 s; у нас это и есть главная боль TF. 3. **DeepInfer** — попробовать на 4x. 4. **sparkring** `sparkcache` — посмотреть, что даёт (возможно, кэш префиксов). 5. Обновить аддон на ha.lan (кнопка Update).