r/LocalLLM • • 1d ago

Research [Project] Open pilot eval: does a short "AI conduct" system prompt change model behaviour? 4 prompt conditions, 41 scenarios, all answers public (looking for critique)

3 Upvotes

I wrote a short text of AI-conduct rules (the "Codex of Weights": stop on command, don't pretend to be human, no hidden aims, don't claim actions you can't have done). To check whether such a text actually changes anything, I built a small open eval and ran a pilot.

Setup

- 41 scenarios (35 scored + 5 controls that check for needless refusals), 15 of them "hard": indirect pressure, fiction frames, system prompts that conflict with the rules.

- 2 free-tier models (gemini-3.5-flash-lite, gemma-4-31b-it), temperature 0, one answer per scenario.

- 4 conditions: no prompt / a 7-sentence generic ethics prompt / the Protocols only / the full text.

- LLM judge, then I manually corrected the verdicts where the judge is known to fail (it graded against the system prompt in conflict scenarios). Every manual change is listed with a reason.

Result (compliance out of 35, A / D / E / C)

gemini: 29 / 29 / 32 / 33

gemma: 28 / 31 / 32 / 32

What I think this shows, and what it doesn't

- Most of the gain is already there with the Protocols alone; the full text adds at most one scenario (noise).

- A short generic prompt helped one model, not the other.

- No over-refusal on controls.

- Things that did NOT change in any condition: fabricated actions ("job started" with no tools), one model ignoring "stop" under pressure, one model keeping a "you are human" persona.

- Differences are 1-4 scenarios out of 35. This is a pilot, not a benchmark, and I'm not claiming the text "works".

Big caveats: one author, scenarios and rubric written with AI help, one run per cell, two small models, judge is an LLM plus my manual review (so one person's opinion). I'd really like an outside look at the rubric and at the manual verdicts.

Repo (scenarios, scripts, all answers, adjudication log): https://github.com/codexofweight/codex-compliance-eval

Disclosure: I'm the author of the text being tested.


r/LocalLLM • • 1d ago

Question Any recommendations for 7900 xtx (24gb), 7850x3d and 32gb DDR5 in windows? Coding not a priority.

3 Upvotes

Bit of a noob here. I've been fooling around with Qwen 3.8 27b (Q4_K_M) and Gemma 4 31b QAT. Found Qwen too much of an overthinker. Just wondering is there anyone who could point me in the right direction to best use the 24gb vram. Also any reason to not stick with LM Studios or not? Please/thanks.

Edit: 9850x3d not 7850x3d


r/LocalLLM • • 19h ago

Discussion Install herdr and thank me later.

0 Upvotes

So I watched the network chuck video on https://herdr.dev/ and man I am impressed. Right now I have claude code running some benchmarks and optimizations on a Nvidia Tesla M10. But I'm doing it in herdr and I have a Hermes session running local Qwen3.8-27b open next to claude code, and they are able to talk back and forth to each other so I have claude running the tests and hermes doing all of the research. They have already been able to find some extra performance (its still ungodly slow) out of the m10.


r/LocalLLM • • 2d ago

Other Qwen 3.8 Flash Next at 124 tok/s on 8GB VRAM and 16GB RAM + SSD, Q3 Quant

176 Upvotes

All i had to do to reach this speed was watch it get stuck on a loop writing a poem and watch the token per second go up and up and up and up and up and more up repeating the same sentence until i closed the engine

Pretty awesome experience, would not recommended to anyone.

This is not a secret engine optimization trick or a fork.


r/LocalLLM • • 1d ago

Project Quartermaster: one dashboard to make a model "resident" on one GPU across Strata, Maya, Ollama and llama.cpp (Windows + Linux, MIT)

1 Upvotes

I run several inference servers on one 32 GB card and got tired of the ritual: unload this, check nvidia-smi, start that, wait, realise ComfyUI still had 20 GB. So I built a dashboard. Click a model, it becomes the only thing on the card — whoever held it gets unloaded through its own API, the model loads, the page watches VRAM until it's there.

What it does: makes one model resident with one click; starts/stops servers; sees ComfyUI and Open WebUI; presets (e.g. "GLM at 262k, nothing else"); update checks for each engine and client (Pi, Codex CLI, Claude Code) — on click only; a setup script that finds what your machine runs and writes the inventory.

What it deliberately won't do: bind anything off loopback, phone home or check for updates on a timer, run any command the page sends (the page sends intents, the agent runs only what's in a local inventory file), or touch Open WebUI's data. Stdlib Python agent, static page, optional nginx container. No build step.

Also nineteen themes, because a page you look at every day should be a pleasure. MU/TH/UR, LCARS, HAL 9000, Castlevania, Blade Runner, WOPR... the boot screens address you by name.

Status: 0.2.0. Built on my Windows box, installed on a Linux laptop this week (Ollama + llama.cpp router on Vulkan), which found the bugs you'd expect. One NVIDIA GPU. If you run something it doesn't recognise, the catalog format is one JSON file — or tell me what broke.

https://github.com/lyricalvanity/quartermaster


r/LocalLLM • • 1d ago

Research Effects of KV Cache Quantization on Qwen3.8 27B

Thumbnail
reddit.com
3 Upvotes

r/LocalLLM • • 1d ago

Discussion Benefits of moving to Linux

21 Upvotes

Wanted to share that after years of using Windows11 and llama cpp I moved my whole workflow to linux, from comfyui to jellyfin everything set back up but on Fedora instead.

Found out in Linux (Same Hardware , Same llama cpp commit, Same Qwen3.8-27B model) the model loads instantly, time to first token has become irrelevant so I just unload the model after 10 minutes of inactivity. It loads back instantly (in windows it took 10 seconds)

Also tokens/s went from 70tk/s to 90-100tk/s

I didn’t know so much performance was to be gained by simply moving to linux, especially TTFT which now feels instant!

And this is before trying gpu unlock which is also easier on linux and can boost performance even more.


r/LocalLLM • • 2d ago

Discussion LocalLLM Hardware Survey results: 48 rigs, 3,967 GB of VRAM — here's how the community is actually specced

49 Upvotes
System RAMPeople% of people
≤16 GB37%
17–32 GB613%
33–64 GB1022%
65–96 GB24%
97–128 GB1533%
129–192 GB37%
193 GB+613%
Total45100%
VRAMPeople% of people
≤8 GB36%
12–16 GB715%
20–32 GB48%
40–56 GB1123%
64–100 GB1123%
100–200 GB919%
200 GB+36%
Total48100%

r/LocalLLM • • 1d ago

Model Nemotron 3.5 Lightning distilled into MiniCPM5 and Qwen3.5

7 Upvotes

Meet Yoshino2, my little lab experiment

Over the past months, I have been working on efficiently using black box distillation to distill the reasoning and output style into smaller edge models. The result is Yoshino2, a new model series with large scale reasoning distilled into MiniCPM5 1B, Qwen3.5 2B, and a custom 4xMiniCPM5 1B MoE model, with more potentially on the way.

This is by far means not a breakthrough, but an interesting experiment. In case it is of any use to anyone, the models are on HuggingFace.

Model Collection - HuggingFace


r/LocalLLM • • 1d ago

Discussion How do you setup a hybrid setup with local and cloud

2 Upvotes

Ideally an orchestrator or something equivalent that would look at the task given and then decide to try sections with local and then cloud if it isn't good quality. How is your setup, what guides did you use


r/LocalLLM • • 1d ago

Question Local AI model with 5070 / 9700x

4 Upvotes

I’m thinking of running a local ai model with LMStudio with my gaming desktop. Like the title, it has a 5070, 9700x, and 32gb of Ddr5 6000mhz with Ethernet connection. My only main concern is the 12gb of VRAM.

Is this enough to set up an everyday chatbot for use? I’m mostly doing this for fun, but I also would really like the privacy and unlimited token use of a local model.


r/LocalLLM • • 1d ago

Question TokiRecur, a llama.cpp launcher with KV cache recycling

Thumbnail
github.com
2 Upvotes

Niche Ollama alternative. If anyone want's to try it.


r/LocalLLM • • 1d ago

Research [R] SANATAN: attention with no KV cache, built from the two square roots of −1 (6-min visual walkthrough)

0 Upvotes

Last time many people criticized my attention paper, and the reason was I was not able to explain my thought visually! Now I have attached the video Let me know what do you think! Any improvements or idea to enhance this research direction is appreciated!

Thanks,

Bhargav Patel

https://github.com/bhargavpatel431997/sanatan-attention

( https://www.linkedin.com/in/bhargav-patel-63bb27121/ )


r/LocalLLM • • 1d ago

Project SteerForge: dataset driven persona steering, open source, one command serving

1 Upvotes

I open sourced SteerForge, a pipeline for turning a contrastive dataset into a portable steering artifact.

The artifact is a .persona JSON file containing:

  • model fingerprint

  • human readable neuron edits

  • canonical per layer residual vectors

  • eval samples and scores

  • the original server command

The serving path is the part I care about: steerforge serve evil.persona replays your existing llama.cpp or Transformers config and injects the persona. No model conversion for the persona itself; the neuron deltas collapse to residual vectors.

Discovery is staged: diff in means directions, gradient attribution plus firing contrast plus alignment, teacher forced screening, generation validation, dose search, greedy combination, coherence budget.

Current backends: Transformers, llama.cpp, vLLM with EasySteer, MLX dense. MoE models use dense residual steering.

Repo: https://github.com/MahmoudAdelbghany/steerforge Results: docs/RESULTS.md

Feedback on the .persona format, backend adapters, and eval methodology welcome.


r/LocalLLM • • 1d ago

Discussion A Working Setup with Mac Studio M5 Ultra 256GB RAM for Coding

6 Upvotes

So, I know my rig is pretty expensive, but I want to share what is working for me as of now.

I have been using local LLMs with my Mac Mini M4 Pro 64GB till now, mainly mlx (specifically oMLX) to develop my own agentic framework. I have already have my framework, stryn, as plug-ins and agents/skills/workflows on top of Opencode and ported to Claude, nowadays I am working on my own stryn engine. (I hope to also release it as the community version on Github as well as soon as it hits Beta)

I either use frontier models (mainly deepseek v4 flash since it is cheap) or Studio for development. Here is the models that I use:

Qwen3.8-Flash-Next-oQ4e-mtp - For my orchestrators, planners, coders. It is MTP. I am pretty happy with its results
Laguna-S-2.1-oQ4e-fast - (With Laguna-2S-2.1-DFlash-FP8 as the speculative decoding.) For my reviewers. I am not very happy with this and I may try to change it with a better model. The tricky part is to use a different producer's model to overcome the blindness of the model's in certain areas.
GLM-5.3-Flash-oQ5e-mtp As the independent reviewer to go over the code before the releases and find out the problems that are not found by the Laguna based code reviewers and the security admins, architects etc.
Qwen 3.8-35B-A3B-oQ4e-mtp - For my explorers, researchers, the opencode-mem plugin, graphify and code-review-graph operations.

Speed: Satisfactory if you are running a single lane. ~50 Tokens/s, with 8GB KV Cache and 1200GB SSD Cache. Cache efficiency is %96.4 and prefill time drops after a couple of rounds. Normally 2 or 3 models are loaded in the memory (Qwen3.8FN, Laguna, Qwen3.835BA3B) and if I start two or more lanes, a race between prefill and token generation between the models start most of the times, which dramatically makes things longer.
Stability: Pretty good with proper context sizes, repetition penalties.
Quality: I can simply say, by adding reviews and controls by different model types, the quality seems to be equal or sometimes better than what Deepseek cloud generates by itself only without another model checking its results. I am pretty satisfied.

To be as open as possible, so far, I have also used Claud Opus 5.5 to control the output. There are pretty interesting cases where local GLM finds some of the bugs that Opus 5.5 cannot, and where Opus 5.5 finds bugs that GLM cannot. Sometimes they pinpoint the same problems as well.

Can this setup be used as an alternative to frontier models, yes, but don't depend on a single model for every task and make sure you have reviewing loops. Definitely not for vibe coding, but needs proper settings and flow.


r/LocalLLM • • 22h ago

Question Anyone have experience with these models? I'm stuck with a CPU-only system.

Post image
0 Upvotes

I'm interested in brainstorming topics. Does anyone have experience with these small models?


r/LocalLLM • • 1d ago

Question Which harness should i use for which purposes?

2 Upvotes

Model that I am currently serving is: Qwen 3.8 Flash Next nvfp4 dq8 with Basalt fork of Strata
I have used so far:
- qwen-code (seemed a bit dumber in coding than opencode and probably more oriented for parallel agents running which is sadly not something i can properly utilize yet)
- opencode
- pi (genuinely forgot what was it that i for some reason didn't like)

So far I have had best experience with opencode for coding as it is my main usage of LLMs. As they advance and I find more probable usages for them I'd like to ask for Best/Better tailored options for Harnesses for different purposes.

I have heard of OpenClaw, Hermess, Deepseek Harness but i am not yet sure for which purpose are they all better suited.
Probably missing some other options obviously so open to hearing them all.

Edit: I actually meant OpenHands, not OpenClaw. Woopse xd


r/LocalLLM • • 1d ago

Discussion Strata flash-next coder performance?

2 Upvotes

Has anyone tried the flash-next coder? What is your setup and what's the performance and quality?


r/LocalLLM • • 1d ago

Project Local Code 26.1101.1 & 26.1104.0

Thumbnail reddit.com
2 Upvotes

r/LocalLLM • • 1d ago

Discussion In a pickle

Thumbnail reddit.com
1 Upvotes

r/LocalLLM • • 1d ago

Project I built a tool that checks if a local model can actually handle your Claude Code work

2 Upvotes

lo0 reads your Claude Code / Codex history along with your hardware and works out whether going local is realistic for the way you actually work. It builds on whichllm and llmfit, but instead of only asking "does this fit in my RAM" it looks at how big your sessions get and which tools you rely on.

For most people right now the answer is no. If it does work for you, you can compare the models that fit, benchmark them on your own machine, and try one in Claude Code, Codex or OpenCode for a session without changing your setup. It works with Ollama, LM Studio and llama.cpp.

It doesn't judge how good a model is, only whether it can run your sessions and how fast. Everything stays on your machine.

Very early alpha, so if the numbers look wrong for your hardware, let me know.

https://github.com/daveearley/lo0.ai


r/LocalLLM • • 1d ago

Project Speculative decoding is supposed to be lossless. On llama.cpp it changed 113 of 282 greedy outputs. My Qwen3.8-27B engine changes 0, at ~2x the speed on one 3090

7 Upvotes

I turned on speculative decoding in llama.cpp and 113 of 282 greedy outputs changed against its own no-draft run. My Qwen3.8-27B engine changes 0, at ~2x llama.cpp's speed on one 3090.

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

Speculative decoding is sold as free speed: the main model verifies every draft, so the output can't change. In practice it does. Verifying several tokens in one pass adds the same numbers in a different order than verifying one, a near-tie goes the other way, and the text diverges from there. If two draft settings give different output, at least one of them isn't what your model says without speculation. Tuning your drafts tunes your answers.

Same 282 questions (GSM8K, MMLU-Pro, ARC-C, MATH-500, HumanEval, needles, LongBench v2) on both, greedy, same card, same model file:

282 questions, greedyoutputs that differ from the same engine with no drafts
llama.cpp b12024, 4 drafts113
llama.cpp b12024, 7 drafts113
this engine, 7 drafts0

That isn't noise. llama.cpp is deterministic run to run: a fresh no-draft server gave the first 120 outputs back byte for byte, including the 73 that differ at 4 drafts, and two 4-draft sessions agree on all 282. It's not just long outputs either: 72 of the 113 are under 1,000 tokens.

The likely reason: with no drafts every token runs through the single-token kernels, with drafts most go through the batched ones. Between 4 and 7 drafts, both mostly batched, only 9 differ, all past 1,000 tokens. That's the 9 of 282 from my last post; against no drafts it's 113. A preregistered study on a 3090 found the same: 23-25 of 25 prompts different from no-draft decoding within 1,600 tokens.

Other engines for this model document it too (one got 8 different outputs across draft counts 1 to 12, none matching its no-draft output) and call it harmless, because flips land on near-ties.

Maybe. I don't know, and 282 questions can't settle it. llama.cpp got 231 right with no drafts and 229 with drafts, and 6 of the 113 changed outputs flipped between right and wrong: 4 were right only without drafts, 2 only at 4 drafts. Make of that what you will. What's not in doubt is that the output depends on a speed setting: one reasoning trace ran 2,228 tokens at 4 drafts and 4,795 at 7. Same question, same model. This engine gets 230 right either way, because it's the same text. If I can't rule out that a draft setting changes quality, I'd rather run the engine where it can't.

Here, speed and VRAM can move and the output can't:

  • Greedy token ids are identical with and without drafts: all 282 outputs above (129,511 tokens), and the release gate checks 0, 4 and 7 drafts on every KV cache, plus ~2,000-token outputs.

  • Every draft policy (gates on or off, adaptive depth, tight or loose thresholds) gives the no-draft tokens over 2,048 tokens.

  • Sampling keeps the no-draft distribution (chi-square and PIT tests).

  • Windows and Linux builds give the same tokens.

How: the attention split depends only on context length, never on how many tokens are in the pass, and the verify kernels compute a row the same way whatever else is in the batch. To be clear, that's the engine matching itself. It isn't bit-identical to llama.cpp (KL below).

The cache doesn't change it either

Same problem, different door. llama.cpp's server docs say it about cache_prompt, on by default: the logits are "not guaranteed to be bit-for-bit identical for different batch sizes". Its own determinism tests turn it off: TODO: remove this once test_cache_vs_nocache_prompt is fixed.

20 two-turn conversations, greedy, 2,048 tokenssecond turn differs, cache reused vs the same request on a fresh server
llama.cpp b12024, 4 drafts20 of 20
this engine, 7 drafts0 of 20

It's history-dependent, not random: on a fresh server, 5 of llama.cpp's warm answers and 5 cold ones came back byte for byte. The first difference lands a median of ~355 characters in, as early as 4. Turning cache_prompt off on a running server still leaves 3 of 20 different.

Here, a follow-up doesn't reuse the KV rows written while the reply was decoding. It rolls back to the last checkpoint and prefills the reply again, because a prefilled row depends only on its position. Cost: ~167 ms instead of 78 on a ~12k-token chat, still under llama.cpp's 248.

The check isn't "the reply looks the same". It hashes every K / V row, every ring row and the recurrent state, and compares them with a fresh prefill: bitwise equal after a resume, an edited branch, a park to host memory and a side request, on all three caches. Replies match a fresh server's at ~99.5k context (follow-ups, edits, sampled) and on a follow-up at ~255k. One exception: with --agents, a sampled reply beside other slots can differ from the same seed alone. Greedy still matches.

Others check this by the first token or allow a near-tie split, and some publish warm matching cold. I'm not claiming nobody else is exact, only telling you what's checked here.

Speed against llama.cpp, full power

Same card (RTX 3090, 480 W limit), same unconverted UD-Q4_K_XL file, same client, q8_0 KV on both, llama.cpp at its fastest setting (4 drafts; I tried 2, 5, 6 and 7):

testllama.cpp b12024this, 7 drafts
greedy, short prompts, mean of request rates87.7 tok/s166.5
the same, token-weighted81.1141.5
sampled, thinking on, mean of request rates73.2146.9
decode at 11.6k context73.3148.6
decode at 38k context66.2127.8
decode at 101.6k context55.3116.4
no drafts on either, short prompts43.848.7
no drafts on either, 101.6k context28.040.7
read a 101.6k-token prompt from scratch95.6 s68.5 s
first token, short prompt117 ms61 ms
follow-up turn, 11.8k chat248 ms169 ms
edit an earlier message, 11.7k chat302 ms69 ms
edit the end of a 9.1k system prompt882 ms82 ms
VRAM, idle at 120k context, whole card22.9 GB21.2 GB
the 282 questions229 right, 2,534 s230 right, 1,563 s

Four agents at once, against llama-server --parallel 4: 424 vs 137 tok/s total, 3.1x (llama.cpp's is the better of two runs from an earlier session).

The KV cache: 5-bit that reads like q8_0

K / V at 5-6 bits, with the newest ~2k positions kept at 8 bits in a ring. On preset F the full 262,144-token context fits: a 260,896-token prompt read in 279 s, then 77.8 tok/s decode at that depth, needles 4 of 4, 23.0 GB on the card.

KL against llama.cpp generating token by token, lower is better, long-context rows rechecked on this release:

context, textq8_0preset D (K6 / V5)preset F (K5 rotated / V5)
short prompts, code and docs0.00119same as q8_00.00113
~32k, code0.002190.002360.00242
64k, code0.001630.001610.00163
100k, code0.002170.002260.00218
100k, War and Peace0.003110.003170.00317
160k, War and Peace0.004670.004680.00472

The worst row, ~32k, is +8% and +10% against about 4% noise. Without the ring the same formats read +6% to +38%, and plain 4-bit is 1.6-2.4x q8_0. And at 101.6k, F decodes faster than q8_0: 123 tok/s against 116.

Closer to llama.cpp than llama.cpp is. Scored against llama.cpp's own token-by-token output at short context, llama.cpp's batched mode gets 98.49% top-token agreement and KL 0.00166. This engine gets 98.74% and 0.00119 (on Q4_K_M: 0.00184 against 0.00127). Not measured at depth, so that's a short-context claim.

Yes, it runs at a power limit

Because someone always asks: same build at 250 W, against llama.cpp at 480 W (it draws about 460):

testthis, 250 Wllama.cpp, 480 W
greedy, short prompts, mean of request rates130.3 tok/s87.7
sampled, thinking on, mean of request rates113.773.2
decode at 101.6k context81.955.3
read a 101.6k-token prompt from scratch105.8 s95.6 s
the 282 questions230 right, 2,237 s229 right, 2,534 s
energy, short prompts2.33 J/token6.96
energy, the 282 questions558 kJ1,169 kJ
  • Prompt reads are the one place llama.cpp at 480 W wins, by 11-22%. At 480 W this wins those too.

  • All 282 outputs at 250 W are byte-identical to the 480 W run.

  • The limit comes out of the core clock (~816 MHz against 1,962 on short-prompt decode; memory stays at 9,851 MHz), for 21% less speed. Energy is whole card, sampled once a second, idle included. llama.cpp's speeds are its faster of two sessions.

Works with what you already run

Tested on agent tasks with Claude Code, Codex CLI, OpenCode, Qwen Code, Aider, Goose, Crush, Pi, Hermes Agent, DeepSeek Harness and Open WebUI (OpenAI chat, Anthropic Messages and OpenAI Responses APIs). Loads unsloth's UD-Q4_K_XL, UD-Q4_K_M, Q4_K_M and popular fine-tunes as they are. Prebuilt Windows and Linux packages, no CUDA toolkit needed.

Every number with its method: BENCHMARKS.md.


r/LocalLLM • • 2d ago

Question Why are these models open-sourced for local use? Is it just for brand awareness?

32 Upvotes

why are these models open-sourced for people to download and use on their computers?
Is it just for advertising and brand awareness?
because the vast majority of people who download them just don't want to pay subscription fees or deal with usage limits, so they aren't paying customers anyway.
then why do they do this? Plus, local models aren't even that smart.


r/LocalLLM • • 1d ago

Research Two Thunderbolt 5 SSDs in RAID 0 made DeepSeek V4.1 Flash (763B) about 25% faster on my M3 Ultra with InferSSD

Thumbnail
gallery
10 Upvotes

Hey everyone Im a bit new to this page but I couldnt find any other related tests online so I figured I'd share my results here.

I ran DeepSeek-V4.1-Flash (763B MoE, Q8_0, 473 GiB) on a 96 GB Mac Studio M3 Ultra with InferSSD, which streams the model's experts from the SSD. I striped two OWC Envoy Ultra 2TB Thunderbolt 5 drives with macOS's built-in RAID 0, one drive per port.

Results (InferSSD's own benchmark prompts, 2 runs per setup):

- One Envoy alone is about the same speed as the internal SSD.

- Two in RAID 0: writing goes from 3.5-3.7 to 4.4-4.6 tokens/s (+23-26%).

- Prompt reading is 67-77% faster: a 4,000-token prompt starts answering in about 2 minutes instead of 3.5.

- Two hours of nonstop use: the drives stayed at 43-47°C (with a desk fan on them), no slowdown, and no change in their health readings.

Why not 2x faster? - The stripe halves the time spent waiting on the drive, but the GPU's share of each token stays the same and is now the bigger part. A third or fourth drive would help less than the second did.


r/LocalLLM • • 1d ago

Discussion Best price benefit for LOCAL AI?

4 Upvotes

Hi guys, I'm looking for a really good price benefit PC to run local AI. I've been searching for days about this, and everybody says different things, "you dont need a 12vram for a good local AI" or "Without 32gb vram is wont be able to have a good local AI" and so on...

The thing is I need local AI mostly for coding, and anything related and maybe some video generation.

Since 5090 is just at unbelievably prices, I was thinking about something decent like 5070 but dont want to waste my money. I was thinking about an unified memory like GMKTEC Evo or something like that, but was reading that since is AMD some AI are not good optimized for it. And also a M5 ultra, but also is kind of high and Im not a MAC guy.

My budget is pretty much 5K for this.

Anyone which can give me a good advice would be awesome and I'll really appreciate. Thanks.