← research lab

Mac-local specialist field guide

How to fine-tune an LLM on a Mac

A practical, evidence-first workflow for fine-tuning an LLM on Apple Silicon with a defined target, LoRA or QLoRA, evaluation, packaging, and reporting.

Fine-tuning an LLM on a Mac is practical when the target is narrow, the model fits Apple Silicon memory, and the evaluation is designed before training begins. The useful goal is rarely to build a smaller general chatbot. It is to create a specialist that improves on a defined task, routes away from tasks it should not answer, and ships with evidence about both gains and regressions.

Start with a target, not a trainer

Write down the task, input and output contract, baseline model, acceptance slices, and failure conditions. A target such as file operations, SQL hygiene, or intent routing can be evaluated. “Make the model smarter” cannot. Freeze a holdout before generating or cleaning training data.

Choose a method that fits the Mac

LoRA updates a small set of adapter weights while leaving the base model frozen. QLoRA applies low-rank adaptation to a quantized base and can reduce memory pressure further. Full-weight fine-tuning is possible for smaller models but is not the default starting point for a one-machine workflow. Apple’s MLX LM supports text generation, quantization, LoRA, QLoRA, and full fine-tuning on Apple Silicon.

Build the factory loop

  1. Target: define the behavior and routing boundary.
  2. Data: create train, validation, and frozen test splits with provenance.
  3. Post-train: run a bounded recipe and preserve the configuration.
  4. Evaluate: compare the unchanged baseline and candidate on the same gates.
  5. Package: export the adapter or fused model with runtime metadata.
  6. Report: publish gains, regressions, missing measurements, and the ship, retry, or reject decision.

PostTrainLLM implements this loop as a Mac-local specialist factory. Its public evidence includes specialist packages and report cards, including a file-operations specialist that improves its hard gate from 58% to 100% while regressing out-of-domain breadth from 59.6% to 42.3%. That tradeoff is why it is routed rather than presented as a general planner.

What success looks like

Success is a reproducible candidate that beats the frozen baseline on the target, stays within explicit regression limits, fits the intended runtime, and has enough evidence to make a decision. A falling training loss is only an intermediate signal.

CTA: Inspect the public specialist artifacts, then follow the MLX LoRA and evaluation guides.