r/LocalLLaMA • • 11h ago

Discussion Qwen 3.8 27B vs Flash Next 125B on the same threat-monitoring project: code review, tests, and where both failed

0 Upvotes

I gave both models IQ3_S the same prompt: build a real-time cyber threat intelligence platform with Python, FastAPI, async ingestion, persistent storage, WebSockets, and an interactive Three.js globe.

The difficult requirement was data integrity. The platform had to use actual intelligence sources, preserve attribution and timestamps, distinguish observations from inference, and avoid inventing attacks or destinations to make the globe look busy.

After reviewing the two delivered codebases, the 27B submission is the one I would choose to repair and build on. Neither fulfilled the complete prompt. Flash Next attempted more features and included more tests, but several of its core data contracts were broken.

This is one saved submission per model, with the model names taken from the labels used for these runs. The follow-up review and this write-up were AI-assisted. This is an artifact comparison, not a controlled study of overall model capability.

What the task actually asked for

Both were asked to integrate sources including Cloudflare Radar, GreyNoise, DShield, ThreatFox, and distributed honeypot networks. Beyond fetching data, the requirements included:

  • Normalization, deduplication, IP geolocation, classification, and configurable risk scoring.
  • Correlation, historical storage, anomaly detection, timelines, geographical filters, and investigation views.
  • Animated trajectories only where actual source and destination evidence supported them.
  • Resilient integrations, rate-limit handling, structured logging, testing, benchmarking, and deployment.

That makes this a useful test of whether the pieces agree with each other. A source adapter, a database, and a globe can all exist while the application still misrepresents the underlying observations.

Results at a glance

Check Qwen 3.8 27B Flash Next 125B
Existing pytest suite 16 passed 34 passed
JavaScript syntax checks Passed Passed
Downloaded DShield sample Parsed 5/5 top-IP records Parsed 20 subnet rows, but read the wrong count column
ThreatFox Documented response discarded Wrong request selector and incorrect IOC normalization
Cloudflare Radar Legacy endpoint Request/parser mismatch with documented country-top API
WebSocket backpressure Can block ingestion Can block ingestion
Full prompt satisfied No No

The DShield integrations use different feeds, so their record counts are not a head-to-head coverage measurement. One consumes top-IP observations; the other consumes subnet aggregates.

The failures that mattered most

1. Flash Next could report a successful source run after discarding every record.

Its Feodo adapter expected CSV fields such as c2_server_ip, c2_server_port, and bot. The downloaded public CSV used dst_ip, dst_port, and malware.

Replaying that downloaded body through the unmodified parser produced:

text Input records: 5 Parsed events: 0 Returned error: None

The retrieved sample itself carried an older update date, so it was evidence of a parser mismatch, not proof of current botnet activity. The application still needed to recognize its schema or report an explicit incompatibility.

2. Its DShield adapter treated a subnet prefix as an activity count.

The feed defines column 3 as the subnet prefix and column 4 as the number of targets reporting scans. In the first downloaded row, those values were 24 and 344.

The normalized count was 24.

That error propagates beyond a label: the count feeds statistics and volume-based scoring. The adapter also represents the subnet by its starting address, which is not proof that that individual address attacked anyone. The DShield feed includes the column definitions.

3. Both implementations mishandled ThreatFox.

27B sent the correct recent-IOC request but expected response fields such as ip, threat, and date. A fixture using the documented IOC schema produced zero records while setting a last-success timestamp.

Flash Next sent:

json {"request": "fetch_last_24h"}

The documented recent-IOC operation uses:

json {"query": "get_iocs", "days": 1}

Its normalization also treated a domain IOC as a source IP and lost the source timestamp. These were request/parser checks against the ThreatFox contract, not authenticated live integration tests.

4. The analytics could manufacture confidence or inflate activity without new source evidence.

27B awarded a corroboration bonus after seeing the same IP twice from the same source. Two DShield observations in different deduplication buckets scored 9.2, then 21.2, with the second marked corroborated even though only one distinct source existed.

Flash Next added snapshot counts together. Reprocessing the same count=100 observation produced count=200. That measures repeated ingestion as if it were additional source activity.

Its anomaly flush also inserted a timeline count of 1 during an idle flush with no threat event. No production synthetic-threat generator was found in either project, but this scheduler tick still contaminates a chart presented as threat activity.

5. Some promised features existed in code but could not work through the normal execution path.

Flash Next's cross-source correlation examined only the current batch. Normal polling processes one adapter at a time. Sending the same IP through two separate source batches produced no correlation, despite both records being stored.

Its GreyNoise fallback returned a bare list where the pipeline expected (events, error). An empty fallback caused an unpacking exception. More generally, an unexpected adapter exception escaped the source loop; no supervisor restarted that poller, and the health endpoint did not check task liveness.

27B isolated ingestion exceptions better, but it also lost independent anomaly records: two country/category alerts in the same window produced two broadcasts and only one stored alert because their IDs collided.

6. The frontend had correctness and security problems too.

Node probes executing selected actual frontend functions reproduced these Flash Next issues:

  • Redrawing a one-item feed twice grew its backing history from 1 to 2 to 4 entries.
  • The country filter rejected a US bootstrap record but accepted an equivalent live record because their field names differed.
  • An anomaly message threw a TypeError because the client read msg.data.data instead of msg.data.
  • Feed-controlled markup reached innerHTML without escaping. That is an injection sink; a browser script-execution exploit was not attempted.

27B generally used textContent for external values, which was a better choice. It still duplicated events when replaying a reconnect snapshot, and its stored confidence distinction was not clearly exposed in the event UI.

Both WebSocket hubs awaited client sends inline without a deadline. A deliberately blocked fake client kept broadcasting pending until an external test timeout cancelled it. Since ingestion awaits broadcasting, a slow viewer can stall the data pipeline in either project.

Why I still prefer the 27B submission

27B provided an app factory, centralized retries and circuit breaking, JSON file logging, event retention, a persistent geolocation cache with expiry, a README, and a live benchmark entrypoint. Those choices made it the more coherent repair baseline.

Flash Next had useful ideas: explicit confidence classes, geographic precision metadata, batched geolocation, optional offline GeoIP, source-run storage, and richer filters. But more interfaces disagreed with each other, from provider responses to frontend message envelopes.

Neither demonstrated a working current Radar integration. 27B used the dimensionless L3 timeseries endpoint that Cloudflare's release notes say stopped receiving data after August 2023. Flash Next's request and parser differed from the documented country-top contract. No token-authenticated Radar check was performed.

Neither demonstrated a deployed, continuously operating observatory. Both also lacked validated global coverage, calibrated anomaly detection, and evidence of reliable real-source attack trajectories.

How the report scored them

Category Weight 27B Flash Next
Integration correctness and live coverage 20 8 5
Scientific accuracy and provenance 20 10 6
Reliability and resource control 15 9 5
Architecture and maintainability 10 7 6
Dashboard behavior and investigation 10 6 6
Storage, correlation, and anomaly quality 10 5 4
Tests and validation evidence 10 5 6
Deployment and reproducibility 5 2 1
Total 100 52 39

These are subjective review scores under a declared rubric. They are not model benchmark scores or percentages of production readiness. Integration and evidence integrity account for 40 points because the prompt explicitly prioritized trustworthy intelligence.

What was tested, and what was not

The review ran both unmodified test suites, JavaScript syntax checks, focused Python/Node probes, and downloaded-feed parser checks. Provider contracts were checked against primary documentation. Test fixtures stayed in isolated contexts; application source was not repaired for the comparison.

A small storage-only benchmark ran three paired trials of 500 unique serial writes into temporary SQLite databases:

Storage-only measurement 27B Flash Next
Median time for 500 writes 211.10 ms 390.77 ms

27B was about 1.85x faster in that narrow workload. Flash Next's richer upsert performs an extra lookup and lock. The test excluded HTTP, geolocation, the full pipeline, WebSocket consumers, and browser rendering; cache/order effects were not controlled. It says nothing about model inference speed or sustained live ingestion capacity.

There was no browser/WebGL acceptance run, authenticated keyed-provider test, production deployment, or long-duration soak. Both suites used the same installed Python environment, rather than fresh locked installs.

Generation settings, tool budgets, token usage, cost, hardware, and original agent traces were not available for this review. I cannot establish equal generation conditions or generalize from these two outputs to overall model quality.

For this project, I would repair 27B first and selectively reuse Flash Next's better domain concepts. The result that changed my assessment most was that both test suites passed while independent checks still found silent data loss and incorrect observation semantics. Those are the checks I would add to the next comparison before giving either system credit for a working intelligence integration.


r/LocalLLaMA • • 12h ago

Question | Help Strata Coder — EPYC 7532 (8-channel DDR4) vs Ryzen 9950X3D (DDR5). Does the CPU actually matter?

0 Upvotes

I appreciate everyone here is probably sick to death of Strata posts by now, but frankly, this is also the most knowledgeable community I've found when it comes to squeezing ridiculous amounts of AI performance out of questionable hardware. So I figured this was probably the best place to ask!

I've been looking into Strata, particularly the dedicated Qwen3.8-Flash-Next Coder (GSQ-RCO IQ1_M) model for local coding with OpenCode.

I've got two rather different machines and I'm curious how much CPU architecture and system memory bandwidth actually affect Strata's performance.

System 1 — EPYC Server

  • EPYC 7532 — 32C/64T, Zen 2
  • 128 GB DDR4-2666 ECC, 8 channels
  • RTX 3090 24 GB
  • PCIe 4.0

System 2 — Gaming PC

  • Ryzen 9 9950X3D — 16C/32T, Zen 5
  • 96 GB DDR5-6000 CL30, dual channel
  • RTX 3090 24 GB (can move the same card between systems)
  • PCIe 4.0 GPU

The EPYC has roughly 171 GB/s theoretical memory bandwidth versus 96 GB/s on the Ryzen, but the Ryzen has much faster cores and AVX-512.

Has anyone benchmarked Strata Coder on either platform, or compared modern Ryzen systems against older eight-channel EPYC servers?

I'm particularly interested in:

  • Prompt processing versus generation speed
  • GPU expert-cache hit rates
  • Whether CPU performance or memory bandwidth makes the bigger difference
  • How much performance changes between Coder IQ1_M and the full Flash-Next IQ3_S model
  • Whether the CPU/RAM differences become insignificant once most experts are cached in VRAM

If you've got benchmark results, it'd be great to know your CPU, RAM configuration, GPU, Strata version, quantisation and context length.

I'm planning to benchmark both systems with the same RTX 3090, but figured I'd ask whether anyone has already investigated this.

I'm especially curious whether Strata's optimisations have made older eight-channel server platforms genuinely competitive with modern DDR5 desktop CPUs for local coding.


r/LocalLLaMA • • 10h ago

Question | Help Anyone using Open Weight models running Locally for actual development?

0 Upvotes

Hey folks; question for you - are any of you using open weight models running locally for actual development tasks? If so, what models are you using, and what kind of tasks are you giving them?

I ask, because I've made an open source harness (you can play with it, but it's still beta and I have done almost no windows/linux testing and the first run experience is not great yet). A big part of how it works is that there are three routing tiers:

Primary | Secondary | Local.

  • Primary - What runs your main agent, and for instance, i use it with my ChatGPT/Claude account.
  • Secondary - What the main agent primary delegates to. I personally use a deep infra account and GLM 5.3 + GLM 5.3 flash. GLM 5.3 is slow, but super capable. 5.3 air is fast and nearly as capable.
  • Local - The harness routes to this for truly local tasks. Git workflows, documentation, searching through code and creating summaries, etc.

The thing about local, is that I have a 128GB M5 or whatever, and I run llama-server with GLM 4.5 air. And with a proper context size (128K), it takes like 96GB of RAM or something. I have tried Qwen3, Gemma3, and some older deep seek models and anything less than GLM 4.5 air has been pretty disappointing. It's possible that I had Qwen3 or deep seek not properly configured (and I've made some changes since to better handle tool calls and whatnot), but I had very little luck with them. I've seen the benchmarks, and they make me believe that I shouldn't need a 96GB model to get decent local development experience.

So if you've run some local models with good experience, what have you been running? what amount of RAM on your machine do you have? I really want some good out of the box configurations in Cercano for folks that have a 48GB/96GB machine, and your experience can help me here.


r/LocalLLaMA • • 10h ago

Showcase Introducing It: The First Display For Your AI Agents | Any Agent, Any Screen | GitHub

Enable HLS to view with audio, or disable this notification

0 Upvotes

Hey folks,

We all know that reading walls of text sucks. Many labs/companies have been moving towards bringing AGUI into the existing chat window, but that always felt broken. I mean I've never seen Tony Stark write a prompt :)

It is what you want It to be.

Agents already know the best way to get the information from you for a particular task, It gives them a space to do so.

The 2-way communication loop's execution is so good that agents can form full-on dynamic workspaces for each specific task: study math together on a collaborative whiteboard, dynamic live dashboards, etc.

The sick part is that it works with any agent harness you may already be using!

Just tell your agent:
"Install itcan.do"

or install it yourself at itcan.do

GitHub: https://github.com/Aaryan-Kapoor/it

May your GPUs stay warm(or cold?)!


r/LocalLLaMA • • 10h ago

Resources Basalt Appreciation Post! Do you have Blackwell and like being happy?

0 Upvotes

Thank you to jesdga95, the creator of Basalt, a fork of Strata for Blackwell hardware! I just got my 5060ti16gb and my measly 32 GB of ram system to 75tok/sec and 1200 prefill at 128k(q2 model ofc) . I had to go q4 on the kv to do it, but I can accept that. This is totally awesome. my system is hanging on for dear life with like 5gb left for the OS and all programs, but as a dedicated coding agent, I could not be happier, considering what I have... Whats even cooler is that he literally reached out to me when I was complaining about strata q1 and was early on my quest to get 3.8 Flash next working well. it is so cool to see an alive internet community where people are literally building the tools and helping others with them directly. Very kind.

https://github.com/jesdga95/basalt

I had to have deepseek4 do shenanigans and add a build flag to allocate more ram, but it worked!! Thanks so much :)


r/LocalLLaMA • • 20h ago

Discussion Order M5 Ultra Now?

0 Upvotes

Just had a look at un-binned 256gb M5 Ultras and the wait is now ~18 weeks. Since you don't pay until it ships, surely there decent chance prices will have risen again before it ships or soon afterwards?

Interested to hear what peoples thoughts are on how the next 12 months will play out in the memory market.


r/LocalLLaMA • • 6h ago

Showcase MI350P vs RTX Pro 6000 (Blackwell)

0 Upvotes

For anyone interested, I've been doing some kernel and tuning optimization for AMD because it was performing abysmal out of the box. But the effort was worth it as I was able to more than 2x its performance out of the box (the card is extremely new and there are almost no GEMM table and supports yet). (due to both using separate models and environmental factors input token can have ~3% less tokens for AMD to decode despite effort to keep them as close as possible). Just to keep things short and concise, I did a varying tests of small input c=8, medium input c=20, and long input c=1. Everything was done in cold state (no kv-cache at start).

And I think there is more performance to unlock for MI350P as below benchmark was performed when I was only able to unlock 50% mem utilization (currently inference is still heavily bounded by compute because of missing GEMM tuning config)

Model used:
AMD: amd/Qwen3.8-27B-Quark-AWQ-MXFP4
Nvidia: unsloth/Qwen3.8-27B-NVFP4

(Small) 3k-input, 8 user comparison, 100 prompts
AMD:
Total input tokens: 288653
Total generated tokens: 75000
Nvidia:
Total input tokens: 300000
Total generated tokens: 75000

AMD MI350P RTX Pro 6000 AMD vs RTX
Output throughput 889 tok/s 596 tok/s 1.49x
Time per output token (median) 7.2 ms 10.3 ms 1.42x faster
Time to first token (median) 200 ms 392 ms 1.96x faster
Draft tokens per step / accepted per step MTP 2 / 2.36 MTP 3 / 3.04 RTX accepts more per step but is still slower (AMD slowed down @ more than MTP 2)

(Medium) 50k-input, 20 user comparison, 20 prompts

AMD:
Total input tokens: 965153
Total generated tokens: 10000
Nvidia:
Total input tokens: 1000000
Total generated tokens: 10000

AMD MI350P RTX Pro 6000 AMD vs RTX
Output throughput 130.6 tok/s 50.4 tok/s 2.59x
Time per output token (median) 73.8 ms 182.7 ms 2.48x faster
Time to first token (median) 34.5 s 97.2 s 2.81x faster
Accepted tokens per step MTP 2 / 2.42 MTP 3 / 2.69 RTX accepts more per step but is still slower

(Large) 200k-input, 1 user comparison, 5 prompts
AMD
Total input tokens: 962033
Total generated tokens: 25000
NVIDIA
Total input tokens: 2000000
Total generated tokens: 25000

AMD MI350P RTX Pro 6000 AMD vs RTX
Output throughput 79.8 tok/s 45.1 tok/s 1.77x
Time per output token (median) 5.94 ms (about 168 tok/s) 8.02 ms (about 125 tok/s) 1.35x faster
Time to first token (median) 34.3 s 70.5 s 2.05x faster
Accepted tokens per step MTP 2 / 2.92 MTP 3 / 3.79 RTX gets 30% more tokens per step

r/LocalLLaMA • • 10h ago

Question | Help What's the most powerful model I can realistically run a NVIDIA RTX A2000 12GB?

2 Upvotes

I have 32GB of RAM.


r/LocalLLaMA • • 21h ago

News Anthropic Executive Says Open-Source AI Models Are Higher Risk

174 Upvotes

r/LocalLLaMA • • 19h ago

Showcase QFN Q_2 strata configs for 8gb vram and 32gb ram. 36 tps | 340 prefill 176128 context.

10 Upvotes

"--expert-cache",

"2000",

"--prefill",

"auto",

"--spec",

"2",

"--max-context",

"176128",

"--kv",

"q4_0",

"--resident-experts",

"--kv-resident",

"20480",

"--pcie-frac",

"0.00",

"--spec-min-p",

"0.70",

"--adapt-every",

"1",

"--adapt-swaps",

"80",

"--adapt-decay",

"0.97",

"--vram-reserve-mib",

"300"

the tweak that worked to fix prefill is sacrificing mtp which had very little impact for me and caching 2000 experts. best model I have ever run on this hardware. no tool call issues no looping. even run past 3 compactions when I was doing 192k context but for that you will have to cache less experts. I have run into no issue so if you will use you do your own tests and judge. 3070 and 32gb ddr4


r/LocalLLaMA • • 9h ago

Discussion Strata performance finetuning - try it out

26 Upvotes

As strata is somewhat new, I assume that some people din't yet learn how to finetune it for best performance on their machine. I find documentation a bit hard to navigate (use your agents for this!), which doesn't help.

After some serious testing, I've tweaked pretty much every parameter available. Some are obvious and I'm not going to waste your time on explaining mtp tweaking.

Some I beleive are more obscure and those are the ones worth mentioning:

  1. Strata setup is supposedly picking the best --pcie-frac value for you. I find that it often doesn't. It's worth investing your time and testing it. Counterintutively, my best performing value is a low 0.2.
  2. By testing different --pool-workers values, I was able to find an easy +10% in decode. I'm not smart enough to explain what it does (and how it's different from point 4), but it's worth investing your time in running some benchmarks on your machine.
  3. --trim-stage-weights. Boom, extra +8%, try it. Doc is quite explicit on what it does if you're curious. I do beleive that this one can impact performance later in the session and increase swaps but it's still worth it.
  4. --pipeline-windows. All I know is that higher values make my CPU work extra. Going from nothing/default to 6 gave an almost 15% increase.
  5. Last but not least multi-GPU owners be mindful of GPU priority, if one of your GPUs is on a slower pcie lane. I have two RTX3060's. GPU 0 and GPU 1. At some point I noticed that one of the two GPUs basically acts as a memory pool and doesn't do any compute. I guess it's makes sense for a MOE model. But now I wanted to understand which ones eactly does the work.

So I quickly figured out that my default GPU 0 is the one on the slowest pcie lane! If your have two identical GPUs on different speed lanes, bear in mind that their 0/1 order is basically random. You need to figure out exactly which one is which and force the quick one to do the inference. Ask your agent for command lines to figure out whether the 0 or 1 is on your pci_e1 lane. In my case it was GPU 1, the only way to set it as the main GPU is a not very user-friendly two liner :)

"gpu": [1,0],

"gpu_order": "as_given"

This was like another +15%, ridiculous.

With all of those cumulated, I'm seeing speeds that I should not be having on my machine. I went from something like 35 decode peak on Qwen Flash Next IQ3_S, to 60 tps average code generation on empty context and 60-70 tps peaks.

Performance does degrade with full context but still easily a solid +15%-20% versus the previous baseline tests. This includes huge sessions on full context and compaction.

So, try it out.


r/LocalLLaMA • • 10h ago

Discussion Prediction: now that Photoshop was cloned, frontier AIs will be catastrophically crippled in a few months. Local AI will be the underground of advanced coding.

0 Upvotes

Gold Rush of advanced coding AI available to the public will END in a few months after a massive legislative crackdown justified by the need to "save economies and prevent terrorism". Advanced coding will only be available to corporations and governments.

.

Local AI will remain a gray zone as it requires massive amounts of hardware to even remotely resemble frontier capabilities (no matter what the enthusiastic posts on this reddit claim).

.

CIA will put people accumulating enough AI-related hardware to achieve "frontier-like capacity" on lists, so it will be easier to pinpoint where the next "Photoshop clone" will appear.

.

The Photoshop clones, et al, that we have now, will become illegal and will be erased under new legislation, and people making them will be legally pursued.

.

UNCENSORED local AI will become purged from HuggingFace and will be relegated to torrents. Not because it's powerful, but because of the above "terrorism" justification will put it under its umbrella.


r/LocalLLaMA • • 9h ago

Showcase Openspline : add a realtime lipsynced avatar to your AI in 5 lines of code

Post image
0 Upvotes

Hey everyone,

I’ve been working on a project called OpenSpline, an open-source avatar layer for existing voice agents. You supply a portrait and your agent’s audio, it generates synchronized talking video on your own NVIDIA GPU. The lite model can work locally on a single GPU.

It’s still early, but the results are super promising.

Would love to hear your thoughts, feedback, or ideas on what you'd want to create using it!

Code: github.com/openspline/openspline
Demo: openspline.dev


r/LocalLLaMA • • 19h ago

Showcase I built BitRun: A standalone runner for 1-bit LLMs (100–127 t/s on Apple Silicon & 40–45 t/s on PC CPUs with zero compile)

8 Upvotes

I built BitRun because I wanted to run 1-bit ternary LLMs on ordinary laptops without melting my battery, spinning up a dedicated GPU, or wrestling with complex build environments. Right now, BitRun gives you 98 to 127 tokens/sec on an Apple M4 Pro CPU and 40 to 45 tokens/sec on an Intel Core i5 PC CPU, pulling minimal power with 0% GPU usage.

To make this actually work on modern hardware, I had to fix several low-level C++ kernel math bugs in Microsoft's research codebase (bitnet.cpp):

Memory stride clobbering: In ggml-bitnet-mad.cpp, batch stride was ignored in the write-back stage, causing evaluated batch rows to silently overwrite each other in memory.

The infinite @ @ @ loop on ARM NEON: Block size was hardcoded to 64 instead of the GGUF standard 128 elements in ggml-cpu-i2s.c. That 50% pointer arithmetic shift fed scrambled bytes into the NEON DotProd adders.

Activation mismatch: The model graph initialized the FFN gate with SiLU, but the 2.4B model was trained with squared ReLU. Using SiLU distorted the activation range and produced gibberish.

Multi-turn BLAS crashes: BLAS was claiming matrix multiplications past 32 context tokens and jumping into unmapped memory with unaligned byte offsets.

Windows MSVC lockout: Removed artificial CMake checks that blocked native Visual Studio compilation.

I submitted the fixes upstream to Microsoft:

Then I packaged the patched engine into BitRun so anyone can test ternary models in 60 seconds with an Ollama-style workflow. No CMake, no Clang toolchains, no Python virtualenvs, and no heavy Docker images.

HOW TO RUN IT (ZERO COMPILE)

Mac / Linux: curl -fsSL https://raw.githubusercontent.com/IshekKhal/bitrun/main/install.sh | sh

Windows (PowerShell): irm https://raw.githubusercontent.com/IshekKhal/bitrun/main/install.ps1 | iex

Pull and chat on pure CPU:

bitrun pull falcon3-1b

bitrun run falcon3-1b

You can also run "bitrun serve falcon3-1b" to get an OpenAI-compatible REST server on port 11435 (point Cursor, Continue.dev, or Open WebUI to it).

Custom personas can be created using standard Modelfiles (bitrun create engineer -f Modelfile).

VERIFIED CPU SPEEDS (PURE CPU SIMD, 0% GPU)

Apple M4 Pro CPU (12 Cores):

  • Falcon3 1B Instruct (~1.30 GB): 98 to 127 tokens/sec (~1.9 GB RAM)
  • BitNet b1.58 2.4B (~1.13 GB): ~40 tokens/sec (~1.8 GB RAM)
  • BitNet 70M (~79 MB): 1,350+ tokens/sec (< 150 MB RAM)

Windows x86_64 (Intel Core i5-12600K, AVX2):

  • Falcon3 1B Instruct: 39 to 45 tokens/sec (209.6 t/s prompt processing)
  • BitNet 70M: 492 tokens/sec

Linux (WSL2 / 4 cores, AVX2):

  • Falcon3 1B Instruct: 40 to 45 tokens/sec

REALISTIC SCOPE

Ternary weights require Quantization-Aware Training (QAT) from scratch. You cannot just take an existing 70B FP16 model and post-quantize it down to 1.58-bit without destroying it. Because of that, the public model catalog right now is limited to models under 3B parameters (falcon3-1b, bitnet-2b, falcon3-3b, bitnet-70m). They will not replace Claude or GPT-4 for heavy coding.

However, for low-power edge devices, battery-conscious laptop use, and background automations where you want 100+ tokens/sec on pure CPU, it is ready to run today.

GitHub Repo: https://github.com/IshekKhal/bitrun

Upstream PRs: https://github.com/microsoft/BitNet/pull/642 and https://github.com/microsoft/BitNet/pull/644

Pre-compiled Releases: https://github.com/IshekKhal/bitrun/releases/tag/v0.1.0-alpha

Drop your CPU benchmark numbers if you try it!


r/LocalLLaMA • • 18h ago

Discussion Why people run models locally?

0 Upvotes

It might be a silly question, but why people are spending tens of thousands of Euros to run models locally? I can understand doing it for privacy, but I don't think that's the reason that drives most people to do it.

When GPUs can be rented online for a fraction of the cost, a situation that becomes even worse for models, and when hardware improves at a breakneck pace making current generation quickly obsolete, what makes people think that investing in a local system is the best choice?


r/LocalLLaMA • • 15h ago

Showcase Qwen 3.8 flash running at 12vram+32 ram

6 Upvotes

I finished putting my Gyro-M experimental setup on GitHub:

https://github.com/Gitshop77/GyroStrata

Original post : https://www.reddit.com/r/LocalLLM/s/4LmgejUQH4

Running full 256K context on a 4070 Super 12GB and 32GB RAM, getting around 950–1800 tok/s prefill and 30–38 tok/s output depending on context. Note that mtp and vision are off on purpose . they were affecting speeds in many test trials. If you have 16vram you could possibly try using MTP.

Includes the Strata patches, tuned settings, model downloader, installer and launcher. MTP and vision are off.

Speeds depend heavily on your CPU, SSD, RAM speed and GPU bandwidth.
Don’t Expect to get similar results Against my results initially Unless you have the exact specs of my system . There’s a prompt u can give to Codex/Claude Code/etc included to tune it for your own specs. All benchmarks and setup details are in the repo.

Don’t expect guarantees of fast speeds . It’s a tight fit, and I’m not sure how you are supposed to send recipes for multi-component stuff . I know in DGX Sparks recipes you can just use the same exact config since it’s the same memory and bandwidth, same goes for dual 3090 recipes and etc . So I provided a prompt for a coding agent so hopefully it tunes it well for great speeds.


r/LocalLLaMA • • 4h ago

Discussion Did someone use/try the Qwen flash 3.8 next "coder" model on some work?

Thumbnail
huggingface.co
28 Upvotes

Looking for people who have tried this model and was able to use it on real-world tasks. It's what Strata list as "coder". What was your experience like?

On my setup I am not really sure if it is worth more than iq3


r/LocalLLaMA • • 1h ago

Question | Help eGPU on blackwell for inferencing/display?

• Upvotes

I'm planning on maxxing out my pcie slots with rtx 6000 blackwell cards for tp4. I'm wondering if its possible to use an egpu dock like the razer v2 and connect it via thunderbolt to usb 4 on the back of my mobo. The egpu in question would be another blackwell card (5070ti), and its sole purpose is for sidecar models, and to act as a display card for my rig so that i dont have to go headless.

Do you guys know if this is possible?

I read this thread recently and it kind of scared me off:
https://www.reddit.com/r/LocalLLaMA/comments/1vlfe9f/egpu_folks_rtx_pro_6000_blackwell_egpu_crashes/


r/LocalLLaMA • • 7h ago

Showcase Dropping old, low-attention tokens so long chat/agent sessions stay small.

5 Upvotes

Inspired by how short-term memory works in our own brain, I built PulsarLM, an inference engine that removes old and unimportant tokens from the context window to keep it bounded while also allowing the conversation to go way past the trained limits.

Running Qwen3 8b on a 5090, I get 6.7k tok/s during prefill and 89 tok/s during decode. It does support batched decode and with 16 concurrent requests, I get 1.2k tok/s.

It works by using custom attention kernels that accumulates an attention mass per token page. At regular intervals, pages that receive low attention mass gets removed.

To workaround out-of-distribution positions, embeddings are re-rotated (for RoPE) such that token positions stay contiguous and never exceed the context limit.

Eviction of tokens in the context window would also break prefix caches normally, but PulsarLM also caches snapshots of context to avoid unnecessary re-prefills, but does use up extra RAM. There is also an option to persist those snapshots.

Only a smaller and older models are implemented for now, and the engine itself still has rough edges. It's only been tested on linux x86_64. Feedbacks are welcome! Also, what models would you be interested to try?

Here's the link: https://github.com/cosmonomic/pulsarlm

Edit: There used to be a recall mechanism using bm25+attention score, but removed it since it didn't make sense to store that many KVs. So right now, it works best when paired with an external memory system/RAG.

And also, running benchmarks right now, will update once results are out.


r/LocalLLaMA • • 20h ago

Showcase Web search for a 1.7B model running fully on a phone, no search API and no backend (open source)

Enable HLS to view with audio, or disable this notification

40 Upvotes

We just shipped web search in Private Mind, our open source app for running LLMs locally on iOS and Android. The video is the whole pitch: Qwen 3 1.7B with web off makes up Apple's September event, with web on it gets it right and cites 5 pages.

The fun constraint is that a 1.7B model with a short context can't just read 5 web pages. So most of the work is picking the few hundred words it actually gets to see.

Roughly how it works:

  • There's no search API. A hidden WebView on the phone opens DuckDuckGo (Brave and Mojeek as fallbacks) and we parse the results page
  • It opens the top pages and cuts them into ~500 character chunks
  • An on-device embedding model (LFM2.5, ~415MB) plus some keyword matching picks the best 6 chunks, max 3 from one page
  • If only one site claims something, it counts for less than something two sites agree on
  • The model answers from those chunks and links every source

Web search is a per-chat toggle and off by default. When it's on, the phone makes the same requests a browser would. The chat itself stays on the device.

Everything runs on react-native-executorch, both the LLM and the embeddings.

Repo: https://github.com/software-mansion-labs/private-mind


r/LocalLLaMA • • 15h ago

Discussion I used Magic The Gathering as inspiration for how to organize agent skills

Thumbnail
github.com
15 Upvotes

I spent some time taking best practices from the past two years developing my projects with agent skills and centralized them in a repo so I can reuse them and standardize my projects. In the process of doing that, I realized that skills exist in different scopes and timelines, so I spent some time trying to figure out how to organize skills usefully. I realized that Magic The Gathering abilities have a lot of parallels to agent skills, so I did some experiments separating skills into three categories that MTG uses: activated, static, and triggered. I found this works very well for communicating to agents considerable context about the skill scope with minimal verbosity.

If you're not familiar with MTG abilities, firstly MTG is a complex card game, and secondly each card in the game has some text at the bottom which amounts to a special coding language. The coding language's main block is called an ability, which represents some effect in the game. Abilities are separated into several types which set the scope and timing of the effect. These ability types are directly transferable to skills:

  • Activated Skills: These are skills the agent must choose to use, and are a set of procedures that should be performed in order once
  • Static Skills (called "passive" in my repo): These are skills which set general rules that should be applied all the time given the agent is working in a particular domain.
  • Triggered Skills: These are skills which are like activated skills, but they should always happen any time a skill-defined event occurs. The event can be anything: something the agent does or an external event like a time passing.

Separating the skill into these categories lets the agent have some preconceived ideas about how the skill should be used, which increases reliability and decreases context redundancy.

I thought this was an interesting notion and just wanted to share. If you check out my skill repo, it has some other good ideas I've collected over time like a hermes-inspired skill self improvement system, test process organization, and documentation style/methodology. If you have any ideas about making it better, let me know.


r/LocalLLaMA • • 14h ago

Showcase GPT-Image-style photo editing on your own GPU (12 GB+): I built a zero-setup app for Qwen-Image 2.1 on stable-diffusion.cpp

Enable HLS to view with audio, or disable this notification

64 Upvotes

Every local setup I tried for Qwen-Image 2.1 meant a Python env, a node graph and an evening of picking quantization, offloading and resolution for my card. Kokon is a free, open-source desktop app that does all of that for you and gives you a plain photo editor on top.

  • Zero setup: first run detects your GPU and memory and downloads the matching GGUFs (Qwen-Image 2.1 Turbo Q4_K + Qwen3-VL 8B text encoder, ~12 GB, checksummed). Each job is sized automatically: working resolution, VRAM/RAM split, tiled VAE, retry if it runs out of memory.
  • Engine: stable-diffusion.cpp (ggml), so no Python, no PyTorch. CUDA, Vulkan and Metal builds.
  • An editor, not a workflow: type the change, or brush an area with Change / Remove / Replace / Add. The brushed area is marked on a second reference image, so the model actually sees it. Versions with undo, before/after, upscaler comparison.
  • Hardware: NVIDIA 12 GB+ (CUDA). Apple Silicon (Metal, beta, slow: ~4 min per image on a 16 GB M2 Pro). AMD / Intel Arc 12 GB+ via Vulkan (beta, only tested on NVIDIA so far, reports very welcome).
  • Speed: 5070 Ti 16 GB: ~24 s per edit at 1.5K, ~40 s for a native 2K edit.
  • Agents: built-in MCP server (generate_image, edit_image, inpaint_image, outpaint_image, upscale_image…) and a local HTTP API: npx -y kokon-mcp, also in the official MCP Registry.
  • Not yet: Linux; code signing (SmartScreen warns on first run); reusing model files you already have is a manual workaround for now (#14).

Repo: https://github.com/GabrieleLozupone/kokon · Site: https://kokon.app

Code is AGPL-3.0; the Qwen weights are under the Qwen Research License (non-commercial).


r/LocalLLaMA • • 7h ago

Showcase 4x R9700 builds with $127 used EPYCs: $10.7k all-in per machine. I built three (384GB VRAM)

Thumbnail
gallery
79 Upvotes

I saw the 4x R9700 build for a 10-person startup here a few days ago and wanted to share my results, since I opted to spend most of the money on the cards. I went with a super cheap used EPYC instead of a Threadripper. In the end it came to about $10.7k per box all-in, and I built three of them for a total of 384 GB of VRAM.

As a long time lurker on my other account, I'm always frustrated that people never show how they actually use the models, so after a lot of back and forth I decided to share the actual project they power instead of being vague.

I use these to run the AI behind my business, USA Arms. We organize tens of thousands of firearms-related businesses (gun dealers, ammo dealers, ranges, etc.) and that info is always changing, so we need a system that keeps the site up to date. The models check source facts, sort out business identities, and pull out stuff like services and hours. Every answer gets verified against what the agent actually saw, and we store the documentation so bigger models can audit the work.

I didn't plan to move the majority of my work to local AI until later this year, but hosted models started refusing to do normal research for my business ~2-3 weeks ago. They refused to identify a gun dealer because the license holder might be an individual, and wouldn't look at an ammo dealer's website because they can't help anyone buy ammo. Our harness just started breaking in random ways, so I'm glad I made the leap.

We tested Luna 6, DeepSeek, GLM 5.3, Qwen 3.8 27B, Gemma and Inkling on our workload, along with Kimi, GLM Flash and others. GLM gave us the best results. Qwen gave us the best cost-to-performance, so that's what these run.

Enough ado, into the numbers:

Per box, $10,733.91 with tax and shipping (averaged over the three)

  • 4x ASRock Radeon AI PRO R9700 Creator 32 GB (128 GB VRAM), each capped at 210 W: $7,244.58
  • AMD EPYC 7452, 32 cores, used: $127.17
  • ASRock Rack ROMED8-2T/BCM: $1,162.39 (there was a global shortage, ours came from Helsinki)
  • 8x 16 GB DDR4-2666 ECC RDIMM, all eight channels: $860.59
  • SilverStone HELA 2050R Platinum: $578.92
  • SilverStone RM44 4U: $388.40
  • Samsung 990 PRO 1 TB: $254.39
  • ARCTIC Freezer 4U-M, 3x ARCTIC P12 Pro front, 2x Noctua NF-A8 rear, SP3 frame, paste: $117.48

The GPUs are 2/3 of the cost, but the boxes also run our CI/CD, which had become a bottleneck in my businesses. I hadn't seen anyone discuss this: they run Rust builds just fine if you tune them to prioritize inference. In our test, running builds alongside inference didn't measurably change throughput, and the builds were only 3-8% slower.

Engine

  • vLLM-Radiance 1.0.387 (vLLM 0.30.0, ROCm 7.14). Huge thanks to the Radiance folks; their R9700 work is what we run.
  • Qwen/Qwen3.8-27B-FP8 (Qwen's official FP8 checkpoint), FP8 KV cache, the model's own MTP head with 8 draft tokens
  • Two engines per box, TP=2 each, 8 sequences per engine, 256K max context, about 488K tokens of KV cache per engine

Results, vllm bench serve, one box, 2x TP2:

  • 1 user, MT-Bench: 53.1 tok/s, TTFT p50 125 ms
  • 16 users, MT-Bench: 484 tok/s aggregate, about 40 tok/s per user
  • 16 users, random 1024 in / 512 out: 623 tok/s aggregate, 837 W average for the four cards
  • 32 users (a bench profile with max-num-seqs 32): 603 tok/s

MTP depends a lot on the text. On our JSON extraction, 83% of drafts get accepted (7.6 tokens a step), vs 39% on MT-Bench (2.7 a step), so MT-Bench undersells it for structured output.

Long prompts, 8 unique real-text prompts at once (4 per engine), 128 out:

Context Prefill TTFT mean Decode, all 8 streams
4K 7,044 tok/s 2.8 s 271 tok/s
8K 7,495 tok/s 5.3 s 219 tok/s
16K 7,241 tok/s 11.0 s 180 tok/s
32K 6,696 tok/s 24.0 s 178 tok/s
64K 5,961 tok/s 54.4 s 171 tok/s
4x 128K (TP=4, one engine) 3,344 tok/s 100 s 130 tok/s
4x 256K (TP=4, one engine) 2,719 tok/s 242 s 135 tok/s

Every prompt was unique (0% prefix cache hits).

FP8 vs MXFP4 on a real workload

The startup build ran MXFP4, so I had AI run that too (Radiance's fastest profile) on one box against our own graded extraction workbench:

  • FP8: 98.0/100 correct, 4,477 validated jobs an hour
  • MXFP4: 95.3/100, 4,819 an hour
  • On a holdout set: FP8 94.0, MXFP4 90.0

So FP8 roughly halves the wrong answers for 2–7% less validated throughput. Sticking with FP8 was an easy call for this workload, where "false facts" that make it into the system are a real headache.

For reference, our six Mac Studios (four M4 Max 128 GB, two M3 Ultra 512 GB) on MLX 8-bit scored 99/100, but at 723 an hour across all six. Plan A was buying more Macs, and keeping up would have taken at least 41 more, about $280k.

I made a video of the build targeted more at beginners and people trying to move AI locally: https://youtu.be/o7k5Kj-ho-M

Happy to answer questions. The first of which I expect to be how the heck were the Macs so slow, and I'm sure I'll get flamed haha.


r/LocalLLaMA • • 11h ago

Discussion Qwen 3.8 Flash Next, DeepSeekV4 Flash and Time

Thumbnail
gallery
58 Upvotes

MacStudio 128GB M1 ultra

I'm curious how people who can run both models are deciding which one to work with.

DeepSeekv4 benchmarks right below GPT 5.5 high.
Flash Next benchmarks right above 5.4/5.5 xhigh

Both seem capable but it seems like Qwen 3.8 Flash next is taking much longer to actually finish anything. From the chart, it seems like I can do 5 tasks with DeepSeekv4 in the time it takes to do 1 with Qwen 3.8 Flash Next and Flash Next isn't 5x better than DeepSeekv4. In my personal experience it may not be 5x longer but it's absolutely taking signifcantly longer to do anything.

Is there something I'm missing?

NOTE: I'm not bashing Qwen 3.8 flash next, I like it, currently 2h and 5 minutes into deep diving on some work for me. On my hardware I can load one of these models with multiple slots so I have to choose. I'll likely have to invest the time into a more deterministic benchmarking on my personal tasks to compare the quality I'm getting back and I'll still be using 3.8 27b because I find it capable and it uses less of my machine so I can do more other things like the image gen I'm working to integrate into my personal harness.


r/LocalLLaMA • • 19h ago

Showcase The AI race: China's open-weight models trail US closed models by just 7 months

429 Upvotes

Source: whatmodel.sh, an open source AI leaderboard I built (and launched here yesterday).

Every point comes from published benchmark results: 22,113 of them across 987 benchmarks, from 1,011 sources, each one linked to where it was published.

This chart uses data for the text models: 18,755 results for 1,211 models on 617 benchmarks.

- 14,436 results are independent evaluations: papers whose authors ran the models themselves (mostly CC BY papers from the ACL Anthology and arXiv), Epoch AI, the LMArena dataset, EvalPlus, the EleutherAI harness and others.

- 7,677 are scores labs report for their own models, labelled as lab-reported.

Everything is open: the dataset (CC BY-SA 4.0) and the scoring code (MIT) are at https://github.com/jakemanger/whatmodel, with CSV downloads at https://whatmodel.sh/data/manifest.json. Every number links back to its source, and each source's licence is recorded.

Interactive version (click any model to see its scores and sources): https://whatmodel.sh/race

Please star on github if you find it useful!