Three Machines, One Address
I own three small desktop computers. Each is about the size of a thick book, and each exists to run AI models on a desk instead of in a data center. NVIDIA sells them as the DGX Spark, with 128 gigabytes of memory each. The model I wanted to run is GLM-5.3 Flash, a large language model from Z.AI. It is open weights: anyone can download the whole thing and run their own copy. That freedom has a catch. The model is too big for one Spark. The community's answer was to split it across two machines, and people posted recipes. Four Sparks is the next stop. Three, the received wisdom went, was an awkward number that did not make sense. I had three, and I wanted three to make sense: every machine a full peer, not two workers and a spare. JSpark3 is what came out of that.
JSpark3 is a recipe, not a new model. I trained nothing and invented no new architecture. It is 39 files and a precise procedure that make three Sparks behave as one machine serving one copy of GLM-5.3 Flash: a wiring diagram plus an assembly manual, not a new engine. From the outside, software sees a single endpoint, which just means one address to talk to. Three machines, one address. Nothing on the other end can tell there are three. One trick inside deserves two sentences. A small, fast model guesses the next several words, and the big model checks all the guesses in one pass, keeping the ones it agrees with. When the guesses are good this is much faster, and the output is word-for-word identical to what the big model would have said alone. Speed with no quality tradeoff. The small model doing the guessing is Inco AI's DFlash2.
The numbers I trust most are the ones I could not rig. Against the two-Spark recipe, reading code in a single conversation went from 44.6 to 66.3 words a second, 1.49 times faster. The pause before the machine starts answering dropped from 719 to 391 milliseconds on one specific prompt. With four conversations at once, total output rose from 146.5 to 251 words a second. The people behind the earlier setups published their own benchmark scripts, and I ran theirs unchanged, except for the address they pointed at. On FlyCockpit's benchmark, three Sparks on each side, JSpark3 came in about 1.2 times their published rate on all three prompts. On MiaAI-Lab's decode benchmark, it ran about 1.35 times their published two-Spark numbers, with acceptance within a point of theirs. Their script, their prompts, their metric. The only thing I changed was the address, so the comparison could not lean my way.
The full write-up. If you want the real depth, it is all there: architecture, every number next to the conditions that produced it, reproducibility, and licensing, at jakejh.com/jspark3. The code and results are on GitHub. The Hugging Face repo has the model card and a shard-by-shard manifest of the exact weights, licenses intact.
Credit, and what most release notes leave out. JSpark3 builds on FlyCockpit's three-Spark loader, MiaAI-Lab's two-Spark recipe, vcruz305's fixes, Brandon M. Music's EXL3/TR3 quantization (the format that shrinks the model to fit), as published by Mia-AiLab, Inco AI's DFlash2 draft, and Z.AI's GLM-5.3 Flash. Every input is pinned. The model weights, the draft model, the container it runs in: all locked to exact versions and cryptographic hashes, and it refuses to start if a single byte has drifted. The published evidence includes the misses. Two of my own internal quality gates did not pass, and the release went out with those failures printed next to the wins. Publishing your failures is expensive, which is exactly why it is credible. A results table with nothing wrong in it mostly tells you what the author chose to hide. Nobody outside my own fleet has reproduced these numbers yet; I would rather say that plainly than have you find out later. The stack is not unrestricted open source: the draft model is non-commercial and the checkpoint requires attribution. The specifics are in the write-up.
If you own three Sparks, try it. Run the preflight first. It will tell you what is wrong with your fleet before anything starts. That is a feature.