diff --git a/FEEL_PASS.md b/FEEL_PASS.md index ebc85cc..e8f1840 100644 --- a/FEEL_PASS.md +++ b/FEEL_PASS.md @@ -1,9 +1,9 @@ ## Feel-pass (Dream stack · 2026-08-19) -1. Cold open: occupancy table and **measured** teb-69 scores before any flag diary. Hero is the scoreboard (Baton vs 0731 vs Qwen). Not a blank recipe dump. +1. Cold open: occupancy table and **measured** teb-69 scores before any flag diary. This repo is **supporting** occupancy, not the public hero ([miaai35-tune](https://github.com/Coinupbtc/miaai35-tune)). Screenshot is the scoreboard (Baton vs 0731 vs Qwen). 2. Primary path: `./setup.sh` copies `env.example`, syntax-checks, prints laptop-vs-cluster next steps. `./setup.sh --up` is the two-Spark path and refuses if `:8888` is not 0731. 3. Break / empty: no `.env` → copy + “edit N2_IP / SPARK2 / GGUF”. 0731 down → `up.sh` exits 2 with Mia start knobs. Never pretends a laptop can load 0731. 4. Loading: roommate + baton take minutes; `scripts/status.sh` / `smoke.sh` are the success surface (`UP 0731 / Qwen / baton`). -5. Would a stranger keep this? **yes if they own two Sparks.** Everyone else still sees proof (scores + flags) and a one-command no-GPU setup. Mia credit is scoped. +5. Would a stranger keep this? **yes if they already run MiaAI 0731 TP=2 on two Sparks.** Everyone else still sees proof (scores + flags) and a one-command no-GPU setup. MiaAI/Anemll credit for TP=2 dual-node serving is above the fold. Evidence: `docs/screenshots/hero.png` · `RESULTS.md` · `./setup.sh` (no `--up`). diff --git a/README.md b/README.md index 057cd96..eaea9a5 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,19 @@ ![CI](https://github.com/Coinupbtc/dream-stack/actions/workflows/ci.yml/badge.svg) -Occupancy recipe for **two NVIDIA DGX Spark** boxes (GB10, CX7). +Supporting occupancy for **two NVIDIA DGX Spark** boxes (GB10, CX7) after 0731 TP=2 is already up. Not the public hero — that is [miaai35-tune](https://github.com/Coinupbtc/miaai35-tune). + +**Credit — TP=2 / dual-node serving:** [MiaAI-Lab / Anemll DeepSeek-V4-Flash DSpark TP=2](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark) is the recipe that runs 0731 across both Sparks. This repo adds leftover-UMA occupancy (Qwen GGUF roommate + baton) on that pair. ## At a glance | | | |---|---| -| **What it is** | Keep Mia 0731 TP2 as the chat brain, room a Qwen 3.8 GGUF on leftover UMA, and talk to **one URL** (`dream-baton` `:8877`). | -| **What it’s for** | Spark owners who want **measured occupancy**, not “one model per box.” Laptop clones still get the scores, flags, and a no-GPU `./setup.sh`. | +| **What it is** | Supporting occupancy: keep MiaAI 0731 TP2 as the chat brain, room a Qwen 3.8 GGUF on leftover UMA, talk to **one URL** (`dream-baton` `:8877`). | +| **What it’s for** | Spark owners who already run the MiaAI TP=2 pair and want leftover-UMA occupancy, not a hire-lead or Spark flagship. Laptop clones still get the scores, flags, and a no-GPU `./setup.sh`. | | **How to use it** | `./setup.sh` (orients). Two Sparks + 0731 already at 348k / 0.74: edit `.env`, then `./setup.sh --up`. | -**GitHub description:** What: 2× Spark occupancy — 0731 TP2 @ 348k + Qwen roommate + baton. For: clone, copy `.env`, bring the stack up. How: `./setup.sh` then `./setup.sh --up`. +**GitHub description:** What: supporting occupancy on MiaAI 0731 TP2 — leftover Qwen + baton (hero is miaai35-tune). For: clone, copy `.env`, bring the stack up. How: `./setup.sh` then `./setup.sh --up`. This is **not** a new engine. You already run the public [MiaAI / Anemll DeepSeek-V4-Flash-0731 DSpark TP=2](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark) pair. Dream keeps that chat brain and rooms two more services in leftover UMA: @@ -27,7 +29,7 @@ This is **not** a new engine. You already run the public [MiaAI / Anemll DeepSee NVFP4 Qwen **does not fit** next to 0731 TP2. The roommate has to be the GGUF. This is **not** “one model per Spark.” 0731 still owns both UMAs. -Measured 2026-08-16 on this occupancy (tool-eval-bench 69, seed 42, thinking off, 69/69, error 0): +Measured 2026-08-16 on this occupancy ([tool-eval-bench](https://github.com/SeraphimSerapis/tool-eval-bench) suite of 69, seed 42, thinking off). All 69 scenarios **completed** (0 infra errors). That is run completion, not a 69/69 pass score. Numbers below are the harness `score` and pass / partial / fail. CI in this repo is syntax + `./setup.sh` only — it does not run teb. Reproduce with `bash scripts/run-teb.sh 69 baton` (and `0731` / `qwen`): | Brain | Score | Pass / partial / fail | Wall | |---|---:|---|---:| @@ -232,4 +234,4 @@ House-only A/B (parks engines on **this** cluster): `run-prime-then-solo-qwen-69 - 0731 TP2 engine: [MiaAI-Lab / Anemll DSpark](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark) - Qwen 3.8 weights: [Qwen](https://huggingface.co/Qwen) / [Unsloth GGUF](https://huggingface.co/unsloth/Qwen3.8-27B-GGUF) - Public tool-call eval: [tool-eval-bench](https://github.com/SeraphimSerapis/tool-eval-bench) (`v2.5.1.dev29+g573a3ec70` for the numbers in RESULTS.md) -- Occupancy, roommate flags, vision pin, and baton: this repo +- Occupancy notes, roommate flags, vision pin, and baton: this repo (supporting; public hero is [miaai35-tune](https://github.com/Coinupbtc/miaai35-tune)) diff --git a/RESULTS.md b/RESULTS.md index ca16670..8586265 100644 --- a/RESULTS.md +++ b/RESULTS.md @@ -1,13 +1,13 @@ # Measured scores (2026-08-16) Instrument: [tool-eval-bench](https://github.com/SeraphimSerapis/tool-eval-bench) `v2.5.1.dev29+g573a3ec70` -Suite: **69** scenarios · seed **42** · thinking **off** · completion **69/69** · error **0** +Suite: **69** scenarios · seed **42** · thinking **off** · all 69 **completed** (0 infra errors). That is run completion, not a 69/69 pass score — see Pass / partial / fail. CI in this repo does not run teb; these rows are live `scripts/run-teb.sh 69 …`. Live occupancy while scoring Dream rows: 0731 TP2 `:8888` `max_model_len=347392` + Qwen GGUF n2 `:8100` `n_ctx=88064` + 4B vision n1. **Live roommate (2026-08-17 night):** Qwen `n_ctx=116224`, **MTP4** (unique-256 **20.1** tok/s vs MTP3 **18.4**). 124k OOM-killed n2. First baton teb (91) was 88k occupancy. -**2026-08-17 rematch** (same seed 42, thinking off, 69/69): live 116k + n2 traffic cop. MTP5 unique-256 **20.2** (wash vs MTP4 **20.1**). 0731 `MAX_NUM_SEQS=4` / `MAX_NUM_BATCHED_TOKENS=16384` **did not boot** while Qwen held n2 (free 89.71G < 90.05G; later KV 3.91G < 8.14G). Reverted to **6 / 8192**. Do not retry those 0731 knobs without parking Qwen first. +**2026-08-17 rematch** (same seed 42, thinking off, all 69 completed): live 116k + n2 traffic cop. MTP5 unique-256 **20.2** (wash vs MTP4 **20.1**). 0731 `MAX_NUM_SEQS=4` / `MAX_NUM_BATCHED_TOKENS=16384` **did not boot** while Qwen held n2 (free 89.71G < 90.05G; later KV 3.91G < 8.14G). Reverted to **6 / 8192**. Do not retry those 0731 knobs without parking Qwen first. | Occupancy | Score | Pass / partial / fail | Wall | Unique tok/s | |-----------|------:|----------------------:|-----:|-------------:| diff --git a/TWEET.md b/TWEET.md index 7613a3a..fe41f32 100644 --- a/TWEET.md +++ b/TWEET.md @@ -1,7 +1,6 @@ -# Ready to post — this is YOUR occupancy recipe +# Draft tweets — supporting occupancy, not the public hero (miaai35-tune) -Do not quote-tweet Mia as the frame. One credit line is enough (0731 TP2 engine). -The recipe is: leftover Qwen + n1 vision + baton on top of a live 0731 pair. +0731 TP=2 serving is [MiaAI-Lab / Anemll DSpark](https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark). This repo is leftover Qwen + n1 vision + baton on a live pair. Images: tweet-cards/01-teb69-scoreboard.png + 02-speed-tax-fails.png @@ -9,14 +8,15 @@ Images: tweet-cards/01-teb69-scoreboard.png + 02-speed-tax-fails.png ## Tweet 1 (card 01) -I run two DGX Sparks as one occupancy I call Dream. +I run two DGX Sparks as leftover occupancy I call Dream. Public hero is miaai35-tune. +0731 TP=2 serving is MiaAI/Anemll DSpark. 0731 TP2 @ 348k across the pair. Qwen 3.8 27B GGUF on node2 leftover (88k, MTP3). 4B vision stay-up on node1. One URL in front: baton :8877. No tags. It picks the brain. -tool-eval-bench 69 · seed 42 · thinking off · 69/69 · error 0 +tool-eval-bench 69 · seed 42 · thinking off · 69 completed · 0 infra errors (not a 69/69 pass) 0731 Dream 87 56/8/5 8.1 min 39.6 tok/s Qwen Dream 90 58/8/3 18.0 min 18.4 tok/s @@ -39,8 +39,8 @@ Baton flipped required (TC-45). Live 91. Still miss 03 and 61. Keep-warm: idle TTFT 16.1s → 0.38s. -0731 engine is the public DSpark TP2 stack. Occupancy, roommate, vision pin, and baton are mine. +0731 TP=2 serving is MiaAI/Anemll DSpark. This tweet is leftover occupancy (roommate + baton), not the lab hero. --- -No @MiaAI_lab on tweet 1 unless you want a courtesy tag. Optional last line only. +Credit line for tweet 1: MiaAI-Lab / Anemll DSpark TP=2. Optional @MiaAI_lab. diff --git a/docs/screenshots/hero.png b/docs/screenshots/hero.png index d84297d..cfacb99 100644 Binary files a/docs/screenshots/hero.png and b/docs/screenshots/hero.png differ diff --git a/make-tweet-cards.py b/make-tweet-cards.py index b6ec9a1..8075e78 100644 --- a/make-tweet-cards.py +++ b/make-tweet-cards.py @@ -4,7 +4,8 @@ from PIL import Image, ImageDraw, ImageFont -OUT = Path("/home/coinupbtc/Documents/projects/dream-stack/tweet-cards") +# Write next to this file so a clone can regenerate cards (no house path). +OUT = Path(__file__).resolve().parent / "tweet-cards" OUT.mkdir(parents=True, exist_ok=True) NAVY = (11, 18, 32) @@ -40,7 +41,7 @@ def card1() -> Path: im = Image.new("RGB", (W, H), NAVY) d = ImageDraw.Draw(im) d.text((40, 28), "DREAM STACK · 2× DGX Spark GB10", font=font(28, True), fill=TEAL) - d.text((40, 72), "tool-eval-bench 69 seed 42 thinking OFF 69/69 infra error 0", font=font(20), fill=MUTED) + d.text((40, 72), "tool-eval-bench 69 seed 42 thinking OFF 69 completed infra error 0", font=font(20), fill=MUTED) d.text((40, 104), "v2.5.1.dev29+g573a3ec70 occupancy + baton by coinupbtc", font=font(18), fill=MUTED) headers = ["Occupancy", "Score", "P / part / F", "Points", "Wall", "Unique t/s", "Med turn"] diff --git a/setup.sh b/setup.sh index 1bffcfb..5450df4 100755 --- a/setup.sh +++ b/setup.sh @@ -4,8 +4,8 @@ set -euo pipefail ROOT="$(cd "$(dirname "$0")" && pwd)" cd "$ROOT" -echo "==> Dream stack — occupancy for 2× NVIDIA DGX Spark" -echo " 0731 TP2 @ 348k + Qwen GGUF roommate + baton :8877" +echo "==> Dream stack — supporting occupancy on MiaAI 0731 TP2" +echo " leftover Qwen GGUF + baton :8877. Public hero: miaai35-tune" echo ok=0 diff --git a/tweet-cards/01-teb69-scoreboard.png b/tweet-cards/01-teb69-scoreboard.png index d84297d..cfacb99 100644 Binary files a/tweet-cards/01-teb69-scoreboard.png and b/tweet-cards/01-teb69-scoreboard.png differ