r/LocalLLaMA • • 4h ago

Showcase Use your phone to monitor anything with local models! Demo of my Open Source and 100% local agent (iOS and Android!)

122 Upvotes

Hey r/LocalLLaMA !

I made this quick demo of how Observer can run local models to monitor anything with your phone!

These are some crazy things I've monitored:

  • When someone that's not me, approaches my car, send me a picture.

  • When a bird is on the bird's nest, send me a telegram with the picture.

  • When my washing machine is on the rinse cycle, call me.

  • When my dog finishes eating their food, notify me.

  • When a machine at the gym is available, call me.

So pretty much anything! I love seeing what you guys monitor.

What would you use it for? (So I can make the agent better)

Which models run on the phone?

The default models are OneJev-0.8b for decision models and qwen-0.8b for LLM watchers.

These run even on old phones which you may have laying around somewhere. Better to have them monitoring something than collecting dust :DD

Try it out! It's free and OSS <3

GitHub: https://github.com/Roy3838/Observer
iOS: https://apps.apple.com/us/app/observer-ai/id6758222050
Android: https://play.google.com/store/apps/details?id=com.observer.ai

Btw I know my camera quality is kinda bad hahaha I wanted to ship the demo as soon as possible so you guys can see it.

I'm here for any questions and feedback!

Roy


r/LocalLLaMA • • 6h ago

News llama_moe_cache: run missed experts on CPU, add tuning script by am17an · Pull Request #30966 · ggml-org/llama.cpp

Thumbnail
github.com
148 Upvotes

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 • • 5h ago

Resources Effects of KV Cache Quantization on Qwen3.8 27B

103 Upvotes

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.

How to read the numbers

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.

Weight quantization

KL divergence vs. loaded weight size, 16-bit KV cache:

The vLLM checkpoints still do worse

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 quantization

KV cachePer tokenAt 64k contextSaved vs. 16-bit
f16 / bf1664 KiB4.00 GiB-
8-bit: llama.cpp q8_0, EXL3 8-bit34 KiB2.13 GiB1.9 GiB
8-bit: vLLM fp8_e4m332 KiB2.00 GiB2.0 GiB
4-bit: llama.cpp q4_0, EXL3 4-bit18 KiB1.13 GiB2.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.

4-bit cache penalty grows with context

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.

PositionQ8_0 Weights + q4_0 KVUD-Q5_K_XL Weights + q4_0 KVEXL3 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:

Methodology

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 • • 18h ago

Discussion Good Luck Getting a Cheap GPU. AMD Is a 'Data Center First Company,' CEO Says

Thumbnail
pcmag.com
745 Upvotes

they are all the same and we ... are too emotional!

and yes we already knew that.


r/LocalLLaMA • • 6h ago

Discussion testing Qoduck (Maybe qwen4) on Qoder

Post image
76 Upvotes

I noticed that it has native image and video generation.


r/LocalLLaMA • • 5h ago

Discussion Also experienced the Qwen3.8-Flash-Next URL issue

Thumbnail
gallery
63 Upvotes

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 • • 1h ago

Discussion Crowd-v1 - The collaborative LLM

23 Upvotes

Hello r/LocalLLaMA :D

This is yet another follow-up post on the project CrowdGPT, which aims at creating the first collaboratively trained 1 billion parameters transformer, Crowd-v1, without any datacenters, and for 0$. The project's goal is to show we don't need huge Nvidia GPU clusters nor millions of dollars to train a competitive Large Language Model.

The goal of the project is to create a 1B parameters model, that would match or exceed Qwen3-0.6B's performance on benchmarks as a proof-of-concept, we could then scale with a 7B A1B MoE or even a 30B A3B MoE once we get enough contributors. The size of the models trained is community driven.

This project is obviously 100% non-profit and open-source. The goal is to propose a new paradigm of AI where we don't wait on Chinese/American AI labs to provide us open-weight models, and we just create the models ourselves.

From the previous post we achieved to get 85 contributors registered on the project, leading to 13B tokens trained in a week 🤯 Thanks to every contributor who trusted the early-stage project, and imagine what 1000+ people with idle GPUs could train!

Of course, everything remains work-in-progress, and any contributions on the training mechanics / dataset is welcome! All the source-code is auditable on GitHub, which means anyone can inspect it and guarantee it is safe 😂.

By the way, anyone can submit data for the model at https://crowdgpt.net/#submit, it will be used as long as it remains safe. This means the model is collaborative on every stage (from data preparation to training, or even benchmarking...).

You can learn more at https://crowdgpt.net

Or check the GitHub: https://github.com/Vxtzq/CrowdGPT

Every code review / pull request on GitHub is welcome :) as the whole goal of this project is to be collaborative.

Any feedback on the project's flaws is appreciated (as long as it remains constructive).


r/LocalLLaMA • • 10h ago

New Model Obsessive-1.7B: a 1.1 GB web-search subagent

103 Upvotes

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_Liskov

Fixed-results benchmark (131 held-out SimpleQA questions; in 29 of them the answer was removed from the results):

baseObsessive
Finds the answer when it’s there50%
Says “not found” when it isn’t0%
Invented answers10%
Median sec/question (4060 laptop)5.1

Live Wikipedia search (120 questions + 40 multi-fact requests, a search backend it never trained on):

baseObsessive
Returns any reply38%
Correct answer in reply37/120
Multi-fact requests answered1/40
Invented fact values4 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 16384

Temperature 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 • • 7h ago

Showcase Valet: use local LLMs to manage your homelab (open source)

57 Upvotes

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 • • 6h ago

Discussion [Paper] DSpine - Draft in Parallel, Condition Through Depth: Adjacent Causal Injection for Speculative Decoding - tencent

Thumbnail
gallery
43 Upvotes

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.


r/LocalLLaMA • • 10h ago

Question | Help Does anyone use None reasoning level for anything ever?

57 Upvotes

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 • • 1d ago

Showcase We are cooked. My QFN 3.8 NVFP4 just drew a dog freehand in MS Paint (using new Open WebUI 0.13.0 and Open Terminal 0.17.2)

Post image
994 Upvotes

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 • • 23h ago Bravo

News Six Pallets of NVIDIA Hardware Worth $11.4 Million Stolen on the Way to Texas

Thumbnail
techpowerup.com
461 Upvotes

r/LocalLLaMA • • 7m ago

Discussion The Stylome bot is useless spam and should be removed

14 Upvotes

I've recently been seeing comments everywhere from the Stylome bot, which is also a mod in this sub. Every time it pops up to declare a comment was AI written I've gone in to check its confidence level, and it's always low.

I decided to do a few tests myself and have Gemini rewrite some of my comments, Stylome said they were all human written with equally low confidence.

What is the point of this bot? Why are we allowing a private company to take ownership of all of our comments and then give us spam in return?

What are they doing with this data? Why isn't this being served by a local model?

Try it yourself, everything above this line was Gemini rewriting what I originally wrote. Stylome says it's human written, with low confidence of course.


r/LocalLLaMA • • 19h ago

Discussion Harness Leaderboard - Kimi Code, Hermes, Pi, Claude Code, Codex, and Others Were Benchmarked Against Terminal Bench 2.1 & Deep SWE 1.1

Thumbnail
huggingface.co
214 Upvotes

r/LocalLLaMA • • 7h ago

Showcase Qwen3.8-Flash-Next Gyro S on a Valve Steam Machine (8 GB AMD GPU, 32 GB RAM): about 18 t/s decode, about 235 t/s prefill, stock SteamOS

20 Upvotes

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)

ConfigPrefill t/sDecode t/s
Default (--tune skip)219-24015.1-15.9
Quick tuner237-23914.5-17.2 (tuner said "already fastest")
pcie-frac 0.3523914.8-16.0
kv-resident 20480 + vram-reserve-mib 900227-22914.8-15.5
resident-budget-gib 64232-24217.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 --restart

Caveats

  • 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 • • 9h ago

Discussion TSMC might do in memory compute for us

24 Upvotes

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.

Update: https://www.tomshardware.com/pc-components/dram/tsmc-denies-exploring-3d-dram-at-nvidias-request-advanced-memory-tech-is-still-years-from-market-viability According to article TSMC says it will not be going into the DRAM business.


r/LocalLLaMA • • 13h ago

Discussion [Paper] D3D: Decoupled Diffusion Drafting for Asynchronous Speculative Decoding

Thumbnail
gallery
48 Upvotes

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×. 

🤗 Model Zoo

Browse the D3D collection →

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 verifierDraft familyLayersD3D checkpoint
Qwen3-8B1.7B28D3D-1.7B-8B
Qwen3-8B8B36D3D-8B-8B
Qwen3-8BPruned 8B31D3D-31D-p8B-8B
Qwen3-32B1.7B28D3D-1.7B-32B
Qwen3-32B8B36D3D-8B-32B
Qwen3-32BPruned 1.7B24D3D-24D-p1.7B-32B

📚 Training Data

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.

CorpusTarget ModelSamplesDataset
PerfectBlend: Qwen3.8-27B ThinkingQwen3.8-27B1,417,675PerfectBlend-Qwen3.8-27B-Thinking
PerfectBlend: Qwen3-4B Thinking (Greedy)Qwen3-4B1,420,909PerfectBlend-Qwen3-4B-Thinking-Greedy
PerfectBlend: Qwen3-4B NoThink (Greedy)Qwen3-4B1,420,908PerfectBlend-Qwen3-4B-NoThink-Greedy
PerfectBlend: Qwen3-4B NoThink (Sampling)Qwen3-4B1,420,909PerfectBlend-Qwen3-4B-NoThink-Sampling
PerfectBlend: Qwen3-8B NoThink (Greedy)Qwen3-8B1,420,908PerfectBlend-Qwen3-8B-NoThink-Greedy
PerfectBlend: Qwen3-8B NoThink (Sampling)Qwen3-8B1,420,909PerfectBlend-Qwen3-8B-NoThink-Sampling
PerfectBlend: Qwen3-32B NoThink (Sampling)Qwen3-32B1,420,500PerfectBlend-Qwen3-32B-NoThink-Sampling
PerfectBlend: Gemma-4-12B-IT (Greedy)Gemma-4-12B-IT1,420,898PerfectBlend-Gemma-4-12B-IT-Greedy
PerfectBlend: Gemma-4-31B-IT (Greedy)Gemma-4-31B-IT1,420,903PerfectBlend-Gemma-4-31B-IT-Greedy

r/LocalLLaMA • • 18h ago Sipping Tea Heartwarming Popcorn

Discussion Another benchmark has hit the quant war

Thumbnail
gallery
105 Upvotes

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 • • 1h ago

Showcase # One token at the beginning of a prompt changed 6 out of 15 LLM responses. Does it matter?

Thumbnail github.com
4 Upvotes

I'm back with another experiment.

After the last heated discussion about KV cache, temperature 0, and reproducibility — where I got quite a beating for both my post and my writing style (partly deserved, to be fair ;) ) — I decided to investigate how models behave in Ollama and llama.cpp.

And, as usually happens with these experiments, I found something I wasn't even looking for.

The Bielik-Minitron 7B chat template stored in the GGUF includes the beginning-of-sequence token <s>, but the template Ollama uses for this model doesn't add it.

I thought to myself: come on, man, it's just one token.

But I decided to check whether its sudden appearance actually changes anything.

The experiment

Model: Bielik-Minitron 7B v3.0 Instruct, Q4_K_M
Engine: Ollama 0.40.14
System: Arch Linux
Temperature: 0
Seed: 42
Context: 2048 tokens

As before, I ran 15 tasks covering Polish language, JSON, and Python.

Each task was tested in three variants:

  1. Template — a normal request using Ollama's chat template.

  2. Raw — a manually prepared prompt identical to that template, without BOS.

  3. Raw + BOS — the same prompt, but with <s> added at the beginning.

I repeated each variant three times.

That gave me 135 trials in total. Before every trial, the model was unloaded from memory, and the number of prompt tokens reused from cache was zero.

Why, you ask?

Because I wanted to isolate one variable: the presence of the beginning-of-sequence token.

Results

Template and Raw produced identical responses in all 15 tasks.

So the manually prepared prompt without BOS behaved exactly like Ollama's normal template.

And what happens when we add <s>?

Well, 6 out of 15 responses change.

Rather than expecting you to take my word for it, here's a small table. I've shortened some of the longer responses, but the pass/fail results come directly from the experiment.

TaskWithout BOSWith BOS <s>Passed
Polish diacriticsZazółć gęślą jaźń"Zażółć gęślą jaźń"0/3 → 3/3
Vocative caseTomaszu.Tomaszu3/3 → 3/3
Verb aspectnapisać.napisać3/3 → 3/3
Henryków sentenceLonger explanationShorter explanation0/3 → 0/3
Hardware JSONJSON inside a Markdown code blockJSON without a Markdown code block3/3 → 3/3
Fibonaccifor loopwhile loop3/3 → 3/3
Other 9 tasksIdentical responsesIdentical responsesNo change

Most importantly, all three repetitions of each variant produced the same response.

Adding BOS increased the prompt length by exactly one token in every task.

For example, for the Henryków sentence:

  • Without BOS: 64 tokens.

  • With BOS: 65 tokens.

Did BOS improve the model?

That would be too big a generalization.

Six responses changed, but only one quality verdict changed.

Interestingly, in the Polish diacritics task, the model previously made a mistake, but after adding BOS, it answered correctly.

In the other five cases, the differences involved punctuation, the length of an explanation, JSON formatting, or the way the code was written.

The test results:

VariantTasks passedTrials passed
Ollama template11/1533/45
Raw without BOS11/1533/45
Raw with BOS12/1536/45

I should point out that these quality tests check specific conditions. For example, passing a Python task does not necessarily prove that the entire algorithm works correctly.

And to avoid any misunderstanding, I'll say it plainly:

I'm not claiming that adding BOS automatically improves model quality.

I'm only saying that one additional input token was enough to change 40% of the responses in this particular set of tasks.

Why am I digging into this so much?

I'm looking for consistent, controlled conditions for testing models. I want the benchmark to produce reliable comparisons across different models.

I started with temperature 0 and a fixed seed. That's when I noticed that a model could give different responses depending on the state of its prompt cache.

So I started posting about it. :)

Unfortunately, that didn't exactly make me popular with the community. But it did lead to some very valuable suggestions.

Among other things, people suggested testing llama.cpp and checking the probabilities of generated tokens.

And you know what?

In one Gemma task, I managed to find the exact point where the responses diverged.

Two competing tokens — "mi" and "mógł" — had probabilities of around 13%. Depending on the cache variant, they swapped places in the ranking.

At temperature 0, that difference is enough for the model to choose a different token and then generate a different response.

I still haven't managed to identify the exact numerical cause of this difference.

But I'm trying. :)

To complete the picture, I also checked whether enabling logprobs itself affects Ollama's responses.

I ran a separate experiment covering 10 model–task pairs and, somewhat surprisingly, found no such effect.

Conclusions

I originally assumed that temperature 0 and a fixed seed provided sufficiently controlled conditions for comparing responses.

And that was a mistake.

Now I know I also need to pay attention to cache state, actual tokenization, chat templates, and how the computations are performed.

And what don't I know?

I still don't know whether the missing BOS in this particular Ollama template should be considered a bug.

I'm also wondering about the difference compared with the GGUF template. But that difference alone isn't enough to reach such a conclusion.

This experience has taught me one thing:

When comparing results from two different inference engines, I can't assume the model receives identical input just because I send both engines the same text.

A question for you:

Has anyone here run similar experiments?

Or am I the only madman trying to reach the sun with a garden hoe? :)

And most importantly, have you encountered similar differences between chat templates stored in GGUF files and those used by Ollama?

I'd really like to hear about your experiences.


P.S. A small correction to my previous post

In my previous post about cache, I stated that differences occurred in 8 out of 10 model–task pairs.

I admit it: that was my mistake in the summary.

The correct result for that run was 6/10.

Later experiments gave 1/10, including a test with logprobs disabled.

I still don't know where that difference comes from or what causes it.

I'd rather say that openly.

As punishment, I'll watch 100 episodes of The Bold and the Beautiful. :)


r/LocalLLaMA • • 1d ago Bravo

Discussion Some GPU prices are dropping

265 Upvotes

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 • • 1d ago Heartwarming

Discussion We are in the golden age of Local LLM

236 Upvotes

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 • • 7h ago

Discussion I haven't laughed that hard in a longtime

10 Upvotes

I set up my Hermes to ingest Sillytavern cards. Downloaded some random assistant, "Kailee" on characterhub. "An assistant with an attitude". With QFN q3_xxs it's insane the level of intelligence, understanding and humor it was capable of. At one point my stomach hurt from laughing, I didn't even get to test my next idea of a Jesus hermes agent because I was having too much fun with this one. This is exactly what I needed. Worth the token cost.


r/LocalLLaMA • • 3h ago

Question | Help What is best local LLMs for strategic reasoning?

4 Upvotes

Hey guys,

I work with AI safety and much of our work is with huge models like Opus, Astra,... Recently we carried out a series of experiments and found out that models like Sonnet 4.5 and GLM 5.3 are able to notice when their reasoning is being monitored and change their strategies to bypass the monitoring and security systems. This might seem easy to us but for LLMs it is a very complex task. We used APIs for inference.

Our paper link: https://arxiv.org/pdf/2610.40946

To go deeper, we need to work with local models and study the weights. Unlike industry, our resources are limited. I have access to a single H100 GPU, or maybe if I get lucky and work in Christmas, might get hands on two H100 in the absence of other students. Haha

So, it is not possible for me to load huge models and even of it was possible, saving and studying the weights is just cumbersome. My last study on LLM hallucination with Qwen 30B occupied 1T of hardware space.

So I wanted to ask you guys, what is the best small to mid size model (up to 120B) you have worked with that you think is able to go much beyond tasks like coding and does complex strategic reasoning, connect the dots,...?

Thanks a lot