|
@@ -0,0 +1,112 @@
|
|
|
|
|
+# Ночная смена 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 <model>` (известная
|
|
|
|
|
+ ловушка) → `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).
|