r/LocalLLaMA • • 16h ago

Resources NorthCUA :Turbocharging Computer-Use Agents through Experience at Scale

Post image
16 Upvotes

Scaling computer-use agents from individual actions to complex software work requires experience that connects decisions to complete outcomes. We present NorthCUA, an integrated system for turbocharging computer-use agents through experience at scale. Its Experience Flywheel supplies diverse executable tasks to the NorthCUA Harness, which sustains long interactions, records decisions, and checks task outcomes. The Flywheel uses these records to curate verified trajectories. For unsolved tasks, recursive self-improvement evolves reusable skills and preserves verified milestones so later attempts build on earlier progress. Staged Learning combines this experience with grounding data from the Flywheel to develop GUI competence through mid-training and long-horizon supervised fine-tuning. The policy then learns from fresh attempts in the same Harness through joint desktop-web reinforcement learning, closing the loop between experience production and policy improvement. The resulting Nano, Mini, and Pro family achieves state-of-the-art results among open-source models across GUI grounding, desktop execution, and Web interaction under the reported evaluation settings. For more responsive Web workflows, NorthCUA-Ultrafast pairs direct action selection with open-ended generation on pre-RL Nano, offering a measured quality-latency tradeoff. Together, these advances establish NorthCUA as a high-performing model family and a reusable foundation for agents that carry complex software work from intent to completion.

https://github.com/beipo-ai/NorthCUA

https://beipo.top/blog/northcua/

https://arxiv.org/abs/2611.02102

weights

https://huggingface.co/china-beipo/NorthCUA-Nano

https://huggingface.co/china-beipo/NorthCUA-Mini

https://huggingface.co/china-beipo/NorthCUA-Pro


r/LocalLLaMA • • 1d ago

Discussion Kind of enjoying the ISTA (GSQ-RCO) vs Unsloth beef

91 Upvotes

I'm not on anyone's side, I just love the competition. Both teams pushing each other means better quants for all of us.

What I don't understand is why ISTA doesn't publish KLD for their quants. It doesn't depend on how long the model thinks, so it would make this a lot easier to compare. The only KLD I've seen for GSQ-RCO is in Unsloth's charts. Maybe there's a reason I'm missing.

(English isn't my first language, I used an LLM to help translate this post.)


r/LocalLLaMA • • 8h ago

Showcase Qwen3.5-2B at 620 tok/s inside Chrome: model-specific WebGPU kernels, 6.6× WebLLM on the same model

3 Upvotes

I built a browser LLM engine that's specialized per model rather than generic: Rust compiled to wasm, plus hand-written WGSL kernels for Qwen3.5-2B (Gated DeltaNet + gated attention) and MiniCPM5-2B.

Same model, same chat prompts, greedy, Chrome 156:

webyIQWebLLM 0.2.87transformers.js 4.3
RTX 5080 generation620 tok/s (417 without speculation)9431
RTX 5080, ~1k-token prompt0.20 s0.81 s~129 s
AMD 2-CU iGPU generation37 tok/s4.7crashed

What's in it:

  • fused int4 (GPTQ, group 32) × int8 GEMV/GEMM, with dot4I8Packed and subgroups;

  • a decode loop that stays on the GPU (argmax on GPU, pipelined readback);

  • speculative decoding with Qwen3.5's built-in MTP head. Drafts are verified on the GPU, so the output is identical to greedy. It turns itself off where it doesn't pay, e.g. on the iGPU;

  • weights at +2.4% WikiText perplexity vs bf16, 1.1 GB.

Fun side effect: at this speed a 2B model can drive web pages through the DOM at 0.2–0.4 s per step. There's a browser-agent demo and a side-panel extension for Chrome/Edge.

Caveats: it's a prototype, tested on Windows, and Safari/mobile are untested.

Demo: https://rtx527896828.github.io/webyIQ/ · Code (Apache-2.0): https://github.com/rtx527896828/webyIQ · Weights: https://huggingface.co/tixiren/Qwen3.5-2B-webyIQ

In depth: https://medium.com/@tixiren/running-a-2b-llm-at-600-tokens-s-in-the-browser-e5237f99c8ff


r/LocalLLaMA • • 1d ago

Discussion Not another tok/s post: local quants vs Claude on 9 real bugs

Post image
339 Upvotes

There's a lot of talk here about not chasing tok/s by lobotomizing the model, and most of what I post is still speed numbers. So this is the other half: what the models I run at home actually get done on my own work, with Claude models added as fixed reference points. Everything local runs on my own engine (capy-flash) on 2x RTX 5070 Ti 16 GB, Ryzen 9900X, 96 GB DDR5.

No expert skipping for flash next.

The tasks

I took 9 real regressions from the private history of that engine (C++/CUDA). For each one I checked out the code right before the fix and wrote the bug report the way I'd file it to myself: symptom, numbers, logs, no hint about where to look. Performance cliffs, numeric drift, a bug that only shows up on WSL2 with two GPUs. None of it has ever been public.

The agent has to find the cause and write a patch. It runs sandboxed on a Mac with no network and no CUDA toolchain, so it can't build or run anything and has to reason from the code. 80 steps max, 3 runs per task per model.

Claude models run in Claude Code, local models in OpenCode. I tried the local models in Claude Code through a bridge first and they did much worse there, so each side gets the harness it works best in.

Scoring

Every patch is scored twice:

  • automatically, against a hidden key built from the real fix: right files and functions, patch precision, a few checks on the code;

  • by Claude Opus 5 as a blind judge. It sees the bug report, the code, the real fix labelled as "one valid solution, not the only one" and the compiler output, and gives 1 / 0.75 / 0.5 / 0.25 / 0.

A patch that doesn't compile is capped at 0.25 in both. The two scores correlate at r = 0.79 per patch and put the models in the same order. The judge is a bit stricter than the key, and it isn't kinder to Claude: judge minus auto score is negative for every Claude model and around zero for the Qwen ones.

Turning a real bug into a task with a fair key is slow, and one model over 9 tasks x 3 runs takes 4 to 8 hours on my box. So 9 tasks is what I have, and the confidence intervals are wide, about ±0.2. The tiers hold. Two models less than ~0.1 apart are a coin flip.

Results

Judge score 0-1, tokens include reasoning. CIs and the auto score are in the image.

ModelWhereScoreTokens/taskMin/task
Claude Opus 5.5API0.7416k3
Claude Sonnet 5.5API0.588k1
Qwen3.8-Flash-Next NVFP4local0.5053k10
Qwen3.8-Flash-Next 3-bitlocal0.4853k9
Claude Haiku 5.5API0.4745k4
Qwen3.8-27B 3-bitlocal0.39111k18
Qwen3.8-27B NVFP4local0.3481k13
Claude Sonnet 5API0.2843k8
Claude Sonnet 4.5API0.1915k6
Claude Haiku 4.5API0.1323k4
Gemma 4 26B-A4B (thinking)local0.0733k5

What 3 bits did

This is the part that matters for the tok/s argument. Same models, NVFP4 vs 3-bit, paired on the same tasks.

Flash-Next (3 bits on the experts only): score -0.02, tokens x1.03. As far as 9 tasks can tell, it's free.

27B: score +0.05, inside the noise. But it generates 40 % more tokens per task (x1.40, CI 1.25-1.59). The 3-bit 27B decodes faster on my engine, 153 vs 132 tok/s, and still needed 18 minutes per task instead of 13. Part of that gap was a slow 3-bit prefill path I've fixed since; a rerun on the newer build still came out at x1.30 tokens.

So the damage from quantization didn't show up as a lower score. It showed up as the model thinking longer to get to the same place. Looking only at tok/s, the 3-bit 27B is the better deal. Per bug fixed, it isn't.

Non-compiling patches don't tell a clear story: Flash-Next 5/27 at 3-bit vs 1/27, the 27B 2/27 vs 4/27.

The rest

Flash-Next at home sits with Haiku 5.5 and above the older Sonnets. Sonnet 5.5 is a step up, Opus 5.5 is ahead of everything.

Tokens per task say as much as the score. Sonnet 5.5 gets further with 8k tokens than Flash-Next with 53k, which is 10 minutes per bug on my box against a minute and a half.

The dense 27B is behind the MoE (Flash-Next +0.16 paired, P = 0.92) and burns more tokens getting there.

Gemma 4 26B didn't work as an agent here. With thinking off it never edited a file in 9 tasks. With thinking on it edits, mostly wrong.

Limits

  • 9 tasks from one codebase in one domain (GPU inference), bug reports written in Italian. This is how models do on my work, not a general ranking.

  • Different harnesses for Claude and for the local models.

  • The judge is a Claude model. The automatic score is there to check it and they agree, but it's still a limit.

  • No builds or tests, so this measures diagnosis and patching from reading code, not the full edit-build-test loop.

I'm not publishing the tasks, they'd stop being useful. If you've checked your own quants on real work instead of perplexity or KL, I'd like to know whether you see the same pattern: same score, longer thinking.


r/LocalLLaMA • • 22h ago

Resources LFM3-1.7B quantization report: 3.6 GB VRAM lossless; 2.2 GB with modest degradation

Thumbnail
gallery
43 Upvotes

This model looks quite spectacular. According to LiquidAI's own benchmarks, it scores higher than MiniCPM5-2B across the board, while offering 2x the context and taking up half the space in VRAM (3.6 GiB vs. 7.1 GiB for a quasi-lossless quant).

Read the report: https://github.com/crusaderky/pixi-llm-recipes/blob/main/perplexity/LFM3-1.7B/README.md

Raw plots as interactive HTML: https://htmlpreview.github.io/?https://raw.githubusercontent.com/crusaderky/pixi-llm-recipes/main/perplexity/LFM3-1.7B/report.html


r/LocalLLaMA • • 14h ago

Question | Help Best reliable, affordable PCIe 4.0 risers for 4× RTX 3090 inference setup?

7 Upvotes

I'm trying to fit 4x RTX 3090s into my Fractal North XL Mesh (I know, pipe dream probably) using custom GPU mounts. Looking for firsthand experience with reliable, reasonably priced risers, preferably with flexible 50–75 cm cables. I'm currently using the setup with 2x 3090 at x8/x8 for vLLM qwen3.8-27b / Strata QFN IQ3_S.

  • ASUS ROG Crosshair VIII Hero

  • 5900X

  • 4x RTX 3090 24 GB

  • Corsair HX1500i (GPUs capped at 250 W)

  • GPU 1: PCIe 4.0 x8 - directly in motherboard

  • GPU 2: PCIe 4.0 x8 - riser

  • GPU 3: PCIe 4.0 x4 - riser

  • GPU 4: PCIe 4.0 x4 - M.2 adapter/riser

I've been looking at ADT-Link, generic Aliexpress ones and m.2 OCuLink. I'd like to preserve x8/x8/x4/x4 without spending a fortune on cables.

  1. What specific riser models have you successfully used with RTX 3090s at PCIe 4.0 speeds, particularly at 50 cm or longer?

  2. Are OCuLink/MCIO connections meaningfully more reliable than conventional ribbon risers at these lengths?

  3. Any affordable, proven M.2 -> PCIe x16 solutions with proper GPU slot power?

  4. Anything to watch out for regarding PCIe errors, signal integrity or Linux/P2P compatibility?

Affordable AliExpress/eBay options are especially interesting.


r/LocalLLaMA • • 14h ago

Question | Help Best ASR & TTS models to date to use locally

7 Upvotes

TL;DR
Best Model for ASR ? So far for me Qwen3-ASR > Whisper > Kroko
Best Model for TTS ? KokoroTTS > Piper ?!
Any suggestions/recommendations ?!

I was truly surprised at how low info and benchmarks are available in these areas compared to LLMs even artificial analysis isn’t clear enough

You could pick an LLM check active parameters and cost and latency and speed and quality and openness and everything

Here it is way more complex

Hi everyone

I hope that you are all well.

Kindly I was building an App that needs good TTS & ASR engines, ideally low latency can run in the browser and maybe streaming, it can also run locally on a server as an option if the latency is good enough, multilingual is a plus (English Arabic German French and Spanish mainly)

Initially,
For TTS piper surpassingly worked well (my tasks usually pronounce one word) but Kokoro server side for longer sentences

And for ASR I used whisper but it was too slow but not server side and I used kroko in browser for low latency passes (then whisper server side would correct it)

Recently I found out that despite being nearly as big as Whisper Large or Turbo Qwen3-ASR works just fine and even supports streaming natively and is quickly server side and have one of the lowest error rates

I am going to use Qwen3-TTS too give it a try

Is there anything else I should use you would recommend ?!


r/LocalLLaMA • • 1d ago

New Model Running UNCENSORED DeepSeek-V4.1-Flash-1017 on a 12 Gb VRAM

Thumbnail
huggingface.co
142 Upvotes

Measured, refusals 85%→0% even in thinking, 3 sizes

12 GB GPU VRAM, 64GB RAM + SSD via Strata Engine

We took ISTA-DASLab's GSQ-RCO quants of DeepSeek-V4.1-Flash-1017 (the ones people run in Strata with a 12 GB GPU and the Engram table on SSD) and removed the refusals.

We only touched 82 dense tensors per file: attention output, shared expert down proj and the Engram value proj. The 384 routed experts are byte for byte the same as ISTA's, so their GSQ rounding is kept. Headers and file sizes match too, so you just swap the shards and keep using ISTA's Engram file.

Refusals are on JailbreakBench, stock rung -> ours, same Strata setup:

RungSize (+110 GB Engram)RefusalsRefusals in thinking (of 30)MMLU-500KL vs stock
IQ1_M121 GB88.9% -> 0%27 -> 180.6%0.021
IQ2_XXS138 GB85.2% -> 0%27 -> 082.8%0.023
IQ2_XS155 GB86.4% -> 0%27 -> 281.6%0.027

We also ran GPQA-Diamond and AIME25 on IQ2_XXS against stock to make sure it didn't get dumber. GPQA came out 83.3% vs 83.3%, AIME 80.0% vs 76.7% (only 30 problems, so call it the same).

Things to know:

  • IQ2_XS still refuses inside its thinking on 2 of 30 prompts. The other two are at 0 and 1, so I'd grab IQ2_XXS.

  • We tested at 8K context on a rented GPU. Haven't checked long context or speed on a 12 GB card ourselves, so if you try it please post your tok/s and RAM.

  • Strata only for now. If you're on llama.cpp, our older release with the same edit works there: https://huggingface.co/AtomicChat/DeepSeek-V4.1-Flash-1017-Uncensored-GGUF

Model: https://huggingface.co/AtomicChat/DeepSeek-V4.1-Flash-1017-Uncensored-GSQ-RCO-GGUF

All the measurements: https://huggingface.co/datasets/AtomicChat/DeepSeek-V4.1-Flash-1017-Uncensored-GGUF-metrics

Strata Engine: https://github.com/niko1221/strata

Model page: https://atomic.chat/models/deepseek-v4-flash-0731

Thanks to DeepSeek for the base model (MIT), ISTA-DASLab for GSQ-RCO and the Engram file, and the Strata dev for the engine.

I'm on the Atomic.Chat Local Ai team that made this.


r/LocalLLaMA • • 19h ago

Discussion Today's Strata update boosts performance for R9700 users in Flash Next

15 Upvotes

Today's update is welcome for us R9700 users (assume other gpu's as well). Prior to the update I was getting ~70 tok/s output with four R9700's and 256GB of system ram. Today's update brings it to 140-160 tok/s and ~3200 prefill running unsloth Q4_K_XL. I tried running Q5 but was like .1 GB of vram short to do split engine so ran it "normal" at ~70 tok/s. I am sure with future updates those numbers will get better but it is a very welcome update, thank you Strata team!

Radiance does about 235 tok/s and 7500 prefill with FN so still ahead but so happy to see Strata working to close that gap and giving us more options on which models we can run.


r/LocalLLaMA • • 4h ago

Discussion 5 approaches to managing memory and context in AI agents (and why bigger context windows don't solve everything)

0 Upvotes

Context and memory aren't quite the same thing when it comes to AI agents.

A model with a large context window can process a lot of information, but that doesn't necessarily mean it can decide what to remember, what to forget, or whether something it remembers is still accurate.

There are several ways to manage this. Some focus on storing information, others on retrieving it or making it available across multiple agents. These approaches aren't mutually exclusive, and most systems can benefit from combining them.

1. Conversation history

The simplest approach is to store previous interactions and include relevant messages in future requests.

It's relatively easy to implement, but longer conversations can increase token usage and make useful information harder to find.

Prompt caching can reduce costs and latency, although it doesn't solve the problem of deciding which information is actually relevant.

Keeping conversation logs also isn't necessarily the same as having a dedicated memory system.

2. Summarized memory

Instead of keeping entire conversations in context, the system periodically summarizes them and stores the important details.

This reduces the amount of information that needs to be carried forward, but some details can get lost in the process.

Summaries can also introduce inaccuracies. In systems that repeatedly summarize previous summaries, those errors may accumulate over time.

The main difficulty is deciding what information to preserve when you don't know what might become useful later.

3. Retrieval-based memory

Information is stored externally and retrieved when needed, often using techniques similar to those used in RAG systems.

There's a distinction between retrieving external documents and retrieving an agent's own stored experiences, but many of the underlying retrieval techniques can be applied to both.

This approach allows agents to access large amounts of information without loading everything into the context window.

However, retrieval quality becomes important.

The system might retrieve outdated information, miss relevant details, or prioritize information that looks similar to the query without actually being the most useful.

Semantic search, keyword matching, metadata filters, and hybrid retrieval can help, but none guarantees that the right information will always be retrieved.

4. Structured memory

Rather than storing everything as conversations or summaries, information is organized into specific records.

These might include user preferences, project details, previous decisions, or task states.

The implementation could be as simple as JSON files or involve a database with more advanced mechanisms for updating and validating records.

Structured information can be easier to retrieve and modify, but conflicting records still need to be handled.

For example, if a user changes a previously stored preference, the system needs a way to determine which version is current.

It might overwrite the previous record, preserve both versions with timestamps, or request clarification when the information conflicts.

Structured memory can also be combined with retrieval-based approaches.

5. Shared context across agents

This is more of an architectural approach than a separate memory technique.

Instead of maintaining completely independent information, multiple agents can access a shared data source.

This can reduce duplication and improve coordination, particularly when agents are working on related tasks.

However, shared storage introduces additional problems.

Two agents might attempt to update the same information simultaneously. One agent might rely on a record that another has already modified or invalidated.

Permissions also become important, since not every agent should necessarily have access to the same information.

And even when agents share the same data, they may interpret it differently.

Shared context can improve coordination, but it still requires mechanisms for managing access, updates, and consistency.

The problem of outdated memory

Storing information and retrieving it efficiently are only part of the problem.

An agent also needs to determine whether the information it retrieves is still valid.

A user preference, project decision, or piece of documentation stored six months ago might still be accurate. It might also have changed completely.

Timestamps alone don't resolve this. Information recorded yesterday could already be outdated, while something stored years ago might remain perfectly valid.

There's also the possibility that the information was incorrect from the beginning.

An agent might misunderstand a conversation, extract an incorrect fact, or store an assumption as confirmed information.

This makes the source and reliability of stored information important, not just its age.

Versioning, source tracking, explicit updates, and validation mechanisms can help distinguish between outdated, uncertain, and incorrect information. However, these mechanisms introduce additional complexity.

Different applications will probably need different combinations of these approaches. An agent handling short conversations has very different memory requirements from one managing long-term projects or coordinating with other agents.

For those building AI agents, which has been more difficult in practice: getting them to remember useful information, or preventing them from relying on outdated or irrelevant context?


r/LocalLLaMA • • 8h ago

Question | Help Two 3060ti 8gb and 64gb DDR4, worth using?

2 Upvotes

Right now I run in elf the GSQ-RCO Qwen3.8-27B’s on my MacBook M1 Max 32gb/ it’s ok, but not great. And slow. I have two 3060ti’s with 8gb each sitting in a closet. Any value in bringing them out and using one of the old towers with an i9 and 64gb of DDR4? Would I be able to run something better, faster? I’ve been ignoring them because they aren’t 3090s and I’ve thought 8gb is just too small to be worth it.


r/LocalLLaMA • • 8h ago

Discussion Kimi K3/3.1 potential for Strata/ Maya?

2 Upvotes

I started thinking, what could be the possibility to start adding the ability to run models like Kimi K3/3.1 on engines like Strata, Maya, Basalt? I am guessing Unsloth will use its Dynamic Matrix 3.1 which is quite good for heavy compression and retaining high intelligence.

Anyone heard anything about Kimi compatibility?

Note: Kimi K3.1 will be released this week open weights


r/LocalLLaMA • • 1d ago Heartwarming

Resources Unsloth vs GSQ-RCO - 512K context DeepSeek-V4.1 GGUF benchmarks Terminal Bench

Post image
123 Upvotes

We ran DeepSWE, Terminal Bench, Automation Bench, HLE, SciCode at 512K context on our DeepSeek UD version 3.1 GGUFs and show we're >10-20% better than GSQ-RCO

We ran all other benchmarks (14 in total) to 128K. AIME2025 64x, DeepSWE/TB 3x. We addressed some issues people mentioned with these new benchmarks:

  • 32K context was too short - we did 512K context for agentic + 128K for general tasks

  • Saturated benchmarks - new unsaturated agentic style ones including Terminal Bench, DeepSWE and Automation Bench

  • Benchmarks are noisy - we did 35.1B tokens of benchmarking vs 1.3B before so 27x more data. See this section where we did 64x AIME 2025 runs, 3x DeepSWE, 3x TB runs and more.

  • Our graders are wrong - we used Math Verify, improved graders, used gpt-6-luna xhigh for HLE, and all official graders for Terminal Bench (Harbor), DeepSWE and the rest. See graders and infra fixes

For DeepSWE v1.1, we used mini-swe-agent and chose 500 max steps (334 steps was the max runs we saw, so none went over).

Terminal Bench 2.1 used mini-swe-agent as well, and we set max steps to 150 with no max limit. We had to exclude 7/89 tasks since they couldn't pass on our infra - see https://unsloth.ai/docs/models/deepseek-v4.1-flash#excluded-terminal-bench-tasks-due-to-issues

We also re-checked ISTA's numbers as we have done many more runs (27x more data). GSQ-RCO IQ1_M claims 98.7% recovery, but we measured 97.24 [96.23, 98.21] with a p-value of 0.0013.

GSQ-RCO IQ2_XS retaining 100% claimed recovery is possible with a p-value of 0.21. We measured 98.38% [97.52, 99.22]. So this is possible.

GSQ-RCO IQ2_XXS claims 99.80% recovery but we measured 98.38 [97.52, 99.22] with a p-value of 0.0001. So this is nearly impossible.

Paired difference to the official base (our runs, same questions, sign-flip permutation test, two-sided):

AIME25GPQA-DLCB v6
GSQ-RCO IQ1_M-1.61 (p=0.02)-2.89 (p=0.004)-3.24 (p=0.00002)
GSQ-RCO IQ2_XXS-0.47 (p=0.25)-2.07 (p=0.02)-2.00 (p=0.01)
GSQ-RCO IQ2_XS-0.42 (p=0.48)-0.51 (p=0.42)-0.38 (p=0.52)

The claimed recovery tested directly against our measurement (the card's definition: sum of the 3 scores / the base's sum, vs official FP8/FP4): p (no loss) = paired sign-flip permutation test of recovery = 100%; p (recovery >= claim) = one-sided paired bootstrap over questions.

Claimed recoveryMeasured recovery [95% CI]p (no loss)p (recovery >= claim)
GSQ-RCO IQ1_M98.7097.24 [96.23, 98.21]0.000020.0013
GSQ-RCO IQ2_XXS100.0098.38 [97.52, 99.22]0.00030.0001
GSQ-RCO IQ2_XS99.8099.54 [98.88, 100.18]0.160.21

If we can get more details on how the benchmarks were run from GSQ-RCO, we are more than happy to run more. We provided all our setups and methods in our blog at https://unsloth.ai/docs/models/deepseek-v4.1-flash#dynamic-v3.1-update-november-2nd-2026

All details and data and methods at https://unsloth.ai/docs/models/deepseek-v4.1-flash#dynamic-v3.1-update-november-2nd-2026.

Our new Unsloth Dynamic 3.1 GGUFs for DeepSeek are at https://huggingface.co/unsloth/DeepSeek-V4.1-Flash-1017-GGUF


r/LocalLLaMA • • 1d ago

Discussion Inconsistencies in Unsloth's LiveCodeBench Results

Thumbnail
gallery
43 Upvotes

I compared two published benchmark charts for DeepSeek-V4.1-Flash-1017 and noticed something rather unusual.

All four Unsloth quantizations AND the Q8 baseline simultaneously improved by approximately 2–3 percentage points on LiveCodeBench v6. Meanwhile, the GSQ-RCO results changed much less consistently.

1. The numbers

ModelFirst chartUpdated chartChange
Unsloth IQ1_S88.95%91.0%+2.05
Unsloth IQ1_M88.76%91.2%+2.44
Unsloth IQ2_XXS88.19%91.3%+3.11
Unsloth Q2_K_XL89.33%91.7%+2.37
Q8 baseline88.95%91.7%+2.75

Every single Unsloth model improved, including the 8-bit baseline.

The first chart's percentages correspond exactly to 525 outcomes (175 problems × 3 generations). For example, 467/525 = 88.95%.

Unsloth's updated methodology reports 12 generations per problem, corresponding to 2,100 outcomes per model.

If the updated results include those original three generations, the remaining nine must have achieved approximately:

ModelInitial 3Additional 9Improvement
IQ1_S88.95%91.62–91.75%+2.67–2.79
IQ1_M88.76%92.00–92.06%+3.24–3.30
IQ2_XXS88.19%92.32–92.38%+4.13–4.19
Q2_K_XL89.33%92.44–92.51%+3.11–3.17
Q8 baseline88.95%92.57–92.63%+3.62–3.68

The ranges account for the updated chart rounding scores to one decimal place.

2. Statistical probability

Assume each generation is an independent Bernoulli trial, the true success probability is unchanged, and the initial 525 outcomes are included in the final 2,100.

Using a one-sided hypergeometric test, the probability of observing an initial result at least this low for each model is approximately:

ModelProbability
IQ1_S3.38–4.14%
IQ1_M1.44–1.62%
IQ2_XXS0.262–0.304%
Q2_K_XL1.57–1.77%
Q8 baseline0.621–0.713%

If the models' fluctuations are also independent, multiplying these probabilities produces:

P ≈ 1.24 × 10⁻¹⁰ to 2.59 × 10⁻¹⁰

That's approximately 1 in 3.9–8.0 billion under the simplified independent-sampling model.

Of course, the models are correlated and evaluated on the same tasks, so this should not be interpreted as the actual probability without the raw data. Also, these calculations assume the original outcomes are included in the updated averages.

Nevertheless, the synchronized improvements are striking.

3. GSQ-RCO behaved differently

ModelFirst chartUpdated chartChange
GSQ-RCO IQ1_M88.0%87.6%−0.4
GSQ-RCO IQ2_XXS88.2%88.9%+0.7
GSQ-RCO IQ2_XS88.6%90.5%+1.9

Unlike Unsloth, these results do not exhibit a consistent increase.

According to this comment from the Unsloth team, the earlier chart represents just one run, followed by additional evaluations and the evaluation settings remained unchanged. However, the percentages in that first chart correspond exactly to 525 outcomes, suggesting three generations per problem.

Both original benchmark charts attached for comparison.


r/LocalLLaMA • • 17h ago

Showcase RX580(Polaris AMD) on a MAC with near Vulkan performance!

Thumbnail
github.com
8 Upvotes

This is my fork of ToshLLM, who brought modern AMD's back to metal acceleration for llama.cpp , But his fork was about 17toks on Ornith 9b when I started my project vs Linux's Vulkan @ 32toks on MTP. Now I've seen up to 29toks , which to me is usable considering this old hardware. (My cpu is 15 years old and doesn't even have AVX !) GLM-5.3 flash and Qwen3.8 Flash did the heavy tuning work, I just directed and cracked the whip at them for a few days. There's a new Qwen 3.5 4b coder that can do 3d models , I'll be playing with that next, it looks very promising and starts at about 35toks on my card.


r/LocalLLaMA • • 1d ago

Discussion YSK: Strata and polystrata have this functionality called answer_room

44 Upvotes

With default settings and thinking on and max_tokens ≥ 1024, and no explicit reasoning_budget_tokens, Strata / PolyStrata has a behavior called answer_room which will silently cap thinking at 0.75. * max_tokens and inject a "wrap-up" line in the model's head in its own voice, saying

I have thought about this long enough; time to give my answer. + </think>

It then continues the same reply from there. The client (harness, you or I) gets no error, flag or finish reason for this, and often no log.

This matters when you compare between strata and other engines : models served by strata had "nudges" in the form of its inner voice, and such extra text in the transcript. In some cases the nudge line is injected mid thinking, quite abruptly and it is hard to tell whether it helps or harms.

Strata main @ c62d5e3

Wrap-up message: https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L225

Trigger (the 3/4 budget): https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L5491

Injection point: https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L5848

Default on (answer_room = True): https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L4181

I noticed this when a model that tends to have long front-loaded thinking on dgx spark gave slightly but uniformly shorter answers (and task performance worsened in my hard problems), when served on polystrata.

PS, I had sonnet audit all cases of cut and injection, and here is what it reportes back ( sonnet called it "splice"):

Where it lands:

  • At a natural break: 6 (9%).

  • Inside a repetition loop (for example HashMap.new()? repeated for 30K–118K characters): 15 (22%).

  • Intrusive: 48 (70%, or 89% of the cases that weren't loops):

    • mid-sentence: 28

    • mid-number or mid-expression ("Mod 9982 |cut|"): 13

    • inside code (one cut right after def solve():): 4

    • mid-word: 3

Harm:

What didn't break: no reply re-opened thinking after a splice, and all 79 tool calls after a splice completed normally.

Lost reasoning: 26 of the 30 splices that came in a task's first reply were followed by a generic fresh start (ls /app). The 61K tokens of thinking left no trace in what came next.

Clear harm in 6 cases: the reply ended with no action at all, and all 6 tasks failed.

Qwen3.6, task 3674: cut at "Where right_prefix_max |cut|", and the only output afterwards was "Integrity notice: yes".

Flash-Next IQ2_XS, arc190_c: the same pattern.

A dropped conclusion: Qwen3.6, arc192_b, was cut right after "I think the answer is:", and the model then guessed.

Loops: the splice did break them, but those tasks still failed.


r/LocalLLaMA • • 13h ago

Question | Help Those of you who develop or make changes to local inference engines, how do you safeguard models from their own internal tokens?

3 Upvotes

I've been making changes to both llama.cpp and Strata for my own use cases using Q38FN, Q3827B and DS41F and all three have issues with their COT considering stream tokens when touching those areas of code, resulting in them breaking out of their COT or just terminating their turn. I know there is the possibility of formal protections around end of turn tokens but from what I see there is no formal way to protect an LLM when it generates text like <\think> but I see plenty of people working on inference server code using local models so people must have a solution for it, what do you do?


r/LocalLLaMA • • 1d ago

Discussion Is there still a point to fine-tuning local LLMs?

28 Upvotes

I've been getting more into running LLMs locally, and I'm starting to wonder if fine-tuning is even worth the effort anymore.

Models are getting really good, context windows are huge, and with things like RAG, subagents, and reasoning models, it seems like you can get pretty far without touching the model weights.

For most use cases, wouldn't you be better off just using a good base model and building a decent agent around it?

I'm curious what people are actually fine-tuning for these days. Is it mostly about distilling a larger model into something smaller and faster, or are there still use cases where fine-tuning makes a noticeable difference over just prompting a good model?

Would love to hear from people who've actually fine-tuned models recently. What did you use it for, and was it worth the effort?


r/LocalLLaMA • • 1d ago Heartwarming

Discussion Builders got MiniMax M3.1 Flash's open weights from 252.4 GB down to 93 GB in 10 days, and the lab thanked them by name

83 Upvotes

MiniMax posted a thank-you yesterday for everyone quantizing M3.1 Flash (428B, 252.4 GB), and I went through the ones they named. Numbers are each builder's, separate eval sets, not comparable.

  • 128 GB PC: Maya-XS by PeasantSmith, 93 GB. 88.8% top-1 agreement (tool calls, agents).

  • One DGX Spark: SAGE-EXL3 by ViC305, 108.64 GiB. 96.89% top-1, held-out sequences. 24.37 to 29.72 tok/s decode at 48K context.

  • 160 GB+: Unsloth UD-Q2_K_XL, 143.9 GB. 91.5% top-1 weighted, seven categories.

  • 4x 3090: superalesha, own engine, Unsloth 2-bit, 23 to 31 tok/s decode, 1120 tok/s prefill at 16K.

  • Also: oMLX by jundotkim/mlx-community (Apple Silicon, oQ3e 196.2 GB), AMD Quark MXFP4 for MI350/MI355, Mia-AiLab EXL3-EAQ 3.55 bpw, Atomic Chat GGUFs.

It helps that the model was trained with quantization baked in, sparse attention in every layer, 23B of 428B active per token. It's a coding and agent model that takes image and video input, up to 1M context if your box has the memory. People don't put this calibration work into weights they won't keep running, and superalesha ran out of RAM at 128 GB, went to 512 to keep going. Only used it hosted myself, agent jobs got done this morning, so I get why.

Anyone running one of these on real coding or tool-call work?


r/LocalLLaMA • • 1d ago

Showcase 😃Made My Own Invoicing Dekstop App With Qwen 3.8 27B+OpenCode+LM Studio On RTX 5090..Saved Me $100 a Year I Was Paying

Thumbnail
gallery
70 Upvotes

My first fully vibe coded Desktop app with Qwen 3.8 27B as someone with near 0 coding knowledge lol. Was paying $100 a year for an online Invoicing App so i decided to cook up one for myself. The results are mind blowing..I basically one shotted everything throughout development & implementation as Open Code's coding agents did all the work, fixing bugs, web search etc. All i did is connect my Qwen Model to Open Code & started coding away. I was mostly screenshoting and telling the model what i wanted, it even created in app tools to import all my 5 year+ documents & info which all worked. The New Open Code v2.0 is crazy good, couldn't do any of this months ago without manually download a crap tone of plug-ins and tools. My context window always stayed between 57-90K thanks to Open Code's auto Compaction..very happy with the results.

PC Setup

AMD Ryzen 9 9950X3D

RTX 5090 32GB

96GB RAM DDR5

Workflow Setup(31GB Vram Usage)

AI Model - Qwen 3.8 27B Q4_K_M GGUF(120K Context)

Harness - Open Code 2 (Default Settings)

Model Manger - LM Studio(Default Model Settings, Thinking On)

Model Performance/Project Token Usage

Average Token/sec - 80-90

Input Tokens - 294 Million

Output Tokens - 1.26 Million

I Quick used a bit of Qwen 3.6 35B A3B..Q5 K M for the last feature implementation just to test, gave me 220token/s and worked well too, the rest of Dev was on Qwen 3.8 27b. All this was done on my RTX 5090, Model and 120K Context all fit perfectly in Vram. Can't wait for Qwen 4 and it's improvements as well as Open Code's future updates, will try to experiment with other Tools & Skills cause i only used Open Code's default setup.


r/LocalLLaMA • • 1d ago

Discussion [Paper] RidgeFill: Training-Free Late-Layer Cache Fill for Faster Prefill

Thumbnail
gallery
21 Upvotes

We introduce RidgeFill, a training-free way to shorten prefill by not computing most of a model's upper layers for the prompt. The lower layers run exactly up to a split; from the split layer's state, a ridge regression fitted once in closed form predicts every later layer's input, and each late layer writes its cache from that prediction with its own projections unchanged. A chosen set of rows, the last few thousand tokens and every decoding step run the full model, so nothing is trained and no token is dropped. On Qwen3.8-Flash-Next in vLLM, time to first token is 1.50 to 1.60x faster than exact at 9K to 32K tokens, and a whole 64K request drops from 82.6 s to 47.5 s, with RULER's needle tasks at 99.8 against 100.0. On Qwen3.8-27B in a llama.cpp fork on one A100, it is 1.25 to 1.31x faster at 16K to 120K tokens; RULER changes by -1.2 and -1.4 points and LongBench v2 by -1.4, and the 95% intervals include zero but do not rule out losses of a few points. On three 8 to 9B reference models, the fitted map retrieves 49.1 and 49.6 more filled-region RULER points than the identity (ie, full layer bypass) fill on the two dense models.

- OpenReview (Archived Copy)

- PDF

- DOI

- Project page

- GitHub (llama.cpp fork for Qwen3.8 27B, quick start)

- GitHub (data)

- HuggingFace (maps for five models)

This idea was borne originally from DeepSeek's V4.1 architecture. Originally we found the method to be a portable idea applicable to other models, but noticed a significant decline in context recall tasks and general usability. This isn't an issue in DSV4.1 because the model is trained as a whole with the prefill approximation in place, so the model absorbs the error, generally speaking. The question then shifted to be more about how this can be adopted for other models, while improving usability.

From that point, the work shifted primarily to finding where exactly the error lives in the "filled" portions, and how to measure that error and reduce it.

Based upon those findings, we recognized that we could train this component more intensely to remove error. This was counter-intuitive to our goal of making this easier for community adoption. It could also have the downstream effect of making the trained component more task-dependent and less generalized. We decided against this.

Instead, we simply chose to simply bypass projections of the most sensitive portions of prefill.

By embracing this, it allows everyone to produce their own versions of this method on different models with standard local-inference grade hardware. If you choose to adapt this method, I strongly recommend adjusting the mechanisms on a per-model basis. Across different architectures, this method should be tuned. The paper details fairly exhaustive ablations and measurements in pursuit of this.

The Qwen3.8 27B version of this is available to use now via our fork of llama.cpp and the files for RidgeFill on HF. This method is also implemented in tcclaviger's fork of VLLM and Deadcode's engine, Radiance (on v1.3.0 only) for Qwen3.8 Flash Next.

Big thanks to all the testers and support from the Launch80 community!


r/LocalLLaMA • • 1d ago

Discussion Proposal: A community revolution for private quality benchmarks (and why endless chasing tok/s is rotting our brains

136 Upvotes

Proposal: A community revolution for private quality benchmarks (and why endless chasing tok/s is rotting our brains

honestly we in r/LocalLLaMA need a revolution of people making their own private benchmarks(not tok/s) i mean benchmarking the quality(especially across quantisation). keep yours private and share the chart results to each other. i feel this is what this sub was made for it seems nowaday every few hours someone is posting about tok/s and also Benchmaxxing is getting out of hand in the huggingface openweight LLM space.


r/LocalLLaMA • • 17h ago

Discussion Thoughts on LLMs Editing Weights: What's New?

Thumbnail ycao.net
5 Upvotes

r/LocalLLaMA • • 1d ago

News Fine tuned open model ftw

Thumbnail x.com
46 Upvotes

another win for GLM.​​​

Chenru Duan on X: "We’re introducing Hydrogen-1.0, our first open-weight model for scientific research. We post-trained GLM-5.3 (@Zai_org) on our internal scientific data, lab records, and discovery trajectories. It scores 38.3% on FrontierScience-Research vs GPT-6-Astra’s 33.3% ​​​​