Practise Open-Source & Local LLMs one question at a time. Answer out loud or in writing, get graded, and see exactly what you missed.
What is an "open-weight" model, and how is it different from open source and proprietary models?
An open-weight model ships its trained parameters as a download. You can run it, fine-tune it, and inspect the weights. What you usually do not get is the training data or the training code.
Open source, strictly speaking, also publishes the data, the code, and the recipe under a standard license. Proprietary models keep the weights in-house, so you only reach them over an API.
| Weights | Training data + code | Where it runs | |
|---|---|---|---|
| Open-weight | downloadable | usually not released | your hardware, or any provider |
| Open source | downloadable | released | your hardware, or any provider |
| Proprietary | never released | not released | vendor API only |
Most models people call "open source" are really open-weight. Llama weights are free to download, but the license adds use limits, so read it. Gemma moved to plain Apache 2.0 with Gemma 4.
Missed:
“For me it mostly comes down to data and money. Say you're a hospital or a law firm: you often can't send patient records or client contracts to a third party, so running the model inside your own network settles the compliance question before it starts. On money, if you're pushing a steady few million tokens a day, a couple of GPUs you run yourself can come out cheaper than paying per token. There's also control. Nobody retires the model you tuned all your prompts around, and you can fine-tune it on your own support tickets. The flip side is that you're now on the hook for running it, so for a small internal tool with light traffic I'd just call an API.”
Knew itCovers privacy, cost at steady volume, and control over the model well, and correctly flags idle GPUs and low-traffic cases as bad fits. Missing latency and the air-gapped case.
Missed: Doesn't mention latency, avoiding the public internet hop matters for fast local responses.
Missed: Doesn't mention air-gapped environments where self-hosting is the only option, not just cheaper.
Get your own answers graded
Sign up free. Your account comes with 50 credits for grading, and it remembers what you missed.
What it covers
- Open-weight models and licenses
- Self-hosting versus hosted APIs
- Local runtimes and serving engines
- Quantization and model formats
- VRAM and the KV cache
- Choosing and evaluating a model
- Prompting and output control
- Fine-tuning and LoRA serving
- Batching, throughput and latency
- Speculative decoding and prefix caching
- Multi-GPU and cluster scaling
- Production operations and platform design
All 55 questions
Open-weight models and licenses
What open-weight means compared with open source and proprietary models, the major model families, base versus instruct checkpoints, and how to read model licenses.
- What is an "open-weight" model, and how is it different from open source and proprietary models?
- What are the major open-weight model families in 2026, and who makes them?
- What is the difference between running a "base" model and an "instruct" model locally? Pro
- How do you actually read and compare model licenses like Apache 2.0, MIT, the Llama Community License, and the Gemma terms? Pro
Self-hosting versus hosted APIs
Why teams run models themselves, when hosted open-model providers or on-device inference fit better, and the cost model that decides between them.
- Why would a team run an LLM locally or self-hosted instead of calling a hosted API?
- What are hosted open-model providers like Together, Fireworks, and Groq, and when would you use them instead of self-hosting? Pro
- What are the tradeoffs of on-device or edge inference (phone, laptop, embedded)? Pro
- How do you decide between self-hosting and a hosted open-model provider at scale? Give me the cost model. Pro
Local runtimes and serving engines
Ollama, llama.cpp, LM Studio, vLLM and SGLang: what each is for, how to choose between them, how to serve an OpenAI-compatible endpoint, and how to find out why a local model is slow.
- What is Ollama and when would you use it?
- What is an OpenAI-compatible endpoint, and why do local runtimes offer one? Pro
- What is llama.cpp, and what problem does it solve? Pro
- What is LM Studio, and where does it fit among local tools? Pro
- How do you decide between Ollama, llama.cpp, and vLLM for a deployment? Pro
- How would you stand up a local OpenAI-compatible server with vLLM and point an existing app at it? Pro
- What is SGLang, and how does it compare to vLLM and TGI? Pro
- How would you troubleshoot slow responses from a local LLM? Pro
Quantization and model formats
How quantization shrinks weights, the GGUF, AWQ, GPTQ and FP8 formats, choosing a bit level, and keeping accuracy high in production.
- What is quantization, and why does it matter so much for local LLMs?
- What is GGUF, and where does it fit?
- Compare the main quantization formats: GGUF, AWQ, GPTQ, and FP8. When would you pick each? Pro
- What quantization level should you choose, and how do you reason about the quality-versus-memory tradeoff? Pro
- How does quantization actually work under the hood, and how do AWQ, GPTQ, GGUF k-quants, and FP8 differ in accuracy impact? Pro
- How do you push a quantized model to the accuracy edge for production? Pro
VRAM and the KV cache
Estimating VRAM for weights and the KV cache, why the cache dominates memory at long context, and techniques that shrink it.
- How do you estimate how much VRAM a model needs just to load it?
- Walk me through the full VRAM math for serving a model, including the KV cache. Pro
- Explain the KV cache: what it stores, how it grows, and why it dominates memory at long context. Pro
- Go deep on KV-cache scaling. What techniques reduce it, and how much do they help? Pro
- How does context length affect memory and performance, and how do you serve very long context economically? Pro
Choosing and evaluating a model
Dense versus mixture-of-experts models, picking a model size for a task and hardware budget, and testing whether a model is good enough on your own data.
Prompting and output control
Chat templates, sampling parameters, constrained decoding for JSON and tool calls, and what changes when you run a reasoning model locally.
- Which sampling parameters matter when running a model locally, and how do you set temperature, top-p, top-k, and repetition penalties? Pro
- What is a chat template, and what goes wrong if you format prompts for a local model yourself? Pro
- What changes when you run an open reasoning model locally instead of a plain instruct model? Pro
- How do you get reliable JSON and tool calls out of a local open-weight model? Pro
Fine-tuning and LoRA serving
Fine-tuning open-weight models with LoRA or QLoRA, serving adapters or merged weights, and hot-swapping many adapters on one base model.
Batching, throughput and latency
Continuous batching, PagedAttention, prefill versus decode, the throughput-latency tradeoff, getting the most out of one GPU, and benchmarking a serving setup.
- What is continuous batching, and why does it matter so much for serving throughput? Pro
- What is PagedAttention, and how does vLLM manage the KV cache with it? Pro
- What is the difference between throughput and latency in LLM serving, and how do you tune for each? Pro
- Why are prefill and decode so different, and how does that shape batching and hardware choices? Pro
- How do you maximize throughput on a single GPU serving an open model? Pro
- How do you benchmark a serving setup properly? Pro
Speculative decoding and prefix caching
Speeding up generation with draft models, EAGLE and Medusa, and reusing computed prompt prefixes to cut time to first token.
Multi-GPU and cluster scaling
Tensor and pipeline parallelism, serving MoE models with expert parallelism, disaggregated prefill and decode, and sizing a cluster for a latency target.
- Explain tensor parallelism versus pipeline parallelism for multi-GPU serving. When do you use each? Pro
- How would you size a cluster to serve N concurrent users at a target latency? Walk me through capacity planning. Pro
- How do you serve MoE models efficiently, and what is different from serving dense models? Pro
- Walk me through disaggregated prefill and decode serving, and why frontier stacks separate them. Pro
Production operations and platform design
Observability, pinning model versions and rolling out updates, and designing multi-model, air-gapped and multi-region platforms.
- What does your observability stack look like for a self-hosted LLM in production? Pro
- How do you handle model updates, version pinning, and rollout for self-hosted models? Pro
- Design a cost-optimal multi-model serving platform for a company with diverse LLM workloads. Pro
- Design an on-premises, air-gapped LLM deployment for a regulated enterprise. Pro
- How would you architect global, multi-region, low-latency self-hosted inference under GPU scarcity and cost pressure? Pro
All questions
Showing of 55What is an "open-weight" model, and how is it different from open source and proprietary models?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
An open-weight model ships its trained parameters as a download. You can run it, fine-tune it, and inspect the weights. What you usually do not get is the training data or the training code.
Open source, strictly speaking, also publishes the data, the code, and the recipe under a standard license. Proprietary models keep the weights in-house, so you only reach them over an API.
| Weights | Training data + code | Where it runs | |
|---|---|---|---|
| Open-weight | downloadable | usually not released | your hardware, or any provider |
| Open source | downloadable | released | your hardware, or any provider |
| Proprietary | never released | not released | vendor API only |
Most models people call "open source" are really open-weight. Llama weights are free to download, but the license adds use limits, so read it. Gemma moved to plain Apache 2.0 with Gemma 4.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
Why would a team run an LLM locally or self-hosted instead of calling a hosted API?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Teams self-host when data cannot leave their network, or when steady volume makes owned hardware cheaper than per-token billing. The main reasons:
- Privacy. Prompts and documents never leave your network.
- Cost. You pay a fixed GPU bill instead of a per-token one.
- Stability. You pin the weights, so there is no surprise deprecation or silent update.
- Latency. There is no public internet hop, and a small local model answers fast.
- Control. You keep your own fine-tunes, sampling settings, and full logs.
Air-gapped sites, with no network path to the internet, have no other option.
The cost win only holds when the GPU stays busy. An idle GPU bills the same. You also inherit capacity planning, upgrades, and evaluation. For spiky or low traffic, a hosted API is usually cheaper and ships sooner. Frontier hosted models also still lead on the hardest tasks.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What are the major open-weight model families in 2026, and who makes them?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Around ten families from US, Chinese and French labs cover almost everything teams self-host. A family is one lab's ongoing series of models, not a single release.
From US labs:
- Llama by Meta, custom community license
- gpt-oss by OpenAI, Apache 2.0
- Gemma by Google, Apache 2.0 since Gemma 4, custom Gemma terms before it
- Phi by Microsoft, MIT
- Olmo by Ai2, Apache 2.0, with open training data too
From Chinese labs:
- Qwen by Alibaba, Apache 2.0
- DeepSeek by DeepSeek, MIT
- GLM by Z.ai, MIT. Z.ai was formerly Zhipu.
- Kimi by Moonshot AI, modified MIT
France's Mistral AI makes Mistral, Mixtral and Magistral, under Apache 2.0 or research-only terms. IBM Granite and NVIDIA Nemotron are also common. So are TII's Falcon and MiniMax.
Apache 2.0 and MIT are permissive, while custom terms like Llama's add use limits. Chinese labs now ship many of the strongest permissive weights, often as large mixture-of-experts models that run only part of the model per token.
Each family ships sizes from roughly 1B to over 500B parameters, plus instruct and reasoning variants. Pick on license and size first, then test.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is Ollama and when would you use it?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Ollama is a tool that runs open-weight models on your own machine. It pulls a model with one command and serves it over a local HTTP API on port 11434.
It wraps llama.cpp and ships each model with its chat template, the exact turn markers the model was trained on, plus sane defaults. So you do not pick a quantization or format prompts by hand. It also exposes an OpenAI-compatible route, so most SDKs work after you change the base URL.
ollama run llama3.2
curl http://localhost:11434/v1/chat/completions -d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "hello"}]
}'
Reach for it for local development, private prototypes, and desktop apps serving one user. It is not built for many concurrent users, which is a job for a throughput-focused server.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is quantization, and why does it matter so much for local LLMs?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Quantization stores model weights at lower precision, with fewer bits per number than the original 16-bit floats. A 4-bit copy of a model is roughly a quarter of the size.
That size drop is the whole point. The weights have to fit in VRAM, and consumer GPUs have very little of it.
It also makes generation faster. Decoding is limited by memory bandwidth, so reading fewer bytes per token gives more tokens per second.
The cost is accuracy. 8-bit is close to lossless. 4-bit is usually fine for chat. Below that, quality drops fast.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is GGUF, and where does it fit?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
GGUF is the model file format that llama.cpp reads. It replaced the older GGML format. One file holds the tensors plus the metadata: tokenizer, architecture, and the chat template.
That self-contained design is the point. You download one file and run it, with nothing else to assemble.
It fits the local, single-user lane. llama.cpp, Ollama and LM Studio all take GGUF, on CPU or a split between CPU and GPU. Server engines like vLLM read safetensors on the GPU instead.
The quantization level sits in the file name.
Llama-3.1-8B-Instruct-Q4_K_M.gguf
^^^^^^^ 4-bit k-quant, medium size
GGUF is an inference format. You convert to it from Hugging Face weights, and you do not train in it.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
How do you estimate how much VRAM a model needs just to load it?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Take the parameter count in billions and multiply by the bytes per weight, which gives gigabytes. Then add about 20% for runtime overhead. The precision sets the bytes:
- FP16 or BF16 takes 2 bytes, so an 8B model's weights take about 16 GB.
- FP8 or INT8 takes 1 byte, so the same weights take about 8 GB.
- 4-bit
Q4_K_Mtakes about 0.6 bytes, so the weights take about 4.8 GB.
8B at FP16: 8 * 2 = 16 GB weights
plus ~20% runtime overhead -> ~19 GB needed
4-bit is not exactly 0.5 bytes per weight. Quantized files also store scales and zero points, and often keep some tensors at higher precision.
The same math settles whether a 70B model fits on one 80 GB card. At FP16 its weights alone are 140 GB, so it does not. At 4-bit they drop to about 42 GB, about 50 GB with overhead, so it fits.
That is the load cost only. Serving adds the KV cache, which grows with context and batch size and can outgrow the weights.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What does "dense versus mixture-of-experts (MoE)" mean when running models locally?
What is an OpenAI-compatible endpoint, and why do local runtimes offer one?
What is llama.cpp, and what problem does it solve?
What is the difference between running a "base" model and an "instruct" model locally?
What are hosted open-model providers like Together, Fireworks, and Groq, and when would you use them instead of self-hosting?
Which sampling parameters matter when running a model locally, and how do you set temperature, top-p, top-k, and repetition penalties?
What is a chat template, and what goes wrong if you format prompts for a local model yourself?
What is LM Studio, and where does it fit among local tools?
Walk me through the full VRAM math for serving a model, including the KV cache.
Compare the main quantization formats: GGUF, AWQ, GPTQ, and FP8. When would you pick each?
How do you decide between Ollama, llama.cpp, and vLLM for a deployment?
What is continuous batching, and why does it matter so much for serving throughput?
What is PagedAttention, and how does vLLM manage the KV cache with it?
Explain the KV cache: what it stores, how it grows, and why it dominates memory at long context.
How do you actually read and compare model licenses like Apache 2.0, MIT, the Llama Community License, and the Gemma terms?
What is the difference between throughput and latency in LLM serving, and how do you tune for each?
How would you stand up a local OpenAI-compatible server with vLLM and point an existing app at it?
What quantization level should you choose, and how do you reason about the quality-versus-memory tradeoff?
What is speculative decoding, and when does it actually help?
What is prefix caching (prompt caching) in local serving, and when is it worth enabling?
How do you serve a fine-tuned open model? Compare LoRA adapters versus merged weights.
What is SGLang, and how does it compare to vLLM and TGI?
How do you evaluate whether a local or quantized model is good enough for your use case?
What are the tradeoffs of on-device or edge inference (phone, laptop, embedded)?
How do you pick a model size for a given task and hardware budget?
What changes when you run an open reasoning model locally instead of a plain instruct model?
How would you fine-tune an open-weight model on your own data, and when is LoRA or QLoRA the right choice?
How do you get reliable JSON and tool calls out of a local open-weight model?
How would you troubleshoot slow responses from a local LLM?
How do you deploy and hot-swap multiple LoRA adapters at serving time?
Go deep on KV-cache scaling. What techniques reduce it, and how much do they help?
Explain tensor parallelism versus pipeline parallelism for multi-GPU serving. When do you use each?
How would you size a cluster to serve N concurrent users at a target latency? Walk me through capacity planning.
Why are prefill and decode so different, and how does that shape batching and hardware choices?
How does quantization actually work under the hood, and how do AWQ, GPTQ, GGUF k-quants, and FP8 differ in accuracy impact?
How do you maximize throughput on a single GPU serving an open model?
Give me a deep dive on speculative decoding: draft models, acceptance rate, EAGLE and Medusa, and when it backfires.
How do you benchmark a serving setup properly?
What does your observability stack look like for a self-hosted LLM in production?
How do you handle model updates, version pinning, and rollout for self-hosted models?
How do you decide between self-hosting and a hosted open-model provider at scale? Give me the cost model.
How does context length affect memory and performance, and how do you serve very long context economically?
How do you serve MoE models efficiently, and what is different from serving dense models?
Design a cost-optimal multi-model serving platform for a company with diverse LLM workloads.
Walk me through disaggregated prefill and decode serving, and why frontier stacks separate them.
How do you push a quantized model to the accuracy edge for production?
Design an on-premises, air-gapped LLM deployment for a regulated enterprise.
How would you architect global, multi-region, low-latency self-hosted inference under GPU scarcity and cost pressure?
This answer is part of Pro.
The full written answer, with the trade-offs and follow-ups an interviewer will probe.
No matches
Try a different filter or search term.
Open-Source & Local LLMs in pictures.
A quick recap of Open-Source & Local LLMs in 41 short animated pictures, one idea at a time. About 10 min to get the whole topic back in your head before you walk in. Pause any picture, slow it down, or step through it.
Pro The first chapter is free to play. The other 39 pictures come with Pro.
Open-Source & Local LLMs cheatsheet
- Open models & licenses01
- Self-host or hosted API02
- Run a model locally03
- VRAM & KV cache math04
- Quantization05
- Prompts, sampling & JSON06
- Serve many users07
- Fine-tunes & adapters08
- Scale across GPUs09
- Evaluate, ship & monitor10
- The model11
- + 5 more inside
This picture is part of Pro. The first chapter is free to play; the other 39 pictures come with Pro.
Get Pro · $10/mo Already Pro? Sign in48 of 55 Open-Source & Local LLMs answers are in Pro.
Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.
- Full answers + code
- AI explanations, simpler or deeper
- 1,000 AI credits / month
- Cancel anytime
Change topic
Pick a different technology or stack. Your current topic stays put until you choose a new one.
MEAN
MongoDB, Express, Angular, Node.jsMERN
MongoDB, Express, React, Node.jsDjango
Python Full-Stack DevelopmentRuby on Rails
Convention over ConfigurationServerless on AWS
Serverless Architecture on AWSInterviewers also test these - they're common to every stack, whichever one you picked above.
Flutter Mobile
Flutter Cross-Platform Mobile DevelopmentInterviewers also test these - they're common to every stack, whichever one you picked above.
Spring Boot
Enterprise Java Development.NET
Microsoft EcosystemVue
Vue.js, Vite, TypeScript, Tailwind, Node.jsGo Backend
Golang, gRPC, PostgreSQL, Redis, RabbitMQInterviewers also test these - they're common to every stack, whichever one you picked above.
FastAPI
Python, FastAPI, SQLAlchemy, PostgreSQLReact Native
React, TypeScript, Redux, FirebaseiOS Native
Swift, SwiftUI, UIKit, FirebaseAndroid Native
Java, Jetpack Compose, FirebaseDevOps / Platform
Docker, Kubernetes, Terraform, CI/CDInterviewers also test these - they're common to every stack, whichever one you picked above.
AI Engineer
LLMs, RAG, Agents, EvalsAI-Powered Developer
Claude Code, Copilot, Agentic WorkflowsCore SWE Interview Prep
Data structures, algorithms, OS, concurrency, networking, gitInterviewers also test these - they're common to every stack, whichever one you picked above.
Interviewers also test these - they're common to every stack, whichever one you picked above.