Strata 0.2.7.1: NVIDIA DGX Spark and DeepSeek on the Mac

Downloads

Versionshinweise

# Strata 0.2.7: faster 12 GB NVIDIA cards, DeepSeek on Ryzen AI Max, a bigger web chat page, French

The app is 0.2.7. The 0.2.7.1 section below is the new part of this release; everything after it is the 0.2.7 text. Control is 0.1.53 since 0.2.7.1. The engine packages of 0.2.7 stay at 0.1.52, and the new Spark engines are 0.1.53.

0.2.7.1: NVIDIA DGX Spark, and DeepSeek on the Mac

This update adds two things: Strata now runs on the NVIDIA DGX Spark (Linux ARM64), and DeepSeek-V4.1-Flash runs on Apple silicon Macs. If you use Windows, Linux with an x86 processor, or a Mac for Qwen only, you get no new engine, no speed change and no app change, and you do not need to update. Your Terminal will still show a small update (Control 0.1.52 to 0.1.53). It brings a reader for the update feed that skips entries it does not understand instead of stopping, so a later release can add a new kind of computer without breaking yours. Your engines stay as they are.

DGX Spark

  • What runs. Qwen3.8-Flash-Next (IQ3_S and the NVFP4 pack, 64K context) and DeepSeek-V4.1-Flash 2.00 bpw. We tested one Spark (Ubuntu 24.04, NVIDIA driver 580, CUDA 13.0). We do not know that it works on any other ARM computer. The Spark needs glibc 2.39 or newer (Ubuntu 24.04, DGX OS 7) and driver 580.65 or newer.
  • Install. The Terminal only, because there is no desktop app for ARM Linux:
  curl -fsSL https://github.com/Niko1221/Strata/releases/latest/download/install.sh -o install.sh && sh install.sh
  strata launch

strata launch downloads the Spark engine, shows what each model needs, and starts the one you pick. The guide is docs/DGX_SPARK_LINUX.md.

  • Speed. Four Spark settings are on by default. The table is the same engine with them on and with them off (STRATA_SM121_PERF=0), on one Spark with 64K context and 256-token answers, medians of four runs per cell. It is not a comparison with 0.2.7 or with another machine.

| Model | Settings | Prompt, tok/s (4K / 16K / 32K) | Answer, tok/s (4K / 16K / 32K) | |---|---|---|---| | IQ3_S | on | 1,296 / 1,680 / 1,735 | 45.5 / 46.5 / 46.5 | | IQ3_S | off | 1,203 / 1,416 / 1,276 | 48.5 / 45.3 / 45.2 | | NVFP4 | on | 1,408 / 1,670 / 1,698 | 42.8 / 40.5 / 40.1 | | NVFP4 | off | 1,156 / 1,350 / 1,353 | 41.0 / 41.2 / 38.4 |

Prompts are 1.20 times faster on IQ3_S (90% range 1.12 to 1.31) and 1.24 times faster on NVFP4 (1.14 to 1.36). Answer speed did not change in this check: 0.996 times on IQ3_S (0.97 to 1.02, and 0.94 times at 4K) and 1.02 times on NVFP4 (1.00 to 1.05). An earlier run had shown about 5% for each of two answer-speed settings; this check did not repeat it.

  • Several chats at once. strata launch sets four slots on a Spark. With IQ3_S, 2,000-token prompts and 128-token answers, all clients at the same time, the total over all clients was 35.6 tok/s for 8 clients, 41.7 for 16 and 47.3 for 32 at four slots, and 54.2 for 32 clients at eight slots. One chat alone answers at about 46 tok/s, so several chats mostly share the Spark's speed. We also gave every client its own prompt and a hidden code: each answer named its own code and nobody else's (8 clients on four slots, 16 clients on eight slots), and none failed or hung.
  • Answer quality. The faster prompt path rounds numbers a little differently, so the same question can come back in different words. On a 61-task suite (finding facts in long documents, copying up to 72 exact rows, summaries, code, JSON, agent loops with tools) the settings on passed 56 tasks and off 51 on IQ3_S, and 56 against 52 on NVFP4. Every run found all 63 facts, and no agent loop made an invalid tool call. The answers differ in wording on 21 of the 61 tasks (IQ3_S) and 25 (NVFP4), and the wins and losses go both ways. Read it as no loss that we could measure, not as an improvement. On NVFP4 one 40-row register lost a row with the settings on (616 of 642 extraction facts against 621). To get the answers of 0.2.7 back on the Spark, set STRATA_SM121_PERF=0.
  • DeepSeek on the Spark. DeepSeek-V4.1-Flash 2.00 bpw at 8K context in the default Faster mode (5 of 6 experts per word) answered a short chat at 13 to 18 tok/s, and the first answer after a start is the slowest. With --experts 6 the first run measured 17 to 23 tok/s on a 1.7K-token chat.
  • What we did not test. DeepSeek beyond short chats, contexts above 128K, a long soak, and reading pictures (it is built in and was not tried). The Q2_0 and Gyro packs do not start on ARM, because their CPU kernels exist for x86 only. There is no desktop app, HIP, SYCL or CPU-only engine for ARM. strata doctor --live lists the GB10 without a memory figure, because nvidia-smi reports none for it.
  • Thanks. @ferstar's pull request #3622 made the engine build for ARM64 and is the base of this port; their name is on the commit.

DeepSeek on the Mac

  • What runs. DeepSeek-V4.1-Flash 2.00 bpw and 2.25 bpw on Apple silicon (M1 or newer, macOS 15 or newer), text only. strata launch fetches the DeepSeek engine for the Mac the first time you pick DeepSeek, like on Windows. It needs 257 GB (2.00) or 274 GB (2.25) of free disk on the internal SSD or an NVMe drive, not a USB or network drive. We recommend 64 GB of memory or more, but we tested one Mac only, an M5 Max with 128 GB. A Mac with less memory starts, and setup says it will be much slower and asks before it goes on, but we ran nothing under 128 GB.
  • Install. Use the Terminal (the app is still 0.2.7 and we did not try DeepSeek on the Mac in it):
  strata launch --family deepseek41 --model ist-das-2.00bpw --plan
  strata launch --family deepseek41 --model ist-das-2.00bpw

The guide is docs/DEEPSEEK_MAC.md.

  • Speed. Measured on the M5 Max with 128 GB, the engine as shipped, one fresh start per run, two runs each, in tokens per second. They were measured while another person's Qwen server (a 60 GB model, loaded and idle) was running on the same Mac, so both shared the file cache. A Mac with nothing else running may be faster; we did not measure that.

| | 2.00 bpw | 2.25 bpw | |---|---|---| | Short answer, code prompt | 15.2 to 16.0 | 14.7 to 15.3 | | Short answer, agent prompt | 15.3 to 16.2 | 13.1 to 13.6 | | Answer after a 3,000-token prompt | 14.5 to 15.1 | 11.7 to 11.8 | | Answer after a 14,000-token prompt | 13.8 to 15.1 | 10.5 to 11.1 | | Reading a 3,000-token prompt | 236 to 241 | 293 to 294 | | Reading a 14,000-token prompt | 479 to 512 | 553 to 586 | | Reading a 32,000-token prompt | 609 | 720 |

The model does not fit in memory, so part of it is read from the SSD for every word (48 MB per word on 2.00, 111 MB on 2.25). Answer speed is limited by those reads and by the processor, not by the graphics chip.

  • Quality. The 2.25 set stays closer to the original model: on a scoring run over 4,995 text positions it ends about 8% above the original model's perplexity, and the 2.00 set about 17% above. The Mac's closeness score for 2.25 (0.111, lower is closer) sits inside the run-to-run spread of the same set on a Radeon AI PRO R9700 (0.109 to 0.111). A hidden code in a long text was found at 14,600, 17,000, 19,500 and 26,200 tokens.
  • A choice we made. The Mac reads DeepSeek's large per-word table (the Engram) with two threads. With more threads, 3 to 9 of 16 runs gave slightly different words from the same prompt. We have not found the cause. Two threads cost about 3 to 12% of prompt speed (about 12% at 3,000 tokens, 7 to 12% at 14,000, about 3% at 32,000) and do not change answer speed. DS4_ENGRAM_THREADS=N sets another number. Two runs of the same prompt can still differ in the last digits of a score, because the engine moves experts between memory and the SSD as it learns what the prompt needs; the answers stay equally good.
  • **Found and f

Vollständig auf GitHub

Neuere Version: v0.2.8Ältere Version: v0.2.6