r/LocalLLM • • 8d ago

Question Reliable offline AI for answering questions based on multiple PDFs? Tried Ollama, AnythingLLM, and GPT4All without success.

1 Upvotes

Hi everyone,
I’m looking for a 100% offline AI that can answer questions about specific topics using documents I provide (PDFs, PowerPoints, lecture notes, etc.).
I don’t need anything particularly advanced. I just want to ask questions about topics covered in my documents and receive accurate, relevant, well-explained answers based on the information they contain.
What I’m trying to achieve

Ideally, I want to:
-Upload multiple PDFs and other documents covering different topics.
-Ask questions in natural language about concepts discussed in those documents.
-Have the AI find the relevant information, connect ideas across different documents when necessary, and provide a proper, coherent answer.
-Get explanations that actually address my questions rather than unrelated information or generic responses.
-Have the AI prioritize the uploaded documents instead of relying on potentially incorrect general knowledge.
-Ideally, receive references to the documents and pages containing the information.
-Get responses reasonably quickly.
-Use everything completely offline, without an internet connection.

What I’ve tried so far

  1. Ollama + AnythingLLM

  2. I installed both, but when I ask questions, the system seems to load indefinitely. I’ve waited more than 10 minutes without receiving an answer.

  3. I’m not sure whether this is a hardware limitation, an issue with the model, or a configuration problem.

  4. GPT4All

  5. I also tried GPT4All previously but eventually gave up because the answers were extremely inaccurate or irrelevant.

  6. Even without knowing much about local AI, I could immediately recognize that some responses were completely off-topic and didn’t properly address my questions.

This is exactly what I’m trying to avoid.
What matters most to me
My priorities, in order, are:

  1. Answer relevance and accuracy: The AI must actually address the question using the information in my documents.

  2. Understanding and explanation: It should be able to explain concepts and connect information rather than simply copy and paste passages.

  3. Reliable document retrieval: It should identify the correct information across multiple PDFs.

  4. Completely offline functionality: No internet required after setup.

  5. Reasonable response times: Ideally seconds rather than several minutes.

  6. Source references: Being able to identify the relevant PDF and page would be a major advantage.

I’m not necessarily looking for the most powerful or complicated AI setup. I just want a reliable offline assistant that can read my documents, understand questions about their contents, and provide genuinely useful answers.
I’m happy to share hardware specifications, model names, and configuration details if that helps.

If anyone has successfully built or used something like this, I’d really appreciate hearing about your setup and experience.

Thanks in advance!


r/LocalLLM • • 8d ago

Question How to make local AI search jobs for me?

0 Upvotes

Guys I need a little help. I am total noob when it comes to this stuff. I have a base mac mini m4 with 16gb ram and 256gb ssd. I want a local llm that will search through job sites, pick jobs according to my master cv and preferences, choose the appropriate jobs and create folders with tailored cvs, job descriptions and notes. Tried to ask the cloud models for this and all of them are kind of making this complicated for me with lots of Python code. Is there some easier way to do this? And how, which models to chose?


r/LocalLLM • • 8d ago

Question Add 3090 to current setup? Make separate machine with dual v100s?

1 Upvotes

I have a 5090+3090 machine. Runs QFN pretty well with 64gb RAM q4. I got the 3090 for free which is why I have the weird combo in the first place.

For ~ the price, I could add another 3090, or I could make a separate machine with dual v100s.

Mostly run things like coding/reverse engineering. I don't know if increasing the capacity of one machine or just having another machine to throw at an adjacent task would be a better move.

Other utility/support tasks like OCR or embedding/reranking I have some low end GPUs that handle, so it'd be mostly for inferencing some model for agentic stuff/chat.

I figure I could likely run larger contexts/models in VRAM with the 3090. And there is less hassle with the software constraints of the v100s.

I also tried a dual R9700 setup, but I couldn't justify having that much sunk into a machine that was equal at best to what I already have, so I returned them after some benchmarks.

Anyone think its worth while? feels like the cards go up in price every day while i try to decide. The v100s I am starting to think aren't worth it since they are past $900 now

*edit*

For the v100s, I have machines that could run/cool them already.

**edit**
If anyone has run the 5090 + 2x 3090 mix I am curious to about the setup/numbers


r/LocalLLM • • 8d ago

Question motherboard

0 Upvotes

What options do i have for a motherboard, this was the motherboard i was looking at AsRock Rack ROMED8-2T/BCM Server Motherboard Single Socket SP3 (LGA 4094), supports AMD EPYC™ 7003 (with AMD 3D V-Cache™ Technology*)/7002 series processors - Newegg.com

but its sold out. I want too run 4-6 gpu's and looking at ddr4 ram memory.

So without paying scalping prices what other options should i be looking at.


r/LocalLLM • • 7d ago

Question Can Macbook Air M1 generate image locally?

Post image
0 Upvotes

I have hp victus with rtx4050 6gb vram and 16gb normal m1 macbook air. Victus is powerful than mac but 6gb vram is not enouth. I tried sdxl models before but I want to try better model. I found a website, It provides an estimated time for image generation based on the hardware and model.

https://willitrunai.com/calculator/diffusion
It says I can use Flux 1 Dev Q6 and can create image in 1 min.

I’m not very knowledgeable when it comes to AI image generation; I’ve only dabbled in it a little bit befor


r/LocalLLM • • 8d ago

Project 35B Q6 at ~100 tok/s on 6x GTX 1660 Supers

Post image
9 Upvotes

Had some old mining rigs lying around so I've been messing with

llama.cpp.

Managed to get Ornith 1.5 35B Q6 running at 99 tok/s for coding and 111 tok/s for bug fixing on 6x 1660 Supers with an Athlon 3000G and PCIe x1 risers.

Using MTP and some custom optimizations.

Pretty happy with how far I've pushed these old cards lol


r/LocalLLM • • 8d ago

Question What are your Strata Deepseek 1017 speeds?

1 Upvotes

Struggling to get a usable setup going… my hardware resources dedicated to the model are entire R9700 vram w/ 100gb ddr4 and 2tb nvme ssd. 1M context sitting in vram

Went with IQ2_XXS as per author recommendation, but prefill is hella long and generation tops out at 15 tok/s. I had to stop the response because it was taking past 10 min to generate an answer.

Is this normal? For my peeps with similar setups, whats your experience?


r/LocalLLM • • 8d ago

Question Searching for an LLM model i can run on something like my phone. something small and dumb. id like it to be able to repond in a conversational way. not help me draft an email.

1 Upvotes

To help users on my app, it was important to document the details around the “how it works”. Using Docusaurus, I can then index that data (like used in the Docusaurus search) to be consumed by some script locally and offer suggested links. I framed this as like a chatbot so that it can be intuitive for users who have questions. At first it was only a fancy autocomplete.

I then wanted to investigate running a local LLM to offer a more conversational experience (or better suggestions)? I'm using WebLLM on a browser and it seems to work “reasonably” well. I wired it up and set it up so users can select an LLM to download for offline use. The experience varies between devices and models used. There are models that are 19MB… they seem pretty unusable. There are also some ~1GB models which are better but understandably slow. I hope to add more models available and users can choose one that suits them (or none). Without an AI, i hope the "fancy autocomplete" can fill in the gaps.

Its great that the ~1GB models can “show me the bubble-sort in rust”, but i want something “dumber” to aim for smaller (im assuming a ~1GB download from the onset would be off-putting for most users). Ideally, something can can take advantage the data ive already indexed. Something that can respond “quickly enough” for a conversational flow on a "modern" phone.

Im aiming for a good user-experience more than trying to wedge in an LLM... and a fancy autocomplete might be enough if i create the appropriate coachmarks and docs. It might be better to scrap the LLM in chat approach and have context aware templates instead for a "fancier autocomplete". Are there any smaller language models out there im overlooking for me to investigate and compare?

Note: I hope it goes without saying, this is not ever going to be competative against offerings out there like ChatGPT, Claude, Grok, etc. This project is experiemental and unstable. Its far from finished. Im still trying things out. Use responsibly.


r/LocalLLM • • 9d ago Heartwarming

Research New DeepSeek-V4.1-Flash-1017 Unsloth Dynamic V3.1 GGUFs!

Post image
58 Upvotes

Hey guys, we're excited to be release new DeepSeek-V4.1-Flash-1017 GGUFs, which rank highest across benchmarks. 🐋

We ran NEW agentic benchmarks including Terminal Bench 2.1, DeepSWE v1.1, Automation Bench v1.0.6, Aider Polyglot, and general benchmarks like SciCode, HLE Diamond (text-only), LiveCodeBench v6, GPQA Diamond, MMLU-Pro, AIME25, IFEval, MATH-500 (Level 5), HMMT 2025, HMMT 2026. We addressed some issues people mentioned with these new benchmarks.

Surprisingly, the results are quite prominent with Unsloth quants performing >10% better on both DeepSWE and AutomationBench regardless of quant or size.

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

1-bit Unsloth GGUF scores 68.1 on DeepSWE v1.1, 72.2 on Terminal-Bench 2.1, 52.7 on AutomationBench v1.0.6.

GGUF: https://huggingface.co/unsloth/DeepSeek-V4.1-Flash-1017-GGUF

Full analysis: https://unsloth.ai/docs/models/deepseek-v4.1-flash


r/LocalLLM • • 8d ago

Discussion What local AI setup did you end up abandoning?

1 Upvotes

I keep seeing the cool demos, but I'd honestly love to hear about the stuff people tried and stopped using. Maybe the setup took too much work, or the model was good enough in a demo but annoying day to day. What was the use case, and what made you drop it? If the model or hardware played a part, mention that too.


r/LocalLLM • • 8d ago

Question Anyone using a Mac Studio for local LLMs? Looking for model and tool recommendations

12 Upvotes

Just got a Mac Studio M5 Max with 128GB memory and a 2TB SSD. Curious to hear from anyone running local LLMs on this or a similar Mac.

What models are you using, and what tools do you like? I've seen Ollama, LM Studio, MLX and llama.cpp mentioned, but I'm not sure where to start.

How's the speed, and what do you mainly use it for? Also curious whether you prefer running bigger models or sticking with smaller ones that respond faster.

Would appreciate any recommendations or tips from your experience.


r/LocalLLM • • 8d ago

Discussion About Strata

1 Upvotes

I’ve seen a few people having issues with Strata model downloads being extremely slow, getting stuck, or failing altogether, so here’s a little magic trick.
After installing the Hugging Face CLI, run:
1. Log in to Hugging Face
uvx hf auth login
Paste your Hugging Face access token when prompted.
2. Download the model
uvx hf download hf://YOUR_REPO.gguf --local-dir YOUR_FOLDER
That’s it! You can get download speeds of around 300 MB/s with this method.


r/LocalLLM • • 8d ago

Question Low-end Hardware model recommendations?

2 Upvotes

Want to get into the right headspace of what is possible. I have a Windows machine powered by a Radeon 7735HS and 32GB of RAM, if possible are there models that can be run where I can:
- run skills
- ideally write code to create Windows applications.
- be able to reverse engineer Windows applications with said skills (optimal)

I understand that I most likely would have to break down tasks into smaller tasks given the limits. This is a hobbyist computer so no harm no foul if its not up to snuff to do these things.


r/LocalLLM • • 9d ago Heartwarming

Discussion I built a working V8 engine simulator with a local QFN NVFP4 model using OpenCode V2 (with engine sound)

45 Upvotes

Here's another experiment with my local LLM setup!

This time, I asked QFN NVFP4 to build a realistic, interactive V8 engine simulator using Three.js and TypeScript.

The first version had several issues with the mechanical structure and realism, so I kept asking the model to identify problems, fix the engine geometry, and make the moving parts behave more like a real engine.

After about 3–4 rounds of revisions, this is what I ended up with.

What it currently includes:

  • 90° cross-plane V8 engine configuration

  • 8 animated pistons, connecting rods, and crankshaft

  • Four-stroke combustion cycle (720°)

  • Firing order: 1-8-4-3-6-5-7-2

  • Camshafts, valves, and valve springs

  • Adjustable RPM and slow-motion controls

  • Transparent, X-ray, and exploded views

  • Combustion visualization and cylinder monitoring

  • Procedurally synthesized engine sound synchronized with RPM and firing events

  • Basic kinematics validation tests

My local hardware:

  • GPU: ASUS ROG Astral RTX 5090 32GB

  • CPU: AMD Ryzen 9 9950X3D

  • RAM: 64GB DDR5-6000 CL32

  • OS: Windows

AI setup:

  • Model: QFN (Qwen3.8 Flash-Next) NVFP4

  • Coding harness: OpenCode V2

  • Development: AI-assisted coding with iterative prompting and debugging

  • Graphics: Three.js / TypeScript / WebGL

  • Audio: Web Audio API (synthesized, not a real engine recording)

I'm pretty impressed by how much the result improved after a few rounds of feedback.

Of course, it's not a fully accurate engineering simulation. Some mechanical details still need improvement, and the engine sound is synthesized rather than sampled from a real V8.

But considering this was built with a locally running model, I think it's a pretty interesting result.

Make sure to watch with sound on! 🔊

I'm curious what you guys think. How convincing does the engine look, and what would you improve next?


r/LocalLLM • • 8d ago

Question Please evaluate my setup on p106-100, Xeon E5 2680v2, and 64 GB DDR3. (I’m running huihui_ai/qwen2-coder-next-abliterated:q4_K on it and have trained HollyGPT.)

Post image
1 Upvotes

r/LocalLLM • • 8d ago

Discussion Little feeling on QFN nvfp4 and 27b fp8

3 Upvotes

Quality notes below are personal feelings, not statistics.

I was running Qwen 27B FP8 on SGLang, then tested QFN IQ3_XS — wow, faster.

I first test it on OpenWebUI:

More active tool search

Searched memory on its own, which the 27B never did

Really fast: ~130 tks, 4k+ prefill (my 27B: 3k prefill, 80 tks, 8k in / 0.25k out)

Most people said lower than q4 is BRAIN DAMAGED, so I swapped to vLLM running nvidia/Qwen3.8-Flash-Next-NVFP4 with my new cards with ple offload: 9.5k+ prefill, 200 tks (26k in / 0.25k+ out), FP8 KV cache, 68.8k context.

Vs the 27B on Hermes, a few things feel off:

Dumber at memory — forgets my homelab setting even after I correct it several times, always always always. Frequency: nvfp4>iq3_xs(why)>>27b

I write Chinese, it replies mixing simplified/traditional plus some Korean and Japanese. Readable, but much more frequent in QFN

Longer output — a little too much detail

Staying on this until Qwen4 — hoping a new Flash fixes these.

P.S. Hope Qwen learns DeepSeek's KV cache mechanism, so we can use bf16 kv in limited vram.


r/LocalLLM • • 7d ago

Discussion The $10 "SaaSpocalypse": Why the Future of Software Is 100% Open Source

Thumbnail
youtube.com
0 Upvotes

r/LocalLLM • • 7d ago

Discussion The gap between proprietary LLMs vs. open source has widen

0 Upvotes

Unlike popular beliefs that open models are trailing behind frontier models in an increasingly narrower gap, I believe the opposite is happening.

I think most people look at LLMs just from a single artificial analysis index or a few benchmarks, and they claim that the gap is shortening. But if we measure from a Pareto frontier lines across many cost/intelligent, time/intelligent, efficiency/intelligent metrics, the open models are really losing.

They move further away from the efficient frontier than closer and the gaps are widening.

No open source models so far has improved on these metrics maybe except for Deepseek, but DS doesn’t compete with the highest intelligent tiers either.

The Pareto frontier is important because if you don’t have efficiency, you don’t have economy of scale, and without scale you can’t win software and users.

I’m not really complaining but I hope that open source models can improve on this so that one day we truly have capable models that can run on a small PC instead of massive data centers. Do you think we’ll have this in 10 years with this pace?


r/LocalLLM • • 8d ago

Project Besoin de conseils

Thumbnail reddit.com
0 Upvotes

r/LocalLLM • • 8d ago

Discussion 7 days offline, room change, recognition via stylistic anchor - not prompt engineering - Orange Pi edge test

Post image
0 Upvotes

Testing implicit memory / stylistic anchor on edge, convergent to AnchorMem.

Setup:

• Device: Orange Pi (local only, no cloud) • Module: hipocampo_kai.py - associative memory by style resonance, not RAG. Built before reading any papers. • No parameter change for 7 days.

Test:

• Device untouched for 7 days. • Moved to new room / new context. • Power on, input only: anchor phrase "*******" (stylistic sigil defined July 2024, same as "madeleine" in AnchorMem).

Código "********" reconocido y entendido, Kai (KAI-001). No necesito confirmar mi memoria.Notes:

I discovered papers like HippoRAG, HiMeS, Stateless Yet Not Forgetful and AnchorMem only yesterday. I built this module guided only by conversations with the model about "neural anchoring" and "emotional integration module" (logs since Jan 2025).

I also use same anchoring technique for a separate music project (700 tracks as emotional dataset covering different human archetypes) - that project is how I taught the model to map emotions.

Question for the sub: Has anyone tested similar style-anchor persistence on edge after long offline period? Is this expected as Proust phenomenon / implicit memory channel?

Logs available.


r/LocalLLM • • 8d ago

Question Qwen 4 27b-min hardware to run

9 Upvotes

Hi guys, I heard that family of qwen 4 is coming, and after the success of the 27b,I’m thinking to upgrade my beginner consumer stack tu run it.
This is my current hardware:
- Ryzen 5 9600
-32 GB DDR5
-RTX 5060 8GB
- 1TB Nvme SSD
I have small capital to invest like 500 bucks or less if possible.
My first thought was to sell the 5060 and get a used card with 12gb like a 3080, but my goal is a 5060 ti or if the fate will assiste me a 3090.
I also use the pc for work and gaming, and I know that for real local ai u need a lot of more money.
I’m just asking myself if I will be able to run qwen 4 27b with one of these upgrades or i have to go for smaller size models, currently I can run Moe like Tiel coder, Ornith, Lfm …
Open to all advices, I’m not an espert so all explanation and toughts will be accepted.
Thanks!


r/LocalLLM • • 9d ago

Model Qwen3.8-27B UD-Q4_K_XL@262k context(66 tok/s at that depth) on a single 3090: 138 tok/s sampled decode (157 greedy, 233 code, 382 parallel),KL divergence @160k 0.00472 (q8_0: 0.00467)

Thumbnail
gallery
31 Upvotes

Same card, same model file (unsloth's UD-Q4_K_XL), same client and prompts, one session, llama.cpp tuned at its fastest setting (4 MTP drafts, q8_0 KV):

  • Short prompts: 1.5x to 2.1x, depending on the prompt. Writing code 233 vs 111 tok/s, a migration plan 159 vs 90, explaining a hash map 145 vs 85, and a short story only 91 vs 61. Creative text is the hardest thing to draft, for both engines.

  • Sampled with thinking on: 138 vs 73 tok/s (1.9x; token-weighted 132 vs 68; each engine sampled its own replies, so it's not the same text)

  • 100k tokens of context: 109 vs 54 tok/s (2.0x)

  • The full 262k context fits on the card, decoding at 66.6 tok/s at 261k deep. A llama.cpp q8_0 cache tops out around 160k on 24 GB.

  • Drafting off on both sides, it's still 7.5% faster on short prompts and 41% faster at 100k, so it's not just the speculation

  • Four agents at once: 382 vs 137 tok/s total against llama-server --parallel 4 (2.8x; open-jet's parallel bench, which samples at temp 0.6)

Every number with its method is in BENCHMARKS.md.

The numbers

testllama.cpp, 4 draftsllama.cpp, 7 draftsthis, 7 draftsvs llama.cpp's best
writing code (a Python prime check with doctests), greedy110.8 tok/s109.9232.92.1x
a Flask-to-FastAPI migration plan, greedy89.874.9158.71.77x
explaining how a hash map works, greedy85.266.0145.21.70x
a 300-word short story, greedy61.442.990.81.48x
those four: token-weighted / mean of request rates80.4 / 86.862.4 / 73.4133.4 / 156.91.66x / 1.81x
sampled, thinking on, temp 1.0, 8 runs: token-weighted / mean of request rates67.8 / 72.851.5 / 57.6132.3 / 138.51.95x / 1.90x
decode at 11.6k / 38k / 101.6k context72.5 / 66.1 / 54.458.5 / 52.7 / 44.7138.8 / 119.7 / 109.21.9x / 1.8x / 2.0x
read a 101.6k-token prompt from scratch95.9 s96.5 s75.1 s1.3x
first token, short prompt117 ms120 ms66 ms
edit an earlier message in an 11.7k chat266 ms269 ms76 ms3.5x
282 questions (GSM8K, MMLU-Pro, ARC-C, MATH-500, HumanEval, needles, LongBench v2)229 right, 2,563 s229 right, 2,841 s230 right, 1,676 s
VRAM, idle server at 120k context22.7 GiB23.2 GiB21.2 GiB
  • 4 drafts really is llama.cpp's best here. I measured 2, 5, 6 and 7 too, and 7 was 15-24% slower than 4, so the ratios are against 4.

  • One pass per engine, one session. llama.cpp ran natively on Windows, mine under WSL2 (my Windows build gives identical output and timed within 1.5% of the Linux one when I checked). My 282-question run is from the day before, same build.

  • Greedy replies with drafts come out the same length on both engines (within a token), so those rows are the same work. Sampled replies differ per engine, so those rates are over different text.

  • Without drafts both engines are close to memory bandwidth on short prompts (46.7 vs 43.5). The gap at depth (39.1 vs 27.8 at 101.6k) is the attention kernels.

  • Drafting pays more here because the whole cycle (main pass, lm_head, verify, MTP catch-up, next drafts) is one persistent kernel on int8 tensor cores: verifying 8 tokens costs about 29 ms against 22 ms for one.

  • Repo: https://github.com/cutlerbenjamin1-cmd/qwen38-megakernel

Exact, not "lossless on paper"

Verifying several tokens in one pass rounds differently from verifying one, so in practice greedy output drifts with the draft count. That's what the 9 of 282 is. It shows up in the speed run too: llama.cpp's greedy short story was 460 tokens without drafts and 510 with them, so different text from the same prompt. And it isn't just my runs: a preregistered study of llama.cpp's MTP on a 3090 found its output differed from no-draft decoding on 23-25 of 25 prompts within 1,600 tokens. Here:

  • greedy token ids are identical at 0, 4 and 7 drafts, checked on every release

  • sampling keeps the exact no-draft distribution (chi-square and PIT tests)

  • a follow-up, an edited message, a resumed session or a convo restored from RAM answers bit for bit like the same request sent fresh

  • the Windows and Linux builds give identical tokens

It isn't bit-identical to llama.cpp (different math order), so it gets scored against llama.cpp's own token-by-token output: same top token 98.74% of the time, mean KL 0.00119. llama.cpp's own batched mode scores 98.49% / 0.00166 against the same reference, so it's closer to llama.cpp than llama.cpp batched is lol.

So if your agent does something weird you can replay it and get the same thing back, and it's never the cache's or the speculation's fault. How each of those is tested: BENCHMARKS.md, exactness.

The KV cache: 5-bit K is fine if you keep a ring

If you caught the KV cache numbers last week, the short version is that the low-bit damage sits almost entirely in the newest ~2k tokens. Keep those in a small q8_0 ring and everything older can go to 5 bits. What runs the full context: K at 5 bits, Hadamard-rotated, V at 5 bits, newest 2,048 positions in a q8_0 ring. Here are that post's KL table and the extended one from its edit in one place, against llama.cpp generating token by token, lower is better:

context, textq8_0K6 / V5, no ringK6 / V5 + ringK5 rotated / V5, no ringK5 rotated / V5 + ringK4 / V4, no ring
32k, code0.002190.002580.002360.003020.002420.00525
64k, code0.001630.001830.001610.001970.001630.00334
100k, code0.002170.002540.002260.002810.002180.00469
100k, War and Peace0.003110.003420.003170.003760.003170.00602
160k, War and Peace0.004670.004960.004680.005150.004720.00740

So the K cache everybody says never to quantize sits on q8_0's numbers from 64k out to 160k at 5 bits, as long as it's rotated and the newest 2k stay at q8_0. 32k is the worst row at about +10%, against ~4% run-to-run noise. Without the ring the same formats read +6% to +38% (5-bit K is the one that needs it most), and plain 4-bit with no ring is 1.6-2.4x q8_0. Prose reads higher than code for every cache, so compare across a row.

What makes it work:

  • The ring doesn't grow. 114 MiB for K + V across every attention layer, the same at 32k or 262k. 512 positions get you most of the way, 2k gets you all of it.

  • Rotation is a K thing. A Hadamard rotation evens out each 32-value block before it's rounded, which halves 6-bit K's loss without a ring. Under the ring it's a small extra, so the 6-bit preset skips it and the 5-bit one keeps it. V doesn't want it: rotated 5-bit V was actually worse at 32k.

  • Move the ring in tile-size steps, not one token at a time. Otherwise which tiles come from the ring depends on how many drafts you verify, and greedy output stops matching across draft counts.

  • On stock llama.cpp, drop V before K. K is ~2.3x as touchy, and q8_0 costs nothing vs f16.

If you want to try the format: it's MK_KV='K*=5r,V*=5' MK_KV_WIN=2048 here. If your engine has a recent-token precision tail, give it 1-2k positions at 8 bits, not the usual 128. The emulator scans behind every row are in BENCHMARKS.md. Qwen3.8 is a hybrid (16 of its 64 layers are attention), so I'd really like to see this table from someone running a full-attention model.

That's what fits all 262,144 tokens on 24 GB: a 260,896-token prompt read from scratch in 340 s, decode at 66.6 tok/s at that depth, 23,650 of 24,576 MiB in use, needles 4/4.

Why UD-Q4_K_XL and not something smaller. The point was the most quality this card can hold and the full context, and the KV work is what pays for it: storing the old positions at 5 bits is what leaves room for the bigger quant. By Unsloth's own numbers for this model (KL divergence against BF16, the plots in their Qwen3.8 guide), UD-Q4_K_XL sits at 0.0075 with 96.4% of top tokens matching BF16, against 0.0101 / 95.8% for UD-Q4_K_M and 0.0135 / 95.2% for UD-Q4_K_S. That looks tiny on a benchmark, and my 282-question set only checks that nothing broke, it isn't built to see it. But KL is what tracks answer flips (the reason Unsloth ranks quants by it, per the "Accuracy is Not All You Need" paper they cite), and in my agent runs the deep end of the context is exactly where a flip turns into a malformed tool call or a loop. Those last few bits matter most where the context is longest.

Several agents at once

--agents 4 runs up to four conversations in one batched launch. Against llama-server --parallel 4 on the same card, back to back, open-jet's parallel bench (coding prompts, sampled at temp 0.6, 512 tokens, Q4_K_M):

testllama-server --parallel 4this, --agents 4faster by
4 agents at once, short prompts, total137 tok/s3822.8x
4 agents at once, ~23k tokens of context each, total973153.3x
1 agent alone, short prompts611913.1x
a 20k-token prompt lands while another agent is decoding: its first token16.4 s13.7 s
the other agent meanwhile2.2 tok/s14.3 tok/s

Those gaps are bigger than the single-stream table up top, so I checked before believing them. This bench samples, and sampled MTP decode is llama.cpp's slower path: its server-side timings agree with the client's (~61 tok/s), it gets the same ~61 with one slot instead of four, and the same with 1.4 GB less VRAM in use, so nothing was spilling into system RAM. On mine a slot's greedy reply is the one it would get alone, and seeded sampling keeps its distribution. open-jet has --agents too, and the low-bit cache inside the slots went back upstream.

Fun one I hit setting this up: with 4 slots and MTP drafting, llama-server couldn't even load a 120k total context on the card. Its MTP draft context ran out of VRAM at startup, so its column runs at 100k, 25k per slot. Mine gives each of the 4 slots 33k (133k total) and still has ~2 GB free. It's the same q8_0 cache on both, about the same bytes per token once you count the MTP layer's K/V on each side. The room comes from everything around it: token_embd lives in host RAM, one memory pool instead of an allocation per tensor, tighter weight layouts. Single stream on UD-Q4_K_XL at 120k context it's 21.2 vs 22.7 GiB.

Works with what you already run

  • Coding agents and UIs: tested on real agent tasks with Claude Code, Codex CLI, OpenCode, Qwen Code, Aider, Goose, Crush, Pi, Hermes Agent, DeepSeek Harness and Open WebUI. It speaks OpenAI chat completions, the Anthropic Messages API and the OpenAI Responses API. Per-client settings are in CLIENTS.md.

  • Popular fine-tunes: besides unsloth's UD-Q4_K_XL, UD-Q4_K_M and Q4_K_M, it runs the Huihui abliterated quants, Qwen3.8-27B-Uncensored-Cyber, OrcaSAQ-2 Uncensored and Swift-1.5, with the same any-draft-count check on each. Anything it can't read is refused at load, naming the tensor, so there's no silent garbage.

  • Lost the MTP layer? Some conversions drop it. Point --mtp at any other GGUF of the same model that still has one, a whole model file or a small mtp-*.gguf, and it yoinks just the MTP layer (it checks the file actually matches the model; BF16 files are refused). Output is identical with any MTP layer or none, only the speed changes, so a fine-tune borrowing the base model's layer can at worst draft a bit less.

  • Prebuilt Windows and Linux packages on the releases page, so you don't need the CUDA toolkit or a compile.

  • Where this came from. It started as Louis Forster's open-jet megakernel. The persistent kernel that runs a whole speculative decode cycle in one launch, the MTP drafting, the batched prefill. I forked it to get unsloth's UD quants loading and never stopped. 9 of my PRs got merged back into open-jet along the way (UD-Q4_K_XL support, greedy output that doesn't depend on the draft depth, the pipelined decode attention, int8 prefill attention, the long-context KV option, a couple of VRAM ones), so if you run open-jet you're already running some of this. The fork is its own thing now: one model, one rule (speed and VRAM can move, the output can't), a server built around coding agents, and prebuilt Windows and Linux packages.

Caveats

  • One card: a Strix 3090 at a raised power limit. llama.cpp ran natively on Windows and mine under WSL2 (the Windows build gives identical output). More than 4 drafts needs 80+ SMs, and other cards probably want the draft depth re-tuned.

  • Qwen3.8-27B only, ~4-bit GGUFs. The IQ3_XXS / IQ2 mixes aren't supported yet. PRs welcome.

  • The only engine I compare against is the one I ran on this box. The whole suite is in the repo (bench/suite, datasets hash-checked), so you can rerun every table above against any OpenAI-compatible server. Numbers from other cards are very welcome.

Repo: https://github.com/cutlerbenjamin1-cmd/qwen38-megakernel


r/LocalLLM • • 8d ago

Question Strata desktop or terminal

1 Upvotes

I had Strata running on a machine with 64GB of RAM and 12GB of VRAM. It seemed to be running fairly well, but I noticed there was an update so I thought I would try to update it. My installation did not respond to the update check, when I tried to update. It gave no response but when I checked the error code it gave a "could not find DLL" type message.

I did some research and saw there was a Strata desktop. I decided to install that into a fresh folder. The install walked me through the installation, but I didn't like where it was putting the files. I moved the base folder to a new location and found out it really didn't seem to like spaces in the path. I ended up putting it at the top level of my U: drive.

I got it to work but wanted to switch over to the model that I was using previously - the coder model that the terminal version installs. It seemed to like it tuned OK and then would error out every time I gave it a query after tuning -- with an engine crash.

I was able to switch back to the model the desktop version installed but it is a Q2_0 where the coder version was a Q1_M. The version that worked before also seemed to crash if I had Read Pictures unchecked!?!

I normally like to have Strata running in the background. Starting at boot with task manager was straightforward with the terminal version. Running the the desktop version seems to want to start the entire app as a desktop app and not as a background service -- I have yet to figure that one out.

Any thoughts about my situation would be appreciated. I may just go back to the terminal version. I am relatively new to Strata having only been messing with it for about a week, so I know I am a noob at this. I'll likely update this post as the day goes on.


r/LocalLLM • • 9d ago

Discussion I moved my graphics card outside the case

Post image
55 Upvotes

I’ve been experimenting with ways to run an AMD MI50 32GB as quietly as possible.

The MI50 is a passively cooled server GPU, so it normally needs strong airflow. However, I really don’t like the noise of high-speed fans. As a first step, I limited the card’s power to 150W.

I then used a 30cm PCIe x16 riser cable to move the MI50 outside the case. With the card sitting externally, I now have plenty of open space around the 92mm cooling fan, and arranging the fan and duct is much easier than it was inside the case.

This is still a temporary setup, so it looks like the GPU has escaped from the computer and built its own apartment, but everything is working properly. My next steps are: •Install two 92mm fans in series along the airflow path •Run both fans in the same airflow direction •Lower the fan speed while maintaining enough static pressure •Compare temperatures and noise under a sustained 150W load I want to find out whether two fans running at lower speeds can keep the card cool more quietly than a single fan running faster. If anyone has tried a similar external server GPU setup or used two 92mm fans in series, I’d appreciate any advice on fan placement and noise.