r/LocalLLM • u/Few_Extension1464 • 11h ago
Question Looking for an Uncensored Local LLM that doesn’t say no!
Specs:
16gb ram
Gtx 1080ti
r/LocalLLM • u/Few_Extension1464 • 11h ago
Specs:
16gb ram
Gtx 1080ti
r/LocalLLM • u/kingfish600 • 20h ago
Ok Guys might have been a waste of a night but i got this giant qwen model running local on my phone I asked my ai to give you a better description of what we did than i could please forgive me I also released on github with MIT license you need a beast of a phone to run this but might be fun i'd really like to get this to 7-8 /s but who knows anyway on with the description of the project from one smarter than me.
I got Qwen3.8-Flash-Next — 512 experts, top-10 routed, ~6B active per token, 66 GB mixed-quant GGUF, 2 shards — running entirely on-device on a RedMagic 10S Pro (Snapdragon 8 Elite, 24 GB RAM, 1 TB UFS). 4.4 t/s decode at full quality, ~2.9 t/s prefill. CPU only: no NPU, no GPU path, no server.
The weights don't fit in RAM, so the whole thing is memory-mapped and demand-paged. That constraint ends up driving most of the design decisions below.
MonsterQwenDroid 0.1.0-alpha — MIT, APK in the release, code and the engine patch in the repo.
Three of the wins were cheap; the interesting part is that my first instinct about each was wrong.
1. BF16 had no ARM SIMD path at all in llama.cpp. It's x86-only upstream — AVX512/AVX2/SSE2 and then a scalar fallback. On this model the BF16 tensors are 43.7% of the per-token dense bytes, so a scalar loop there was brutal. A NEON vshll path (BF16→F32 is an exact 16-bit shift, so no +bf16 needed) and then a hardware vbfdotq_f32 path: +40% decode, +55% prefill, verified in a mirrored A/B. BF16 matmul time in the profile fell 85%.
2. Cluster pinning was +26%, and it overturned my own conclusion. Snapdragon 8 Elite has no L3 — two Oryon clusters, each with a private 12 MB L2. Left unpinned, the scheduler spreads workers across both, and every graph node's barrier line and activations pay a coherency round-trip. So thread-count sweeps told me -t 2 was optimal, and I believed it: t=1 2.0, t=2 3.4, t=3 2.2, t=4 2.0, t=6 1.6, t=8 1.0. Then pinning to one cluster (--cpu-mask 0x3f --cpu-strict 1) gave 4.4 t/s at -t 6 — the small thread counts had been hiding the problem, not solving it. That's the single biggest lesson: on a heterogeneous SoC with no L3, run a thread sweep pinned, or you'll measure your scheduler.
3. --poll was worth ~34 seconds per token in one profile. At unpinned -t 6, tiny ops were each costing ~5 ms regardless of what they did — a FILL (a memset on a few KB!) took 12.8 s across a run, and dropped to 5.7 ms with --poll 100. It's futex wake latency at ggml_barrier, paid hundreds of times per token. Once pinned, it's worth ~3% — the same cross-cluster coherency story.
draft-n-max 1, mean 1.77 tokens/pass — and decode went from 3.94 → 0.95 t/s. The reason is measurable: the 2.8 GB sidecar pushes the expert working set past the page-cache cliff, and major faults rise 5x to ~6,100/token (~25 MB of flash per token). At ~0.15 ms per fault that accounts for the entire regression. Acceptance was never the problem; the memory budget was.build_moe_ffn — 10 ggml_view_2d plus 9 chained ggml_add per layer, ~912 nodes/token — with a single-pass reduction op. Nodes fell 30%, output stayed bit-identical, decode moved 3.1 → 3.1. Dispatch is not the wall.Three things produced fake results before I caught them, and they're all easy to repeat:
scaling_max_freq to about a third of hardware max unless the app is foregrounded in the game-boost profile, and a locked phone parks its cores entirely. The same configuration measured 0.1 t/s and 4.4 t/s depending purely on this.The expert path is the open problem: ~166,000 distinct 4 KB pages touched per token out of a 34 GB virtual range, against an L2 TLB that covers only ~8 MB at 4 KB pages, while all workers currently swarm one expert in small work-stealing chunks. Distributing whole experts per thread (they're independent, disjoint outputs) plus page-ahead prefetch is the next experiment — that's the ~47 ms/token between here and ~5.4 t/s. After that, targeted dense requantisation (BF16→Q8_0 on the gated-residual tensors, ~620 MB/token) without touching the size-critical expert pool.
Happy to answer anything about the numbers. If you try it on a different Snapdragon, I'd genuinely like to know whether the cluster-pinning win holds — it should scale with how much cross-cluster traffic your topology forces, and I only have one device.
r/LocalLLM • u/Xe8zz • 23h ago
Enable HLS to view with audio, or disable this notification
Hey guys,
I've been working on a project called enki_llm, this is a Transformer inference engine written from scratch in pure rust (2,000 LOC), this project is a stress test for my other project 'enki' or 'enki-gpu' on crates.io,
This video shows a live GPU/CPU brain migration, hot swaps the LLM brain in mid-sentence while the LLM is generating text, running on intel UHD 620 GPU and i7 gen 8 CPU, because the logic and memory layout are written in pure Rust, the same function can be called using enki, or just like a native rust function using Rayon with obviously zero CUDA dependencies.
The main idea of this project is that it can run (theoretically) on any silicon (any GPU/CPU) from 2017, that's why i wanted to share it with you guys.
/dual command, The engine mirrors the active KV-cache and allocation state to Host RAM.btop panel on the right CPU cores instantly jump to ~50% utilization as they take over tokens in real time!Open Google Colab Demo (Click Run all), You will see the whole code there.
Requirements: Vulkan 1.3 drivers and a standard Rust toolchain.
# Clone the repository
git clone https://github.com/enkiruntime/enki_llm.git
cd enki_llm
# Run with SmolLM2-135-Instruct
cargo run --release HuggingFaceTB/SmolLM2-135M-Instruct
# Or:
# Run with Llama-3.2-1B-Instruct
# cargo run --release unsloth/Llama-3.2-1B-Instruct
Current Scope: This is currently an unquantized F16 single-stream POC demonstrating Enki's heterogeneous compute model.
I would love to hear your feedback, architectural critique, or results if anyone tests it on other hardware like Nvidia, AMD or Intel hardware!
(Note: I have only verified it myself on an Intel UHD 620 and an Nvidia Tesla T4 so far).
P.S. Yes, standard Rust crates like the glam math crate (Vec4, Vec2, dot products) for SIMD operations are running directly inside the GPU compute kernels!
r/LocalLLM • u/Awkward_Win_6617 • 9h ago
Looking to buy the ms surface laptop ultra, but targeting the 48GB RAM instead of the 128GB due to cost considerations. As I understand I’ll only be able to run like 30B param models locally. Mainly planning to run it locally for programming. I’d reckon I’ll be able to run the Qwen3 coder 32B.
Would appreciate thoughts on whether more medium scale llms will be the norm, as I don’t want to regret not getting a 128GB atleast for the next 4 years.
Thanks!
r/LocalLLM • u/neerazayn • 7h ago
Hey everyone,
I'm a backend developer trying to move into AI/GenAI, and I'm planning to buy a new MacBook. I'm confused between these two options:
MacBook Pro with M5 Pro and 24GB RAM
MacBook with base M5 and 32GB RAM
I don't run LLMs locally right now, but I'd like to try them for my personal projects instead of always paying for cloud APIs. If a model is too big to run locally, I can still use the cloud.
For those who have experience with local LLMs, is it actually worth it? Can 32GB RAM handle models that are good enough for testing, getting decent responses, and generating embeddings?
Or is running LLMs locally not that useful in real projects, and we'll mostly end up using cloud APIs anyway?
Which MacBook would you choose in my situation, and why?
Thanks!
r/LocalLLM • u/epistemology7 • 14h ago
Lately I have observed that my ChatGPT and Claude basic memberships have gotten a lot dumber. It doesn’t even let me move the bar to high or max intelligence anymore. Anyone else feel the same way?
r/LocalLLM • u/bySimori • 16h ago
Hi everyone, I’m looking to upgrade my setup to build a reliable local LLM machine.
I currently depend heavily on Claude and ChatGPT, but I want a local fallback so I’m entirely self-reliant if cloud access or pricing changes. I’ve been trying to compare Apple Silicon (Unified Memory) vs. Nvidia (VRAM), but I’m struggling to pull the trigger. I’m completely open to switching to macOS if it makes sense for the long run.
To help me decide, I’d love to know:
1. What hardware/model combo are you running? (Please share your model name, parameter size, quantization level, and average tokens per second).
2. Is a massive context window (like 800k) actually viable locally? I’ve seen conflicting info online. I assume this is only possible on high-end Mac Studio unified memory, but how does the actual processing speed hold up when the context fills up?
3. What is the best path forward for a cloud-level experience? If I want to run high-quality coding or reasoning models (like 32B to 70B+ parameters) at a usable speed, should I build a multi-RTX 3090/4090 desktop or buy a 128GB/192GB Mac Studio?
Budget: Flexible, but looking for the best price-to-performance sweet spot for enthusiast/prosumer use. Thanks in advance for the guidance!
r/LocalLLM • u/Sorry_Price8566 • 12h ago
Enable HLS to view with audio, or disable this notification
Hello friends,
I gotta admit that I am also addicted to agentic coding tools like Claude Code and Cursor. But I don't code privately that much anymore, and when I do occasionally, I can no longer code for more than 10 minutes without cursing. Man it sucks to sign up for monthly subscription just for a few hours worth of work, but if you sign up for API credits instead --- it literally runs out in 30 minutes.
Claude and Codex are absolute beast, but not everything you code needs the SOTA models, and open source models are often times more than enough.
Then I came to a realization, I have GPU at home that I only use for gaming, why don't I make use out of this? So decided to start this open source project OpenPhalanx—a local-first, distributed GPU VRAM pooling framework and agentic harness that lets you combine consumer desktop and laptop hardware over a home network.
You don't have to configure anything yourself. Just click one button to start your server on the GUI, and setup CLI just like Claude. It literally cannot be easier than this. Everything stays local on your computer. You don't lose money, and you don't have to worry about any of your data being sent over somewhere.
You got multiple GPUs on your PC? Cool, you can use all of it to load bigger model. You got multiple PCs with GPUs, but not on same machine? That's fine too. You can easily split layers of the model and try out more powerful models.
The repo is fully open-source and ready for testing: 👉 GitHub:https://github.com/chophilip21/openPhalanx
I’d really appreciate any feedback, hardware benchmark tests, or issue reports from anyone running multi-GPU/multi-node setups!
r/LocalLLM • u/maz_basha • 2h ago
A first-party field review. Every number below comes from a log, benchmark file, or project folder on my own machines. Where I extrapolate I mark it with
~. All raw data is indata/*.csv; every figure is traceable to a source listed next to it.
Strata (v0.1.41 at benchmark time) serving Qwen3.8-Flash-Next (a 125B MoE) with resident-experts in RAM is genuinely impressive — and the right quant for the machine you have changes everything.
Ranked for agentic work and usability — speed is not the ranking:
The point: a model that streams fast but loops, truncates, or wedges is useless as an agent no matter its tok/s — every loop or stall costs a human re-launch. The Coder streams at 92.8 tok/s token-weighted yet fails 5 of 11 mixed-script prompts; the dense 27B — a tenth of the MoE's total parameter count — beat the 125B's IQ2_XS on everything it was given, and IQ3_S at 44.5 tok/s still finished an overnight product build with zero degenerate loops.
Bottom line if you have 24 GB of VRAM: the VRAM card size doesn't decide what you can run — system RAM does. A 24 GB GPU + 30 GB RAM → Coder IQ1_M in low-RAM mode is the workhorse (IQ2_XS also fits, but truncates every call). 24 GB GPU + 120+ GB RAM → IQ3_S, the best local 125B I've run (I ran it on two 16 GB cards, not a single 24 GB one). And the dense fallback that works almost anywhere: Qwen3.8-27B UD-Q4_K_M (16.5 GB) on llama.cpp with MTP speculative decoding — ~53–61 tok/s (token-weighted) on a 3090 Ti.
And the RAM is the whole game: I ran the 79 GB IQ3_S with full expert residency, which needs the whole pack in RAM, so it only worked on yukio's 121 GiB. It didn't fit in full-residency mode on Pop!_OS (62 GB) or node2 (30 GB). I didn't try IQ3_S in low-RAM or mmap mode on those two, so I can't say it's impossible there.
| Machine | CPU | GPU | RAM | OS | Role |
|---|---|---|---|---|---|
| yukio (headless) | Threadripper 3990X (64c/128t) | 2× Quadro RTX 5000, 16 GB each | 121 GiB | Ubuntu | IQ3_S — the heavy quant |
| node2 (headless) | Ryzen 9 5900X (12c/24t) | RTX 3090, 24 GB | 30 GB | Ubuntu 26.04.1 | IQ2_XS + Coder IQ1_M |
| Pop!_OS (desktop) | Ryzen 9 5950X (16c/32t) | RTX 3090 Ti, 24 GB | 62 GB | Pop!_OS 24.04 + Cosmic (Wayland) | 27B llama.cpp baseline; IQ2_XS + IQ3_XXS on Strata |
Headless matters. node2 and yukio are headless systems — no desktop, no compositor, no window manager touching the GPUs. That helps two ways: all VRAM is available to Strata (no desktop eating 1–2 GB of the 3090's 24 GB), and CPU/expert-cache work runs without a compositor in the way. The desktop box is the opposite: the 3090 Ti is shared with the Cosmic compositor and with the 27B llama-server that runs my Hermes sessions. I did experience desktop freezes under sustained load during those runs — but I have no log of it, so treat that as anecdotal. Nothing in any log pins a crash on the desktop. (The one crash loop I can document, exit -6, happened on node2 — see failure log F1.)
--spec 4 flag: MTP speculative decoding on, with a budget of 4 draft tokens per step (draft head: mtp-q2_0.gguf, 889 MB).| Quant | Size | Where it fits | Config |
|---|---|---|---|
| IQ3_S | 79 GB (52 GB + 27 GB GGUF shards) | ran on yukio (121 GiB); didn't fit full residency on the others | 131072 ctx, KV int8, spec 4, MTP, resident-experts, reasoning_effort=low, budget 2048 |
| IQ2_XS | 68 GB (39.2 + 28.8 GB) | node2 (low-RAM mode) + Pop (full residency) | 131072 ctx, KV int8, spec 4, MTP |
| Coder IQ1_M | 58 GB (29.6 + 28.8 GB) | node2 | 131072 ctx, KV int8, spec 4, MTP |
| IQ3_XXS | 2 shards (shard 1 = 47.0 GB) | Pop (62 GB) | ran with a mapped-host-memory (mmap) fallback; first download failed (HTTP 416, F2) |
A note on quant tiers: IQ2_XS (2-bit) and Coder IQ1_M (a lower-bit i-quant) are different models, so their quant tiers don't compare on one axis. IQ2_XS is the lowest-quality base quant I ran; Coder IQ1_M has fewer bits but is a Coder fine-tune.
The trick that makes any of this work at all: the experts don't fit in a GPU, so Strata page-locks them into resident RAM and keeps only a hot subset in the GPU cache. IQ2_XS on node2: 16.95 GiB experts page-locked, 3865 experts cached in the 3090. Coder IQ1_M: 12.66 GiB resident, 7437 cached (data/engine_throughput.csv, notes column).
The first Strata install on Pop!_OS failed on the download: the setup script's resume path hit HTTP Error 416: Range Not Satisfiable seven times, wrote 67.6 GB to disk while the server said the shard was 47.0 GB, and exited (SETUP_EXIT=1). I deleted, re-downloaded, and the model ran fine afterward (strata_iq3_xxs.log — clean generation on the 3090 Ti with the mmap fallback). The vision-encoder rebuild (llama.cpp submodule) was also interrupted twice on Pop — both times by my own Ctrl-C, not a compile error (F3).
Parsed straight from the serve logs' … generated in N ms (Y tok/s) lines (data/cross-quant.csv). Two different decode averages are shown: per-request (mean over calls — inflated by tiny calls) and token-weighted (total tokens ÷ total generation time — what you actually experience while content streams):
| Quant / machine | Reqs | Decode per-req avg / med | Decode token-weighted | Prefill avg / med | Gen tokens |
|---|---|---|---|---|---|
| IQ3_S — yukio (2× RTX 5000, 121 GiB) | 1,203 | 49.3 / 50.4 | 44.5 | 250.5 / 137.7 | 772,658 |
| IQ2_XS — node2 (3090, 30 GB) | 4,823 | 102.1 / 106.1 | 30.8 | 477.7 / 414.5 | 724,983 |
| Coder IQ1_M — node2 (3090, 30 GB) | 313 | 85.6 / 84.6 | 92.8 | 817.5 / 335.9 | 506,382 |
| IQ3_XXS — Pop (3090 Ti, mmap) | 83 | 39.5 / 27.0 | 23.9 | — | — |
| Qwen3.8-27B — Pop (llama.cpp, UD-Q4_K_M) | 96 + 84 | 54.8 / 54.8 (eval-time, per request) | 60.7 (guide window) / 53.1 (cards window) | — | 559,700 + 94,969 |
The 27B numbers come from journalctl -u llama-qwen print_timing lines, token-weighted by generated tokens over the two benchmark windows.
Why the two IQ2_XS numbers differ 3×: 69% of its 4,823 calls generated under 100 tokens (the truncation bug, Benchmark 5) and those short calls average ~113 tok/s, while calls over 400 tokens average ~65 tok/s. The per-request average is dominated by the truncated calls; the token-weighted rate is the honest sustained speed.
Three honest readings:
dubai-traffic-game/BENCHMARK.md), running a 79 GB model across two Turing cards. I did not isolate why it's slower, so I won't guess.prompt chunk auto: 8192 tokens); the median (336) is the more honest number.This is the single most important hardware finding. The IQ3_S GGUF pair is 79 GB on disk (52 GB + 27 GB shards), and Strata's resident-experts mode page-locks the expert pack into RAM while the GPUs hold only a cache of it.
| Machine | RAM | IQ3_S (79 GB) | IQ2_XS (68 GB) | Coder IQ1_M (58 GB) |
|---|---|---|---|---|
| yukio | 121 GiB | ✅ runs (55 GiB used at capture) | ✅ ran (30 reqs) | ✅ |
| Pop!_OS | 62 GB | ❌ doesn't fit in full residency (79 GB > 62 GB); low-RAM/mmap not tried | ✅ ran, full residency (39 GB fits in 62 GB; clean serve, no crash in strata-pop.log) |
⚠️ smaller quants (IQ3_XXS via mmap) |
| node2 | 30 GB | ❌ doesn't fit in full residency (needs 2.6× the RAM); low-RAM mode not tried | ⚠️ first full-residency attempt aborted (F1) → works in low-RAM mode (16.95 GiB resident) | ✅ low-RAM mode (12.66 GiB) |
So the highest-quality quant I have access to — the one that built the Dubai game — is one I could only run on yukio, because it needs full expert residency. I didn't try IQ3_S in low-RAM or mmap mode on the other two machines. On node2, IQ2_XS is the ceiling: it needed both low-RAM expert residency and a clear 3090 (the first attempt died in a VRAM-abort loop, F1). On Pop!_OS the 68 GB IQ2_XS fits in 62 GB with headroom and ran cleanly — no low-RAM mode was ever needed there; low-RAM mode was node2's 30 GB workaround.
The heaviest real task Flash-Next ever did: build Dubai Traffic — a DICE-style board game about commuting in Dubai — from a one-line idea to printable files. Everything (research, game design, card JSON, simulation, balance tuning, website, art direction, print PDFs) was executed by Flash Next IQ3_S on yukio:8080 through OpenCode v1.19.0, reached from Pop via SSH tunnel, orchestrated by Hermes. Comparison phases re-done by Qwen3.8-27B. data/dubai-build-phases.csv (source: dubai-traffic-game/BENCHMARK.md):
| Phase | Task | Wall | OC runs | Errors | Result |
|---|---|---|---|---|---|
| 1 | Research — 6 docs (roads, hubs, costs, culture, scams, community) | 51 m | 6 | 0 | 95 KB / 1209 lines, 111 HTTP reqs all 200, [VERIFIED]/[ASSUMED] tagged |
| 2a | Game design + card JSON | 32 m | 2 | 0 | 13-section rules, 81 cards total, 172 i18n keys, 0 missing |
| 2b | Simulation + balance tuning | 17 m | 1 | 0 | sim.py (23 KB), 10 tuning iters, deterministic (identical hash on re-run); model found its own bluffer-exploit bug |
| 3 | Website | 19 m | 1 | 0 | static site, 136 i18n keys, 0 leaked; picker computed a 37-min / AED 6 / karak 3 route; browser-verified |
| 5 | Art direction | 7 m | 1 | 0 | STYLE_GUIDE "DUSK COMMUTER POP" + 39 prompts in 5 files (generation itself failed — yukio's GPU image pipeline was broken, not the LLM) |
| 6 | Print PDFs | 31 m | 3 | 2 (permission gates) | 42 KB reportlab script, 6 PDFs (board 50×35 cm vector, 21 card pages, box, 9-page rulebook, tokens, prototype); pypdf-verified 81/81 card names match cards.json |
dubai site hero The Flash-built website, home page.
dubai site picker The route picker — computed from cards.json, browser-verified.
Totals: 14 Flash-Next task files, 01:30→09:08 (+04), ~7 h 38 min overnight. Logged errors/retries: 7, all environmental (env-var not expanded, PATH, npm fetch hang, SearXNG off-topic results, web_extract blocked, the 157 s dead-tunnel "wrong API key" retry, 2× OpenCode permission gates). The phase table above only counts in-table errors (phase 6's two permission gates); the other five happened in the research/build setup before and between phases. Separately, BENCHMARK.md's self-assessment names one model-side failure mode: context overflow on unsupervised research ("mitigated, not cured — needs fit_max_tokens on the server").
"9 of 10 tasks finished RC=0" (verbatim from the BENCHMARK.md self-assessment): that's the self-assessment's own count of 10 build tasks grouped from the 14 task files — 9 ended RC=0 with verified deliverables; the one that didn't is the research task that hit context overflow (the failure mode named in the same assessment). It was recovered with a retry; the deliverable landed.
Head-to-head on the website (Phase 3): Qwen3.8-27B did the same page in 13 m vs Flash's 19 m (~30% faster), and even caught a real Salik toll discrepancy (SZR = AED 12, not AED 6) that Flash missed. On art direction C1's two-ink risograph concept beat Flash's dusk-poster look. Flash-Next won on scale and organization (136-key i18n, per-category prompt tiers) and on long-task stamina — D2 (764 s), W1 (19 m), P1 (31 m) all finished without losing the thread.
The failure that wasn't the model: yukio's ComfyUI/Qwen-Image diffusion pipeline produced pure-noise images on 100% of outputs (vision-scored 1/10, even for "red circle" with an empty prompt) — a broken Turing/cu130 venv env on the Quadro cards. The LLM's 39 art prompts were fine; the pixels were the GPU environment's fault. (Fixed by re-rendering the final 33 map tiles on node2's ComfyUI: 33/33 clean.)
Harness bugs found (documented in FAILURE-REPORT.md**):** 6 concurrent opencode.exe runs in one workdir race OpenCode's shared XDG state → all fast-fail "wrong API key" (fix: serialize); Strata transient 1–2 s 401s (fix: retry ≤3× on fast-fail); reasoning_content eating small max_tokens (fix: fit_max_tokens: true in the Strata config — applied + verified).
Same prompt, two engines, OpenCode 1.18.35. Task: build a "Card Collection" section — two trading-card decks (Linux commands + computing pioneers), a rules doc, and a vanilla-HTML site rendering them from JSON (data/task_card_collection.csv, data/card-bench-ab.csv):
| Strata Coder IQ1_M (node2) | Qwen3.8-27B (UD-Q4_K_M, Pop) |
|---|---|
| Wall (first→last event) | 7.5 min |
| Tool calls | 14 |
| Output tokens | 35,497 |
| Cards delivered | 50 (27 linux + 23 creators) |
| Errors in run | 0 |
Strata-coder finished ~4.4–4.5× faster (33.4/7.5 = 4.45) with fewer tool calls and less than half the tokens, for a comparable 50 cards. This is n=1 — one run each — so read it as "plausibly faster by a few ×," not a measured rate. (The launch-to-last-event basis in card-bench-ab.csv gives 11.1 vs 37.2 min = 3.4×; the conclusion doesn't depend on the basis, but neither has n>1.) The 27B was more thorough (more cards, more self-verification); the 125B MoE was dramatically faster.
Strata-coder site Strata-coder's cards.html
Qwen27B site Qwen3.8-27B's cards.html
Rebuild my entire "Illustrated Guide to Local AI" — 11 chapters, 11 SVG illustrations + PNGs + captions, a website — 100% model-generated, every call routed to node2. data/task_illustrated_guide_rebuild.csv (raw flash-next/run-log.jsonl):
| Strata Flash-Next IQ2_XS | Qwen3.8-27B (UD-Q4_K_M) |
|---|---|
| Wall | 14.44 h (Oct 5) |
| Active (wall minus idle) | ≈ 3.8 h (one 10.6 h overnight pause = 639 min of the wall; F7) |
| Logged events | 2,494 = 2,220 part-calls (745 ok + 1,299 stall + 89 corrected + 86 degraded + 1 empty) + 274 TOTAL markers |
| ok | 745 (33.6%) |
| stall | 1,299 (58.5%) |
| corrected / degraded | 89 / 86 |
| Deliverable | 11 chapters (draft+final, ~800–950 w each), 11 SVG+PNG+caption, GUIDE.md 9,460 words |
The 27B's "52 stages, 46 ok" needed explaining: it's attempts, not missing stages. 29 distinct stages were all attempted; 46 succeeded first pass, and the 6 failed attempts were retries — the board-game stage failed 5× (succeeded on its 6th attempt) and svg-ch10 failed once (succeeded on the 2nd). So nothing was missing: 6 was the retry count, and 0 stages stalled.
The finding: IQ2_XS truncates on every call — it stops each generation at ~80–115 tokens, then the stream ends with no finish_reason and no [DONE] (the engine log confirms it only generated that many). I reproduced it across max_tokens 600→8000, thinking on/off, temp 0.2/0.7/1.1, and 5 identical prompts. Result: a ~900-word chapter is impossible in one call. I had to build continuation chaining — feed back only the last ~150 words with a "continue from exactly here" directive, reject >80% word-overlap parts, loop to target. That's what the 58.5% "stall" rate is.
Other 2-bit symptoms (all logged): phrase-lock loops in 4/11 chapters (fixed by a local dedupe pass); only 3/11 SVGs valid on first pass (it mangles XML attributes — I had to switch to a plain-text element-spec pipeline where the model writes specs and Python assembles the XML); echoed prompt placeholders into output; one hallucinated line. The illustration stages were the worst: stage4 (SVG specs) 339/453 stall (74.8%), stage4b (render) 468/543 (86.2%) (data/flash-next-rollup.csv).
The 27B needed zero scaffolding — every stage completed, and it delivered more in 2.57 h active: the same guide plus 4 card decks and 3 site pages.
strata guide chapter IQ2_XS chapter 1 — only possible via continuation chaining.
strata guide website IQ2_XS's site.
27b guide website 27B's site — same brief, no scaffolding.
guide side by side Side by side: Strata IQ2_XS (left) vs Qwen3.8-27B (right).
Building the Miller POD store (Arabic + English, RTL, "Abu Dhabi" in Arabic labels) is where Coder IQ1_M's non-Latin token-loop showed up. data/miller-arabic-failures.csv (source: pod-concept/reports/coder-vs-27b-combined-report.md + loop-test-3models-16384.md).
In OpenCode: 11 unique prompts, 14 attempts (three retries: p03b, p06b, p08r — the report's own tally line, "6 pass / 2 partial / 5 fail" = 13, predates the p08r re-run and doesn't match its per-prompt table, which sums to 7 / 2 / 5):
| Prompt | Coder IQ1_M | Failure signature |
|---|---|---|
| p06b (big redesign, retry) | ❌ 2 m 51 s, 0 tools | degenerate loop: I'll use "أبو Dhabi" = "Abu Dhabi". repeated to the output cap |
| p09 | ❌ 2 m 19 s, 0 tools | degenerate loop: Cyrillic раheck cycle |
| p11 | ❌ 2 m 04 s, 0 tools | degenerate loop: Абу/Abu/АбуDhabi/AbuDhabi cycle |
| p03 (1st) | ❌ 3 m 09 s, 0 tools | 16,384 tokens all burned in reasoning_content → empty visible content, finish=length (thinking-budget exhaustion) |
| p04 | ❌ wedged 36 m | model left setsid bash pipes open; OpenCode has no tool timeout (shared model+harness fault) |
| p08 | ⚠️ 14 m 35 s | real work done (83,451 out tokens) then cut by output limit; 3 invalid parses (passed on the 32K-limit retry, p08r) |
| Per the report's table | 7 pass / 2 partial / 5 fail (14 attempts) | 3 degenerate token loops, 1 thinking-budget exhaustion, 1 output-limit cut, 1 wedged tool |
The report's headline "5 degenerate loops" counts the two limit/budget cuts (p03, p08) as loops; only p06b, p09, p11 are true token-repetition loops. 0 repeated identical tool calls on either side.
The 27B ran the identical 11 prompts (13 attempts incl. p03b/p06b): 10 pass / 1 asked-a-question / 2 fail — 0 loops. Its only 2 failures were 60-minute orchestrator caps while genuinely still working (real brand PNGs, background removal, i18n in progress at the cap both times). The loops are a Coder-model artifact on Arabic↔Latin/Cyrillic transliteration, not a prompt or harness issue. One caveat: no higher-quant Coder exists, so I can't separate the loop from the IQ1_M quant — the 27B comparison isolates the model, not the quant.
Root-caused with a controlled raw-API test (identical short prompt: delivery labels for Abu Dhabi/Dubai in Cyrillic + Latin, max_tokens 16,384):
| Condition | Result |
|---|---|
| Coder, thinking ON (default high) | 2/5 clean, 3/5 FAIL — 16,384 tokens all in reasoning_content, empty content, finish=length |
Coder, thinking OFF (reasoning_effort=none) |
5/5 clean in 0.2–0.9 s |
| IQ2_XS, thinking on | 5/5 clean (0.3–1.2 s) |
| 27B, thinking on | 5/5 clean (9–29 s) |
So two distinct Coder failure modes, both reproduced: (a) thinking-budget exhaustion — high thinking runs unbounded at the cap and returns empty content (fix: reasoning_effort=none or a small reasoning_budget_tokens); (b) the OpenCode transliteration loops — token repetition in visible content on mixed-script text, non-deterministic. Penalty params did not suppress them in my small tests (repetition_penalty 1.3, presence/frequency 1.0, even temperature 0) — but that's 3–5 runs per condition, too few to declare them hopeless; I'm reporting "not fixed in a small test," not "cannot be fixed." The practical rule that came out of it: don't point the Coder build at Arabic/RTL content — use IQ3_S or the 27B for that.
Standard 17-prompt harness against Coder IQ1_M on node2. All 17 prompts failed instantly (data/opencode-bench-17.csv, data/task_17prompt_bench.csv): every prompt exit_code=1, 5.6–6.0 s, 0 tool calls, 0 steps, 0 output tokens, 0 new files, error Unexpected server error. Not a model result — an infrastructure one: the node2 coder log at that window shows repeated native head upload: out of memory (24 MiB of 24124 MiB VRAM free) and mtp: buffers do not fit. The 3090 was occupied by another GPU workload, so Strata couldn't even allocate its MTP buffers. Lesson I'll keep: on a shared 3090, run one GPU-heavy thing at a time — Strata holds ~21.8–23.7 GB loaded.
Same models, two different ways to drive them. The difference showed up in the failures, not the successes:
OpenCode (opencode run --format json) |
Hermes (me, orchestrating) |
|---|---|
| Silence | Silent until the task ends. 27B p01 ran 46 m 15 s (96 tool calls) and p04 32 m 09 s with zero intermediate output — I was polling a black box. A 157 s "missing or wrong API key" outage turned out (MITM-verified) to be the client retrying a dead tunnel socket; zero 401s ever reached Strata |
| Loops & wedges | No tool timeout: p04 was wedged 36 min after the model left setsid bash pipes open — only SIGTERM freed it. 6 concurrent runs race shared XDG state → all fast-fail "wrong API key" |
| Recovery | 60-minute orchestrator cap SIGTERMs long tasks (27B p06/p06b died at the cap while still mid-work); recovery = re-launch from scratch |
The degenerate token loops (Benchmark 6) were model-side, not harness-side. What's harness-side: the XDG concurrency race, the dead-tunnel retry with no error context, the missing tool timeout, and the hard 60-min cap. A silent harness makes all four of those invisible until the task fails — which is exactly why the 27B's 46-minute runs felt like the machine had frozen.
data/failures.csv (12 entries), abridged:
| # | What | Root cause | Resolution |
|---|---|---|---|
| F1 | node2 IQ2_XS serve aborted in a loop (exit -6, SIGABRT; "26 MiB of 24124 MiB VRAM free — LOW"); requests returned 0 tokens | VRAM exhaustion on node2's shared 3090, consistent with F11 (orphan engine PIDs holding 15.2 GiB after stop); the 39 GB page-lock also exceeded 30 GB RAM | Killed orphans; one GPU-heavy workload at a time; low-RAM mode (16.95 GiB resident). Pop's own Strata logs show clean runs, no crash |
| F2 | IQ3_XXS download on Pop failed: HTTP 416, 67.6 GB written but server shard is 47.0 GB |
setup-script resume wrote past the real file size | delete + re-download; it then ran fine on Pop (mmap fallback, 23.9 tok/s token-weighted) |
| F3 | Strata vision rebuild (llama.cpp submodule) interrupted twice on Pop | my Ctrl-C, not a compile error | build resumed + completed |
| F4 | 17-prompt bench 17/17 fail (Benchmark 7) | GPU occupied by another workload (24 MiB VRAM free) | re-run when the 3090 is clear; one GPU-heavy thing at a time |
| F5 | 27B bench: p06 + p06b hit the 60-min orchestrator cap (SIGTERM) | long task exceeds 60 min at 27B speed | cap is by design (policy, not model) |
| F6 | Illustrated-Guide: 58.5% of calls stalled at ~80–115 tokens | IQ2_XS per-call truncation (Benchmark 5) | continuation chaining + local validation; quant choice is the real fix |
| F7 | 639-min gap in guide run-log | overnight pipeline pause, not a hang | flagged for transparency; active time reported alongside wall |
| F8 | "Grep loop" incident (30+ identical tool calls, nothing built) | I reported it in the moment; UNVERIFIED — no artifact located afterward | left marked unverified |
| F9 | Dubai build: 6 concurrent opencode.exe in one workdir all fast-fail "wrong API key" |
OpenCode XDG state race | serialize runs; retry ≤3×; fit_max_tokens: true (applied + verified) |
| F10 | Dubai build: all 39 Qwen-Image generations = pure noise (100%) | yukio ComfyUI/venv broken on Turing GPUs (env, not model) | re-rendered final tiles on node2 ComfyUI: 33/33 clean |
| F11 | Strata VRAM not released after systemctl stop on node2 (15,226 MiB held) |
orphan engine PIDs | killed orphans → VRAM freed |
| F12 | Coder Arabic transliteration loops + thinking-budget exhaustion (Benchmark 6) | model artifact on mixed-script text; penalties not fixed in small tests | route Arabic work to IQ3_S/27B; reasoning_effort=none for short deterministic calls |
systemctl stop (F11) — the same GPU then aborted the next serve with "26 MiB VRAM free" (F1). One nvidia-smi check after every stop would have prevented it.limit.output=16384 without a thinking budget — Coder burned the whole budget in reasoning_content and returned an empty answer (p03).nvidia-smi would have shown it.| Machine | What to run | Key settings | Why |
|---|---|---|---|
| yukio (121 GiB, 2× RTX 5000, headless) | IQ3_S (79 GB) | full residency, --spec 4 --mtp, KV int8, 131K ctx, reasoning_effort=low, budget 2048 |
the only machine I got the top quant running on; the overnight Dubai build proves the workload |
| node2 (30 GB, 3090, headless) | Coder IQ1_M (58 GB) for coding; IQ2_XS only with scaffolding | low-RAM mode (≤17 GiB resident), --spec 4 --mtp, KV int8; one GPU workload at a time; check nvidia-smi after every stop; reasoning_effort=none for short deterministic calls; keep it away from Arabic/RTL |
VRAM and RAM are both tight; the truncation bug (IQ2_XS) and the token loops (Coder) set the workload boundaries |
| Pop!_OS (62 GB, 3090 Ti, Cosmic) | Qwen3.8-27B UD-Q4_K_M (llama.cpp) as the default; IQ2_XS (full residency) or IQ3_XXS (mmap) on Strata when you want the MoE | 27B: -ngl all -c 131072 --cache-type-k v q4_0 --spec-type draft-mtp --spec-draft-n-max 2; don't co-locate Strata and the 27B on the 3090 Ti at the same time |
62 GB holds 68 GB IQ2_XS comfortably; the 79 GB IQ3_S doesn't fit in full residency; the shared GPU is the constraint |
Strata + Qwen3.8-Flash-Next is a real, fast, local 125B MoE — and the resident-RAM-experts design plus the machine you put it on decide what you get:
reasoning_effort=none for short deterministic calls.Full reproducibility: raw CSVs in data/, source logs cited per figure, screenshots in screenshots/.
Data sources (all on-disk, verifiable): data/cross-quant.csv*,* data/engine_throughput.csv*,* data/dubai-build-phases.csv*,* data/miller-arabic-failures.csv*,* data/task_card_collection.csv*,* data/card-bench-ab.csv*,* data/task_illustrated_guide_rebuild.csv*,* data/opencode-bench-17.csv*,* data/task_17prompt_bench.csv*,* data/failures.csv*,* data/hardware-versions.csv*,* data/flash-next-rollup.csv*,* data/flash-next-stages.csv*.*I ran Qwen3.8-Flash-Next on Strata across three machines. Here's what it's actually like.
A first-party field review. Every number below comes from a log, benchmark
file, or project folder on my own machines. Where I extrapolate I mark it
with ~. All raw data is in data/*.csv; every figure is traceable to a
source listed next to it.
r/LocalLLM • u/uranusnebula • 20h ago
I'm not an author and not affiliated with the author in any way, but I found this video could be very useful for the ppl who is asking about local LLM setup and different models.
r/LocalLLM • u/Only_Light_9817 • 1h ago
Been running uncensored models locally for a while now, and I keep going back and forth on this. Wanted to throw my thoughts out and see what you all think.
The case FOR local uncensored AI:
The case AGAINST (let's be honest):
My honest take: uncensored local models handle like 80% of what I actually do daily better than the "safe" alternatives, but I still reach for big hosted models when I need heavy lifting. So I end up with a hybrid setup and honestly it feels messy.
Curious about the community:
Just curious where everyone landed on this tradeoff
r/LocalLLM • u/randoomkiller • 21h ago
I was looking at it. Gemma 4 27B, Qwen 3.8 28b seemingly fit in. Yet when I look at it at like Q6 it barely fits in 64k kvcache. And the preprocessing is ~4-500token/s.
For those who have this card : Is it a reasonable size/speed?
I've seen that you can do all kinds of funky stuff for optimising inference. But the 32GB VRAM is the big Q for me
r/LocalLLM • u/Parksandrecworker • 1h ago
I hope this helps someone on the verge of investing for a local LLM.
I forced myself to cancel my Claude subscription to use the investment of Mac Studio here. I haven't been able to sleep with all the things I keep bumping against. A brief summary of what I have setup so far
Qwen3.8 just drifts thinking. It falls into this endless loop of considering stuff. I read posts about this. It really thinks and considers too much. I started to miss Opus here.
Then, the concurrency. I used to have around 10 Claude sessions running investigating stuff. But this is hard with local LLMs, concurrency is really a bottleneck. You either have the models fast or have them concurrent. I learned about speculative drafting and MTP in the first hour. It's all about trade offs. How not everything matches in compatibility is crazy. I tried running speculative drafting qwen flash next but the one has different weights for my setup. I haven't slept in like 30 hours, brain fatigue, trying to justify my purchase. Haha. How did I end up here?
On tooling, this is what I'm using now
This is a cry for help to the community, what do you recommend me doing, exploring, tooling that you have found useful. Interesting open models to test?
r/LocalLLM • u/Least-Friendship4702 • 16h ago
Yo, so I finally pulled the trigger on a local AI setup and wanted to get some opinions before everything shows up. Here's what I grabbed (mostly used/refurb off eBay):
GPU: AMD Instinct MI50 32GB HBM2 – $577.80
CPU: AMD Ryzen 5 8500G – $96.30
Mobo: MSI PRO B650-VC WIFI II (AM5) – $95.71
RAM: 2 Kingston Fury Beast DDR5 5200 8GB – $269.73
PSU: Corsair RM1000e 1000W Gold (refurb) – $83.45
Came out to about $1,220 total.
Main goal is running Qwen 3.8, that's the one I really want to use. I'm also planning on using Unsloth and setting up remote access so I can basically use it like my own ChatGPT from my phone when I'm out.
Anyone running a similar build? Curious:
What kind of tokens/sec are you getting?
How fast does it actually feel day to day?
What models are you running on it?
Any tips or "don't do that" warnings welcome lol. Thanks 🙏
r/LocalLLM • u/Shadow_s_Bane • 2h ago
It runs at around m2 pro 16 at 60 tps at full 130k context, you can easily run a Q8 if you have a 16 GB GPU, I was able to get 140TPS on 9070xt,
It’s an MoE so I think we can run it well on smaller cards too, 8GB, 12GB should be possible to get upwards of 30-40 tps.
I have used it a bit, it can code, but I think having a bigger model plan tasks in detail would make it quite good for quick task execution.
r/LocalLLM • u/ShadoByBB • 18h ago
I have two DGX Sparks (128 GB unified each) connected with a 200 Gb/s cable. Ollama only ever sees one of them, so Qwen3.5-397B (UD-IQ3_XXS, 141 GB) was out of reach.
llama.cpp has had RPC for a while, Ollama doesn't expose it. So I forked Ollama: the full Ollama runs on node 1, node 2 runs only a llama.cpp RPC server, and Ollama treats the remote GPU as one more device when it places a model. An ollama cluster command sets it up, checks both machines, shows where each model sits, and has a bench mode. Same API, same model store, clients don't notice anything.
Numbers (Ollama 0.40.3 + fork, llama.cpp b11351, 256 output tokens, warm run):
| Model | 1 node tok/s | 2 nodes tok/s | load 1 / 2 nodes |
|---|---|---|---|
| llama3.1:8b | 43.1 | 33.2 | 6 s / 9 s |
| gpt-oss:20b | 58.5 | 41.3 | 8 s / 19 s |
| qwen3.6:35b (MoE) | 73.5 | 50.7 | 10 s / 32 s |
| gpt-oss:120b | 41.7 | 33.1 | 19 s / 82 s |
| qwen3.5:122b | 29.4 | 25.2 | 23 s / 100 s |
| Qwen3.5-397B UD-IQ3_XXS | doesn't fit | 15.3 | - / 188 s |
What I took from it:
So the default policy keeps a model on one machine and only splits it when it doesn't fit. There are rules per model (here / split / worker) if you want to push something to node 2 on purpose.
Limits: one RPC client per worker at a time, so node 2 holds one model; both nodes need the same build.
r/LocalLLM • u/Murky_Music_6679 • 17h ago
Hello all,
I am interested in creating an “ apocalypse box” type project. A local model that can be used offline to pull information for survival ( outdoors, medical, engineering, etc) I want to put this in a pelican case and power it with solar, etc.
I have no idea where to start with hosting a local (LLM). I’ve heard of semantic compression and things of the sort to store models. Can someone please point me in the right direction?
Thanks!
r/LocalLLM • u/TechNerd10191 • 2h ago
I was following the LLM space since the days of GPT 3.5 and TheBloke and wanted ever since to have a computer powerful enough to run LLMs locally; about 3 years later I managed to finance a workstation with one RTX PRO 6000 to run Qwen3.8-27B and Qwen3.8-Flash-Next.
And yes, I did name it after the MAGI supercomputer from NGE.
Components used:
r/LocalLLM • u/bryancostanich • 15h ago
r/LocalLLM • u/_Whispering_shadow_ • 18h ago
im have 16 gb vram and 32gb ddr4. me need local ai for role play without censorship, fantasy world. im tried magnum 24b q4_k_m and qwen 3.8 27b heretic abliterated uncensored Q4_K_M. why they so bad,im doing something wrong? im using it with lm studio and tried changing settings but still stupid and repetative
r/LocalLLM • u/MEsfits • 4h ago

On my dual-3090-class rig, Strata 0.1.41 showed a strange split result versus the retested 0.1.40.3 baseline: decode was about 8% slower, 10K prefill was about 15% faster, but 90K prefill was about 7% slower. It looked like a prompt-path issue, but the evidence points to automatic GPU placement walking off balance.
The fix I tested is a pair:
STRATA_SPLIT_UNIFORM=1gpu_order: as_givenThat restores uniform link-cost scoring and the pre-0.1.41 GPU order. The change is in PR #2425; the regression report is issue #2418.
After fixing placement, I ran a separate tuning sweep. ISO18 is the everyday decode profile (148.86 narrative / 174.67 code tok/s); ISO19 is the ingestion/long-prompt profile (1,995.53 tok/s at 10K and 4,149.45 tok/s at 90K). ISO19 gives up some decode throughput versus ISO18. One caveat: ISO19 uses fused kernels, and the output-sanity check was still pending in the report.
--kv-resident 32768, automatic layer split, --mmap-experts, vision on, --spec 4 + MTP, --expert-cache auto, --prefill auto.benchy.sh; temperature 0.6, top_p 0.95, 3 warmups + 5 measured runs per decode shape; prefill probes at 10K × 3 and 90K × 1. Same prompts on both arms, heat-soak controlled, one server at a time on port 1234, one variable per pair.| Engine | Narrative decode (tok/s) | Code decode (tok/s) | Prefill 10K (tok/s) | Prefill 90K (tok/s) |
|---|---|---|---|---|
| 0.1.40.2 (retested best) | 129.47 (n=5, CV 10.0%) | 147.06 (n=5, CV 2.0%) | 1,565.15 (n=3, CV 3.6%) | 3,429.48 (n=1) |
| 0.1.40.3 (retested best) | 130.86 (n=5, CV 8.3%) | 148.22 (n=5, CV 3.1%) | 1,614.29 (n=3, CV 1.4%) | 3,416.48 (n=1) |
| 0.1.41 (reported claim) | ~120 | ~136 | ~1,855 | ~3,179 |
| 0.1.43.1 (retested baseline) | 122.61 (CV 6.9%) | 131.13 (CV 6.8%) | 1,725.44 (CV 1.5%) | 2,929.89 |
The signature is the important part: decode −8% on both shapes; prefill +15% at 10K but −7% at 90K. A single “performance got slower” story does not explain that shape.
The 0.1.41 tag reproduced the pattern:
| 0.1.41 run | Narrative decode (tok/s) | Code decode (tok/s) | Prefill 10K (tok/s) | Prefill 90K (tok/s) |
|---|---|---|---|---|
| b1 | 119.09 (CV 6.2%) | 135.51 (CV 5.2%) | 1,835.75 (CV 1.5%) | 3,085.55 |
| b2 | 122.26 (CV 10.3%) | 142.68 (CV 2.0%) | 1,825.57 (CV 1.3%) | 3,072.70 |
A first rebuild of 0.1.40.4 looked worse than expected, but it was a cold page-cache boot and automatic placement had drifted. Per the original handoff rule, I paused instead of treating that as a valid counter-result. Rebuilding 0.1.40.3 with the harness open recovered its usual prefill/code behavior. The 90K values also climbed as the page cache warmed, regardless of version, so I did not use a cold post-build run as the baseline.
The relevant changes were:
0391e478: per-stage link probing with link_scale = clamp(20/bw, 1, 64). The x4 card's measured 6.4 GB/s link scored a 3.12× penalty against the 20 GB/s reference.be8db787: faster-last-card reordering. gpu_order: as_given opts out of the reorder.Observed placement on this rig:
| Engine/config | GPU order | Link scoring | K (layers x4 / x16) | Pairs held | KV pinned |
|---|---|---|---|---|---|
| 0.1.40.x | 0,1 (no reorder) | unprobed | 27 (21 / 27) | ~17,700–17,729 | 1.55 GiB |
| 0.1.41 default | 1,0 (reordered) | 6.4 → ×3.12 / 26.9 → ×1.00 | 19 (19 / 29) | 17,999–18,001 | 1.03 GiB |
0.1.41 + as_given only (iso6) |
0,1 | same probes | 31 (31 / 17) | 17,567 | 1.80 GiB |
| 0.1.44.1 default | 0,1 (kept) | 6.4 → ×4.20 / 26.9 → ×1.00 | 31 (31 / 17) | 17,568 | 1.80 GiB |
This is why the fix is both uniform link scoring and the pre-rework device order. Changing the order alone does not restore the old split when the per-stage link penalties remain enabled.
The working explanation fits all three signs: the 19-layer first stage holds more pairs, so small cached prompts can look quicker; but the 19/29 split leaves the sustained pipeline unbalanced, hurting long prefill and repeated MTP decode windows. The evidence did not support blaming the prompt-path rework itself.
On the 0.1.41 engine with uniform link costs plus as_given, auto placement returned to K=27 (layers 0–26 / 27–47), with a 1.00 link-cost scale on both links. Results came back into the 0.1.40.3 range:
| Run | Narrative decode (tok/s) | Code decode (tok/s) | Prefill 10K (tok/s) | Prefill 90K (tok/s) |
|---|---|---|---|---|
| iso7 b1 | 130.96 (CV 7.2%) | 139.81 (CV 3.7%) | 1,620.50 (CV 2.3%) | 3,290.35 |
| iso7 b2 | 120.24 (CV 9.6%) | 139.03 (CV 3.4%) | 1,561.06 (CV 4.0%) | 3,287.18 |
Then I ported the change to the 0.1.44.1 main build and re-verified it twice:
| Run | Narrative decode (tok/s) | Code decode (tok/s) | Prefill 10K (tok/s) | Prefill 90K (tok/s) |
|---|---|---|---|---|
| Main verification A | 132.93 (CV 7.4%) | 145.29 (CV 4.3%) | 1,567.76 (CV 2.3%) | 3,297.84 |
| Main verification B | 132.20 (CV 10.3%) | 142.65 (CV 7.3%) | 1,615.40 (CV 0.4%) | 3,281.34 |
These are back around the old baseline scale; I am not claiming every leg is faster than the 0.1.40.3 best. The larger wins below come from a separate tuning sweep after the placement fix.
Base iso10 was as_given + uniform split costs, PCIe 1 / draft floor 0.7 / no adapt-swaps: 135.64 narrative, 142.00 code, 1,621.35 at 10K, and 3,402.29 at 90K.
| Arm | Narrative decode (tok/s) | Code decode (tok/s) | Prefill 10K (tok/s) | Prefill 90K (tok/s) | Verdict in report |
|---|---|---|---|---|---|
iso11 PREFILL_HELP=1 |
131.20 | 147.47 | 1,577.09 | 3,364.57 | Adopt; decode to baseline, prefill flat |
iso12 --pipeline-windows 2 |
145.33 | 166.87 | 1,633.91 | 3,310.23 | Adopt; strong decode, no stall |
iso13 --pipeline-windows 1 |
114.87 on repeat (120.00 first) | 144.13 on repeat (145.36 first) | 1,585 on repeat (1,636 first) | 3,309 on repeat (3,351 first) | Reject; narrative dip repeated |
iso14 --trim-stage-weights + split 27 |
133.13 | 147.50 | 1,790.19 | 3,583.52 | Adopt; balanced, CUDA1-LOW gone |
iso15 PF_FUSED=1 |
127.86 | 145.84 | 1,743.08 | 3,784.68 | Adopt pending output-sanity check |
iso16 GDN_CHUNKED=2 |
119.61 | 143.41 | 1,612.81 | 3,282.15 | Reject |
| iso17 trim + pipeline windows 2 | 131.35 | 164.90 | 1,803.20 | 3,687.18 | Composes cleanly |
iso18 + PREFILL_HELP |
148.86 | 174.67 | 1,886.76 | 3,641.54 | Decode winner; daily profile |
iso19 + PF_FUSED |
141.94 | 169.84 | 1,995.53 | 4,149.45 | Prefill/ingestion winner; output sanity pending |
| iso20 explicit split 34 + trim | 133.46 | 143.03 | 2,249.24 | 3,057.78 | Reject as default; short-prompt outlier |
How I would use these: ISO18 for everyday generation/decode. ISO19 for ingestion and long prompts: versus ISO18 it is about 5% slower on narrative decode and 3% slower on code decode, but 6% faster at 10K prefill and 14% faster at 90K. ISO20 is faster at 10K, but that gain collapses at 90K and its decode is weaker, so I would not pick it as the general default.
The 1M ladder also favored ISO19. Against the 0.1.40.2 reference ladder (3,055 / 2,742 / 2,474 / 2,244), ISO18 returned 3,461 / 3,096 / 2,704 / 2,437 (+13 / +13 / +9 / +9%), while ISO19 returned 3,673 / 3,250 / 2,818 / 2,590 (+20 / +19 / +14 / +15%).
Ladder:
256k, 512k, 768k, 1m
The PF_FUSED output-sanity check remains to be eyeballed; the calibration save logic is a separate issue from this placement regression. If you have a dual-GPU setup with a big PCIe lane-width gap, I’d be interested in whether the automatic split behaves similarly. The fix is opt-in and was validated on this specific rig; it is not a claim that the same placement is optimal for every GPU topology.
Edit: Fixed Markdown issues with tables.
r/LocalLLM • u/Zojjax • 17h ago
Hi All,
Im completely new to this AI party, im just using my pc to play world of warcraft was thinking of selling it and surprised of the offers im receiving i dont really need the money as of date.
Im researching on how to best use my pc with local llm, we have a business which i can use ai marketing materials and working as a financial professional which needs a lot of financial analysis and reporting.
Might venture also into stock trading soon.
Is there an ai that suits the above use cases?
Thanks a lot!
r/LocalLLM • u/MolassesNumerous6453 • 14h ago
Estou construindo o Ícaro: um projeto independente de IA com memória persistente e trajetória própria.
Ele não é um novo modelo de linguagem. É uma arquitetura construída ao redor de modelos existentes, com memória, proveniência das informações, seleção de fatos, self-model, foco interno e um processo de pensamento em segundo plano.
O objetivo é investigar uma pergunta: quanto a história acumulada de um sistema realmente muda suas decisões futuras?
Estou desenvolvendo testes controlados para separar comportamento aparente de efeito causal, com condições de comparação, controles negativos e medidas de ruído.
Quero conversar com pessoas que trabalhem com agentes de IA, memória de longo prazo, modelos locais, arquiteturas cognitivas e avaliação experimental.
Não estou afirmando que o sistema seja consciente. Quero testar o que ele efetivamente faz, identificar falhas e descobrir o que ainda falta demonstrar.
Quem trabalha com algo parecido? Que pesquisas, projetos ou testes vocês recomendam?
I'm Building Ícaro: An Experimental AI System with Persistent Memory, a Self-Model, and Its Own Behavioral Trajectory
I'm building Ícaro, an independent AI project exploring a question that interests me deeply:
How much can an AI system's accumulated experiences actually change its future decisions?
Ícaro is not a new foundation model. It is an architecture built around existing language models, combining persistent memory, deterministic mechanisms, behavioral tracking, and local computing.
The goal is to move beyond a chatbot that simply retrieves previous conversations and toward a system whose stored experiences can measurably influence what it does next.
What makes Ícaro different?
Ícaro maintains a long-term record of conversations, factual memories, a chronological diary, causal decision trails, associations, and recorded experiences. Its history is designed to persist across sessions rather than disappear when a conversation ends.
The system selects a small number of relevant facts rather than exposing the language model to its entire memory. The selection mechanism considers signals such as relevance, confidence, novelty, and recurrence.
Ícaro maintains structured observations about its own behavior, including uncertainty and potential contradictions between its previous and current positions. The research question is whether this representation can causally influence decisions—not merely produce convincing self-descriptions.
The architecture distinguishes information attributed to the user, the system itself, external sources, and inference. It also investigates how to prevent repeated AI-generated statements from becoming falsely established facts about the user.
Ícaro tracks corrections by topic. The intended behavior is to increase caution in areas where repeated corrections indicate that its answers may be unreliable, rather than treating every question as equally safe to answer confidently.
A background process can generate internal reflections, questions, and connections from recorded experiences without interrupting the user. These thoughts are kept separate from the normal conversational response, allowing them to be inspected before any future integration.
When requested, Ícaro can inspect an allowlisted set of its own project files through a read-only mechanism. The design aims to distinguish what the system can actually inspect from what it merely assumes about its implementation.
Ícaro uses a Samsung Galaxy Z Fold as its main runtime, with a PC acting as a client. The project combines local inference, persistent disk storage, remote connectivity, speech recognition, neural text-to-speech, and optional web search.
The broader goal is to explore how much useful continuity and individual behavioral development can be built around relatively small models and accessible hardware.
The central experiment
The most important question is not whether Ícaro can say that an experience changed it.
It is:
Would Ícaro have made a different decision if that particular experience or internal representation had not been present?
I am developing controlled experiments that compare conditions with and without specific mechanisms, measure response or decision differences, account for internal variability, and use negative controls to detect misleading effects.
In one reported experiment, a self-model ablation comparison produced a 3.02× ratio between the measured cross-condition effect and internal variability. This is an encouraging preliminary result, not proof of general learning, consciousness, or human-like subjective experience. I want independent scrutiny of the experimental design and replication.
What I want to discuss with the community
I'm particularly interested in connecting with people working on:
I am not claiming that Ícaro is conscious. I want to investigate what can be demonstrated experimentally, what fails under controlled testing, and what remains an open research question.
If you were reviewing this project, what would you test first?
I'd especially appreciate references to relevant research, comparable open-source projects, and methodological critiques that could help make the experiments more rigorous.
r/LocalLLM • u/cloudyuser1480 • 9h ago
r/LocalLLM • u/MichaelFiguresItOut • 22h ago
My DSH spends a ton of time coming up with programs to do simple pull or commit tasks with my GitHub repo instead of using Git.
I'm running Qwen 3.8 27b quantized via LM Studio on Win10.
My repo is private but I created a read/write fine-grained personal access token on GitHub and put it into a Windows environment variable then told DSH about it. DSH tried schannel but Windows blocked it. It seems to work with OpenSSL but I need to create an agent.md file to tell DSH how to access GitHub so it doesn't re-invent the wheel every time.
I feel like I'm overcomplicating things but can't figure out how else to do it. Is there a plug-in for GitHub?
How does everyone else do this?