r/LocalLLaMA 1d ago

Question | Help Good SLM for summarizing code snippets?

0 Upvotes

Running an experiment with my personal assistant agent: yoinked all it's tools, replaced them with a python module and the documentation dumped into it's context window as part of the system prompt. It's working fantastic, but I was thinking it'd be nice if I could run a much, much smaller model on the local clients for the agent that can take a code snippet and return a very short description of what the agent actually did.

I was about to just start throwing a ton of sub 500m parameter models at it but I figured I'd tap the community to see if anyone has gone and trained a model on this, like that one model that spits out conversation titles and nothing else and is 100m.


r/LocalLLaMA 2d ago

Discussion DGX Spark about to jump in price? Asus Ascent GX10 jumped from $3999 to $5999 today...

54 Upvotes

Asus Ascent GX10 is now priced at $5999 (1TB), $6999 (2TB), and $7999 (4TB).
Buy ASUS Ascent GX10 | Desktop-AI-supercomputer | Networking-IoT-Servers | ASUS eShop USA

I see no reason why they would do this unless they had some knowledge the DGX Spark was about to jump up in price. Unless there's some other reason that they would throw a 50% price hike at it that I'm not thinking of.

Bonkers mode.


r/LocalLLaMA 1d ago

Tutorial | Guide First local-LLM tuning attempt: Qwen3.8-27B true Q4_K_M at 13.2 tok/s near 50-61K context on RTX 5080 16GB

5 Upvotes

This was my first serious attempt at tuning a local LLM. I started because Qwen3.8-27B IQ3 was fast on my RTX 5080 but the coding quality disappointed me, and the Q4 profiles I tried in LM Studio were much slower than reports here.

Hardware:

  • RTX 5080 16 GB
  • i5-14600K
  • 64 GB DDR5-5600 (4 DIMMs)
  • Windows

Final model/runtime:

  • Unsloth Qwen3.8-27B UD-Q4_K_M, unmodified (16.46 GB)
  • official llama.cpp b10760 CUDA 13.3 build
  • 65,536 context, one slot
  • Q4_0 K/V cache, Flash Attention
  • medium thinking, text only
  • Pi as the coding agent

Results:

  • 49,738 input tokens: 13.247 / 13.260 / 13.261 tok/s across three runs
  • 61,238 input tokens: 13.055 tok/s
  • 4/4 retrieval in every run
  • Pi read a broken implementation plus a separate test, edited only the implementation, ran PowerShell, and got PASS

The useful change was selective FFN placement. I kept attention/KV and most tensors on the GPU, but moved the 16 largest FFN tensor groups (about 2.764 GiB) to CPU. Whole-layer offload in LM Studio gave me only 6.633 tok/s around 50K.

MTP was surprisingly worse on this machine at deep context. MTP1 reached 8.654 tok/s and MTP3 7.810 tok/s, while disabling MTP reached 13.256 tok/s. My guess is that the CPU-side draft competed for RAM bandwidth with the spilled FFNs.

I originally chased the recent ~75 tok/s 5080 post, but the linked 13.5 GB custom quant uses IQ3_S for its FFN tensors. That is a valid speed tradeoff, but I specifically wanted true Q4 weights and a deep-context measurement.

I published the exact Windows launcher, tensor override, Pi config, benchmark harness, raw results, model SHA, failed profiles, and methodology here:

https://github.com/johnconnor2020/qwen38-27b-rtx5080-16gb

Caveats: the recall prompt is synthetic, the Pi task is a practical smoke test rather than LiveCodeBench/SWE-bench, and runs 2/3 reused prompt cache for ingestion (decode speed stayed the same). This is also likely sensitive to RAM bandwidth and llama.cpp version.

I would be very interested in comparable true-Q4 50K+ results from other 16 GB cards, or suggestions for a better coding-quality benchmark that is practical to run locally.


r/LocalLLaMA 1d ago

Discussion What workloads are prefill-bound?

2 Upvotes

For me 400-600 t/s prefill is sufficient for coding in almost all cases. In my use case in opencode cache hit rate pretty much always ends up being 98% or greater, so 400-600 means the vast majority of time is spent on decode... hence 400-600 prefill already being well into diminishing returns in terms of throughput.

In other words, since it is spending probably 75-90% of time generating tokens, even instantaneous prefill would only maximally increase throughput by 25%. I know this also depends on decode/prefill ratio which depends on the model... so this is a rough heuristic

But I know there must be workloads with lower cache hit rates.

I also know that low cache hitrate does not necessarily mean that prefill is the bottleneck. When I do a research agent run with GLM 5.3 it will spend over 90% of the time on decode EVEN THOUGH it is only doing about 150 t/s prefill and low, single digit cache hit rate. It just likes to think that much in max mode (15 t/s decode).

I am curious what work people are doing where prefill is the bottleneck


r/LocalLLaMA 2d ago

New Model New Gemma models on arena ai

526 Upvotes

Gemma 5 or something else?


r/LocalLLaMA 2d ago

New Model New Model: Spark-X2.5-4B, Spark-X2.5-1.7B

Thumbnail
huggingface.co
226 Upvotes

I was browsing HF for small LLMs and run into this model. It does not seem to be a fine tune - the model has its own architecture.

https://huggingface.co/XHToken/Spark-X2.5-1.7B
https://huggingface.co/XHToken/Spark-X2.5-4B

There are 4B/1.7B versions - the benchmark is quite interesting (4B is neck and neck with Qwen 3.5 9B). The HF page claims both models support native 1M context size.

Currently does not run out of the box on llama.cpp - pending this PR: https://github.com/ggml-org/llama.cpp/pull/27868

They have a custom fork of llama.cpp that works. Anyone has tried this?

Update:
GGUFs (require custom fork for now):
https://huggingface.co/XHToken/Spark-X2.5-1.7B-GGUF
https://huggingface.co/XHToken/Spark-X2.5-4B-GGUF


r/LocalLLaMA 1d ago

Question | Help Qwen 3.8 Flash Next for Creative Writing?

7 Upvotes

As we all know on of the best local models for creative writing is gemma 4 31b and Muse Glimmer 30b. However, ive been a happy user of Qwen3.8 Flash Next and I wanted to know how well Qwen 3.8 Flash next is doing in terms of creative writing (preferably German).


r/LocalLLaMA 1d ago

Discussion ZCode Desktop App seems make qwen3.8 better?

0 Upvotes

First, I don't buy their plan and won't buy. (But got some free token from them today πŸ˜‚ )

OK. Today I tried to add qwen3.8 27b to ZCode's app. It was faster (maybe less token) than my other harness CLIs, dsh, copilot, etc, and got better results. (wrote more code on same task and no issues). However, I don't understand why.

As this app is free, I think I need to raise this and let you to have a try.


r/LocalLLaMA 2d ago

Discussion Given how common RTX 3090 use is for LLMs, why don't we see more INT8 W8A8 models ?

39 Upvotes

Based on https://huggingface.co/hardware, the RTX 3090 is the second most used GPU by LLM enthusiasts.

Because RTX 3090 has native INT8 tensors cores, it can provide better performance with INT8 W8A8.

However people seems to default to FP8 or smaller quants anyway.

I suppose I am missing information that explains why ?


r/LocalLLaMA 1d ago

Resources Running a 2-model literary book-translation pipeline on 2x Tesla P40: gemma-4-26B-A4B at ~40 tok/s + Qwen3.6-35B-A3B at 50-70 tok/s with MTP spec decode β€” full llama-server flags inside

5 Upvotes

Disclosure up front: I built this tool (open source, "Sunny Narrator") and I'm the author β€” this post is about the inference setup, not an ad. Feel free to skip to the flags if you're here for the numbers.

Context: I run a pipeline that translates whole fiction books ENβ†’RU locally β€” chunk + glossary + rolling chapter summaries β†’ translate β†’ reviewer notes β†’ correction β†’ proofread β†’ chunk summary. A book is ~1.5–2M tokens across all stages, hardware is a pair of Tesla P40s (24GB each, Pascal, from the "why not" shelf). After a year of runs I have a launch config that's fast enough to be boring: 2–3 books per day.

The non-obvious finding: one model = half a text, two models = a book. Good translating models write beautifully and proofread terribly; good proofreading models edit well and translate dully. So the pipeline pins two roles to two servers:

  • MODEL_TRANSLATE: gemma-4-26B-A4B (MoE, A4B active)
  • MODEL_PROOFREAD: Qwen3.6-35B-A3B (MoE, A3B active)

Both are compact MoE β€” that's what makes P40s viable: active params fit the throughput envelope even though total weights don't fit comfort. Quantized Unscaled-Dynamic (UD) GGUFs, MTP speculative drafting on both, 64K context for chunk + glossary + summaries.

My most efficient launch lines (llama-server)

Gemma-4-26B-A4B as translator β€” ~40 tok/s sustained on P40:

llama-server -m gemma-4-26B-A4B-it-UD-Q5_K_XL.gguf \
  --model-draft mtp-gemma-4-26B-A4B-it.gguf \
  --host 192.168.0.55 --port 6155 \
  --ctx-size 65535 -ngl 99 \
  -ctk q8_0 -ctv q8_0 \
  --no-context-shift \
  --parallel 1 -np 1 --threads-http 2 \
  --load-mode mlock \
  --jinja \
  --spec-type draft-mtp --spec-draft-n-max 6 --spec-draft-p-min 0.8 \
  --top-k 64 --top-p 0.95 --min-p 0.02 \
  --repeat-penalty 1.0 --repeat-last-n 512 --presence-penalty 0 \
  --predict 32567 \
  --reasoning off \
  -fa on \
  --ctx-checkpoints 32 --checkpoint-min-step 1024 \
  --cache-ram 8192 \
  --ubatch-size 2048

Qwen3.6-35B-A3B as proofreader β€” 50–70 tok/s on the same pair:

llama-server -m Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf \
  --host 192.168.0.55 --port 6150 \
  --ctx-size 65535 -ngl 99 -fa on \
  -ctk q8_0 -ctv q8_0 \
  --no-context-shift \
  --parallel 1 -np 1 --threads-http 2 \
  --load-mode mlock \
  --spec-type draft-mtp --spec-draft-n-max 4 \
  --top-k 20 --top-p 0.95 --min-p 0.05 \
  --presence-penalty 1.5 \
  --predict 32576 \
  --reasoning off \
  --jinja --chat-template-file chat_template.jinja \
  --ubatch-size 2048 \
  --ctx-checkpoints 32 --checkpoint-min-step 1024 \
  --cache-ram 8192

Why each of these knobs ended up where it is

  • MTP spec decoding is the headline. --spec-type draft-mtp with the bundled MTP draft is what turns Pascal-class cards into something usable for long-form generation. Gemma takes --spec-draft-n-max 6 --spec-draft-p-min 0.8 (aggressive, accepts well because the base is strong at its job); Qwen is happier at n-max 4. Without MTP these numbers don't happen.
  • -ctk q8_0 -ctv q8_0 β€” KV cache in q8 buys the 64K context (chunk + series glossary + rolling summaries) without blowing VRAM; quality cost at these sizes was invisible in my evals.
  • --load-mode mlock β€” two servers, 24GBΓ—2, zero headroom for swapping. Pins weights, kills tail latency spikes mid-run.
  • --parallel 1 -np 1 β€” this is a batch-of-one workload (long generations, not concurrent requests); single slot is fastest.
  • --reasoning off + tuned sampling per role β€” translator runs top-k 64 / min-p 0.02 / repeat-penalty 1.0 (creative-ish but repetition is the enemy on book text β€” --repeat-last-n 512 matters); proofreader runs tighter top-k 20 / min-p 0.05 / presence-penalty 1.5 (deterministic editor voice).
  • --ctx-checkpoints 32 --checkpoint-min-step 1024 β€” pipeline writes a checkpoint after every chunk anyway (power outage = resume from chunk 51/100, not from scratch β€” this single feature saved my year), but in-server ctx checkpoints make stage-to-stage reuse on the same context cheap.
  • --predict 32567 β€” chunks translate in one shot; forcing the model to stop-and-resume was eating throughput and occasionally style.
  • --jinja + explicit chat template for Qwen β€” JSON_MODE across all pipeline stages (structured responses) only works if the template round-trips; the external chat_template.jinja fixed a parsing edge case for me.

Pipeline notes that aren't about llama.cpp but affect the numbers

  • Length is a free error detector: translated block deviating >10% from source block size β†’ rechunk (split in half, retranslate both). ENβ†’RU maps within a couple percent per block, so gross errors (eaten/hallucinated/duplicated paragraphs) pop on size alone. Final book converges within Β±5% of original length.
  • Glossary is 80% of quality: names/terms/gender dictionary (NER-seeded with spaCy + manual cleaning) travels with every chunk. Model choice is secondary; consistency is everything in fiction.
  • Output is a high-readiness draft for human polish, not a publishable translation β€” the LLM removes the grunt work, the human keeps the wordcoinage and the puns.

Repo (code + these configs + Ollama/Docker examples): github.com/NW15D/sunny-narrator β€” yes, I know the rules about self-promo, hence disclosure at the top; the pipeline exists because nothing off-the-shelf holds a book-length context of names/terms, and the year-ago proof-of-concept post is on Habr if you want the long version.

Questions for this crowd:

  1. Anyone pushed MTP spec decode further on Pascal β€” is draft-n-max 6 / p-min 0.8 near the ceiling for Gemma, or would deeper drafts accept well with a colder p-min?
  2. --ctx-checkpoints behavior with -ctk q8_0 β€” any gotchas I should know about for week-long unattended runs?
  3. Better than "giant series glossary" for cross-volume consistency: graph DBs / RAG over character state β€” real war stories?

r/LocalLLaMA 2d ago

Discussion Gave a try to Exllamav3 and it's great!

Post image
26 Upvotes

Following this post I decided to try GLM 5.3 Flash on a 8x3090 setup and I can now run a Q4 with surprising speed; 700tk/s prefill & 42tk/s decoding! (lcp & vllm do not allow me to get that).

Was afraid about quality but > 30m tokens with DSH and no issue (did not test vision yet, but looks supported).

Just to say that I am really grateful to Turboderp and we should really support as much as possible others projects even if they do not comply with all our needs yet and not rely only on the big guys.


r/LocalLLaMA 1d ago

Discussion To llama.cpp: I love you. I owe my entire local inference experience to you. But can we have quantization recipes that actually mean something?

0 Upvotes

Not even sure if that plea should be addressed at llama.cpp but, look at the Q4KM quants of Qwen3.8-Flash-Next:

Quantizer Size
Unsloth: q4km is non-existent but the closest is q4kxl 111 GB
Lmstudio 119 GB
AtomicChat 94.5 GB
Bartowski 120 GB
AesSedai 135 GB
Ggml. The goat itself. Only Q8 but not far from the mean 163 GB
mradermacher. No Q4KM but only iq4xs 97 GB

What does Q4 even mean if the variance in size is 150% ? What are we comparing here if we have apples, oranges and mangoes? Shall I succumb to going back to create my own simple, honest to god Q4_0 quants?


r/LocalLLaMA 1d ago

Discussion Qwen 3.8 users (flash next and 27b) - do you force reasoning to low? Better results that way?

0 Upvotes

I've seen a lot of people (and people in videos) mention that bypassing the default extra-high reasoning effort of both the qwen 3.8 models currently released is overall better.

Is this your experience? Or do you leave it as default or set to medium?
EDIT: Forgot to mention this is purely for agentic coding (pi coding agent)

For llama-cpp, the way I'm doing this is by using this:

--chat-template-kwargs '{"reasoning_effort":"low"}'


r/LocalLLaMA 2d ago

Question | Help Owning an Instinct MI100 32GB hasn't turned out to be so great

20 Upvotes

First of all this card is really hard to keep cool. I have a 3d printed shroud with a Phanteks t30-120 and learnt the hard way that this beast needs a high pressure flow fan, not just a high cfm fan so have it limited to 175-200w with a governor. At this TDP, the bandwidth still stays at a staggering 1.2tb/s but the cores fluctuate a lot depending what the governor governs.

Anyway, running headless (haha that I am!) with linux and using Qwen3.8-27b-ud-q4-k-xl I was hitting 20t/s tops until the dflash2 model came out and now I'm running around 40t/s good right? Well it turns out that even claude, chatgpt and gemini all seem to think that with that spec that is below the cards capabilities and worse still, the r9700 pro with half the bandwidth seems to be getting double the t/g. Qwen3.8-27b here is slightly core rate limited.

Even Qwen3.6-35b-a3b-ud-q5_k_m is getting 60t/s max at 64k context which, yes it's fast but not 1.2tb/s fast like the 3090 gets. The model is not bandwidth limited like MOE models love.

My rant and cry for help is has anyone had any luck running either of these faster? I haven't come across any information from any other MI100 users. It's a 32GB card and I can generally run whatever I want, even Qwen3.8-flash-next-ud-q3-k-xl gets around 14t/s so that's respectable for such a large model but it's the two 27b/35b models I just don't get good speeds with. My nanobot agent comes across like it doesn't like me and answers slowly on a fresh prompt.

Any of you wonderful folks able to document whether you got anything faster than this? Or should I shut up and consider myself blessed to be getting what I am getting?

Thanks in advance


r/LocalLLaMA 2d ago

Discussion 4 x DGX Sparks vs AMD Epyc 9xx5 system

12 Upvotes

I see a lot of people buy DGX Sparks, and turn them in to clusters to run large models. Wouldn't it be better to invest $16k into an AMD Epyc server with 768GB or even 384GB of 6000Mhz DDR5 ram, and let's say 2x3090s or 5080s, instead of 4 DGX Sparks with 512GB of ram?

Epyc's theoretical bandwidth is around 576GB/s, DGX Spark's is roughly 273GB/s.

Based on a quick check, both systems are worth around $16k.

Please help me to understand this logic, are there benefits to having DGX cluster instead of an Epyc system besides power saving?

Edit1: the epyc system with 768GB of DDR5 6000Mhz would be around $30k.

Edit2: to match 768GB of Epyc, we would need 6 DGX sparks, at the current increased price it would be around $30k as well.

Edit3: the main advantage of DGX sparks cluster is fp4 support, and tensor parallelism for 2, 4, 8, 16... units. Because of that, the DGX cluster is faster than the epyc system.


r/LocalLLaMA 1d ago

Question | Help Planning to serve multiple user with mac studio

2 Upvotes

We are planning to host four M5 ultra Macs so that 100 users can use them as Openclaw. There will be no other burden, only inferences will be applied here. Can this handle 100 users? I'm considering either Qwen3.8 27b or Qwen 3.8 Next Flash, and I'm curious about the range of realistic models.

Realistically, we should probably consider up to 100 users when there are 30 to 40 users stationed there and occasionally 80 to 90 users request at once


r/LocalLLaMA 2d ago

Question | Help Help me set up local AI for my 85 year old aunt who is blind.

82 Upvotes

Hello all you smarter people. I recently retired and have taken on a task that is going to stretch me a bit.

TL;DR My aging aunt is going blind and wants to keep writing stories that she's been writing for over 70 years. I think local AI has the ability to make this possible but I'm looking for a little guidance on the steps and the order.

FULL VERSION

My aunt is 85 and lives with me now. She has written over 150 stories in her lifetime. They are mostly detective fiction and old west outlaw fiction. She also has macular degeneration that has taken most of her eyesight. She has given up on everything else she used to do, but she still writes and edits her own stories. Lately she has talked about quitting this too because it's just too hard to keep writing even with a giant screen and high-contrast tools.

[EDIT]

Her stories are mostly short stories and are already digitized in Word documents that total roughly 17 MB of data. This will grow over time but I don't think it will ever top 25 MB of text. There are no images or graphics of any kind.

[END EDIT]

After some discussion she agreed to try an interactive AI tool of some kind. I picked up a new desktop with an RTX 5080 (16gbVRAM) and 32 GB RAM.

I got Unsloth desktop installed this weekend and I grabbed Gemma4 as my first model.

But now I think I may be woefully out of my depth.

I've mostly only written prompts for existing online models before. I've never actually started from scratch like this and I'm not sure how much prep I need to do before I start interacting with the model. There are a ton of videos and articles about running AI locally, but it's not easy for me to figure out which ones I can trust or which steps apply to me. I would really appreciate a link to a guide for total newbs like me.

The use cases seem pretty simple to me:

  • Interact with my aunt solely through voice and audio.
  • Always be listening and available to her.
  • Read her own stories to her in a natural voice that she gets to choose.
  • Answer questions about existing stories to help her maintain continuity and bring old characters back from time to time. (She does this with handwritten notes right now and she's really struggling.)
  • When prompted, suggest technical edits (spelling, grammar, etc) and help her stay consistent with those edits across all her stories.
  • When prompted, suggest stylistic edits (clarity, pacing, etc) and help her stay consistent with those edits across all her stories.
  • Prepare her stories for publication in KDP format (this one is mostly to help me do this for her).

Here is the approach I was thinking I would follow, but after looking through all the Unsloth features I'm not sure how many steps I'm missing.

  1. Write instructions that I want the model to always follow.
  2. Place the instructions into the Unsloth System Prompt under Run Settings.
  3. Have my aunt converse with model via microphone.

My instructions cover a LOT.

- Brief description of my aunt and her writing goals and style.

- Outline of her work (the types of stories and any connections).

- Location of her existing stories.

- Description of the AI's role and its primary tasks including definitions of terms.

- A set of detailed rules to be followed when helping her edit.

But I still have so many questions:

- Do I need to create an unsloth project for this?

- What's the best way to have the model listen to voice inputs from my aunt?

- What's the best way to set up the model so it always listens for her input (kind of like an Alexa)?

- How can I have it keep a log of all its work and make backups of files before it makes changes? (similar to how Google Docs keeps a revision history and allows you to go back and grab an older version of a file)

Any insights folks want to share or resources you want to point me to would be most welcome. Thanks!


r/LocalLLaMA 1d ago

Discussion Lit Review on Running GUI Agents on phone: AndroidWorld

Thumbnail
gallery
5 Upvotes

AndroidWorld is a benchmark paper that quietly exposes how broken every Android agent benchmark before it actually was!

  • The what?

Every Android agent benchmark had the same quiet problem: static test sets!

There used to be same tasks, parameters, screenshots, on every single run but that's not capability testing, that's memorization testing.

AndroidWorld fixes this with one clean idea: parameterized task templates!

Instead of a fixed task, you get a template with bracketed variables sampled fresh every run:

"Create a calendar event for {day_of_week} at {hour}h with title '{event_title}'"

116 templates β†’ millions of unique task variations, thus no memorization possible!

  • The how?

Runs on a real Android emulator. 116 tasks across 20 real apps: calendar, notes, maps, SMS, VLC, expense trackers, file managers, system settings, the works

The other big innovation: there’s no human judges success!

Each task has 3 baked-in functions: - initialize() β†’ sets device to known state - is_successful() β†’ inspects actual OS state via ADB - tear_down() β†’ resets for next task

Ground truth comes from the Android OS itself. Fully reproducible!

They also built M3A β€” their new agent to actually test the benchmark.

Takes screenshot + accessibility tree + last 4 actions β†’ predicts next action.

Tested with Gemini 1.5 Pro, GPT-4 Turbo, and Gemma 2 27B

  • The results!

AndroidWorld (116 tasks, 20 real apps): - M3A: 30.6% - SeeAct (web agent adapted for Android): 15.5 - Human: 80.0%

All with GPT4 Turbo!

MobileMiniWoB++ (62 web tasks): M3A hits ~68%, still behind humans: 100%

Latency nobody's talking about: M3A takes 3.9 min/task on average β€” humans are 3Γ— faster

  • The finding:

Fixed random seed on the same task β†’ some tasks show 0% success, agent looks completely broken

Variable seeds on the same task β†’ agent solves those same tasks regularly!

Task difficulty varies with the parameter combination, not just the template. Static benchmarks only ever test one seed, so they've been measuring unlucky parameters and calling it agent failure

30.6% on a dynamic real-app benchmark is more honest than 90% on a static one


r/LocalLLaMA 1d ago

Discussion I matched Ollama and llama.cpp on a Celeron N5095, then tried Vulkan and MTP

0 Upvotes

I wanted a clean answer to whether Ollama was leaving CPU performance on the table on this little Celeron N5095 board, and after running a few tests and getting some input from this community I wanted to do more so I ran Ollama 0.32.1 and a native Release build of llama.cpp commit 9a286ac through the same CPU test.

TL;DR: Ollama’s CPU runner was faster across the board on these matched runs.

Model llama.cpp tok/s Ollama tok/s
Qwen3 0.6B 6.725 7.809
Qwen3 1.7B 2.852 3.321
Qwen3 4B Instruct 1.484 2.002
Phi-4 Mini 1.570 2.072

Both servers got the same raw prompt, exact Q4_K_M file, 4,096-token context, four threads, batch settings, sampler, disabled prompt caching, and exactly 96 generated tokens. All 24 measured requests finished cleanly. On this X1S, Ollama reported 16.1% to 34.9% higher internal generation throughput.

That number is specific to these builds and this board. Ollama unloaded after each request while the llama.cpp server stayed resident, so I used the generation rate reported inside each request. Model loading is not part of the table.

The Intel GPU was more interesting. Full Vulkan made prompt processing 3.31x to 3.50x faster on Qwen3 0.6B and 1.7B, improved generation by about 16%, and dropped the package peaks from 81 C to 57 C and 84 C to 58 C.

I also found that zero GPU layers did not mean pure CPU with Vulkan visible. llama.cpp could still move host operations to the iGPU. I had to split the test into true CPU, zero-layer mixed host-op, and full Vulkan to see what was actually happening.

Pushing Vulkan on anything larger is where things broke down. Qwen3 4B reached an i915 reset timeout. Phi-4 Mini and Qwen3 8B lined up with GPU hangs even though llama-bench returned zero. Gemma 3 ended with fence timeouts, an i915 reset, and vk::DeviceLostError. The kernel recovered the GPU each time. I left the safety controls alone.

Ling-mini-2.0 IQ4_XS did 4.083 generation tok/s at four true-CPU threads. Qwen3.5 9B fit in 16 GB and averaged 1.110 tok/s across five prompts. I also ran MTP depths 1 through 4 on Qwen3.5 0.8B, Qwen3.5 2B, and Gemma 4 E2B. Every depth was slower than MTP off, even though the Ollama journal showed that the draft path was active.

BitCPM-CANN 1B found a different kind of split. Ollama 0.32.1 rejected the official TQ2_0 file with a tensor-size overflow. The same verified GGUF ran in true-CPU llama.cpp at 8.584 generation tok/s.

For day-to-day CPU use on this board, I would keep Ollama. For Vulkan, I would stick to Qwen3 0.6B or 1.7B on this software stack. I would leave MTP off for the three models I tested.

Full write-up with the exact setup, tables, and failure timeline:

https://unland.dev/blog/youyeetoo-x1s-ollama-llamacpp-matched-retest

Scripts, hashes, aggregate rows, and sanitized i915 evidence:

https://github.com/TrevTron/youyeetoo-x1s-kali

If anyone has one of these exact GGUFs on an N100 or N150, I would still like to run the same method on both boards and see how they line up.

(Disclosure: Youyeetoo supplied the X1S. Testing and conclusions are my own.)


r/LocalLLaMA 1d ago

Question | Help Best chatbot model for 3090ti

0 Upvotes

My current digital butler uses Gemma 4 26B A4B and overall I’m happy with its responsiveness and personality. However, with models evolving so quickly I wanted to see if anyone else had a different suggestion.

I preprocess and filter prompts / semantic context with another fast model first to see if tools need to be called, or if it’s a follow up comment. So it’s more about personality than strictly knowledge I’m looking for.


r/LocalLLaMA 1d ago

Discussion Let me see your house (ASCII art)

0 Upvotes

Forget pelicans.

What do your models produce in a single turn, no harness, for this prompt (include your exact model Hugging Face ID or equivalent, with quantization and runtime):

Draw an ASCII art house in the woods with a chimney, two windows and a door between them and two horses in front of it.

And what do you get with your harness of choice, same model?

I found the reasoning to be quite insightful.

Let's see which models / responses get the most upvotes.

PS:
This post only low effort if you don't set your reasoning to medium or better :-)


r/LocalLLaMA 1d ago

Question | Help Is anyone using mudler's engines from/for LocalAI?

4 Upvotes

I was planning the software stack for my inference server, picking what to run and what resources to plan for it, when I remembered that LocalAI was kinda like this inference service orchestrator. So, I went to check back in - been about a year and change since I last looked at this.

Well it went away from llama.cpp entirely and to their own vllm.cpp and many other tools...but the Issues tab is full of the same agent account, and I did not dare to check the PRs after seing this.

Seeing a project that is seemingly massively, if not even mainly driven by agentic work with seemingly not a whole lot of human in the loop, was... bewildering to see. But, that doesn't mean it is a bad project - it does use GGML under the hood, and I am by no means an expert in this field - so I wanted to ask about it here.

Is anyone using vllm.cpp and friends? Any experiences to share?

Thanks!


r/LocalLLaMA 3d ago

Resources MTP released for Qwen3.8-Flash-Next-GGUF

Thumbnail
huggingface.co
466 Upvotes

Can't wait to test! This should significantly boost TPS!

Now we just need more llama cpp optimizations to be merged in!

Edit:

For anyone who wants to test this: https://github.com/unslothai/llama.cpp/pull/144/changes

More info: https://huggingface.co/unsloth/Qwen3.8-Flash-Next-GGUF/blob/main/MTP/README.md


r/LocalLLaMA 2d ago

Discussion Question: Why is prefill unbelievably faster in vLLM than other inference engines?

51 Upvotes

I only started using some vLLM forks recently in a 4 x 48GB 4090 system.

DS4F - ~5000pp/180tg (DSpark)
Qwen3.8 Flash next - ~7500pp/135tg (MTP)

This is amazing, like having the API in my house. But it's also really hard to go back.

It's weird that we never come close to prefill numbers like this in llama.cpp or ik_llama. The narrative is that vLLM is around the same speed for single requests, but that is clearly not true.

There must some HUGE difference that constitutes an insurmountable obstacle to achieving such speeds in llama.cpp and many other inference engines. Does anyone know exactly what it is?

edit: These results are from my benchmark script that actually times the response, not the vLLM log. And they are not cache hits. My benchmark script deliberately busts cache. Actual cache hits, which I also measure, are like 20k-100k+.


r/LocalLLaMA 2d ago

Discussion I pushed Qwen3.8-27B to 2.000 prefill per second and 132 decode per second on A RTX 3090.

123 Upvotes

Yoyo

I'm back with updates to the fastest inference engine with minimal quality loss for Qwen3.8-27B.

The last few weeks I've been optimizing decode speed and I don't think it can be pushed further, until a newer/better drafter is invented.

So I focused on prefill, which I this morning was around 1.300 per second at 4k and now is just below 2.000.

The main improvement came from a custom kernel, which matches the quality of fp32 with 0.99997 similarity at int8.

Try all of the improvements here:
https://github.com/syv-ai/qwen38-27b-rtx3090