Build1 distinct publisher3 min readPublished
A dependency-free script turns config.json into byte counts, checks itself against two artifacts its author did not build, and refuses to estimate anything when a check fails. The second check stopped passing in August, and the reason is worth the read.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Start with what the script actually counts. For each quantized projection it takes the weight bytes, then adds one bf16 scale and one bf16 bias for every group of 64 values along the input dimension [5]. That is MLX affine group quantization as it lands on disk, rather than a parameter count [5]. Group size 64 is a config choice, not a law. Change it, or keep scales in fp32, and every byte in the report moves. That is the first thing that would have to be true for any of these figures to transfer to your machine.
Gate 1 is the strong test, because it leaves no tolerance to hide in. From config.json alone the model predicts the layout Swiftlet publishes in its own on-disk MoE format, and the gate demands integer equality rather than closeness [6]. All four values matched [6]. The full container came in 0.137% low, and the shortfall is named: tokenizer and chat template, which the model does not attempt [7].
Gate 2 is the one that broke, and how it broke is the point. Predicting a stranger's conversion gave 151.8 GB against a published 153.5 GB, 1.1% off a 2% tolerance [8]. The correction dated 2026-08-14 says the script assumed one dense-MLP layer where the published header states two, so it counted 41 mixture-of-experts layers instead of 40 [10]. That extra layer added 3.54 GB, while unmodelled vision and audio encoders, RMS norms, 8-bit router gates and safetensors headers subtracted 5.27 GB [12][9]. Add the magnitudes: the script was off by 8.81 GB in two directions at once, roughly 5.7% of the reference number, while printing 1.1% [1]. Take the layer error out and the whole remaining gap is that unmodelled list, 5.27 GB, or 3.4% of 153.5 GB [2][11]. Two errors landing 1.73 GB apart is the sort of luck you only hear about afterwards.
The structural claim is that total parameter count is nearly irrelevant, and that per-token cost is experts_per_token x layers x expert_size [14]. The corrections show the shape of that dependence. A figure that read 3.482 GB at publication and 3.397 GB after the fix raised the predicted token rate by a factor of 1.025 [16], which is exactly 3.482 divided by 3.397 [3]. It enters as a divisor on read bandwidth. On a device sustaining about 7 GB/s [20], 3.397 GB per token comes out near 2.1 tokens per second [4], on the assumption that this figure is the per-token expert read for the 276B model rather than another row of the same table.
So the bandwidth number carries real weight, and that is where the author's earlier work had been guessing: a previous experiment priced disk reads at a nominal 100 microseconds and admitted in its own limitations that the latency was assumed, not observed [19]. The replacement measurement reported 11 to 24 GB/s on a device that does about 7 [20], which is 1.6x to 3.4x too fast [5]. The cause is a single misread API: fcntl(fd, F_NOCACHE, 1) stops the kernel caching future reads on that descriptor and does nothing to pages already resident [21]. The benchmark was timing RAM.
Residency also reframes a README. Swiftlet describes its decode loop as "dispatch bound, not IO bound" [17]. On a 24 GB machine after warmup, 93.7% of the 35B model's expert set is resident, so it is barely streaming at all [17]. Streaming is what lets it start in a couple of gigabytes, not what it lives in, and the finding was a cliff rather than a gradient: past it, kernel work buys nothing [18][15].
Ranked by verification strength, evidence, and original report placement.
A correction dated 2026-08-14 states that Gate 2 no longer passes: the model assumed one dense-MLP layer where the published model's own header states two, so it counted 41 mixture-of-experts layers instead of 40.
Correcting the layer count drops the Gate 2 prediction to 148.23 GB, which is 3.4% off and outside the 2% tolerance; Gate 1 is unaffected and still exact.
A correction notes that a figure published as 3.482 GB is corrected to 3.397 GB, raising the predicted token rate quoted later in the post by a factor of 1.025, too small to affect the post's 23x conclusion; the Qwen row is unaffected.
A mixture-of-experts model activates only a few experts per token, so unlike a dense model, where every forward pass touches every weight, the weights can stay on disk and only the routed ones need reading.
The author writes that MoE streaming turns "does this model fit in RAM" into "how fast is your SSD", putting models far larger than a machine nominally supports within reach at some token rate.
The starting question was whether Inkling-Small, 276B total parameters with 12B active, can run on a 24 GB Mac mini.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 29, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
leadership
You Procured Qwen. Your Edge Boxes Are Running Somebody Else's File.1 distinct publisher
product
A billion downloads, and nobody will say what a download is1 distinct publisher
invest
Tiny corp wants Etched's numbers. Jane Street led $700M at $21B without publishing any1 distinct publisher
security
Cisco and VAIL fingerprint Nemotron models back to their Qwen base weights1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Falsifiable method, one witness
The method is unusually checkable for a personal blog post: byte counts derived only from config files, one gate demanding integer equality against a runtime the author did not write, another predicting a stranger's conversion, and a script that prints nothing when either fails. What it lacks is a second pair of hands — every number, including the retraction, comes from the same author on the same machine, and the strongest single result is now the failure of the check that was meant to prove the model was not fitted to its first test case.
One script, one Mac mini
Nobody outside this post is shown using any of it. The tool has been run against two artifacts built by other people — Swiftlet's container and a third party's conversion — which is real external contact, but there is no sign of another user, a repository of dependents, or a runtime that has adopted the arithmetic. The only third-party adoption evidence in the story runs the other way: Swiftlet exists, publishes its format, and its README makes a claim the author disputes.
Checks stricter than the conclusions
A post that could have sold "276B parameters on a 24 GB Mac mini" instead spends its energy on why that framing collapses: total parameter count barely matters, the expert set either fits or it does not, and streaming is what lets a model start small rather than what it lives in. The one place the original overshot — a 1.1% residual that was 8.81 GB of error cancelling itself out — was retracted by the author in a dated correction that also downgraded a figure of his own. Understated, not overstated.
Reputation, no product
There is nothing being sold. No sponsor, no vendor relationship with Swiftlet or MLX, no service whose numbers would flatter the result. What remains is the ordinary pull of a developer-platform byline and a linked follow-up post, which rewards an interesting story — and the sharper conflict, the temptation to defend one's own earlier published figures, is where the author moved against his own interest twice.
Trust the method, not the totals
Two things pull in opposite directions here. The reasoning chain is transparent enough to re-derive by hand — the 1.025 rate factor is just the ratio of two byte figures, and 5.27 GB is 3.43% of 153.5 GB, which accounts for the whole corrected residual. But it is one publisher, one author, one machine, and one of the two self-checks is currently red, so the specific totals deserve less trust than the procedure that produced them.