Model reference · open weights
sabi-noema-mla is an open-weight language model from sabicap. sabi-noema-mla (BF16) weighs 54.7 GB; the smallest configuration that runs it is H100 80 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the sabicap/sabi-noema-mla model card, 2026-10-20
What it is
| Released by | sabicap |
|---|---|
| Released | 2026-10-13 |
| Parameters | 27.4B |
| VRAM | 54.7 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … L40S 48 GB 6 smaller cards | ||||
| A100 80 GB | 25 | 8 | all 256K | 78.2 GB |
| H100 80 GB | 18 | 6 | 227K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 37 | 12 | all 256K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 53 | 18 | all 256K | 107 GB |
| H200 141 GB | 89 | 30 | all 256K | 138 GB |
| B200 180 GB | 133 | 45 | all 256K | 176 GB |
| 2× L40S 48 GB tensor parallel | 34 | 11 | all 256K | 44.0 GB a card |
| 4× RTX 4090 24 GB tensor parallel | 35 | 12 | all 256K | 23.4 GB a card |
| 4× RTX 3090 24 GB tensor parallel | 35 | 12 | all 256K | 23.4 GB a card |
| 4× RTX 5090 32 GB tensor parallel | 71 | 24 | all 256K | 31.0 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 57.8 GB | 59.4 GB |
| 5 | 61.1 GB | 69.2 GB |
| 8 | 63.7 GB | 76.6 GB |
| 16 | 70.4 GB | 96.2 GB |
| 32 | 83.9 GB | 135 GB |
| 64 | 111 GB | 214 GB |
One card, with vLLM's small-card settings.
From the model card
Sabi-Noema-MLA is Sabi-Noema, our agentic model built on top of Qwen3.8-27B, converted to multi-head latent attention (MLA) for a 3.6× smaller attention cache (7.1× with an FP8 cache).
While Sabi-Noema pushes the limits of reasoning efficiency, with Sabi-Noema-MLA we see how much we can compress the memory needed per token so that long agentic sessions fit on consumer GPUs.
sabi-mla-vllm, shipped in this repository's plugin/ directory; also loads in Transformers with trust_remote_code=TrueFP8-cache results were measured with a simulated FP8 cache (cached values rounded to FP8 and read back); the released serving path stores a BF16 cache, and real FP8 cache serving is coming.
The MLA conversion shrinks the elements per token in the 16 attention layers, and FP8 cache quantization shrinks the bytes per element.
| Original (GQA) | MLA (this repo) | |
|---|---|---|
| Full-attention layers | 16 | 16 |
| Cached per layer | K and V for 4 KV heads | one shared latent + one shared rotary key |
| Dims per cached vector | 256 | 512 latent, 64 rotary |
| Elements per token per layer | 2 × 4 × 256 = 2,048 | 512 + 64 = 576 |
| Elements per token, all 16 layers | 32,768 | 9,216 |
| Bytes per element (BF16) | 2 | 2 |
| Bytes per token | 64 KiB | 18 KiB (3.6× smaller) |
| One 64K-token session | 4 GiB | 1.125 GiB |
In each of the 16 full-attention layers, the per-head key/value cache is replaced by a rank-512 compressed latent plus one 64-dimensional rotary key shared across heads, following DeepSeek-V2[1]. The rotary component is kept separate because position-dependent rotations cannot be absorbed into a low-rank projection; sharing it across heads keeps it to 64 elements per token. The new projections are fit after RL training by matching each layer's attention output to the original Sabi-Noema on long documents of up to 64K tokens. No RL is repeated, so the conversion takes about two hours on a single 8×H100 node.
Attention cache for one median-length session on each benchmark (peak prompt-plus-completion per episode, median over episodes). Reductions are against Qwen3.8-27B:
| Model, cache | Terminal-Bench 2.1 | ClawEval | τ³-bench | BFCL v4 multi-turn |
|---|---|---|---|---|
| Qwen3.8-27B, original GQA, BF16 | 1,911 MiB | 846 MiB | 660 MiB | 468 MiB |
| Sabi-Noema, original GQA, BF16 | 1,455 MiB | 811 MiB | 670 MiB | 462 MiB |
| Sabi-Noema-MLA, BF16 cache | 469 MiB | 223 MiB | 192 MiB | 130 MiB |
| Sabi-Noema-MLA, FP8 cache | 228 MiB (8.4×) | 113 MiB (7.5×) | 96 MiB (6.9×) | 65 MiB (7.2×) |
On Terminal-Bench the reduction compounds: 7.1× from the cache format, and 1.18× more because Sabi-Noema-MLA's sessions are shorter (26.0K tokens at the median with the FP8 cache against 30.6K). On the other benchmarks both models use about the same context, so the reduction stays close to the per-token figure. The median understates peak memory on Terminal-Bench: the 90th percentile is 83–95K tokens and the longest session runs to about 200K. Size deployments for the tail, not the median.
Quantizing the MLA cache to FP8 keeps scores at parity: in one paired run, every benchmark is within one task of the BF16 cache, within run-to-run noise.
Sessions per GPU. Cached tokens / concurrent 32K-token sessions:
| GPU, weights | GQA BF16 | GQA FP8 | MLA BF16 | MLA FP8 |
|---|---|---|---|---|
| RTX 3090 / 4090, 24 GB, 4-bit weights | 75K / 2 | 150K / 4 | 267K / 7 | 534K / 13 |
| RTX 5090, 32 GB, 4-bit weights | 196K / 5 | 391K / 11 | 696K / 18 | 1.39M / 33 |
| 48 GB (2× RTX 3090 or RTX 6000 Ada), 8-bit weights | 248K / 7 | 497K / 14 | 883K / 23 | 1.77M / 43 |
| H100 80 GB, BF16 weights | 288K / 8 | 577K / 16 | 1.03M / 27 | 2.05M / 50 |
| RTX PRO 6000, 96 GB, 8-bit weights | 972K / 28 | 1.94M / 55 | 3.46M / 93 | 6.91M / 168 |
Assumes 92% of VRAM usable, 1 GiB overhead, weights of about 16.5 / 28 / 55 GB at 4- / 8- / 16-bit, ~72 MiB of linear-attention state per session, and a single sequence capped at the model's 262K context. The 4- and 8-bit weight rows are memory arithmetic only; those weight formats are not evaluated here.
Sabi-Noema-MLA (BF16 cache) against Qwen3.8-27B and comparison models, with Sabi-Noema for reference. Same harnesses for every model: Terminal-Bench 2.1 following Artificial Analysis's settings on H100 TP2 deployments with up to 8 tasks per server (Sabi-Noema-MLA, whose plugin is single-GPU, and Muse Glimmer on TP1), τ³-bench (airline, retail, telecom) with a GPT-4.1 user simulator, DeepSWE uncapped (seeds with an infrastructure failure scored as a model fail are excluded), ClawEval graded by the harness's LLM judge. Qwen reports 73.0 on Terminal-Bench 2.1 with its own Terminus setup and 42.2 on DeepSWE 1.1 with the Claude Code harness. Terminal-Bench 2.1 is averaged over 2–3 runs per open model and DeepSWE over 2–3 seeds for Sabi-Noema, Sabi-Noema-MLA and Qwen3.8-27B; GPQA-Diamond, IFBench and AA-LCR over 3 runs where we ran them. GPT-6 Luna (openai/gpt-6-luna) was called through OpenRouter at medium reasoning effort; Muse Glimmer
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.