| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- # 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 на запрос.
- #
- # Запуск: `sm121 serve --recipe dsv41-flash-1017-4x-flare-gb10 --cluster dgx58-switch`
- # Лаунчер сам: preflight агентов на всех нодах, `flare download` на контроллере
- # (идемпотентно, 511 GB один раз), `flare orbit run --detach`, затем ждёт
- # /health + /v1/models. `sm121 stop` → `flare orbit stop`, `sm121 logs` →
- # `flare orbit attach`.
- #
- # Креды (ключ издателя, publisher) — в приватном config: [flare] accept_key /
- # accept_publisher / orbit_cluster. В репозиторий рецептов они не попадают.
- engine = "flare"
- deploy = "native"
- name = "DeepSeek-V4.1-Flash-1017 (FLARE gb10, 4x TP4, c16, DSpark5)"
- model = "deepseek-ai/DeepSeek-V4.1-Flash-1017"
- parent_model = "deepseek-ai/DeepSeek-V4.1-Flash"
- required_nodes = 4
- cluster = "dgx58-switch"
- # адрес модели для клиентов — общий кластерный алиас (FLARE отдаёт его же
- # через --name, но лаунчеру/бенчу нужен явный id в args)
- args = ["--served-model-name", "deepseek-v4.1-flash"]
- [flare]
- package = "local-inference-lab/DeepSeek-V4.1-Flash-1017-FLARE"
- revision = "gb10"
- name = "dsv41-flash-1017-4x-flare-gb10"
- http_port = 30000
- # их же рекомендованный набор (README ветки gb10), verbatim
- serve_flags = [
- "--max-concurrency", "16",
- "--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 —
- # «selected concurrency and verification width exceed available memory».)
- #
- # --embedding-table-resident-scales НЕ включён: держит E8M0-плоскость
- # скейлов engram в pinned host RAM (~6.1 GB на пакет ⇒ ~1.5 GB на ранг),
- # чтобы промахи не читали скейлы с диска вторым заходом. Смысл только при
- # 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-resident-scales",
- ]
|