Local LLMs & Ollama
Evaluate with evidence
Measure the decision, not the demo: explain local LLMs by connecting a concrete decision to observable evidence.
Before you start
Why this matters
Imagine you own an offline clinical note assistant and must explain one decision to a teammate who knows basic AI vocabulary but has never operated this feature. Write two sentences: what problem does local LLMs solve, and what evidence would show it is solving that problem? Do not name a vendor or model yet. This separates the enduring idea from one implementation.
1Learn the idea
Read
Begin with the decision
Test task quality at the exact quantization, tokens per second, time to first token, peak memory, concurrent throughput, energy, startup time, and failure recovery. Verify network egress, license terms, model provenance, and behavior on target hardware—not a vendor GPU. An evaluation is useful only if its result changes a choice: ship, hold, route, tune, collect data, or retire. Define that choice and its hard gates before selecting metrics.
For an offline clinical note assistant, create cases from real task distributions plus intentionally difficult boundaries. Keep a locked set for final comparison and a development set for iteration. Include slices by input type, language, risk, and consequence. Random sampling estimates common behavior; targeted challenge sets expose rare severe failures. You need both.
Read
Metric layers
Measure three layers separately:
- Component evidence asks whether retrieval, memory selection, ranking, encoding, or coordination worked.
- End-to-end quality asks whether the user’s task was completed correctly and safely.
- Operational outcome asks about latency, cost, availability, escalation, and downstream value.
Local means inference runs on controlled hardware; open-weight means weights are obtainable under a license; open source implies more than downloadable weights. Quantization changes numerical representation, not parameter count, and privacy still depends on logs, plugins, and network paths. A component improvement is valuable only when it preserves gates and helps the end-to-end decision.
Read
Scoring with uncertainty
Suppose 84 of 100 cases pass. The observed pass rate is 84%, but another sample would differ. Report a confidence interval or bootstrap distribution, not false precision. For rare severe errors, count and inspect every event; an average quality score must not wash out a security or privacy breach.
Use deterministic scoring for exact properties such as schema validity or known calculations. Use human rubrics for nuanced correctness and harm. Model judges can scale review, but calibrate them against blinded human labels, measure agreement by slice, and periodically recheck after model or prompt updates.
Read
Comparative protocol
Hold input cases, prompts, tools, timeouts, and scoring constant between candidates. Pair results case by case because the pattern of wins matters more than two independent averages. Record failures and adjudication notes. Reject contaminated cases that appeared in training only when the protocol says how contamination is detected.
A 7B model at 4-bit needs roughly 3.5 GB just for raw weights, plus runtime overhead and KV cache. It runs one 4k-token chat in 6 GB, but four concurrent 16k chats trigger OOM. Limiting concurrency to two and context to 8k stabilizes service; a queue makes the capacity limit explicit. That trace demonstrates practical significance: a setting can raise one metric while violating a gate or harming a critical slice. The report should make that conflict visible.
Read
Release rule
Write a release rule such as: “Ship to 10% only if severe errors are zero on the challenge set, primary task success improves at least three points, every protected slice stays within two points, and p95 latency remains below the agreed budget.” After release, monitor the same constructs with production-appropriate proxies and delayed labels. Offline evaluation and online monitoring form a loop, not competing rituals.