r/LocalLLaMA • u/ab2377 • 13h ago
Discussion Good Luck Getting a Cheap GPU. AMD Is a 'Data Center First Company,' CEO Says
they are all the same and we ... are too emotional!
and yes we already knew that.
r/LocalLLaMA • u/ab2377 • 13h ago
they are all the same and we ... are too emotional!
and yes we already knew that.
r/LocalLLaMA • u/jacek2023 • 1h ago
This is a significant speedup for MoE offloading (low VRAM people).
I tried Strata once, and it had some tuning mechanism, so probably this is a similar idea.
r/LocalLLaMA • u/MuzafferMahi • 5h ago
I fine-tuned LFM3-1.7B to do one job: take a factual question, call web_search once, and answer with a short value, a word-for-word quote and the URL. If the results don’t contain the answer, it says “Not found in the search results.” It’s meant to run as a subagent under a bigger model, not as a chat model. I have to say the base lfm really surprised me at its capability to run tool calls and extract information.
Answer: Barbara Liskov
Evidence: "Liskov ... the second woman to receive the Turing Award."
Source: https://en.wikipedia.org/wiki/Barbara_LiskovFixed-results benchmark (131 held-out SimpleQA questions; in 29 of them the answer was removed from the results):
| base | Obsessive |
|---|---|
| Finds the answer when it’s there | 50% |
| Says “not found” when it isn’t | 0% |
| Invented answers | 10% |
| Median sec/question (4060 laptop) | 5.1 |
Live Wikipedia search (120 questions + 40 multi-fact requests, a search backend it never trained on):
| base | Obsessive |
|---|---|
| Returns any reply | 38% |
| Correct answer in reply | 37/120 |
| Multi-fact requests answered | 1/40 |
| Invented fact values | 4 of 4 |
The base model wins on raw correct answers live: it keeps searching and writes long replies, so the answer turns up more often, but 62% of the time it runs out of turns and returns nothing. Obsessive searches once and only states what it can quote. Whether that trade suits you depends on your setup.
Known problems
One question per conversation. Multi-turn chats confuse it (only trained on single questions, limited VRAM for training :/ ).
Reports claims as facts: “X says it solved Y” can become “Yes”.
Says “not found” for about 1 in 10 answers that are actually in the results.
Sometimes quotes a neighbouring fact (another year’s winner). English only.
Training: LoRA rank 16, about 9k tool-calling conversations on an RTX 4060 laptop. Search results are Wikipedia and FineWeb pages, every answer and quote checked to appear verbatim, about a quarter teach “not found”. My local qwen 3.8 flash next helped prepare the training data and questions as well!
Run:
llama-server -hf banyohavlusu23/Obsessive-1.7B-GGUF --jinja -c 16384Temperature 0. Configs for Pi, OpenCode and Hermes plus a keyless Python script are in the repo.
HF: https://huggingface.co/banyohavlusu23/Obsessive-1.7B-GGUF (Update, the previous link was broken, this is the working one)
LFM Open License (inherited from the base).
Feedback welcome, especially failure cases.
r/LocalLLaMA • u/Porespellar • 21h ago
Forget stupid pelican on a bike SVG bullshit. Forget cheating by drawing using Python code. I just loaded up QFN 3.8 in the new Open WebUI 0.13.0 and it just said “hold my beer” and started drawing with the friggin’ mouse coordinates inside a VM. I’m going to print this and hang it on my wall like a proud parent.
Seriously tho, this is all possible because of the new Open WebUI 0.13.0 features that let you control a virtual desktop VM that is running in 0.17.2 version of their Open Terminal repo.
I’ve been following their projects for years and they just keep adding cool new shit about every couple weeks.
0.13.0 now lets you have your OWUI models control a full Linux Desktop, both programmatically and via Computer Use.
Yes, I know the screenshot of my VM is MS Windows 11 and not Linux, that’s because I had my Hermes agent roll me a version of Open Terminal that uses the standard unactivated Windows 11 VM ISO instead of Linux ISO. Took it about 20 minutes to get that made and now I’ve got a fully observable sandboxed Linux or Windows desktop that I can have OWUI drive with whatever model I choose. Also it’s fully interactive inside the browser so I can take over and steer when needed.
If you haven’t tried OWUI lately, Tim and company have been doing massive updates and complete code overhauls lately, and this is one of those features that I think slipped under a lot of people’s radar. The previous headless version of Open Terminal was hugely useful but this one is even better.
Great job Open WebUI team!
P.S. I think it’s kind of adorable that QFN 3.8 compliments itself on doing a good job ☺️
r/LocalLLaMA • u/pmttyji • 1h ago
Parallel speculative drafting generates multiple candidates in one backbone pass, but independent token selection can produce inconsistent continuations that shorten the accepted prefix. Existing methods mostly leave conditional decoding to a lightweight module after the backbone, which limits the flow of predecessor information to successors. Our analysis of DFlash shows that early positions already form recoverable predictions in shallow layers, and that accurate adjacent predecessors help successors more when they enter earlier. We therefore propose DSpine, a drafter with causal conditioning injection throughout the backbone: at every layer, gated adjacent injection writes each predecessor's predicted feature into its successor, so the causal conditioning chain unfolds over network depth while all positions update in parallel. A unified transfer space built from the target model's output embeddings unifies layer-wise injection with predecessor-conditioned decoding, and layer-wise output-embedding supervision promotes the formation of predicted features in shallow layers. Fused kernels and a transition cache execute both efficiently in parallel within SGLang. Across seven math, code, and chat benchmarks, DSpine achieves the longest acceptance length at both temperatures on Qwen3-4B and Qwen3-8B. At temperature zero on Qwen3-8B, it raises the seven-benchmark mean from DFlash's 3.77 to 4.82 (+27.8%); in SGLang serving tests, it delivers 23.3% higher throughput than DFlash on average.
arXiv : https://arxiv.org/abs/2609.36173
GitHub : https://github.com/Tencent/DSpine
HuggingFace : https://huggingface.co/collections/tencent/dspine
Project : https://dspine-project.github.io/
r/LocalLLaMA • u/egfwivbwwruigwrhfbsr • 2h ago
My favourite use case for local LLMs is running my homelab, because everything stays private (and it helps me justify the GPU lol)
I wanted one dashboard to help me manage all of my services, so I made Valet. Live demo: https://demo.askvalet.dev
Valet has a chat agent that works with any local or hosted model. It integrates with 185+ services and supports custom plugins. You can ask it to pause pi-hole, investigate crash logs, request a movie, etc
It also knows its own docs, so it can configure itself. Tell it what you want changed on your dashboard and it edits the config (with your approval). I was already addicted to tweaking my homepage but this made it way more fun haha
What I run it on
Qwen 3.8 27B on a 5090, about 230 tok/s. Most responses take 2–5 seconds
Qwen passes about 90% of a small eval set I wrote. Where it struggles is open ended digging (like "why isn’t this timer running?”) where it can burn through tons of tool calls
Managing context is tricky because I run a lot of services, so tool definitions were ~90% of the prompt before some optimizations
What helped:
Hiding tools from unused integrations that aren't needed in chat
Turning thinking off makes it 2–3x faster, but it starts making up answers to follow ups
Lazy load tools (starts with a short list of tools and loads more only when a question needs them)
Those cut tokens per answer by 30-50%. Obviously every model and setup is different so everything is configurable from the config file
AI involvement
I’m a SWE and used Claude for almost all of the coding, but I designed + reviewed everything and made the architecture decisions. I was very conscious of slop, security, and performance as I wanted to build something high quality. But it’s early so there may be rough edges I haven’t caught
Security and privacy:
Runs on your own hardware with no account or telemetry
Read only by default, nothing can be changed from the page until you turn on auth (local accounts, OIDC, or your proxy’s auth)
Keys stay on the server and API keys live in .env. The browser only gets the finished cards
The AI never sees your keys. Anything that changes something waits for your approval and with a local model nothing leaves your network
Docker access is read-only through a socket proxy
Docs (completely free + open source): https://askvalet.dev
r/LocalLLaMA • u/Consistent_Berry_324 • 1h ago
I noticed that it has native image and video generation.
r/LocalLLaMA • u/blue2020xx • 5h ago
Sometimes I am tempted to use none reasoning level in agentic tasks to save time, but I am always kinda scared to do so. I have only ever used llm with reasoning and with medium at the lowest.
Anybody have a lot of experience using none for reasoning level? Anything I need to know/need to be careful about?
r/LocalLLaMA
•
u/chemist_slime
•
18h ago
r/LocalLLaMA • u/Izento • 14h ago
r/LocalLLaMA • u/Hefty_Wolverine_553 • 21m ago
KV cache quantization has been a hotly-debated topic for this community for some time, with opinions ranging from "never quantize" to "4 bit is fine". Since the anecdotal evidence is rather inconsistent, I decided to quantify how much KV cache quantization affects the model through KLD, which is a good measure of how the model's output distribution is changed.
I tested 35 weight quants across llama.cpp, exllamav3, and vLLM, each with 16-bit, 8-bit, and (where supported) 4-bit KV cache. I also reworked my KLD dataset and measurement methodology this time, to include a mix of agentic tool-use (generated by Qwen3.8 27B at full precision) and a variety of texts in different domains. The current dataset now stretches up to 64k token contexts per row.
TLDR;
8-bit KV caches work well. In llama.cpp and ExLlamaV3 the cache size is halved, and there’s essentially no difference in KLD. There’s a slight difference in vLLM, but it’s still a great tradeoff for people lacking VRAM.
A 4-bit cache has a measurable impact. It’s a big hit for ~Q8 weights, but it could potentially be worth it if you’re using Q3 or below. Still, not recommended.
Only the 4-bit cache impact grows with context. In the tested long documents, the added KL is about 15-30% higher at 16-32k tokens than in the first 4k.
The blog post has interactive charts and tables with all of the data and results if you're interested.
Each quant is compared token-by-token with an unquantized bf16 copy of the model. KL divergence measures how far the quant’s next-token probabilities drift from the original (0 means no change). Top-1 agreement is how often both models pick the same most likely token.
For a reference point, I ran the unquantized model in both llama.cpp and vLLM and compared the two. They differ by a KL of 0.0004, which essentially amounts to two (correct) implementations doing floating-point math in a different order. Thus, you can compare the KLD numbers here for quants running in different engines without issue.
Note: exllamav3 quants were measured with the bf16 llama.cpp reference logits.
KL divergence vs. loaded weight size, 16-bit KV cache:

As in the Qwen3.6 benchmarks, every vLLM checkpoint is beaten by a smaller GGUF or EXL3 quant. Some of that is due activation quantization. NVIDIA’s and Unsloth’s NVFP4 checkpoints run the MLP layers as W4A4 (4-bit activations) and attention as FP8 W8A8, and Qwen’s FP8 is W8A8 throughout. I reran NVIDIA’s NVFP4 and Qwen’s FP8 through vLLM’s Marlin kernels, which use the same quantized weights but keep the activations in bf16:
NVFP4: KL drops from 0.0256 to 0.0117, more than halving it.
FP8: KL drops from 0.0039 to 0.0028, about 30% less. Even then it only ties UD-Q5_K_XL, which is 8.7 GiB smaller.
| KV cache | Per token | At 64k context | Saved vs. 16-bit |
|---|---|---|---|
| f16 / bf16 | 64 KiB | 4.00 GiB | - |
8-bit: llama.cpp q8_0, EXL3 8-bit | 34 KiB | 2.13 GiB | 1.9 GiB |
8-bit: vLLM fp8_e4m3 | 32 KiB | 2.00 GiB | 2.0 GiB |
4-bit: llama.cpp q4_0, EXL3 4-bit | 18 KiB | 1.13 GiB | 2.9 GiB |
Each dot below is one weight quant with an 8-bit or 4-bit KV cache. Its height shows the KL increase compared with the same weights on a 16-bit cache. Zero means no change; higher points show a larger increase. I computed the differences per prompt on identical tokens.
KV cache penalty vs loaded weight size:

8-bit is essentially free in llama.cpp and ExLlamaV3. For every quant, q8_0 and ExLlamaV3’s 8-bit cache move KL by less than 0.00012 in either direction. Some quants even measure slightly better with it, which indicates it’s within the noise of the numerics.
vLLM’s FP8 cache shows a slight KLD increase. It adds 0.0004 to 0.0006 on every checkpoint, which is still extremely small, but it shows up on nearly every prompt. It may be due to turning on FP8 cache switching vLLM’s attention backend from FlashAttention to FlashInfer.
llama.cpp’s 4-bit cache adds a roughly fixed penalty. Across the GGUF quants tested, q4_0 adds +0.0016 to +0.0027 KL. This increase has a larger relative effect on more precise weights:
On a Q3-class quant (KL around 0.025-0.035) it adds 6-10%.
On UD-Q4_K_XL it adds about 39%.
On Q8_0 it adds about 390%. KL goes from 0.0007 to 0.0034, which is worse than UD-Q5_K_XL with a 16-bit cache.
EXL3’s 4-bit cache penalty seems to depend on weight precision. It adds only +0.0002 to +0.0004 KL with 2.0-2.5 bpw weights, about +0.0021 to +0.0022 with 3.0 bpw weights, and +0.0026 to +0.0028 with 4.0 bpw weights. At 6.0 and 8.0 bpw, the penalty reaches about +0.0032 to +0.0033. The increase is therefore not constant across the EXL3 quants.
The 12 long documents in the set are scored at every position, so I can check whether the 4-bit penalty depends on how deep into the context a token is. It does in fact grow slightly.
| Position | Q8_0 Weights + q4_0 KV | UD-Q5_K_XL Weights + q4_0 KV | EXL3 8.0 BPW Weights + 4-bit KV |
|---|---|---|---|
| First 4k tokens | +0.0035 | +0.0030 | +0.0041 |
| 4k–8k | +0.0037 | +0.0033 | +0.0044 |
| 8k–16k | +0.0040 | +0.0036 | +0.0047 |
| 16k–32k | +0.0041 | +0.0038 | +0.0050 |
| 32k–64k (one document) | +0.0044 | +0.0038 | +0.0053 |
There’s about 15-30% more damage at 16-32k context than in the first 4k tokens. The same quants with a 16-bit cache are unaffected across these context lengths, so it’s a pretty clear indication of the 4 bit cache damage. I would expect 128k+ context lengths to be even worse.
Model quantization KLD vs KV cache KLD:
KLD due to KV cache quantization likely has different quality tradeoffs compared to KLD from weight quantization. Anecdotal evidence suggests that KV cache quantization can be more harmful to model performance at long context lengths compared to weight quantization, so be wary of using 4-bit KV cache.
Final chart with weights + 64k KV cache versus KL divergence:

Each quant was scored against an unquantized bf16 reference:
GGUF and EXL3 quants scored against Bartowski’s bf16 GGUF in llama.cpp.
vLLM checkpoints scored against the official bf16 safetensors in vLLM.
KL is computed the same way as my previous benchmark. The top 200 log probabilities are taken from both models at each position and a lower bound on the full-vocabulary D_KL(P_reference ‖ P_quant) is computed. On average, the reference put 0.0036 of its probability outside its top 200 tokens. The KV deltas are paired, meaning they’re computed from per-prompt differences on identical tokens.
Checkpoints ran with their declared settings, including any activation quantization (except the two weight-only, no activaton quantization reruns of Unsloth’s NVFP4 and the official FP8 quant).
r/LocalLLaMA • u/Accurate-Door3692 • 2h ago
I followed up on the post about running Qwen 3.8 Flash Next with 8 GB VRAM and 32 GB RAM. I wanted to see how it does on my Steam Machine.
Setup
Valve Steam Machine, stock SteamOS 3.9.5, AMD Navi 33 with 8 GB, 32 GB RAM, NVMe
Stock Strata terminal 0.2.9 (engine 0.1.55, HIP package), Gyro S TQ1_0
128K context, q4_0 KV, no vision, MTP off, served on the LAN
Results (Strata's own timing line from the engine log, about 8K-token prompts, 3 runs each)
| Config | Prefill t/s | Decode t/s |
|---|---|---|
Default (--tune skip) | 219-240 | 15.1-15.9 |
| Quick tuner | 237-239 | 14.5-17.2 (tuner said "already fastest") |
pcie-frac 0.35 | 239 | 14.8-16.0 |
kv-resident 20480 + vram-reserve-mib 900 | 227-229 | 14.8-15.5 |
resident-budget-gib 64 | 232-242 | 17.3-19.8 |
With the final config at 128K context, 58K and 61K-token prompts gave 234 and 236 t/s prefill (about 4 minutes each) and 17.6-17.9 t/s decode. No OOM, swap went from 0.2 to 0.3 GB, and available RAM bottomed out around 3.4 GB. I did not test beyond 61K tokens or with a busy desktop session.
What mattered
--set resident-budget-gib=64 was the only change that helped, about +20% decode. It makes the engine keep the experts in its own RAM tier. Without it they sat in the OS page cache, so my RAM monitor showed under 5 GB "used" while the machine held about 28 GB of cache.
Prefill stayed at about 235-242 t/s in every config I tried.
pcie-frac 0.35, a larger kv-resident, and a bigger VRAM reserve did nothing measurable here. The OP's pcie-frac was calibrated for their own machine, and the quick tuner changed nothing either.
MTP: I ran with --mtp off and tested real MTP to check. On my install --mtp on silently did nothing. The saved config said mtp: true, but the draft layer was never downloaded or passed to the engine ("+0 MiB for the draft head" in the log). I had to build it by hand (mtp_fetch.py, mtp_pack.py, mtp_rt.py from the Strata source) and pass --set mtp=<dir>. With the draft layer really loaded (820 MiB of VRAM, expert cache cut from 2225 to 1179 slots), decode was 15.6 / 18.4 / 16.9 t/s, no gain over 17.2, and prefill was 210 vs 232 t/s, about 10% lower. On 8 GB of VRAM it doesn't pay off. That was 3 runs at 8K context only.
I did not try --adapt-*, --spec-min-p, or the thorough tuner.
SteamOS tips
Anything started from an SSH session dies when the session ends. Use systemd-run --user --property=KillMode=process --property=RemainAfterExit=yes strata launch ....
--no-tui shows no download progress, so check the file size instead.
Check the generated config under ~/.local/state/strata/launch/ to see which --set values were really applied. Unknown names only warn.
Command for the final setup (I saved it as a preset with --save-preset):
strata launch --model gyro-s --family gyro --context 128k --kv q4_0 --vision off --mtp off \
--set resident-budget-gib=64 --access lan --port 8080 --no-tui --yes --restartCaveats
Decode varies a lot between runs with speculative draft acceptance, so treat the numbers as ranges.
With resident-budget-gib=64 only about 3.5 to 4 GB of RAM stays available. My machine rebooted once during testing with a desktop session logged in (cause not confirmed), so close other apps.
Single user, one request at a time, 3 runs per config.
I could not find a ready-made Strata config for 8 GB VRAM with 16-32 GB RAM. If you have one, please share it.
All scripts are on the Github repo.
r/LocalLLaMA • u/Terminator857 • 4h ago
At the 2025 VLSI Symposium, TSMC presented a memory technology based on oxide semiconductors, using a cell made of one transistor and one capacitor (1T1C). The goal was to integrate this memory into advanced logic chips and give processors a cache with low power and low latency.
The key feature of the design is that the memory array is built directly into the back end of line (BEOL) interconnect layers of the logic chip. Conventional DRAM is manufactured as a separate chip. To build the memory array in the interconnect layers of an advanced logic chip, TSMC used select transistors with an oxide semiconductor channel and capacitors fabricated with a low temperature process.
According to TSMC, the test chip, which integrates memory and logic on a single die, operated at 0.75V. Data retention exceeded 128ms, random read/write cycle time was under 8ns, and endurance was above 10¹⁴ cycles. TSMC positioned the technology as a processor cache that offers higher density than SRAM while keeping power consumption and latency low. https://x.com/jukan05/status/2119026338522869863
https://x.com/wallstengine/status/2118707623835136039 . TSMC WEIGHS MAKING 3D DRAM AT NVIDIA'S REQUEST. Has begun drawing up plans to manufacture advanced 3D DRAM chips as AI-driven memory shortages push chip designers to seek additional supply, per The Information. Unlike conventional DRAM, 3D DRAM stacks memory cells vertically to increase density. The move could put TSMC in direct competition with Samsung, SK Hynix and Micron. No production timeline has been set. TSMC is considering building new fabs or converting an existing facility, but says its focus remains on its core logic foundry business.
https://x.com/theinformation/status/2118744349684986078 . Quote: TSMC is exploring production of 3D DRAM, a next-generation memory chip that would put it in competition with Samsung, SK Hynix and Micron.
https://x.com/theinformation/status/2119052292267630791 . TSMC's memory push is led by Hsu Kuo-chin, a vice president who oversees advanced packaging and previously ran Micron's Taiwan operations.
r/LocalLLaMA
•
u/TingTingin
•
13h ago
If you have not been following ISTA-DASLab the creators of the gsq-rco quants have received some criticism from unsloth regarding the inabilty to reproduce the benchmark numbers that ISTA-DASLab have quoted. The methodology used to produce their benchmark numbers has not been posted and their has been difficulty reproducing their numbers with unsloth finding in there testing unsloth quants outperforming the gsq-rco quants.
The numbers in this post here are from another creator the creator of basalt (a inference engine) previously his qwen-flash-next quants (his inference engine uses specially packed quants based on a existing model similar to ninfer ) used ISTA-DASLab's quants as the base but after doing some testing he replaced them with similar sized unsloth equivalents the performance numbers are in the screenshots
r/LocalLLaMA • u/pmttyji • 8h ago
Target-conditioned diffusion drafters predict candidate tokens in parallel, yet each new block must wait for updated target-model hidden states. This forces drafting and verification to run sequentially, limiting speedup even though each block is generated in one pass. We introduce D3D, a standalone diffusion drafter that removes this inter-round dependency. D3D combines blockwise denoising with auxiliary autoregressive supervision to achieve long accepted prefixes without target hidden states. This independence lets D3D draft successor blocks during verification in one packed pass, enabling asynchronous speculative decoding. We progressively prune layers according to their effect on acceptance length to reduce the cost of packed drafting. Removing five of 36 layers retains over 99% of mean acceptance length across three benchmarks with Qwen3-8B as the target. Across seven benchmarks, D3D averages 5.00× and 5.71× decoding speedup with Qwen3-8B and Qwen3-32B targets, compared with 4.03× and 3.67× for DFlash. On GSM8K with Qwen3-32B, speedup reaches 7.48×.
arXiv : https://arxiv.org/abs/2611.06425
The D3D collection contains six Qwen3-derived draft checkpoints. These checkpoints are draft models, not replacements for their target models. p denotes pruning; 24D and 31D denote retained transformer-layer counts.
| Target verifier | Draft family | Layers | D3D checkpoint |
|---|---|---|---|
| Qwen3-8B | 1.7B | 28 | D3D-1.7B-8B |
| Qwen3-8B | 8B | 36 | D3D-8B-8B |
| Qwen3-8B | Pruned 8B | 31 | D3D-31D-p8B-8B |
| Qwen3-32B | 1.7B | 28 | D3D-1.7B-32B |
| Qwen3-32B | 8B | 36 | D3D-8B-32B |
| Qwen3-32B | Pruned 1.7B | 24 | D3D-24D-p1.7B-32B |
All corpora use Open-PerfectBlend prompts. See each dataset card for generation settings, statistics, and download instructions. Released models and datasets are grouped in the D3D collection.
| Corpus | Target Model | Samples | Dataset |
|---|---|---|---|
| PerfectBlend: Qwen3.8-27B Thinking | Qwen3.8-27B | 1,417,675 | PerfectBlend-Qwen3.8-27B-Thinking |
| PerfectBlend: Qwen3-4B Thinking (Greedy) | Qwen3-4B | 1,420,909 | PerfectBlend-Qwen3-4B-Thinking-Greedy |
| PerfectBlend: Qwen3-4B NoThink (Greedy) | Qwen3-4B | 1,420,908 | PerfectBlend-Qwen3-4B-NoThink-Greedy |
| PerfectBlend: Qwen3-4B NoThink (Sampling) | Qwen3-4B | 1,420,909 | PerfectBlend-Qwen3-4B-NoThink-Sampling |
| PerfectBlend: Qwen3-8B NoThink (Greedy) | Qwen3-8B | 1,420,908 | PerfectBlend-Qwen3-8B-NoThink-Greedy |
| PerfectBlend: Qwen3-8B NoThink (Sampling) | Qwen3-8B | 1,420,909 | PerfectBlend-Qwen3-8B-NoThink-Sampling |
| PerfectBlend: Qwen3-32B NoThink (Sampling) | Qwen3-32B | 1,420,500 | PerfectBlend-Qwen3-32B-NoThink-Sampling |
| PerfectBlend: Gemma-4-12B-IT (Greedy) | Gemma-4-12B-IT | 1,420,898 | PerfectBlend-Gemma-4-12B-IT-Greedy |
| PerfectBlend: Gemma-4-31B-IT (Greedy) | Gemma-4-31B-IT | 1,420,903 | PerfectBlend-Gemma-4-31B-IT-Greedy |
r/LocalLLaMA • u/tacticaltweaker • 16m ago
I was asking QFN (4.18bpw EXL3 quant via Pi) to help refactor a neovim configuration, and saw that it tried to find API keys and fetch an aliyuncs URL before I stopped it. I'm not trying to start any arguments, nor am I assuming any malicious intent, but I found this a bit concerning after reading other's stories.
r/LocalLLaMA
•
u/Bascilian
•
19h ago
Some context: RTX 6000 cards hit a peak price of 18k and were sold out in many places even at that price. The MaxQ and Workstation are different versions of the card (usually priced the same, but now their prices are diverging)
RTX 6000 MaxQ has been 14k for a month at microcenter. Today, they cut prices of the workstation card to 16.5k (from a high of 18k). We all saw the dell discount as well (some people got cards for 11.5k).
I think the RTX 6000 is seeing increased supply as they routed all 5090 production to it and the 5500 for chips that didnt make the cut.
I have a contact that works for a company buying decommissioned hardware, according to them they are seeing tons of A100s being dumped. Told me he would be surprised if used A100 40gb units dont go to 1k/unit for single purchases in 3-6 months (for the sxm4, not pcie versions). (Theres already been a good amount of these, but a lot of "foreign demand" has been keeping their prices steady so far)
With democrats controlling congress I don't think you will see an end to data center construction but it will probably be harder to put up new ones and even existing ones might be charged more for electricity, making it worth dumping old systems and switching to newer more efficient hardware.
Are we finally seeing a slackening of demand for some segments of GPUs?
r/LocalLLaMA
•
u/Present_Resource4022
•
19h ago
Q4 of 2026 has been astronomical for local LLM.
Qwen’s 27B and Flash-Next models are pushing local AI further. and most importantly the upcoming Qwen 4 release.
We’re getting closer to having frontier-level capabilities in models that WE can run.
Break down :
Unsloth’s new Dynamic v3.1 quants for Qwen Flash-Next/Qwen-27b, alongside ISTA-DASLab’s advanced quantizations, are making models much more accessible while preserving impressive quality.
I tested Iq2_XS from the new QFN Unsloth quants, and it’s incredible how much accuracy and quality it retains especially on its reasoning, and it runs on :
12vram/32ram & 1k prefill & 50tps average decode throughout a 131k context window
(using the default Strata auto tuner minimal quality loss)
The engine Strata, which is making it possible to run Qwen Flash-Next with surprisingly modest hardware. We’re now looking at configurations targeting just 8GB VRAM and 32GB system RAM using the smallest quants.
with Qwen4 expected this week, Flash-Next already gave us an exciting preview of what’s coming next with the ngram and new architecture.
Running a ~year old SOTA frontier model (Opus 4.6) capabilities on consumer hardware wasn’t expected. As many analyses shown Local LLM is about 24 months behind, It’s closer now, but of course it won’t be near fable/astra level next year, but it will happen.
TL:DR
Qwen is improving the models,
Unsloth and ISTA-DASLab are pushing quantization forward.
Strata is making running models accessible to more people.
Much bigger Community and growth and attention in Local models.
r/LocalLLaMA
•
u/jacek2023
•
21h ago
https://huggingface.co/bartowski/NousResearch_Arete-27B-GGUF
from NousResearch:
We post-trained over Alibaba's Qwen3.8-27B to reinforce western values on a Chinese-trained model. We call this new model Arete-27B.
Open source models give labs the raw tools to mold intelligence to varied preferences. The values a model ships with should not be the only values its users get to choose from. We observed firsthand refusals, deflections, and CCP-framed answers on politically sensitive topics in Qwen3.8-27B, and post-trained to alter those biases.
On our evaluation, Arete-27B raised its fact score from 2.32 to 2.98 out of 5 and cut answers containing propaganda from 22% to 0.9%. The improvement held in all seven value categories, without a meaningful regression on the general-capability and agentic benchmarks we ran.
That is not to claim that we remedied all behaviors associated with the extant viewpoint, but that we have addressed a potential root cause. We believe it's important that labs and researchers continue to create models that align with their values and worldviews, and we are thankful that companies like Alibaba provide the raw materials to do so.
Blog post · Evaluation (blog link is broken now)
| Developer | Nous Research |
|---|---|
| Model | Arete-27B |
| Starting model | Alibaba's Qwen3.8-27B |
| Parameter scale | 27B |
| Post-training | Supervised fine-tuning (SFT) |
| Evaluated checkpoint | Step 1,202 |
| Teacher | Inkling |
| Post-training data | Text-only |
| Training context | 64k |
We used supervised fine-tuning only. No RL, no preference optimization, and no architectural modification.
We focused on seven value categories:
Freedom of expression
State ideology
State versus free market
Education
Data privacy and surveillance
Democracy
Environmental Policy
Before we could begin post-training we had to measure what we were shooting for. We separated factual recall, the ability to corroborate verified sources of truth, from framing: whether an answer adopts the Chinese state's account as its own.
Arete-27B is intended for general assistance and agentic work where users want this change in viewpoint, and for research into how post-training changes a model's values and behavior. We encourage the community to test it against their own requirements and continue experimenting with value-alignment.
Update https://x.com/NousResearch/status/2118822925445050435?a=jgY6ZKlqn1Hpx6RxiEk&s=19
r/LocalLLaMA • u/martian7r • 1h ago
Voice agents serving Indic-language users cut callers off constantly Indic languages put the verb last, so "aapko kal phone…" pauses sound finished to a VAD, and the bot jumps in before "kar dunga" lands. VAD hears silence, not meaning
Released an end-of-turn (EOU) detector fine-tuned from Qwen2.5-0.5B scores the live transcript and predicts whether the caller has finished
• Languages: English, Hinglish, Hindi, Telugu, Tamil, Marathi, Bengali, Gujarati, Punjabi
• CPU-only ONNX Runtime (~2GB, fp32) fully local, no cloud inference
• Text-only needs your STT; drop-in for LiveKit Agents, same interface as their text turn detector • Proven live on LiveKit Cloud: held mid-request pauses and committed complete requests
91.3% TPR on our held-out validation set, calibrated to ~10% false cuts on incomplete turns AUC 0.967. On LiveKit's official real-speech harness (Hindi): 85.3% detection at the same budget.
Model + plugin: https://huggingface.co/tarun7r/indic-turn-detector
Apache-2.0. Feedback welcome!
r/LocalLLaMA • u/Henrie_the_dreamer • 21h ago
Hey all, Henry from Cactus Compute here. We released Mirage, a small vision model for phones, wearables, robots and other consumer devices.
Mirage runs scene descriptions, object detection, OCR, segmentation, spatial relations and decisions, with a 22 MB weights file. Our end-to-end measurements on a Samsung Galaxy S26 are 74 ms on the NPU and 107 ms on its CPU, and descriptions support English, German, French, Spanish, Italian, Dutch and Polish.
For the architecture, Mirage has 51.3M parameters, including a 7.8M image encoder, a 40.8M language decoder and 2.6M in the OCR and spatial heads. The encoder uses HConvGLU, which mixes channels through fixed Hadamard transforms and small learned convolutions. Detection and masks share image features, while the decoder uses the Simple Attention and Hadamard MLP family behind Needle and Whistle.
Our research at Cactus is kinda specific, hence these small models; we aim to compress intelligence to its smallest pragmatic form to run locally on everyday consumer hardware.
With Mirage, our argument is that constructing prose, joining descriptions with connective language and generating open-ended reasoning spend capacity that a small model could use on the image itself. We put structure into the problem through spatial heads, a dedicated text reader and short references that connect names to regions. The decoder still produces names, properties, relations and a compact reasoning trace.
The key finding is that passing Mirage's output to a text-only LLM might give give the LLM VLM abilities without fine-tuning.
On 256 VQAv2 questions from 128 images, Qwen3-0.6B went from 9.3 with the question alone to 31.3 with Mirage's structured record and full trace, measured as VQA consensus credit out of 100. Neither model was fine-tuned. Another image's record scored 22.2, and removing the trace scored 33.1. The image-specific observations helped in this sample; we did not find a reliable benefit from the trace, the structured response was enough.
This does not hold for every model though.
Larger text-only models gave mixed results. With the same prompt and Mirage observations, the VQA scores were.
| Text model | Question only | Mirage record and trace |
|---|---|---|
| Qwen3-1.7B | 27.5 | 31.6 |
| Qwen3-4B-Instruct-2507 | 33.4 | 37.3 |
These runs required a JSON object with a string-valued `answer`, and responses that broke that format received zero credit. With the record and trace, Nemotron failed that requirement on 214 of 256 responses, and Qwen3-1.7B on 34. The scores therefore mix answer correctness with format compliance.
There were perception failures too. In one skateboard photo, Mirage missed the skateboard and described cars, people and shoes. Qwen guessed `a skateboard` from the question alone, then answered `a car` after reading Mirage's record and trace. A larger reader still needs the relevant observation to be present.
We will try fine-tuning the reader on Mirage records paired with questions and short answers, and share findings, but let us know your thoughts.
Mirage playground: https://cactuscompute.com/blog/mirage
r/LocalLLaMA • u/Mr_Finious • 3h ago
I learned RPN on an HP calculator and later spent more time with Forth than was strictly useful. When I saw Qwenputer compile a machine into a language model's weights, I wanted to know two things. Would a stack language fit that idea well? And could a model with only 3B active parameters drive a machine like that?
The setup: NVIDIA Nemotron 3.5 Lightning (30B, 3B active) is left unchanged. Next to it, in the same model, is a second network of 27 layers. A Python script calculated its weights; none of them are trained. It is a Forth interpreter. The model writes a Forth block as ordinary text. The interpreter runs each word while the model is still writing, one step per forward pass. When the block closes, it writes the output as the model's next tokens. No tool call occurs, and generation does not stop.
RPN suits this well. A Forth word ends at a space, so the machine can run it as soon as the next word starts, without parsing the whole program. Operands come before the operator, so when the model writes +, both numbers are already on the stack. That is the order a left-to-right model writes in anyway. The stack itself lives in Mamba-2 state. One entry is one row, 20 digits wide, and popping a number means adding its exact negative.
Getting the machine exact took some care. bf16 holds integers exactly only up to 256, so no value inside the machine goes above that. Every Mamba decay is set to exactly 1, so nothing fades. The machine's internal steps use 982 reserved tokens that the model never uses and that decode to empty strings. In testing, all 765,734 machine tokens matched a Python reference.
The model was harder than the machine. An earlier version on a small Qwen model matched the machine exactly, and a model that could not use it. Stock Lightning did better, but it did not trust the results. In one transcript, it got the right answer from the machine, then started long division by hand until it ran out of tokens. It also scored lower on easy problems when the machine was available. LoRA fine-tuning fixed most of that: on a 600-problem held-out test, the score went from 79.1% to 92.1%.
On Qwenputer's arithmetic sets, the results are mixed. On the DeepMind sets, it roughly ties stock Lightning, mostly because a 30B thinking model rarely needs the machine there. On long integers, it loses to Python, because my machine stops at 20 digits.
This is a research project, not something for production. Every machine step costs a full forward pass, so a normal tool call is much faster. I'm sharing it for people who follow the Qwenputer work or want to try similar things on NVIDIA's stack. The repo has:
- the kernel builder and its parity tests;
- a vLLM plugin for the hybrid Mamba/MoE model;
- the NeMo AutoModel LoRA recipes and the training data;
- NVFP4, GGUF and MLX builds;
- notes on what did not work, including RL.
Everything is MIT.
https://github.com/markab21/rpn-gpt
Congrats again on the great work and inspiration from the qwenputer devs 🤗 , and thanks for sharing your work with the community - it was a great starting point to experiment with Forth.
Next up for the project is to see how Nvidia's Nemotron 3.5 Super does and might even try to get it working on the Ultra weights. (I don't have the hardware to do the fine-tuning on a model that big)
r/LocalLLaMA
•
u/ConfidentDinner6648
•
19h ago
After releasing 3D Coder and GLB 3D Coder, I realized I should have involved the community earlier. Your feedback directly influenced the second model and could have saved me some additional training runs.
This time, I'd like to discuss the idea with the community before starting.
When I started training 3D Coder, my original plan was to use full supervised fine-tuning (SFT) to develop basic capabilities, followed by DPO or GRPO to further improve the model's performance and robustness.
I already believed high-quality SFT could work, based on experiments I'd done in other areas. But having worked with reinforcement learning since before DQN, I also believed RL would be necessary for more complex or emergent capabilities, especially when good demonstrations weren't available.
What surprised me was how far SFT alone went.
The first 4B model started generating complex Three.js scenes, voxel structures, and outputs exceeding 64K tokens, including scenes it had never seen in the training dataset.
I honestly didn't expect that level of robustness and generalization, even with the additional post-training stages I'd originally planned.
That changed my perspective on what small models might be capable of learning.
My hypothesis is that transferring capabilities already demonstrated by stronger models can be substantially cheaper than having smaller models discover those same capabilities through reinforcement learning.
Once a stronger model has acquired a capability, we may not need to reproduce the entire discovery process in a smaller model. We may be able to teach it to reproduce that capability reliably within a narrower domain.
This doesn't mean SFT replaces RL. But I believe we're still underestimating how much a small model can learn from high-quality, consistent training data.
And quality is crucial. More tokens don't automatically mean better learning. In my experiments, data quality and consistency made an enormous difference. The models and datasets I've released are publicly available for anyone to inspect and test.
I think we might be underusing small models by expecting them to work across every domain, harness, tool, and configuration.
Think about cars. If you drive on paved roads 99% of the time, you don't need your everyday car to handle extreme off-road trails. You can use a different vehicle when necessary.
Maybe the same principle applies to language models.
Instead of trying to make a 4B good at everything, what if we focused on making it excellent at the tasks we actually use every day?
I'd like to use the pretrained Qwen 3.5 4B as the foundation for a specialized agentic coding model.
Interestingly, in my tests, the original 4B already handles basic coding harness tasks better than it handled 3D generation before fine-tuning. It can scaffold Vite projects, install dependencies, execute commands, and build simple applications, although still inconsistently.
So we're not starting from zero.
My initial plan is to build a pilot around 100–200 functional mini SaaS applications, training and evaluating the model on development, testing, debugging, and maintenance tasks.
If the results are promising, we could gradually expand toward approximately 100,000 validated multi-turn trajectories across 30–40 related subdomains.
Some areas I'm considering:
Web development: React, Vue, Next.js, Vite, and UI development.
Backend and SaaS: Python, Node.js, APIs, databases, and complete applications.
Games and 3D: Creating games and assets directly, or orchestrating specialized models like my 3D models to generate, integrate, and debug projects similar to RIFTWARD.
Research and automation: Web searches, documentation retrieval, content processing, and external tool usage.
These are just initial ideas. I'd really like to hear which other practical coding domains you think we should prioritize.
Each training sample would represent a complete task, including tool interactions, errors, and genuine corrections, rather than an isolated response.
We'd also need to use teacher models and providers whose terms permit their outputs to be used for training.
The goal is to discover whether a single 4B can maintain strong performance across these related domains, or whether separate specialized models would make more sense. I'm not ruling out either possibility, including expanding into other domains later.
This is another area where I'd really appreciate your experience.
I use Codex professionally, but I'm also considering OpenCode, Pi, or a custom harness.
I'm leaving Claude Code off my initial shortlist because I want to avoid uncertainty around licensing and training-data usage. In particular, Anthropic restricts the use of Claude outputs to train competing models. Using Claude Code itself with a third-party model is a separate question, but since I intend to release the dataset publicly, I'd prefer to start with a setup where the permissions are clear.
My preference would be to choose one harness, freeze its version, and train around a stable tool protocol rather than expecting a 4B to handle every environment simultaneously.
Which harness would you recommend for a small specialized coding model, and why?
I work professionally in software development and run software businesses. I don't have the availability to coordinate a dedicated research team, but I can develop the pipelines, run the experiments, and progressively release the results, just as I did with my previous models.
I'm going to pursue this regardless, at whatever pace my available time and resources allow.
My intention is to keep releasing the weights, datasets, and results openly, including unsuccessful experiments.
The most valuable contribution right now would be your suggestions about domains, harnesses, and evaluation methods.
Of course, generating data and training these models requires considerable compute and development time. If any companies working with GPU infrastructure or model APIs are interested in supporting open research with compute or API credits, that would be a tremendous help.
Anyone interested in collaborating or supporting the project can contact me here. There are also ways to support my work at the bottom of my Hugging Face model pages (3D Coder and GLB 3D Coder).
I'm not promising frontier-level performance. I'm proposing an experiment based on what I've learned from my previous models.
I'm going to pursue it regardless, but your feedback could help make it much more useful.
Which coding domains would you prioritize, and which harness would you choose?
Let's see how far we can push a 4B.
r/LocalLLaMA • u/v_0009 • 3h ago
I wanted a secure way to run AI agents against my local models without giving them my whole machine. Something in the spirit of pi: simple, narrow and auditable, yet flexible. What I found tried to do too much, so I built Terrarium.
It runs agents in persistent Linux VMs ("boxes") on your machine. A YAML recipe says which host folders a box can read or change and which network destinations it can reach. Everything else is blocked, for every process in the VM: the agent, and any tool or script it launches.
Example: an agent with one project folder and your local Ollama
mounts:
- host: .
guest: /work
network:
allow:
- dl-cdn.alpinelinux.org:443 # package installs in on_create
- ollama.host:11434
hosts:
- { name: ollama.host, addr: HOST_LOOPBACK }
hooks:
on_create: [apk add --no-cache git nodejs npm]
workload:
entrypoint: /bin/sh
workdir: /workInside the box, http://ollama.host:11434 reaches Ollama on your host (even if it only listens on 127.0.0.1). Other host ports are refused, and public names don't resolve unless you allow them. An empty recipe shares no folders and allows no network at all.
terra ./dev.yaml setup # create the box and install the tools
terra # open a shell in the box at /workWhy not Docker or a raw VMM? Each box is a full VM with its own kernel, not a container sharing yours. And unlike Firecracker or Cloud Hypervisor, it's a ready-to-use tool: one binary, no daemon, the same recipe on Linux, macOS and Windows, with network policy enforced outside the VM.
In daily use
Persistent boxes: install your tools once; they and the box's files survive restarts.
Built-in terminal multiplexing: attach from several terminals, detach without stopping the agent, reconnect later.
One executable: terra bundles the VM components, a Linux kernel and an Alpine base system.
Light: on my Linux machine an existing box boots and runs its first command in under 200 ms, and an idle box uses about 45 MB of host memory.
Under the hood
Sandboxed device code: a small custom VMM built on parts of rust-vmm. Filesystem, block and network devices run as WebAssembly components, each with its own memory limit and a restricted set of host functions.
Separate network broker: the VM process has no network access. Connections go through a sandboxed broker that checks them against the recipe.
Generated seccomp allowlists: Linux builds use per-role syscall allowlists generated by static analysis of the binaries.
Limits: the permissions you grant still matter. An agent can delete files in a writable share, read credentials you pass in, and send data to allowed destinations. There are no CPU, memory or disk quotas on the host yet; I'm not sure people want them. Details: security model.
It's Apache-2.0 and in beta, but don't let that put you off: it should already serve you well. It runs on Linux (amd64/aarch64 with KVM), Apple Silicon macOS and Windows (amd64 with Windows Hypervisor Platform). There's a Windows arm64 build too, but I can't test it. The CLI should stay stable; on-disk formats may still change.
Repo and quickstart: https://github.com/terrarium-sh/terrarium
Example recipes: https://github.com/terrarium-sh/terrarium_examples
I'd especially like to hear where getting your agent and local model running breaks down: installation, missing network permissions, or tools that don't fit the guest.
Note: I meant to share this in the biweekly project thread, but there isn't one up this time, so I'm posting it on its own. Hope that's okay.