Guide14 min read

Can You Fine-Tune an LLM on a 128GB Mini PC? (And Which Box to Buy in 2026)

LoRA and QLoRA on 20–30B models are practical on 128GB of unified memory; full fine-tunes stop near 12B; dense 70B training doesn't happen on any box in this class. Fine-tuning is the one local-AI workload where the software stack — not memory bandwidth — decides which machine you buy. Here's the capability table, the CUDA tax, and the cloud break-even.

D

DataHardware Team

Our Top Pick

NVIDIA DGX Spark (GB10 Grace Blackwell)

NVIDIA DGX Spark (GB10 Grace Blackwell)

$4,699+
GB10 Grace Blackwell Superchip20-core Arm (10× Cortex-X925 + 10× A725)Blackwell (5th-gen Tensor Cores), CUDA-native

Quick answer: Yes — but the boundary is sharp. On a 128GB unified-memory mini PC you can run LoRA or QLoRA on a 20–30B model, and full fine-tunes top out around 12B; training a dense 70B is out of reach on every box in this class. The decisive variable is not memory bandwidth — it is the software stack. NVIDIA's DGX Spark runs the standard CUDA training stack unmodified at $4,699; AMD's Strix Halo boxes start at $3,449 (Framework Desktop) and $3,649 (GMKtec EVO-X2) but need a community-built ROCm toolchain, because as of September 2026 ROCm still does not officially support gfx1151. That makes the CUDA premium for a fine-tuner about 29–36% — not the 2× that the standing advice on the internet was written against.

Training breaks every rule inference taught you
Training breaks every rule inference taught you

Training breaks every rule inference taught you

Almost everything written about these machines — including most of this site — is about inference. That coverage produced one durable piece of advice: buy for capacity, accept the bandwidth, and the cheapest 128GB box wins because the silicon is identical. For running models, that is correct. For training them, it is the wrong frame, and repeating it costs people money.

Two things change the moment you stop asking a model questions and start updating its weights.

First, memory stops being about the model and starts being about the run. Inference needs the weights, a KV cache and not much else. Training needs the weights plus a gradient for every trainable parameter, plus optimizer state (AdamW keeps two moments per parameter), plus the activations held for the backward pass. That is why a box that happily serves a 117B-parameter MoE like GPT-OSS 120B at inference can only train a small fraction of that size.

Second, the software stack stops being a solved problem. Inference on Strix Halo is easy: llama.cpp with the Vulkan backend, Ollama, LM Studio, done. None of those train. Training means PyTorch, PEFT, bitsandbytes, an attention kernel and a working GPU compute runtime — and that is a much narrower path on non-NVIDIA silicon. This distinction matters so much that the rest of this post is organised around it.

What actually fits in 128GB: full, LoRA, and QLoRA
What actually fits in 128GB: full, LoRA, and QLoRA

What actually fits in 128GB: full, LoRA, and QLoRA

Stop thinking in parameter counts and start thinking in bytes per parameter. That single reframe answers the whole question. Here is what each technique costs before activations:

TechniqueWhat is stored per parameterApprox. bytes/param
Full fine-tune (bf16 + 8-bit optimizer)bf16 weights (2) + gradients (2) + 8-bit Adam moments (~2)~6
Full fine-tune (bf16 + fp32 AdamW)weights + grads + fp32 master copy + two fp32 moments~16
LoRA (frozen bf16 base)bf16 base weights only; adapters are a rounding error~2
QLoRA (frozen 4-bit base)4-bit quantized base; adapters trained in bf16~0.55

Now apply that to a ~96GB budget — the practical GPU-allocatable ceiling on a Strix Halo box, and the number our VRAM allocation guide shows you how to actually free up. The DGX Spark's 128GB is coherent between its Arm CPU and Blackwell GPU rather than carved out in advance, so its usable training budget is somewhat larger, but the shape of the table is the same:

ModelFull fine-tuneLoRAQLoRA
Gemma 3 12BYes — ~72GB at 6 B/paramComfortable (~24GB base)Trivial (~7GB base)
Qwen 3 14BEdge of the envelope — ~84GBComfortable (~28GB base)Trivial (~8GB base)
GPT-OSS 20BNo (MoE routing adds overhead)Yes — community-reportedYes
Gemma 3 27BNo — would need >150GBYes — ~54GB baseYes — ~15GB base
Qwen 3 32BNoTight — ~64GB base leaves little for batch/contextYes — ~18GB base
Llama 3.3 70BNoNo — ~140GB baseNot in practice (see below)

The 70B row deserves its own sentence, because the arithmetic alone would mislead you. A dense 70B at 4-bit is roughly 38–39GB of weights — the same figure our memory bandwidth breakdown uses — and 39GB obviously fits in 96GB. What does not fit alongside it is a useful sequence length, a batch size above one, and the activation checkpointing headroom a 70B backward pass wants. Add a compute path running at 215–273 GB/s and the wall-clock stops being a weekend and starts being a fortnight. The 70B ceiling here is practical, not arithmetic — and we could not find a single public report of a completed dense-70B fine-tune on a 128GB desktop box of any brand. Treat "70B QLoRA on a mini PC" as unproven until someone posts a log.

These ceilings are community-reported, not vendor specification. The primary evidence is a Framework community thread titled "Finetuning LLMs on Strix Halo: Full, LoRA, and QLoRA on Gemma-3, Qwen-3, and GPT-OSS-20B", where owners document what completed and what ran out of memory on their own hardware. Read it as a field report from people who bought the machine, because that is exactly what it is.

One more note worth internalising before you buy: if you are choosing what to fine-tune from, our roundup of the best local models for a 128GB box and the 12B–32B band above overlap almost perfectly. The models that fine-tune well on this hardware are the same ones that serve well on it.

The CUDA tax: the one job where the DGX Spark earns its price
The CUDA tax: the one job where the DGX Spark earns its price

The CUDA tax: the one job where the DGX Spark earns its price

Here is the honest software story, and it is the reason this post exists.

As of September 2026, AMD's ROCm still does not officially list gfx1151 — the target for the Radeon 8060S iGPU inside every Ryzen AI Max+ 395 box — among its supported GPUs. Community trackers such as the llm-tracker.info Strix Halo page maintain a running record of that status precisely because it keeps changing and nobody can rely on memory. If you are reading this months after publication, verify it before you buy on the strength of it.

"Not officially supported" does not mean "does not work." The h34v3nzc0dex/strix-halo-llm-finetune-guide repository on GitHub publishes a reproducible gfx1151 training recipe: a ROCm 7.13 nightly, PyTorch 2.11, bitsandbytes, flash-linear-attention, and a set of patches, assembled specifically for multi-day LoRA runs on 27B-class models. It works. People have finished runs with it.

The guide's own stated goal is to make multi-day training runs survivable — which tells you everything about what you are signing up for. That framing is the honest summary of ROCm training on this silicon in 2026: achievable, reproducible, and a project.

On a CUDA box, none of that paragraph exists. You install PyTorch from the standard index, pip install peft and bitsandbytes, and the tutorial you found runs. The DGX Spark ships NVIDIA's DGX OS with the full CUDA toolchain and is, in software terms, a small version of the machine the rest of the ecosystem develops against.

Be precise about the scope of this problem, because the internet consistently overstates it. This is a training complaint, not an inference complaint. Inference on Strix Halo via llama.cpp's Vulkan backend is a solved, easy, well-trodden path — the Vulkan route sidesteps ROCm entirely and is often the faster choice for token generation. Independent 2026 backend benchmarking from Soot / Silicon (soothill.io) on Vulkan versus ROCm for llama.cpp on Strix Halo found the split workload-dependent: ROCm holds a clear advantage on prompt processing at long context, while Vulkan matches or beats it on decode. That same prefill weakness is the thing we dug into in our prefill and time-to-first-token analysis, and it is the same compute path a training run leans on hardest.

So the CUDA tax is not a performance number. It is a time cost with a dollar price. On the AMD path you will spend a weekend — realistically more, the first time — building an environment, and you will re-spend a slice of it every time a dependency moves. On the NVIDIA path you spend money instead. Which one is cheaper depends entirely on what your weekends are worth, and that is a question the spec sheets cannot answer for you.

The price gap collapsed — and nobody updated the advice
The price gap collapsed — and nobody updated the advice

The price gap collapsed — and nobody updated the advice

This is the part every competing article gets wrong, and it inverts the conclusion.

The standing advice — "Strix Halo is half the price, buy it unless you truly need CUDA" — was written in a world where a 128GB Strix Halo box launched near $1,999 and the DGX Spark cost $3,999. Against a 2× gap, telling a fine-tuner to eat a weekend of ROCm yak-shaving to save two thousand dollars was reasonable advice. That world no longer exists. Both ends moved, in the same direction, at the same time:

  • NVIDIA raised the DGX Spark's official price from $3,999 to $4,699 on 2026-02-27, citing memory supply.
  • Strix Halo street prices rose hard through the 2026 DRAM squeeze — the story we tracked in why local-AI mini PCs got more expensive in 2026.

Here is where our verified catalog actually sits today. These are the prices we check, not the MSRPs vendors published at launch:

BoxPlatformOur verified priceDelta to DGX Spark
Framework DesktopStrix Halo$3,449+$1,250 (+36%)
GMKtec EVO-X2Strix Halo$3,649+$1,050 (+29%)
Minisforum MS-S1 MaxStrix Halo$3,719+$980 (+26%)
Beelink GTR9 ProStrix Halo$4,349+$350 (+8%)
NVIDIA DGX SparkGB10 / CUDA$4,699+
ASUS Ascent GX10GB10 / CUDA$4,999 – $6,540varies by SSD tier

Read the bottom two rows of the Strix Halo block again. Buying a Beelink GTR9 Pro instead of a DGX Spark saves a fine-tuner $350 — eight percent — in exchange for owning the entire ROCm toolchain problem. Nobody writing "just buy the cheap AMD box" in 2026 has looked at that number. (Our HP Z2 Mini G1a listing runs $3,300–$3,734 and is the cheapest entry in the group at the low end, but that figure is retailer-sourced and flagged needs-verification, so we are not building an argument on it.)

If you fine-tune, a ~29% premium to delete a multi-day toolchain project is an easy yes. At 2× it was not. That is the whole inversion, and it follows from pricing rather than from opinion. For the inference-side version of this same matchup — where the conclusion still favours AMD — see our DGX Spark vs Strix Halo comparison or go straight to the DGX Spark vs EVO-X2 spec-by-spec page.

Local fine-tuning vs renting a cloud GPU: the real break-even
Local fine-tuning vs renting a cloud GPU: the real break-even

Local fine-tuning vs renting a cloud GPU: the real break-even

We sell hardware. We are still going to tell you plainly: on cost per run, renting usually wins, and it is not close.

Marketplace GPU rental (RunPod, Vast.ai and similar) prices a single 24–48GB card by the hour, and those rates move constantly — check them the day you decide rather than trusting any article, including this one. What does not move is the arithmetic, so here is the break-even expressed against whatever rate you find:

Hourly rate you findHours to break even on a $3,649 EVO-X2Hours to break even on a $4,699 DGX Spark
$0.50 / hr~7,300 hours~9,400 hours
$1.00 / hr~3,650 hours~4,700 hours
$2.00 / hr~1,825 hours~2,350 hours
$4.00 / hr~910 hours~1,175 hours

Put a run against that. If a LoRA job on a mid-size model takes you six rented GPU-hours at $1/hour, that is $6 of compute — and a $4,699 box is roughly 780 runs of break-even. If you are going to fine-tune four times a year to see what happens, rent. You will get a faster card, you will not build a toolchain, and you will spend less than a hundred dollars over the life of the experiment.

Three things beat that arithmetic, and only three:

1. The data legally cannot leave the building. If you are tuning on patient records, privileged legal documents, financial customer data, or anything under a contract or regulation that forbids third-party processing, cloud rental is not expensive — it is unavailable. For this buyer the break-even table is irrelevant and the only question is which box runs the stack you need. This profile should generally buy CUDA, because "the tutorial just works" is worth much more when you cannot ask a forum to debug your data.

2. Experiment velocity. Metered billing changes behaviour, and not for the better. On a box you own there is no queue, no dataset upload, no instance to provision, no clock running while you stare at a loss curve and think. The indie builder who runs twenty scrappy experiments because each one is free will out-learn the one who runs four careful ones because each one costs money. That is a real effect and it does not show up in a spreadsheet.

3. The box is not idle between runs. This is the one that actually closes the gap. A rented GPU costs money only while training; a box you own is also your inference server, your coding-agent host, and your RAG backend for the other 23 hours of the day. Amortise it across all of that — including the electricity, which we costed out in our power consumption breakdown — and the purchase stops being a training decision and starts being an infrastructure one.

If none of those three describe you, rent. We would rather you came back for the box when one of them does.

Which box to buy if fine-tuning is on your roadmap
Which box to buy if fine-tuning is on your roadmap

Which box to buy if fine-tuning is on your roadmap

The decision table. Find your row, buy that box.

If this is youBuyPriceWhy
Best for CUDA-native training — every tutorial and repo must run unmodifiedNVIDIA DGX Spark$4,699+Standard PyTorch/PEFT/bitsandbytes stack, DGX OS, 200GbE clustering. Zero toolchain project.
Best for CUDA on a bigger SSD — same platform, more storage tiersASUS Ascent GX10$4,999 – $6,540Identical GB10 silicon and stack; 1TB/2TB/4TB tiers and the most widely-shipping GB10 box.
Best value for a Linux-comfortable tuner — willing to build ROCmGMKtec EVO-X2$3,649Cheapest widely-stocked 128GB Strix Halo box; quiet, dual-M.2, 96GB allocatable.
Best for tinkerers and serviceabilityFramework Desktop$3,449Standard mini-ITX board, open firmware, the best Linux story in the group — which is exactly what a ROCm build wants.
Best I/O for moving datasetsMinisforum MS-S1 Max$3,719Dual 10GbE, dual USB4 v2, PCIe x16, 320W PSU, 2U-rack option. Best sustained cooling of the AMD group.
Best for quiet multi-day runs beside your deskBeelink GTR9 Pro$4,349Vapor-chamber cooler holds sustained ~120W at ~36–41 dBA, plus dual 10GbE. But at +8% to a DGX Spark, ask yourself why you are not buying CUDA.
Best for Apple-native / MLX workMac Studio M4 Max$1,999 – $5,999410–546 GB/s — the most bandwidth in this price class — and a genuinely pleasant MLX fine-tuning path. No CUDA, smaller ecosystem.

Two things the table cannot say in a cell.

Multi-day training is a thermal problem before it is a compute problem. An inference workload is bursty; a fine-tune pins the GPU for hours or days and finds every weakness in a chassis. This is why cooling moves up the priority list when training enters the picture and why we spent so much of our Beelink GTR9 Pro review on sustained load rather than peak numbers. If you buy AMD and intend to train, buy the box with the better cooler even if it costs more.

The Strix Halo boxes are the same silicon. Every AMD row above runs the identical Ryzen AI Max+ 395 and hits the identical ceilings — 128GB, ~96GB allocatable, 256 GB/s theoretical and ~215 GB/s real. You are choosing chassis, cooling, I/O and price, nothing else. The EVO-X2 vs Framework Desktop page lays that out, and the Strix Halo hub collects the platform in one place. Same logic on the NVIDIA side: DGX Spark vs Ascent GX10 and the GB10 hub. Apple shoppers, start at the Apple Silicon hub.

Should you wait for a 192GB Gorgon Halo box?
Should you wait for a 192GB Gorgon Halo box?

Should you wait for a 192GB Gorgon Halo box?

Short answer for a fine-tuner: no, not on this argument.

IFA 2026 in Berlin (September 4–8) was a 192GB wave — Minisforum, Chuwi, GMKtec, Framework and Acemagic all showed Ryzen AI Max+ PRO 495 "Gorgon Halo" boxes with 192GB of LPDDR5X-8533. More memory does raise the training ceiling more than it raises the inference ceiling, which is a genuinely better argument for training than for serving: an extra ~64GB is the difference between a 27B LoRA that fits awkwardly and one that fits comfortably.

But two things kill it as a reason to wait. No 192GB SKU price has been announced — not by AMD, not by the partners — so every figure circulating is a guess, and we will not put one in our catalog until a retailer publishes it. And the software situation is unchanged: a 495 is still an AMD iGPU on the same immature ROCm training path, so whatever it costs, you would be paying a premium over today's boxes to keep the exact problem this post is about. We laid out the full timing case in Ryzen AI Max 400 "Gorgon Halo": wait or buy? — and for a fine-tuner specifically, waiting buys capacity you cannot yet conveniently use.

Bottom line: the decision rule
Bottom line: the decision rule

Bottom line: the decision rule

Four questions, in order. Stop at the first one that answers.

  1. Will you fine-tune fewer than ~10 times a year, on data that may legally leave the building? Rent a cloud GPU. Buy nothing. Come back when that changes.
  2. Does your data legally have to stay put, or must every tutorial run unmodified? Buy the DGX Spark at $4,699, or the ASUS Ascent GX10 if you want a bigger SSD. The 29–36% premium over the AMD boxes is the cheapest insurance in this category.
  3. Are you comfortable on Linux, happy to build a ROCm nightly, and spending your own time rather than a budget? Buy the GMKtec EVO-X2 at $3,649 or the Framework Desktop at $3,449, and budget a weekend before your first run completes.
  4. Do you live in the Apple ecosystem? The Mac Studio M4 Max and its 410–546 GB/s is the bandwidth leader here and MLX fine-tuning is pleasant — just accept a smaller ecosystem than CUDA's.

And the line to remember when you read the next article that tells you the AMD box is half the price: it isn't any more. At $3,449–$4,349 against $4,699, the CUDA premium for someone who trains is roughly 36% against the cheapest AMD box, 29% against the EVO-X2, and 8% against the GTR9 Pro. Whatever you conclude from that, conclude it from today's prices.

fine-tuningloraqlorastrix-halodgx-sparkrocmcudaunified-memorymini-pc
NVIDIA DGX Spark (GB10 Grace Blackwell)

NVIDIA DGX Spark (GB10 Grace Blackwell)

$4,699+

Check Price

More from the blog

Stay ahead in AI hardware

Weekly deals, GPU reviews, and build guides. No spam.

Unsubscribe anytime. We respect your inbox.