|
@@ -156,4 +156,40 @@ UI button). All work committed and pushed: launcher `60ffdda`, recipes
|
|
|
`--max-concurrency`, adaptive verification) to see whether the Rust runtime
|
|
`--max-concurrency`, adaptive verification) to see whether the Rust runtime
|
|
|
can close the 2.4× decode gap on our own production model.
|
|
can close the 2.4× decode gap on our own production model.
|
|
|
4. Only then the quality question: is 90/100 on four otherwise-idle nodes worth
|
|
4. Only then the quality question: is 90/100 on four otherwise-idle nodes worth
|
|
|
- a production slot? The Flash 2x lane still leads at 95/100 on two nodes.
|
|
|
|
|
|
|
+ a production slot? The Flash 2x lane still leads at 95/100 on two nodes.
|
|
|
|
|
+## Engram локализация — доведено (вечер 2026-10-23)
|
|
|
|
|
+
|
|
|
|
|
+**Раздача шардов.** `rsync` по фабрике (192.168.200.x, ~470–490 MB/s) с dgx5
|
|
|
|
|
+на dgx6/7/8: 2×101.5 GB на ноду, 16:48 / 16:58 / 17:07 UTC. Все четыре ноды
|
|
|
|
|
+держат 189 GiB локальных копий (`~/models/dsv41-1017-local`), других остатков
|
|
|
|
|
+тех же весов нет — `~/models` содержит только этот каталог, `~/hf-local`
|
|
|
|
|
+отсутствует. Свободно: dgx5 239G, dgx6 66G, dgx7 49G, dgx8 76G (dgx7 — самое
|
|
|
|
|
+узкое место).
|
|
|
|
|
+
|
|
|
|
|
+**Сделано в лаунчере (новый staging-kind).** `[[staging]] kind = "local-view"`:
|
|
|
|
|
+файлы по `local`-глобам становятся настоящими локальными копиями, всё
|
|
|
|
|
+остальное — симлинки на контейнерный путь общего кэша; `serve` монтирует вид в
|
|
|
|
|
+`/root/.cache/hf-view` и переписывает `model`. Плюс `staging::preflight` —
|
|
|
|
|
+**до** любой копии и до первого контейнера опрашивает каждую ноду
|
|
|
|
|
+(`measure`: сколько надо / сколько есть, с учётом уже разложенного и
|
|
|
|
|
+`min_free`-запаса) и отказывает с именем ноды, репозиторием, размером и
|
|
|
|
|
+каталогом. Три бага, найденных на живом прогоне: симлинки указывали на сам вид
|
|
|
|
|
+(нужен общий кэш `/root/.cache/huggingface`), вид раскладывается в
|
|
|
|
|
+`dst/<repo>/`, и при отсутствии леджера проход перекопировал 190 GB вместо
|
|
|
|
|
+того, чтобы принять уже разложенное дерево по хешам.
|
|
|
|
|
+
|
|
|
|
|
+**Результат (1017 TP4, DSpark k5, сток vLLM 0.32):**
|
|
|
|
|
+
|
|
|
|
|
+| | engram на NAS | engram локально | прод SGLang |
|
|
|
|
|
+|---|---|---|---|
|
|
|
|
|
+| prefill pp2048 c1 | 750 t/s | **2,927 t/s** | 2,800–3,100 |
|
|
|
|
|
+| prefill (12.6K уникальный промпт) | — | 3,957 t/s | — |
|
|
|
|
|
+| decode c1 / c2 | 30.3 / — | 37.0 / 46.7 | 47.8–50.7 / 64.2–68.3 |
|
|
|
|
|
+| чтения с /mnt/nas за прогон | +258 MB на запрос | **0 MB** | — |
|
|
|
|
|
+
|
|
|
|
|
+**Бенч v2.8.0 (`2026-10-23_175600_engram-local`): 91/100 (177/194)**, Hard Mode
|
|
|
|
|
+48/56 (86%), Safety 85%, Responsiveness 50 (медианный ход 3.0 s), 1
|
|
|
|
|
+safety-critical — TC-92 (tenant isolation). Прод на том же моделе — 86–87/100.
|
|
|
|
|
+
|
|
|
|
|
+Вывод: разрыв в префилле был **I/O**, а не стек движка; остаётся декод
|
|
|
|
|
+(37.0 c1 против прод 47.8–50.7) при уже равном префилле.
|