|
|
@@ -1,13 +1,13 @@
|
|
|
# DeepSeek-V4.1-Flash-1017 через FLARE — их собственный пакет под четыре Spark.
|
|
|
#
|
|
|
# Ветка `gb10` репозитория local-inference-lab/DeepSeek-V4.1-Flash-1017-FLARE —
|
|
|
-# подписанный FLARE-пакет ровно под наш стенд: 17 шардов ≈ 511.3 GB (12 весовых
|
|
|
-# + 5 графовых), TP4, 16 одновременных запросов, DSpark до 5 драфтов с adaptive
|
|
|
-# verification, prefill чанками 4096, контекст до 1M на запрос.
|
|
|
+# подписанный FLARE-пакет ровно под наш стенд: ~525.5 GB, TP4, 32 одновременных
|
|
|
+# запроса, DSpark до 5 драфтов с adaptive verification, prefill чанками 4096,
|
|
|
+# контекст до 1M на запрос (README ветки gb10, обновлён 2026-10-27).
|
|
|
#
|
|
|
# Запуск: `sm121 serve --recipe dsv41-flash-1017-4x-flare-gb10 --cluster dgx58-switch`
|
|
|
# Лаунчер сам: preflight агентов на всех нодах, `flare download` на контроллере
|
|
|
-# (идемпотентно, 511 GB один раз), `flare orbit run --detach`, затем ждёт
|
|
|
+# (идемпотентно, ~525 GB один раз), `flare orbit run --detach`, затем ждёт
|
|
|
# /health + /v1/models. `sm121 stop` → `flare orbit stop`, `sm121 logs` →
|
|
|
# `flare orbit attach`.
|
|
|
#
|
|
|
@@ -16,7 +16,7 @@
|
|
|
|
|
|
engine = "flare"
|
|
|
deploy = "native"
|
|
|
-name = "DeepSeek-V4.1-Flash-1017 (FLARE gb10, 4x TP4, c16, DSpark5)"
|
|
|
+name = "DeepSeek-V4.1-Flash-1017 (FLARE gb10, 4x TP4, c32, DSpark5)"
|
|
|
model = "deepseek-ai/DeepSeek-V4.1-Flash-1017"
|
|
|
parent_model = "deepseek-ai/DeepSeek-V4.1-Flash"
|
|
|
required_nodes = 4
|
|
|
@@ -33,15 +33,17 @@ name = "dsv41-flash-1017-4x-flare-gb10"
|
|
|
http_port = 30000
|
|
|
# их же рекомендованный набор (README ветки gb10), verbatim
|
|
|
serve_flags = [
|
|
|
- "--max-concurrency", "16",
|
|
|
+ "--served-model-name", "deepseek-v4.1-flash",
|
|
|
+ "--max-concurrency", "32",
|
|
|
"--mtp-draft-tokens", "5",
|
|
|
"--mtp-adaptive-verification",
|
|
|
# Engram = 2 таблицы (слои 1, 14) × 4 шарда: 196.6 GB весов + 6.1 GB
|
|
|
# скейлов на пакет ⇒ ~50.7 GB на ранг. Файлами engram не выделить — он
|
|
|
# лежит в тех же восьми шардах, что и веса, — поэтому «локальность» делаем
|
|
|
- # RAM-кэшем строк: 4 GiB горячих строк на ранг, промахи идут на диск
|
|
|
- # (пакет на локальном NVMe контроллера, у пиров — свои срезы в кэше).
|
|
|
- # (Отвергнутая проба: 48 GiB кэша выедает бюджет continuation rows —
|
|
|
+ # RAM-кэшем строк: 1 GiB горячих строк на ранг (рекомендация README для
|
|
|
+ # unified-memory GB10), промахи идут на диск (пакет на локальном NVMe
|
|
|
+ # контроллера, у пиров — свои срезы в кэше).
|
|
|
+ # (Проба 48 GiB кэша выедала бюджет continuation rows —
|
|
|
# «selected concurrency and verification width exceed available memory».)
|
|
|
#
|
|
|
# --embedding-table-resident-scales НЕ включён: держит E8M0-плоскость
|
|
|
@@ -50,9 +52,9 @@ serve_flags = [
|
|
|
# disk (с ram падает: «RAM storage already retains all planes»).
|
|
|
# Кандидат на A/B: +1.5 GB RAM за меньшее число random-read.
|
|
|
"--embedding-table-storage", "disk",
|
|
|
- "--embedding-table-cache-size", "4GiB",
|
|
|
- # включено 2026-10-24: скейлы engram (~1.5 GB/ранг) резидентно в host RAM,
|
|
|
- # чтобы промахи кэша читали только веса. На dgx5 было 13 GB available —
|
|
|
- # запас остаётся ~11 GB, но следим за continuation rows при c16.
|
|
|
+ "--embedding-table-cache-size", "1GiB",
|
|
|
+ # включено 2026-10-24 и подтверждено README: скейлы engram (~1.4 GB/ранг)
|
|
|
+ # резидентно в host RAM, чтобы промахи кэша читали только веса. Пакет
|
|
|
+ # заявляет 13–17 GB available на Spark; следим за continuation rows при c32.
|
|
|
"--embedding-table-resident-scales",
|
|
|
]
|