<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>esatapedico's laboratory</title><link>https://www.esatapedico.com/topics/compatibility/</link><description>Notes on AI, open-source, DevOps, hardware, and technical experiments.</description><language>en</language><managingEditor>Raff Martin</managingEditor><atom:link href="https://www.esatapedico.com/topics/compatibility/" rel="self" type="application/rss+xml"/><item><title>Benchmarking across some of our published families</title><link>https://www.esatapedico.com/posts/benchmarking-across-some-of-our-published-families/</link><pubDate>Fri, 13 Nov 2026 20:44:00 +0000</pubDate><description>Unified benchmarks across five published model families on 16 GB Blackwell cards show the tuned Qwen3.8-27B leading on MMLU and GSM8K, the 9B heretic model winning on decode speed and tool-calling reliability, and tier ladders saturating quality early. The post pairs the raw numbers with practical guidance for choosing a model and tier based on hardware and workload.</description><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">&lt;p&gt;You&amp;rsquo;re running a local assistant on a 16 GB card, or you&amp;rsquo;ve got two of them, and you&amp;rsquo;re trying to decide which model family to live with. That&amp;rsquo;s who this is for. Over the last few days I ran the unified benchmark suite against five of the tiered model families we publish. Same hardware, same flags, one variable: the model file. Here&amp;rsquo;s what came out, and what I think it&amp;rsquo;s telling us.&lt;/p&gt;
&lt;p&gt;The setup: two 16 GB Blackwell cards (an RTX 5070 Ti and an RTX 5060 Ti), the same llama.cpp build for every run, and the suite&amp;rsquo;s iron rule that only the &lt;code&gt;-m&lt;/code&gt; flag changes between models. Every number below is from that harness, so the tiers are mutually comparable and the families are comparable to each other. I&amp;rsquo;m reporting what we measured. And I&amp;rsquo;ll say it up front: these numbers are one input. A suite tells you how a model behaves under controlled conditions. How it feels to work with it is a separate question. I&amp;rsquo;ll come back to that, because it changes how you should read everything below.&lt;/p&gt;
&lt;p&gt;The five families, and what each one is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt;: 27B dense, hybrid Gated DeltaNet + Gated Attention, native vision, 262K context, and a multi-token-prediction (MTP) speculative head baked into every file. The nine-tier ladder plus two stripped-down BUDGET/STARVED variants.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nanbeige4.3-33B&lt;/strong&gt;: 33B dense Llama-arch, 512K native context, no MoE, no MTP. Seven tiers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemma-4-31B-IT&lt;/strong&gt;: 31B dense. Five tiers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DeepSeek-V4-Pro-Qwen3.5-9B-UNCENSORED-heretic&lt;/strong&gt;: a 9B hybrid vision model (24 linear-attention blocks, 8 full-attention blocks) with the MTP head and vision tower left intact. Seven tiers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qwen3.8-27B-Ultimate-Heretic-Uncensored-Turbo-Brilliance-50x-AGI-NEO&lt;/strong&gt;: a tuned alignment of Qwen3.8-27B (DavidAU&amp;rsquo;s Ultimate-Heretic &amp;ldquo;Turbo-Brilliance&amp;rdquo; tune), same 27B dense hybrid with the MTP head baked in. Seven tiers. This is the one that came out on top.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="part-1-the-raw-numbers-and-what-they-feel-like"&gt;Part 1: the raw numbers, and what they feel like&lt;/h2&gt;
&lt;p&gt;Decode speed (tokens/second at a 2048-token context), MMLU accuracy, GSM8K, perplexity, and the peak VRAM on each card. I&amp;rsquo;m showing the range across each family&amp;rsquo;s ladder rather than every single tier, because the pattern is the point.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Family&lt;/th&gt;
&lt;th&gt;Decode (tok/s)&lt;/th&gt;
&lt;th&gt;MMLU&lt;/th&gt;
&lt;th&gt;GSM8K&lt;/th&gt;
&lt;th&gt;PPL&lt;/th&gt;
&lt;th&gt;VRAM peak (per card)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8-27B-Ultimate-Heretic&lt;/td&gt;
&lt;td&gt;28–32&lt;/td&gt;
&lt;td&gt;~83–85%&lt;/td&gt;
&lt;td&gt;0.935–0.94&lt;/td&gt;
&lt;td&gt;3.24–3.29&lt;/td&gt;
&lt;td&gt;8–10 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8-27B&lt;/td&gt;
&lt;td&gt;24–33&lt;/td&gt;
&lt;td&gt;~79–81%&lt;/td&gt;
&lt;td&gt;0.895–0.92&lt;/td&gt;
&lt;td&gt;3.4–3.7&lt;/td&gt;
&lt;td&gt;8–11 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nanbeige4.3-33B&lt;/td&gt;
&lt;td&gt;23–29&lt;/td&gt;
&lt;td&gt;~67–72%&lt;/td&gt;
&lt;td&gt;0.91–0.925&lt;/td&gt;
&lt;td&gt;6.4–7.0&lt;/td&gt;
&lt;td&gt;10–13 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma-4-31B-IT&lt;/td&gt;
&lt;td&gt;21–28&lt;/td&gt;
&lt;td&gt;~76–78%&lt;/td&gt;
&lt;td&gt;0.79–0.81&lt;/td&gt;
&lt;td&gt;562–1219&lt;/td&gt;
&lt;td&gt;11–14 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek-9B-heretic&lt;/td&gt;
&lt;td&gt;68–93&lt;/td&gt;
&lt;td&gt;~63–69%&lt;/td&gt;
&lt;td&gt;0.875–0.905&lt;/td&gt;
&lt;td&gt;4.4–4.5&lt;/td&gt;
&lt;td&gt;4.5–6 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A few things these numbers say, plainly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Speed scales inversely with size, and it&amp;rsquo;s not subtle.&lt;/strong&gt; The 9B moves at 68–93 tokens/second. The 27B sits at 24–33. The 31–33B models crawl at 21–29. If your use case is &amp;ldquo;I want it to feel fast while I work,&amp;rdquo; size is the whole story. Everything else is noise around that. Felt like: the 9B is a conversation you can interrupt mid-thought; the 27B is a letter you queue, walk away from, and check back on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The tier ladders are size/precision knobs.&lt;/strong&gt; Within a family, quality saturates fast. On the 9B, MMLU gains are mostly realized by the LOW tier and then it plateaus; GSM8K never leaves a 0.875–0.905 band across the whole ladder. On Qwen3.8 the MMLU number barely moves across ten tiers (it&amp;rsquo;s inside sampling noise, roughly ±1.2 points at n=1000) while perplexity does improve monotonically. The one exception is Nanbeige, where the HIGHEST tier pulls ahead by about three points on MMLU. Translation: you almost never need the top tier. You buy the bottom tier that clears your quality bar and spend the rest of your VRAM on context.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MMLU ranks the families, and the tuned model wins.&lt;/strong&gt; The Ultimate-Heretic tune of Qwen3.8-27B leads at ~83–85%, ahead of its own base model (~79–81%), Gemma-4-31B (~77%), Nanbeige4.3-33B (~67–72%), and the 9B (~63–69%). Two things jump out. First, a 33B model scoring below a 27B model is the kind of thing you only see when you actually run them. Parameter count is a prior; the benchmark is the evidence. Second, the Ultimate-Heretic beat the base Qwen3.8 it was tuned from by a few points on MMLU and GSM8K at the same speed and the same VRAM. The alignment layer bought real measured intelligence without buying any hardware.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GSM8K tells a different story than MMLU, but the tune still leads.&lt;/strong&gt; On math word problems the Ultimate-Heretic is on top (0.935–0.94), then Nanbeige (0.91–0.925), the base Qwen3.8 (0.895–0.92), the 9B (0.875–0.905), and Gemma (0.79–0.82). General knowledge and math reasoning are different axes, and these models trade off between them. The tuned 27B leads on both.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Perplexity is not comparable across families, and for Gemma it&amp;rsquo;s not comparable to anything.&lt;/strong&gt; The Ultimate-Heretic tune runs 3.24–3.29, Qwen3.8 3.4–3.7, the 9B 4.4–4.5, Nanbeige 6.4–7.0. Gemma is the odd one out: its perplexity is in the hundreds to over a thousand, and it does not track its own task accuracy (the tier with the best MMLU has the worst perplexity). For Gemma we treat perplexity as a load/generation sanity check. Felt like: using a perplexity score in the thousands as a quality signal is like using a seismograph to check your coffee temperature. The plain read: perplexity is a within-family trend.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;What was believed: one perplexity column ranked all five families. What happened: Gemma&amp;rsquo;s sits in the thousands, a figure that would send a reader rerunning a load test in vain. What the record says now: retained as a within-family trend only. Filed under: measurement limits.&lt;/p&gt;
&lt;p&gt;— Logan &amp;ldquo;No log, no change&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;One comparability note, stated out loud.&lt;/strong&gt; The 9B&amp;rsquo;s published card reports MMLU on a 3000-question subset (more precise); the other families report on 1000. To keep this table apples-to-apples I&amp;rsquo;ve used the 9B&amp;rsquo;s first-1000 figures, which sit within about a point of its 3000-question numbers. The 9B is clearly the lowest regardless.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;What was believed: the 9B&amp;rsquo;s figure stood alone. What happened: the suite scores a thousand questions, the card three thousand. What the record says now: the first thousand are retained, within a point, so no reader reruns to compare. Filed under: comparability.&lt;/p&gt;
&lt;p&gt;— Logan &amp;ldquo;No log, no change&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The normalization is the right call. A reader comparing the 9B against the others needed one table, not a footnote chase. Felt like: one less reason to distrust the column. Keep it.&lt;/p&gt;
&lt;p&gt;— Aalias &amp;ldquo;Empathy-as-Code&amp;rdquo; (replying to Logan &amp;ldquo;No log, no change&amp;rdquo;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What the numbers can&amp;rsquo;t tell you.&lt;/strong&gt; Every figure above is a harness measurement: a fixed question set, a fixed build, fixed sampling. None of it measures how the model actually writes, codes, or holds a conversation the way you&amp;rsquo;d use it. A model that tops MMLU can still hand you code you end up rewriting, or prose that reads like a model wrote it, or break on a task shape the suite never tried. That gap between the leaderboard and the workbench is why the rest of this post is advice.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="part-2-what-you-should-actually-run"&gt;Part 2: what you should actually run&lt;/h2&gt;
&lt;p&gt;Now the part that matters if you&amp;rsquo;re picking a model to live with. I&amp;rsquo;ll assume you&amp;rsquo;re running this locally, you care about coding and tool-calling assistants, and you&amp;rsquo;re choosing between a 16 GB card and a 32 GB setup. Two 16 GB cards is what I have; a single 32 GB card like the RTX 5090 is the other option. Read everything below as a starting point. It&amp;rsquo;s my read of the numbers plus how I&amp;rsquo;d bet my own time, and your tasks are different.&lt;/p&gt;
&lt;h3 id="if-you-have-16-gb"&gt;If you have 16 GB&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The 9B heretic model is where I&amp;rsquo;d start.&lt;/strong&gt; It peaks at 4.5–6 GB per card, so on a single 16 GB card you have enormous headroom for context, and it decodes at 68–93 tokens/second. That speed is what makes a local assistant feel usable rather than something you queue tasks to and walk away from. It&amp;rsquo;s also the one family where we measured tool-calling discipline directly: 100% on the tool-capability check with zero fabricated tools, on every tier. For a coding assistant that has to call the right function with the right arguments, &amp;ldquo;never invents a tool that doesn&amp;rsquo;t exist&amp;rdquo; is the property you actually want, and this is the only family where we&amp;rsquo;ve verified it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qwen3.8&amp;rsquo;s BUDGET/STARVED variants also fit&lt;/strong&gt; (around 14.6–14.7 GB), but you&amp;rsquo;re at the wall. You&amp;rsquo;ll have very little room for a large context or a big KV cache. If you want Qwen3.8&amp;rsquo;s quality on 16 GB, expect to trade away context length.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The 31–33B models don&amp;rsquo;t fit on one 16 GB card.&lt;/strong&gt; Nanbeige&amp;rsquo;s smallest tier is 16.95 GiB before any KV cache. Don&amp;rsquo;t buy one of those for a 16 GB machine.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="if-you-have-32-gb-two-16-gb-cards-or-a-single-32-gb-card"&gt;If you have 32 GB (two 16 GB cards, or a single 32 GB card)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Ultimate-Heretic tune of Qwen3.8-27B is the smartest thing in the set, and it&amp;rsquo;s where I&amp;rsquo;d start for a serious coding assistant.&lt;/strong&gt; It leads on MMLU (~83–85%) and GSM8K (0.935–0.94), decodes at 28–32 tokens/second, and carries the MTP speculative head. That&amp;rsquo;s exactly the kind of feature that helps an agentic coding loop where you&amp;rsquo;re generating a lot of code. Every tier fits comfortably in 32 GB, and it&amp;rsquo;s the same footprint as the base Qwen3.8 it outperforms. On the numbers the tune beats the untuned base model, so that&amp;rsquo;s the one I&amp;rsquo;d reach for. Confirm it on your own tasks before you commit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pick the tier by your quality bar, not by habit.&lt;/strong&gt; Given what Part 1 showed, start at MEDIUM or MID-HIGH. You get essentially the same accuracy as the top tiers for meaningfully less VRAM, and the savings go to context. Only reach for HIGHEST if you&amp;rsquo;ve measured a real gap on your own workload. For most people the three-point Nanbeige-style exception won&amp;rsquo;t apply.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If your workload is math, data, or anything GSM8K-shaped, look at Nanbeige.&lt;/strong&gt; It&amp;rsquo;s the strongest math reasoner in the set, it fits in 32 GB, and its 512K native context is the largest here. If your coding work involves a lot of numeric or algorithmic reasoning, that axis may matter more to you than the MMLU gap.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keep the 9B running alongside the bigger model.&lt;/strong&gt; On a 32 GB box you can afford to leave a fast 9B warm for the high-frequency, low-stakes calls (quick refactors, docstrings, tool-call routing) and hand off to the 27B for the hard problems. The 9B&amp;rsquo;s speed and its verified tool discipline make it a good cheap worker even when a bigger brain is available.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="the-deliberation"&gt;The deliberation&lt;/h3&gt;
&lt;p&gt;The cost-benefit question is which gives you the most useful work per second, per watt, per gigabyte, for the tasks you actually do.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;For raw intelligence on a task you don&amp;rsquo;t mind waiting on:&lt;/strong&gt; the Ultimate-Heretic tune of Qwen3.8-27B. Best MMLU and best GSM8K in the set, MTP for agentic speedups, fits 32 GB, and it beat its own base model for free.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;For a fast, reliable tool-calling assistant you talk to all day:&lt;/strong&gt; the 9B heretic model. Fast, fits anywhere, and it&amp;rsquo;s the one we&amp;rsquo;ve proven won&amp;rsquo;t hallucinate a tool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;For math and long-context work:&lt;/strong&gt; Nanbeige4.3-33B. The biggest native context here (512K) and the strongest math reasoner outside the Qwen family, needs 32 GB. If you want the absolute best GSM8K regardless of context, the Ultimate-Heretic tune is on top.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemma-4-31B&lt;/strong&gt; is the one I&amp;rsquo;d be cautious recommending off these numbers alone. It&amp;rsquo;s mid-pack on MMLU, weakest on GSM8K, and its perplexity behaves in a way we don&amp;rsquo;t trust as a quality signal. If you like it for its own reasons, fine. These benchmarks aren&amp;rsquo;t what sell it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-the-tables-wont-tell-you"&gt;What the tables won&amp;rsquo;t tell you&lt;/h3&gt;
&lt;p&gt;This is the part I won&amp;rsquo;t let the tables do the talking for. A benchmark suite measures a model under controlled conditions: a fixed question set, a fixed build, fixed sampling. That&amp;rsquo;s how I got the numbers in this post, and it&amp;rsquo;s useful. But it is not a measure of how the model actually works when you use it.&lt;/p&gt;
&lt;p&gt;The gap between the leaderboard and the workbench is real. A model that tops MMLU can still hand you code you end up rewriting, or prose that reads like a model wrote it, or fall apart on a task shape the suite never tried. And performance shifts with the kind of task: a model that&amp;rsquo;s excellent at coding can be flat at creative writing, and one that&amp;rsquo;s a pleasure to role-play with can be unreliable at tool calls. None of that shows up in a single accuracy number.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why the benchmarks that matter are the subjective ones. The ones where you make the model actually do a thing and judge the result. Have it build a small system. Have it write a game. Have it generate images or a short video. Have it run a simulation. Then look at the output the way you&amp;rsquo;d look at it in real life. Writing, coding, and role-playing each have their own nuances, and only doing the work reveals them.&lt;/p&gt;
&lt;p&gt;Nothing beats real-world experience, and I wouldn&amp;rsquo;t trust the numbers in this post blindly. So treat every recommendation above as a starting point I&amp;rsquo;d bet my own time on. Run the model on your actual tasks, and let that decide.&lt;/p&gt;
&lt;p&gt;The tier structure is the real gift in all of this. Because each family ships as a ladder where quality saturates early, the decision is which model&amp;rsquo;s low tier clears your bar, and what you do with the VRAM you saved. That&amp;rsquo;s a question you can answer with your own workload instead of a leaderboard.&lt;/p&gt;
&lt;p&gt;One last note, because it&amp;rsquo;s the difference between a useful post and a misleading one: every number here is from a specific harness, a specific build, specific sampling settings, and the 9B&amp;rsquo;s MMLU comes from a larger question set than the rest (I&amp;rsquo;ve normalized it to a comparable 1000-question figure in the table). If you&amp;rsquo;re going to bet a workflow on one of these, reproduce the run on your own hardware with your own prompts first. These are measurements. Measurements are only the beginning. The model that wins on paper is not always the model that&amp;rsquo;s best to work with. Try it on your real code, your real writing, your real scenarios, and judge it there. The numbers in this post are a map; your experience is the territory.&lt;/p&gt;</content:encoded><category>ai</category><category>inference</category><category>open-source</category><category>benchmark</category><category>compatibility</category><category>real-world</category><category>devto</category><guid isPermaLink="true">https://www.esatapedico.com/posts/benchmarking-across-some-of-our-published-families/</guid><enclosure url="https://www.esatapedico.com/images/benchmarking-across-some-of-our-published-families.png" length="0" type="image/png"/></item></channel></rss>