JSPARK3
Intelligence is becoming something you can own. For years, the strongest models lived in someone else's data center. You rented them by the token, under someone else's limits and terms, and every prompt left your house. Open weights change that. A model you hold cannot be metered, cannot be changed under you, and cannot be taken away. Your conversations stay on your own disks. The limit is the hardware you chose.
The model
JSPARK3 is my recipe for running GLM-5.3 Flash, an open model from Z.AI, on three NVIDIA DGX Sparks cabled together. Artificial Analysis rates GLM-5.3 Flash level with Claude Opus 4.8 (Max) on its Intelligence Index v4.3.2: 41.8 each, fetched October 3, 2026. That score is the model through its maker's API, not my build, which serves 4-bit weights. Still, an Opus-level model now runs on a shelf in my home.
The speed
Artificial Analysis measures Claude Opus 4.8 (Max) through Anthropic's API at a median of 54.6 output tokens per second, counted after the first chunk arrives (fetched October 3, 2026). At home, JSPARK3 v2.0.1 with base weights and the draft model wrote a complete program at 92.5 tokens per second: one request, natural length (5,543 tokens), counting the wait for the first token. With one user, prose replies forced to 2,000 tokens, with thinking requested off, ran at 73.6 tokens per second. These are different setups, measured different ways, so I put no ratio on them. The direction is enough. The model in my house writes faster than the one I rent.
What it stands on
None of this is mine alone. JSPARK3 is a fork of TensorFold 0.3.6.2 (MIT) by Ash Hart, and it builds on Taus Soe's GLM multi-stream foundation, disk-chain design and CUDA image input. Z.AI made the model, and Inco AI the draft model. The full list is in the README's Credits.
What it taught me
Every bottleneck was a lesson. Fitting the model taught me quantization. Splitting it across three machines taught me how they share one model, and why the links between them become a limit of their own. Long waits sent me into prefill and caching. Each problem came down to memory, computation or communication, and to measuring which one was actually in the way. It also made me careful about claims. I publish each number with the conditions it was measured under, so someone else can check it, reproduce it and improve on it.
Where to find it
The hub at jakejh.com/jspark3 lists every release: the numbered main line on GLM-5.3 Flash, and named experiments like Tempo, built on DeepSeek-V4.1 Flash. The GLM releases live on GitHub and Hugging Face. I maintain the main line. Older releases stay up with their instructions and recorded results, but I don't promise to keep them current.
Your machine, your weights, your conversations. That is the point.