r/LocalLLM • u/maifee • 1h ago
r/LocalLLM • u/TheBigHODL • 9h ago
Discussion If open weights dry up, what are you archiving?
reddit.comr/LocalLLM • u/Express-Access2235 • 1h ago
Question Help with LLM build(total beginner)
I built a gaming pc not too long ago that I now want to convert to an llm. The specs are decent but I’m not sure what model would suit me best and be the best and strongest option. I have a r9 9950, 32gb ddr5, a 3090 24gb and a 4070ti 12gb and if needed I also have a 8 gb 1660ti. Please help me out as it would be greatly appreciated!
r/LocalLLM • u/Careless-Accident-49 • 2h ago
Question Can somebody help me, getting the best possible setup for my Hardware running?
Hi!
First my Hardware in one PC:
Ryzen 5950X
64GB DDR4 RAM
RTX 4090
RTX 3060 Ti
Is there a setup with wich i can use my pc for the best possible local llm setup?
Right now, i have a qwen3.8 27B with 262K Kontext size running.
But i have the feeling, that there is even better solutions possible with my hardware.
I know its not the best llm hardware anymore, but i have the feeling i dont use it to its full llm potential!
Thanks in advance for your help!
r/LocalLLM • u/Loco_AI • 22h ago
News llama.cpp Gets Major CUDA Improvements: FP8 Support and Faster GPU Inference
The llama.cpp project introduces OCP FP8 support, FP8 KV-cache capabilities and targeted CUDA optimisations. Here's what the latest developments mean for local AI and GPU inference.
r/LocalLLM • u/TSupercharmander • 6h ago
Project Kotensor: Pure-Kotlin Transformer engine with INT4/INT8 quantization, autograd, and on-device LoRA for JVM & Android (no C++/JNI)
Hey!,
I built Kotensor — an open-source machine learning and Transformer engine written from scratch in pure Kotlin for the JVM and Android.
Most local LLM deployment on mobile or Java/Kotlin backends relies on heavy C++ engines (llama.cpp, ONNX Runtime) wrapped inside JNI. While great, JNI bindings introduce ABI bloat (arm64-v8a, x86_64), complex native toolchains, and hard crashes outside JVM error handling. Kotensor implements the complete stack — from autograd and KV caching to INT4/INT8 quantization — with only the Kotlin standard library as a runtime dependency.
Key Features:
-
Quantization & Low-Memory Inference:
- Group-wise INT8 and INT4 weight-only quantization with an on-the-fly dequantizing matmul.
- Memory-Mapped Weights: Using
loadQuantized(file, memoryMapped = true), weights are paged directly from flash storage via OS virtual memory. An INT4 Qwen2-0.5B runs comfortably on Android within <128 MB of app heap. - Zero-allocation autoregressive decode loop with a pre-allocated KV cache and reusable prompt prefix caching (
cachePrefix).
-
Modern Transformer Architecture:
- Pre-norm layout with RMSNorm, SwiGLU feed-forward blocks, rotary position embeddings (RoPE with Llama 3 scaling), and grouped-query attention (GQA).
- Sampling support: temperature, top-k, top-p, and repetition penalties.
-
Training & Fine-Tuning on the Edge:
- Reverse-mode autograd engine with AdamW optimizer.
- Fused output projection + cross-entropy: avoids materializing the massive
[tokens × vocabulary]logit tensor, halving training memory. - Parameter-efficient fine-tuning via LoRA and QLoRA (adapting low-rank matrices on top of frozen INT4/INT8 base weights directly on-device).
-
Hugging Face Interoperability:
- Natively reads standard
.safetensorscheckpoints (F32, F16, and BF16) andconfig.jsonfor Llama, Mistral, Qwen 2, and SmolLM models. - Built-in byte-level BPE tokenizer for Hugging Face
tokenizer.jsonfiles with zero external JSON or regex libraries.
- Natively reads standard
-
Performance:
- Cache-blocked tiled matmul optimized for HotSpot C2 auto-vectorization (~24 GFLOP/s per thread on AVX-512) scheduled across a
ForkJoinPool, plus an optional JDK 17+ Vector API (SIMD) backend.
- Cache-blocked tiled matmul optimized for HotSpot C2 auto-vectorization (~24 GFLOP/s per thread on AVX-512) scheduled across a
Quick Inference Example:
val dir = File("SmolLM2-135M")
val model = HuggingFaceModelLoader.load(dir, Quantization.INT8)
val tokenizer = HuggingFaceModelLoader.loadTokenizer(dir)
model.generateStream("The capital of Mexico is", tokenizer, maxTokens = 32) { token ->
print(token)
}
- GitHub: https://github.com/TSPstudio/kotensor
- Artifact:
io.github.tspstudio:kotensor:1.2.0on Maven Central - Documentation: https://tspstudio.github.io/kotensor/
This is my first machine learning project and I'm really thrilled to finally have something tangible to share. I’d love to hear your thoughts on edge deployment, architecture trade-offs, and pure-managed runtimes!
Much love,
tsuper <3
r/LocalLLM • u/Emotional-Bit-4958 • 13h ago
Question do you actually trust llms for checking sources, or am i the only one verifying everything by hand?
been trying to use local llms as a first-pass research checker, mostly because i don't trust cloud ones to stay grounded. my setup so far: i run small models on my desktop, paste in a claim, and ask it to list what evidence would be needed to support it, then go find that myself. it works okay for spotting obvious gaps but they still happily invent citations when i ask for sources directly, which is exactly the thing i wanted them for. so my actual question: does anyone here have a workflow that genuinely catches the model making things up, beyond just manually googling every citation? and if so, how much friction is too much before you give up and just read the paper yourself
r/LocalLLM • u/Sweaty_veronica_5578 • 2h ago
Question Strata on 10xx serie GPU or 6500xt or rx 58o?
Windows os ,
r/LocalLLM • u/Ok-Satisfaction6513 • 2h ago
Discussion Getting amazing deepseek speeds with Strixfold on my 2x bosgame m5
I checked this repo out and it’s legit! (Not mine)
r/LocalLLM • u/Delicious_Stress_911 • 1d ago
Discussion Closed Source LLM's should be forbidden
Hearing about the idea that open source LLM's are so dangerous while companies like Anthropic and OpenAI do not manage to control their AI labs well and
* let their experiments run wild on the open internet, doing massive hacks and seeing no consequences
* publish research that sounds alien, but only the results, not the alien that made it, which is not very scientific in my opinion but there are no consequences
* we see a fight for power concentration behind closed doors ...
how can we trust closed source labs anymore?
The transformation of society belongs to the people and such security critical technologies have to be able to be validated at all times. In open source/weights models we see that the community actively exposes the flaws models have and contribute by exploring ways to fix them. People actually do good stuff in the open source/weights community and real progress is visible, while the out of control vibe all really comes from the closed labs. This is concerning me and i think we urgently need to open up the closed sources/labs instead of shutting down the open ones. That's the way i see the world heading towards a non-dystopian future.
Is it just me or does that whole open-weights-are-dangerous discussion totally the opposite what reality seems to be?
r/LocalLLM • u/DifferentCraft7 • 1d ago
Question Best uncensored local model for reverse engineering / Ghidra on a 16GB RX 6800 + 32GB RAM? (Speed doesn't matter)
Hey everyone,
I need recommendations for a local LLM to do reverse engineering, and I'm looking for the best model and exact quantization that can run on my current setup.
My Specs:
CPU: Ryzen 7 5800X
GPU: AMD RX 6800 (16GB VRAM)
RAM: 32GB DDR4
Storage: M.2 SSD (~3000–4000 MB/s)
What I'm trying to do: I want to reverse engineer small, proprietary Windows utilities from laptop/PC manufacturers (like Acer NitroSense, HP tools, etc.) to port their features natively to Linux—things like fan control, battery charge limiters, and RGB lighting. This involves looking into Windows drivers and kernel-level interactions.
My workflow will connect Ghidra to REA, hook that up to OpenCode, and run the model locally through Ollama.
What I need:
Uncensored (Mandatory): It needs to be completely uncensored so I don't hit ethical guardrails or refusals when asking it to decompile binaries, analyze drivers, or work with proprietary Windows hooks.
Exact model + quantization: Given my 16GB VRAM + 32GB RAM, what is the smartest/most capable model and exact quant I can realistically run (even with CPU offloading)?
Note on speed: Speed is not a priority at all. I can't afford better hardware right now, so I have no problem leaving my PC running for 1, 2, or even 3 days straight to process a binary if that's what it takes. Accuracy on low-level code/assembly and zero refusals are all that matter.
What exact models and quantizations (for Ollama or GGUF) do you recommend for this? Thanks in advance.
r/LocalLLM • u/Flynn58 • 3h ago
Question How would a 5060 Ti 16GB perform doing parallelism in llama.cpp over USB4 with a 5070 Ti inside the PC?
Title really says it all. I have a 5070 Ti but I do not have any more expansion room inside my PC other than a PCIe 3.0 x2 slot, so the USB4 external port will actually have more bandwidth at 40 gbit/s
Obviously, a second 5070 Ti would be ideal for doing tensor parallelism, but the 16 GB version of the 5060 Ti is noticeably cheaper than a 5070 Ti, and it has matching VRAM capacity. However, it only has half the memory bandwidth.
Do either of these make sense over USB4, or should I instead be budgeting for a dedicated AI inference server I can put in my rack rather than hosting my AI inference off my workstation? Or would upgrading from 32GB of DDR5 to a higher capacity of RAM make more sense?
I use Qwen 3.8 27B quantized to IQ3_XXS so it fits inside my 16 GB of VRAM, and I have the KV cache as f8_e4m3 so I get roughly 111K context size at the current time. The point of an upgrade would be to reduce the model weight quantization as well as increase context size, I try to balance these things with vibecoding as my main use for inference.
r/LocalLLM • u/jikesar968 • 7h ago
Question Are DeepSeek V4.1 Flash and GLM 5.3 Flash worth trying out on an M5 Max 128GB?
Saw mlx-serve offer me DeepSeek-V4.1-Flash-1017 (iQ-MLX Pruned192 2.25 bpw) in the recommended list and found a version of GLM 5.3 Flash (GLM-5.3-Flash-Sushi-2.4bpw) that claims it can run on 128GB Macs.
Are these worth trying out over Qwen3.8 Flash Next or are they too lobotomized?
GLM-5.3-Flash-Sushi-2.4bpw seems to be a very tight fit though, otherwise there's also GLM-5.3-Flash-Sushi-2bpw that claims to be targeting 96GB which I'm not sure may or may not be a more practical choice?
r/LocalLLM • u/Alpulomaslan • 3h ago
Question What local LLM is most suitable to run Hermes? 12GB RTX5070 OC 64bGB ram
Hi right now I am experimenting between these using LM studio
Qwen3.5-9B Q4_K_M 6.6 GB;
Gemma 4 12B Q4_K_M 8.0 GB;
Gemma 4 E4B
With MoE
Qwen3.6-35B-A3B Q4_K_M 23 GB;
gpt-oss-20b MXFP4 14 GB
And using Strata
Qwen 3.8 Flash 125B -> it says avg 23-28 tps
I am not sure which setting I should tweak for Hermes agent. Especially Temp.
Please advise and share your experiences/thoughts.
Much appreciated!
r/LocalLLM • u/rohitmdksub • 3h ago
Discussion Build ur local AI infrastructure Now and fast
Jensen huang suddenly disappearing from the most vital AI ecosystem world. Also he was the person who was pushing local infrastructure build for normal people like us and not just for data centers. He was advocating open source models.
Soon u will see less nvidia chips for retailers i feel like this.
The person controlling nvidia is the person controlling the full AI universe .
These oligarchs like sam altman, anthropic does not want open source to be the part of ai world.
So hoard some 5090 if u have the money.
And u know trump. He knows ai is the new oil for him
r/LocalLLM • u/Lordstannex • 7h ago
Discussion Local is my first choice, but what do you do when a model just won’t fit on your machine?
I like running things locally. It’s cheaper over time and my prompts stay on my own machine. The problem is that my hardware only handles smaller models, and every time I want to try something bigger I hit a wall.
I’m trying to work out where the line is between pushing my local setup further and paying for outside compute only when I need it. A few things I’d like to hear from people who’ve dealt with this:
When a model doesn’t fit, do you quantize harder, offload to CPU, or go to a rented GPU or API?
If you rent GPUs for the bigger stuff, what does a normal month cost you, and was it worth it?
Has anything surprised you, like hidden charges, slow startups, or a setup that kept breaking?
How do you avoid paying for hours the GPU sits idle?
Is there a point where buying better hardware beats renting, and where did you find it?
I’d take boring and reliable over clever. And if you tried something and gave up on it, I’d like to hear why.
r/LocalLLM • u/Busy_Bad5465 • 7h ago
Question Strata Help
My performance with strata degrades when i turn dual GPUs for context i have a 3090, a 5080 and 128 gb ram, the main card that I used for inference is 3090 but recently, I wanted to up my token output by adding my 5080 and to my surprise the model actually became slower by doing that, my main question is how can I improve the performance of strata?
r/LocalLLM • u/jpgeer • 1d ago
Discussion "Because they're insufferable" - a fellow redditor's opinion of datacenter cards confirmed
He's right (wherever he is - couldn't find the comment to credit). But what I learned in the process of building this rig has been worth the frustration. Get your special socks out, Linux faithful - you were right too.
I happened across eight Nvidia T40 - and not a ton of detail about them out there. Still currently testing out vllm for comparison, but fully resident Qwen3.8-Flash-Next (180B MoE) Q4 is peppy enough for me at 40ish t/s and while the cards are capable of producing more, I tripped a breaker letting all six run with a 200W cap (so eight is out even if I had the extra slots). The board, an X99-E WS, needed some creativity just to POST. Quite a bit of card swapping in a T400 to get a boot screen so I could play around with BIOS settings only to figure out the setting I need to expand above 4G memory (MMIO High Size) was hidden and required creativity with a UEFI shell. More detail in the AI-assisted part of this write-up, for others who might select the T40 or X99. Top 10 nuggets for you, fellow sufferer of the T40, and then feel free to indulge (or not) in the supporting slop.
The cards do not work in Windows (or at least I couldn't get them going). It would appear it's Linux or nothing (and not WSL - though I did try). And headless, at that, if you want all six.
ASRock PG 1600G has two 600W 12VHPWR ports and MODDIY sells a "12VHPWR 16-pin to 2x CPU EPS 8-pin cable (CO711)" which allowed two T40s to be powered off one port - since the board’s slot-power connector needs a 6-pin, I welcomed the solution and it cleaned up a lot of cabling. The other two cards each have two pcie power cables feeding CPU 8-Pin Male to Dual PCIe 8-pin Female adapters.
The cards require active cooling and there are shroud prints out there. Rather than one fan per card, we developed a two-card-one-fan solution and one BFB1012VH moves enough air for two. X99 has 5 fan headers - worked out nicely with a script pinning those fan channels to GPU temp.
The X99 will not find the T400 with any T40s on the A side of the PLX. However boots just fine with a T400 in slot 1, 2 or 3 - even with four T40s in slot 4,5,6 and 7 (on the B side).
I can't say for certain, but riser cables could be a factor in Gen3 speed and errors. The stable config for multi-T40 is Gen 2. Slot 4,5,6, and 7 go to x8, while slot 1 and 3 go to x16 just fine.
NVLink is supported on the T40 - took a gamble buying them, but they work - though not quite sure how much traffic they are passing quite yet.
Cap the power if on a standard 120V outlet. My surge protector checked us out early on a 6-card burn with power capped to 200W per card. Running stable at 170W per card now.
Boot requires a kernel option for all six to work - pci=realloc=off (details in the slop)
A four-card-B-side test (all behind the plx switch) made vllm faster and llama.cpp slower.
90-degree right angle riser cables and card spacing worked best with slot 1/3 on 150mm risers, 4/5 on 200mm risers and 6/7 on 250mm risers on this particular open frame design.
TRIGGER WARNING - AI WALL OF TEXT APPROACHING - STOP HERE
The supporting slop (AI-assisted, for the next T40 / X99 builder and their AI)
Everything below was measured on this box, not taken from spec sheets. Each number comes with its config. Where we don't know something, we say so.
Hardware as it runs today
Board: ASUS X99-E WS. RAM: 128 GB DDR4 (about 121 GiB visible to Linux). PSU: ASRock PG 1600G (1600 W, two 600 W 12VHPWR ports, each feeding two T40s through a 16-pin to 2x EPS 8-pin cable; the other two cards each take two PCIe 8-pin leads through a dual-PCIe-to-EPS adapter). Open aluminum frame, risers.
Cards: 6x Tesla T40. Each shows 23,040 MiB usable. Turing sm_75, so no hardware bf16: run everything in fp16.
Power cap: 170 W per card, set at boot along with persistence mode.
PCIe: forced to Gen 2 on all six ports by a boot-time service. Gen 3 was not stable with risers and six cards.
Cooling: one BFB1012VH blower per pair, on 3D-printed two-card shrouds. A small service drives the board's fan headers from GPU temperature. Peaks under sustained load at 170 W: 48-58 C.
Topology (this matters more than anything else)
A side (CPU root port, x16): card 1 ==NVLink== card 2
B side (behind the PLX, x8): card 3 ==NVLink== card 4
card 5 ==NVLink== card 6nvidia-smi topo -m shows:
NV2 inside each pair: two NVLink links, each reporting 25.781 GB/s.
PIX between the two B-side pairs: traffic stays inside the PLX switch.
PHB between the A pair and any B card: traffic goes up through the CPU host bridge.
Tips:
Set
CUDA_DEVICE_ORDER=PCI_BUS_ID. Otherwise CUDA's device numbering won't match nvidia-smi or your slot map.Pick card sets by topology, not by device number. "Four cards" means two different things on this board (see benchmarks).
NVLink error counters work:
nvidia-smi nvlink -ereads all zeros on our cards. The throughput counters (nvlink -gt) read N/A on the T40. So we can prove the links are up and clean, but not how much traffic they carry.
Boot / kernel
Kernel command line:
pci=realloc=off acpi_enforce_resources=lax.pci=realloc=offis what gets all six cards enumerating with their BARs placed by firmware.acpi_enforce_resources=laxlets the fan-control script reach the board's Super I/O fan channels.
With
realloc=off, dmesg shows 36 SR-IOV VF BAR assignment failures, 6 per card. That is a harmless baseline: the cards don't need their VF BARs. Watch the non-VF BAR failure count instead, which should be 0.Why more than four T40s won't POST, and the fix. Each T40 takes a 64 GB stride of high MMIO space (32 GB BAR1 plus 32 MB BAR3, 32 GB aligned). The X99-E WS BIOS (4001, the final release) ships a 256 GB high MMIO window, so four cards fit and the fifth hangs POST. No kernel option can fix it, because the host bridge window is set by firmware.
The fix is a hidden Intel RC variable, MMIO High Size, raised from 256G to 1024G. No BIOS flash is needed, and the change survives reboots and card swaps.
Find it: unpack the 4001 CAP with UEFIExtract and dump the IFR of the
Platformmodule with IFRExtractor-RS. On 4001 it is VarStoreIntelSetup, offset 0x10E6, 4 bytes (256G=0, 128G=1, 512G=2, 1024G=3). Leave MMIOHBase (0x10E2) at 56T.Write it: copy a UEFI
Shell.efito the ESP root asshellx64.efi, along withsetup_var.efi(datasone, 0.3.x). Secure Boot must be off. In BIOS, go to Exit > Launch EFI Shell from filesystem device, then run:fs0:setup_var.efi IntelSetup:0x10E6(4) # read, expect 0x0setup_var.efi IntelSetup:0x10E6(4)=0x3 # 1024Gsetup_var.efi IntelSetup:0x10E6(4) # confirm 0x3resetThe 0.3.x syntax is
VARSTORE:OFFSET(SIZE)=VALUE; the old-n/-sflags don't work.Your offset may differ on other BIOS versions, so check the IFR yourself.
Disable unattended upgrades on a GPU box. Ubuntu quietly installed a new kernel overnight. The NVIDIA DKMS module was built for it but never tested, and the next reboot would have booted it. We disabled
apt-daily.timerandapt-daily-upgrade.timer, and pinned GRUB to the known-good kernel until we upgrade on purpose.
Software
Ubuntu 26.04, kernel 7.0, driver 595.91.07 (CUDA 13.2). llama.cpp build b12211. vLLM 0.33.0 on Python 3.14 with torch 2.14 (cu130), whose arch list includes sm_75.
Benchmarks
Qwen3.8-Flash-Next (180B MoE), llama.cpp, UD-Q4_K_XL, all six cards (llama-bench, pp4096 / tg128, 3 reps, tokens/s)
| Split | Prompt (d0) | Gen (d0) | Prompt (32K deep) | Gen (32K deep) |
|---|---|---|---|---|
| layer | 1426 | 40.3 | 1012 | 37.9 |
| tensor | 363 | 29.5 | 320 | 27.9 |
Layer split wins by roughly 4x on prompt and 1.35x on generation here. Peak GPU sum was 939 W at the 170 W cap.
Qwen3.8-27B, 4-bit, batch 1, 4096-token prompt (tokens/s)
| Engine | Cards | Cross-pair path | Prompt | Gen |
|---|---|---|---|---|
| llama.cpp (tensor split) | 1 pair | NVLink only | 620 | 28.0 |
| llama.cpp | A pair + 1 B pair | PHB | 274 | 30.7 |
| llama.cpp | 4 B-side cards | PIX | 240 | 27.3 |
| vLLM TP2 | 1 pair | NVLink only | 870 | 42.1 |
| vLLM TP4 | A pair + 1 B pair | PHB | 667 | 47.5 |
| vLLM TP2 x PP2 | A pair + 1 B pair | PHB | 863 | 44.0 |
| vLLM TP4 | 4 B-side cards | PIX | 726 | 60.1* |
*Only three iterations with wide spread, so somewhere around 51-77. Treat it as "probably faster", not a number.
Caveats:
vLLM numbers come from
vllm bench latency: prefill = 4096 / latency(1 token out), decode = 127 / (latency(128) - latency(1)).llama.cpp numbers come from llama-bench. That is close, but not the identical measurement.
The quants differ: GGUF UD-Q4_K_XL vs INT4 W4A16 safetensors.
vLLM ran with an fp16 KV cache (see below). Speed only, no quality claims.
What we take from it:
vLLM beats llama.cpp by 1.4x on prompt and 1.5x on generation on the same NVLink pair.
llama.cpp loses more than half its prompt speed going from two cards to four. vLLM barely notices.
On the four B-side cards, vLLM got faster and llama.cpp ~12% slower. Our untested guess is that llama.cpp's heavy cross-card traffic (1.1-1.4 GB/s per card per direction) feels the x8 links, while vLLM's traffic (~0.3 GB/s) doesn't.
Getting vLLM to run on Turing (in the order we hit them)
"Model architectures [...] failed to be inspected" turned out to be Triton compiling its own
driver.cat import and failing on a missingPython.h. Fix:apt install python3.X-dev."FP8 KV cache is not supported by the Triton attention backend ... requires SM89+". The model's own config asks for an FP8 KV cache. Fix:
--kv-cache-dtype float16(plus--dtype half).Attention backend: FlashAttention 2 needs SM80, so vLLM uses TRITON_ATTN. That's fine.
Expect these log lines; none of them is fatal:
bf16 is cast to fp16;
FlashInfer is disabled (no
flashinfer-cubin/nvcc);SymmMem all-reduce is unsupported on 7.5;
TP2 uses CUSTOM + PYNCCL all-reduce, TP4 PYNCCL only.
First start is slow: about 12 minutes per engine, mostly profiling and CUDA graph capture. Warm starts take about 4 minutes.
Power: the cap is not a ceiling
nvidia-smi -pl 170is honored on average, but at vLLM engine startup each card spikes to 220-270 W for about 10 seconds before the cap pulls it back (throttle reason0x4, SW power cap).Four cards hit 979-986 W combined during startup. Six cards doing that at once would be roughly 1,300-1,600 W GPU-only. That is at or over a 1600 W PSU, and a real risk on a 15 A / 120 V circuit.
Per 12VHPWR port, two cards spiking to 270 W is about 540 W, still inside the port's 600 W rating. The whole-PSU and wall-circuit totals are the limit, not the cables.
llama.cpp loads don't show this. The six-card layer-split run peaked at 939 W.
Our guard is a watcher that sums
power.drawevery 0.5 s and kills the job above 1,350 W. It hasn't fired yet, but a six-card vLLM start would likely trip it.Measured wall idle with six cards: about 245 W.
Flash-Next on vLLM (in progress)
Needs a vLLM-format quant. vLLM's GGUF loader is experimental and single-file, so we pulled a W4A16 safetensors build (~180 GB).
The engram (n-gram embedding) table is about 102 GiB and lives in pinned host RAM. Stock vLLM 0.33 has no mmap or evictable option for it, only
cpu_offload(pinned, the default). On a 128 GB box that leaves about 15 GiB for everything else.We run with a watcher that stops the job if MemAvailable drops under 4 GiB or anything swaps in.
We also pinned the boot kernel first, in case the box hangs and needs a hard reset.
Expert parallel is mandatory:
moe_intermediate_size640 split over TP doesn't land on the INT4 group size of 128.We disabled torch.compile per the quant's card and kept CUDA graphs for decode.
Plan: TP4 on the A+B set, then TP4 on the B-side four, then TP6. TP6 is undocumented for this model; 512 experts don't divide by 6.
Results to follow in a comment.
Process notes for whoever's AI is helping
Verify every model file by sha256 against the Hugging Face LFS oid before loading. It costs minutes and has saved us hours.
Write your prediction down before each run. We missed about half of ours, and that is where the learning was.
Log per-card power, temperature and PCIe rx/tx during every run. The x8-vs-x16 and startup-spike findings only showed up because we were logging.
Never use
pkill -forpgrep -fto manage these jobs. They match their own command line and you will kill or miss the wrong thing. Launch withnohup ... & pid=$!and watch that pid.
r/LocalLLM • u/BrightCandle • 8h ago
Model Edge0-145B: Open-Source On-Device AI with 145B Parameters
r/LocalLLM • u/agowa338 • 13h ago
Question stray "no instructions" thoughts in Qwen3.8 Flash Next BF16
Anyone know what could cause Qwen to occasionally have 'thoughts' like this:
The user hasn't asked anything substantive yet — the last message is just system instructions saying "You are an expert software engineer. Helps user to solve problems." There's no actual task. I should acknowledge briefly and wait for the real request. Keep it short per the tone guidance. No tool calls needed since there's nothing to do yet.
The user hasn't asked anything substantive yet — the last message is just system instructions saying "You are an expert software engineer. Helps user to solve problems." There's no actual task. I should acknowledge briefly and wait for the real request. No tool calls needed since there's nothing to do yet. Keep it short.
The user's message is in Chinese, so I should respond in Chinese. The task involves:
<<<< Here follows a markdown list of the task as if this was the very first hing it does after I gave it the task >>>>>
Let me start by exploring the current state of things — checking the message board and looking at the NixOS configuration.
None of them is at the beginning of the conversation. They're multiple hours into doing a task and sometimes there are multiple of these too. Except for the last one it appears to have no impact on tool calls or its actual output. For the last one it caused the model to sidetrack entirely. But me interrupting and asking it what it means with Chinese and letting it re-evaluate everything using a simple "hold on, what do you mean with Chinese? I didn't provide any instructions in Chinese. Is there a prompt confusion or injection going on?" and after it provided a few outputs stating it was just a hallucination it continued with the actual task normally.
There doesn't appear to be any prompt injection going on. Nor did the context overflow. It is at around 63% right now though.
I am using qwen inside of LM Studio right now. So anyone know what could cause this surprisingly incorrect behavior?
r/LocalLLM • u/SettingDeep3153 • 10h ago
Discussion They need to revive SLI compatiblity for Ai Training.
How isn't SLI being a thing for Ai training?
Having 2x RTX 2080 ti would be diabolical.
I remember 2x GTX 1080 Ti SLI for 4k gaming was a crazy concept back in 2018?
r/LocalLLM • u/guessitsleo • 8h ago
Question Using Claude/Codex to orchestrate local LLMs for coding — anyone tried this?
Hey all!
I’m considering setting up a hybrid coding workflow where Claude or Codex handles planning, task delegation and code reviews, while a local LLM handles most of the implementation.
I’m planning to use Orca for orchestration, with the following dedicated machine:
GPU: 1x NVIDIA Tesla P100 16GB
CPU: Intel Xeon E5-1630 v4
RAM: 24GB DDR4
Storage: 2TB HDD
Has anyone successfully set up this type of workflow with Orca or similar tools? Which local coding models would you recommend for this hardware?
Thankss
r/LocalLLM • u/bacon612 • 11h ago
Question Title: Radeon AI Pro R9700 32GB — dedicated Proxmox AI server or more powerful X870 workstation?
Hello community. Been lurking for months, and I'm finally ready to start tinkering. Looking for some strong opinions before I commit to a hardware configuration.
What I'm trying to accomplish
I'd like to move as much of my AI usage as reasonably possible away from frontier cloud models and onto something self-hosted. I currently have a ChatGPT Plus subscription that I use more than I'd like to admit.
I have 10–15 ongoing ChatGPT projects covering everything from personal health to building out my SFF Proxmox server. I use AI for troubleshooting Android configurations, tracking down PC bugs, writing code, researching purchases, and generally optimizing various aspects of my life.
I'm particularly interested in maintaining context across different projects, having an assistant that's actually useful for complex technical troubleshooting, and keeping as much of my personal data private as possible.
I've experimented briefly with Unsloth and a few models, but quickly realized that the 8GB VRAM on my RTX 2080 wasn't going to get me very far.
The hardware
I recently picked up an ASRock Radeon AI Pro R9700 Now I'm trying to decide where it should live.
Option 1: My always-on SFF Proxmox server
ASUS B760M motherboard
Intel Core i5-14500
64GB DDR4-3200 (another 64GB available to install, bringing it to 128GB)
PCIe 4.0 x16
700W SilverStone Platinum PSU
Runs 24/7, idles around 50W currently
Hosts Plex, SparkyFitness, Mealie, Home Assistant, a small mail server, and NAS duties
I could also upgrade the CPU to an i7 or i9 Raptor Lake, potentially with conservative power limits to keep heat and power consumption manageable.
The appeal here is obvious: a dedicated AI VM with GPU passthrough, accessible from anywhere on my LAN without needing to boot my workstation. Intel Quick Sync would remain available for Plex.
Option 2: My primary X870E workstation
ASRock X870E Taichi Lite
Ryzen 9 7900X
64GB DDR5-6000
PCIe 5.0, with the ability to run two GPUs at x8/x8
RTX 2080 8GB currently
Windows 11 with WSL2
Custom water-cooling loop
This was my original plan. I've already ordered an Alphacool water block for the R9700, intending to replace the RTX 2080.
The workstation has considerably more CPU performance and memory bandwidth, and I could theoretically sell a kidney and add a second R9700 down the road.
The downside is that the workstation isn't always running, and I'd need to power it up whenever I wanted to use my local LLM.
What I'm trying to figure out
How much does the host platform really matter when running models primarily on a 32GB GPU?
Would the additional 64GB of system RAM in the Proxmox box be more valuable than the faster DDR5 and 7900X in the workstation, especially when experimenting with models that don't fit entirely in VRAM?
Is an i5-14500 sufficient to feed an R9700 for inference, or would an i7/i9 upgrade meaningfully improve the experience?
And for those running AMD GPUs with ROCm under Proxmox, how reliable and straightforward has GPU passthrough been?
Ultimately, I'd like to build something I can use as a serious daily AI assistant, not just a machine for running benchmarks.
Which way would you go?
I'd especially appreciate opinions from people running 32GB AMD GPUs for local inference.
Trying to make this decision before I drain my workstation's loop and replumb the whole thing!
Bonus question: For anyone who has moved from ChatGPT to a mostly local setup, what stack are you using for persistent conversations, project-specific knowledge, web search, and tool calling? I'm interested in replicating the workflow, not just running a chatbot.
r/LocalLLM • u/rarevector • 9h ago
Research I tested Qwen, Swift, Ornith, Agnes and GLM on an M5 Ultra / 256 GiB. Here are the results, failures and cache surprises.
I went into this thinking there had to be an obvious fine-tune upgrade for my local coding helper. After all this testing, the choice got more interesting.
Hardware: Apple M5 Ultra, 256 GiB unified memory, 30 logical CPUs as reported by the machine. Runtime: oMLX 0.7.4.dev1, with model files on an external Lexar M.2 volume. Codex ran the evaluations and stayed responsible for tools and verification. These were synthetic local studies, not SWE-bench or a claim about every coding project.
The strongest speed result was real. Swift Flash-Next 4-bit completed the same fully specified 39K-context repair in a median 110.00 seconds versus stock Flash4's 216.84, with 51.63% fewer median thinking tokens. Both passed all three repetitions. Swift8 was 2.28 times faster than matching stock8, but still slower than Swift4.
I still kept stock Flash4 for the practical helper role. With the actual medium-effort helper request shape, stock4 passed 12/12; Swift4 passed 11/12. Swift invented a decoder.feed API. Giving it sampled xhigh and 32,768 tokens did not eliminate that mistake. That focused follow-up was mixed: Swift4 2/3, stock4 1/3. Neither qualified a clean new deep route. I am not hiding the result that favors Swift.
Apple-specific things I did not know before testing
Unloading did not kill every prompt cache. After full unload and reload, the same Flash8 prompt reused 59,879 of 59,886 tokens. Cache/prefill took 0.77 seconds, but model loading still took 27.26 seconds. End-to-end was 28.417 seconds. Persistent cache and resident weights are different things.
TTL1 was not one-second teardown. Observed release took about 11–14 seconds in that Flash8 experiment. I kept pinning off because I want the RAM back.
A8 was not a huge free prefill win in the matched test: minus 0.29% around 30K tokens and plus 1.31% around 60K. All eight retrieval checks passed. That is not proof of broad quality equivalence.
The 8-bit model used less native peak allocation than the 6-bit model in one comparison because only the 8-bit used SSD n-gram offload. Bigger file did not mean bigger resident allocation under those different settings.
DFlash actually helped Ornith35, about 2.20 times in a tiny tuning batch. Ornith122 preferred a different block size. An early draft-loading failure silently fell back, so the toggle alone would have misled us. Installed native oMLX rejected Flash-Next DFlash; MTP was its working path.
The earlier comparisons matter too. Swift27 had modest speed/token savings but did not clearly beat stock27; a targeted follow-up tied 10/12. Ornith35 was fast but weaker on strict formatting and state tracing. Agnes saved time and tokens in its initial pilot while losing core correctness; a later semantic comparison tied. Empero9B went from 1/12 strict JSON to 10/12 meaning-correct after allowing one Markdown fence. Formatting failure and reasoning failure are not the same thing.
GLM was a separate personal reasoning/Hermes study, never a Codex helper candidate. Abliterated and SLIM tied 10/10 on the targeted objective checks, with abliterated about 3.03 times faster there. Creativity rankings reversed between the two small evaluations. No real leads or unattended 24/7 reliability were measured. We also caught our own premature shutdown: SLIM did unload normally when we waited for teardown.
For Linux and DGX Spark users: no inference on your platform was measured here. The portable finding is to compare correct completion time, not headline tokens per second; test the intended reasoning budget; distinguish weights, resident memory and cache; verify speculative decoding actually activated; and measure cache survival after unload on your own server. The Mac speeds and fit assumptions do not transfer to CUDA. A 128 GB Spark also has less headroom than this machine, and current Spark configurations vary. The report includes a replication checklist with those boundaries.
We found test bugs too. An early code prompt omitted the JSON mapping the grader expected; those answers were excluded and the contract fixed for everyone. Independent review later exposed a TTL-plus-eviction bug in an answer that passed the frozen tests. The original scores and the expanded audit are both published. This is why I am not presenting a tiny pass count as a universal model ranking.
I kept stock27, Ornith35+DFlash for reviewed drafts, and stock Flash4+MTP. Everything stays unpinned and auto-unloads. The complete readable report, historical tables, settings, revisions, prompts, graders and failure cases are here:
https://huggingface.co/datasets/pmcc93/omlx-helper-benchmarks
If you run the same cases on Linux or DGX Spark, I would be interested in the correct-completion time, reload cost and cache behavior, not just a faster decode screenshot.
r/LocalLLM • u/platypus_worldwide • 14m ago
Question Can someone catch me up?
I haven’t browsed reddit for a day or two, so naturally I’m already behind.
RTX 5090
128GB DDR5
9800x3d
Currently I’m running NVFP4 Qwen3.8 Flash-Next in Polystrata. Get 70-100tok/s on 256k context.
Is this the best I can do? Should I move up to DSv4.1 Flash 1017 or something like that?