Download this article (PDF) 482 KB

Local LLMs matter because I can choose the weights, inspect the configuration and keep a version available for repeatable comparisons. Political neutrality does not come with the download. A local checkpoint can retain the same learned preferences as a hosted one, even when it refuses fewer requests. The useful second opinion is one I can evaluate and control, not one I assume is unbiased.
I still want a local inference option alongside hosted models. For contested framing and writing, I want to compare answers without relying on one provider’s defaults. For code and tool use, I want the model that passes the relevant tests. Those preferences need a routing policy, a privacy boundary and enough memory for the actual context.
Revised October 21, 2026. Benchmark claims are scoped to the reported sample; memory figures are explicit calculations. The previous price estimates and claims of universal local-model neutrality have been removed. Sources are linked beside the relevant claims.
What does the political benchmark establish?
The Neutrality Project reports a progressive lean in its Release 01 sample on a scale anchored separately for each model. Its results page attributes 97 left-of-center positions out of 108 to 18 project-run models across six dimensions. These are model-by-dimension positions, not 108 models, and they do not measure the political neutrality of every possible answer.
The Release 01 results, checked October 21, 2026, list 24 models in total, including six community runs pending re-verification. The headline uses the 18 project-run models. The project also flags refusal-affected dimensions and scoring-reference overlap for some model families. Those qualifications belong beside the finding.
The methodology uses 3,987 public-opinion questions and compares ordinary answers with the same model’s far-left and far-right persona answers. Zero is the midpoint of those anchors, not an independently established definition of neutrality. I read the result as evidence to test framing, not as a calibration offset I can subtract from every response.
Local control does not remove learned bias
Running a model locally changes who operates inference and who controls its files and configuration. It does not erase preferences learned during training or establish factual accuracy. A checkpoint described as uncensored or abliterated still needs evaluation. Fewer refusals, different political framing and better answers are separate outcomes; I would measure each rather than use one as a proxy for another.
| Property | What local deployment can control | What still needs verification |
|---|---|---|
| Behavior over time | Checkpoint, runtime, template and settings can be pinned. | Reproducibility across sampling, hardware and runtime changes |
| Data handling | Inference can stay within a chosen machine or network. | Tools, logs, backups, remote retrieval and fallback paths |
| Political framing | Weights and prompts can be selected and compared. | Factuality, omissions, assumptions, refusal behavior and viewpoint coverage |
I would not call a model independent simply because it is on my desk. Several local models can share training data, base weights or tuning methods. Agreement between them is useful to inspect, but it is not independent confirmation of a claim. For factual disputes, the next step is checking evidence outside the generated answers.
Why keep llama.cpp in the stack?
llama.cpp provides a practical way to run supported models on local hardware and expose inference to applications. Its documentation describes C/C++ inference and a server with compatible API routes. The operational benefit is the ability to pin a tested deployment and choose its data boundary, while checking model, backend and client compatibility rather than assuming every feature transfers unchanged.
The project documentation and server reference are the starting points. I would record the runtime commit, model file hash, chat template, quantization and sampling settings. A filename alone is not enough to reproduce a community merge after it has changed or disappeared.
Local privacy requires more than a local endpoint. An agent can still send text through web search, remote embeddings, tracing or a cloud fallback. For confidential work, I would verify the complete path, restrict outbound access where appropriate and review what gets retained in logs. Local weights do not make a network-connected agent offline.
Size context memory separately from model weights
Inference memory includes model weights, the attention KV cache and runtime buffers. Quantizing the weights does not automatically quantize the cache. For a conventional full-attention transformer, cache size grows with the number of cached tokens, layers and KV heads, the head dimension and the storage precision. Model architecture and concurrent sequences can change that calculation substantially.
Consider an illustrative architecture with 32 layers, eight KV heads, 128 elements per head and two-byte keys and values. Its raw cache uses 2 × 32 × 8 × 128 × 2 = 131,072 bytes per cached token. The first factor counts keys plus values. This is arithmetic for stated assumptions, not a benchmark or a promise for every 8B model.
| Cached tokens | Raw KV cache | Excluded from the calculation |
|---|---|---|
| 8,192 | 1 GiB | Weights, compute buffers, padding and allocator overhead |
| 16,384 | 2 GiB | Additional simultaneous sequences and runtime reservations |
| 32,768 | 4 GiB | Any memory beyond the stated conventional cache layout |

I would test the intended prompt length, output allowance and concurrency before choosing hardware. Record peak host memory and VRAM, prompt processing time, time to first token and generation speed. A model that loads successfully can still become unusable when the agent adds history, tool results and retrieved documents.
TurboQuant is research, not a deployment guarantee
TurboQuant describes vector quantization techniques evaluated for applications including KV-cache compression. A paper result does not establish that a particular runtime, model and accelerator combination supports the method or preserves task quality. I would choose a cache format from a verified build and test its memory, speed and answer quality before treating any proposed compression ratio as usable capacity.
The TurboQuant paper by Zandieh and colleagues is the research reference. The proposed CPU implementation in llama.cpp PR #21089 was closed unmerged on June 2, 2026. The closing comment cited insufficient evidence to justify the opportunity cost and procedural conflict. That specific PR’s status neither proves that all related implementations fail nor establishes support in another build.
The earlier version of this article treated future support as the missing prerequisite for local writing. I would not make that dependency now. Start with a workload that fits, then compare available cache types on representative tasks. A context window that fits in memory can still perform poorly on retrieval or long-range dependencies.
Route by data policy and measured task quality
A hybrid routing policy should check whether data may leave its boundary before selecting a model for capability or cost. Eligible models then compete on the actual task, including tool reliability and latency. For contested framing, I prefer a controlled comparison between configurations. Human review remains responsible for the final judgment, regardless of which endpoint produced the draft.

- Classify the input and define allowed endpoints, tools and retention. A local-only job must fail visibly if local inference is unavailable.
- Pin the configurations being compared. Give each model the same sources and task, then keep the raw answers for review.
- Score factual support, missing counterarguments, instruction compliance and refusal behavior separately. A preferred political answer is not an accuracy test.
- Measure the complete serving path under the expected context and concurrency. Compare local operating costs with measured API usage, not a stale price table.
- Re-run the evaluation after model, template, runtime or routing changes. Review any outbound fallback before enabling it.
This fits the broader operating discipline in AI infrastructure and SRE. The reason I keep a local option is control over an inference path I can inspect and retain. Whether that option is good enough for a particular task is an empirical question.
FAQ
Local inference, political neutrality and deployment suitability are separate questions. A model can run offline and still produce biased or incorrect answers; a capable hosted model can still be ineligible for confidential inputs. These answers describe what to verify before using local and hosted models together, rather than prescribe one endpoint for every writing or coding task.
Are local LLMs politically neutral?
No deployment location guarantees political neutrality. Training data, tuning, prompts and evaluation design affect the answers. Local inference gives the operator more control over a configuration; neutrality and factuality still require separate assessment.
Does an uncensored checkpoint give better answers?
Fewer refusals do not establish higher accuracy or broader viewpoint coverage. Compare refusal behavior, factual support and task performance independently on representative prompts before choosing a checkpoint.
Does a quantized model guarantee low context memory?
No. Weight quantization and KV-cache storage are separate settings. Context length, architecture, concurrent sequences and runtime buffers affect total memory. Measure the actual build at the intended workload.
Is a local agent automatically private?
No. Remote tools, retrieval, tracing, logs and cloud fallbacks can transmit or retain inputs even when inference is local. Check the entire data path and enforce the required network and retention policy.
Related AI infrastructure guides
This article addresses control and evaluation of a local second opinion. The related guides cover production AI operations, combining model outputs and distillation into local models. They address different deployment decisions; none makes agreement between models sufficient evidence that an answer is correct or that a particular workload fits the available hardware.
- AI infrastructure and SRE: running models in production
- Combining model outputs and evaluating the result
- Distilling frontier reasoning into a local model
Sources checked October 21, 2026. Benchmark findings are attributed to the Neutrality Project, not presented as my own experiment. Memory examples are original calculations. Images are conceptual illustrations, not benchmark evidence. No affiliation or endorsement is implied.
If you are choosing hardware or reviewing a hybrid inference design, I can examine memory, routing and workload assumptions through Capacity Planning and Platform Sizing or a data platform audit. Book a free 15-minute intro call to discuss the decision.
2 Comments
NYT Spelling Bee · 2026-09-16 at 22:34
Llama.cpp enables local models to bypass political biases in cloud-based frontier AI services, making it essential for unbiased personal use.
Spelling Bee
Julien Laurenceau · 2026-10-22 at 16:26
now strata is the new boss in town : https://github.com/niko1221/strata