Cloud bills climb. So do rules about data leaving the building. If you want a private, offline open source LLM on your own box, Meta’s Llama 3 family (3.1 8B through 3.3 70B) is still the daily driver that holds up. This guide runs it through Ollama – the path most people keep – then spends real space on the hardware traps that burn an afternoon.
I watched a 70B pull finish clean, then crawl at ~3 tokens/sec. nvidia-smi looked fine. ollama ps said 100% CPU. One log line later: GPU discovery had timed out and fallen back without a loud failure. You should not have to learn that the hard way.
System Requirements for Llama 3 Open Source LLM
Ollama defaults to Q4_K_M-class quants. Floors below are for usable speed, not “it loaded and froze.”
| Model tag | Download size | Min VRAM / RAM | Comfortable | Notes |
|---|---|---|---|---|
| llama3.1:8b (or :latest) | ~4.9 GB | 6-8 GB VRAM or 16 GB RAM | 12-16 GB VRAM / 32 GB RAM | Daily driver; 128K context |
| llama3.2:3b | ~2 GB | 4 GB / 8 GB | 8 GB | Edge / laptop |
| llama3.3 (70B) | ~43 GB | 40+ GB VRAM or 64 GB unified | 48 GB+ or multi-GPU | Approaches 405B text quality per Meta |
| llama3.1:405b | very large | Datacenter | – | Skip unless you already have the iron |
OS: Windows 10/11, macOS (Apple Silicon likes unified memory), Linux. Disk: keep ~2× model size free while the pull lands. NVIDIA with recent drivers, AMD with ROCm 7+, or Metal. No GPU? CPU runs. On 8B you will live in single-digit tok/s – fine for a smoke test, rough for real chat.
Official Download Sources
For deployment, start at the Ollama library. Quantized Llama 3 tags are ready to pull; you do not do a separate license click for those copies.
Want the full original weights anyway? Accept the Community License at llama.com/llama-downloads, then use the signed URL or Hugging Face after approval. Architecture and eval detail sit in the Llama 3 Herd paper (arXiv:2407.21783).
# After Meta email approval (advanced path)
pip install llama-models
llama-model list
llama-model download --source meta --model-id <ID from list>
# Paste the expiring URL when prompted
Signed links die after about 24 hours or a handful of downloads. 403 → re-request. Native Windows paths on the original repo also hit termios/NCCL pain – WSL2 or Ollama/HF GGUF saves the night.
Step-by-Step Install with Ollama (Latest)
As of mid-October 2026, stable Ollama sits around the 0.40.x line (check ollama --version; tags move). Binary first.
Linux / macOS:
curl -fsSL https://ollama.com/install.sh | sh
ollama --version
Windows (PowerShell as admin preferred):
irm https://ollama.com/install.ps1 | iex
# or OllamaSetup.exe from ollama.com/download
Service usually auto-starts (tray icon on desktop). Then pull the open source LLM:
# Practical default - 8B
ollama run llama3.1:8b
# Stronger 70B if hardware allows
ollama run llama3.3
# Explicit quant when disk/VRAM is tight
ollama pull llama3.1:8b-instruct-q4_K_M
First run downloads, then drops a chat prompt. /bye exits. Server-style Docker:
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
docker exec -it ollama ollama run llama3.1:8b
Pro tip: while you chat, run
ollama ps. PROCESSOR at 100% CPU with a quiet GPU is the silent fallback – fix drivers before you blame the weights.
Config that stops the RAM surprise
Default context can go up to 128K on these tags. Feels free until the KV cache stacks on top of the Q4 weights and you OOM mid-thread. Cap it.
FROM llama3.1:8b
PARAMETER num_ctx 8192
PARAMETER temperature 0.7
SYSTEM "You are a concise coding assistant. Prefer short, correct answers."
ollama create llama3-dev -f Modelfile
ollama run llama3-dev
Env knobs before serve (or in the service file): OLLAMA_NUM_GPU=99 to push layers, OLLAMA_HOST=0.0.0.0:11434 for LAN, OLLAMA_KEEP_ALIVE=30m. Remember that 128K line in the table? This is where it bites.
Verify the Install Works
ollama list– model + size.ollama run llama3.1:8b "Reply with exactly: ready"– should snap back.- API:
curl http://localhost:11434/api/tagsand a POST to/api/chat. ollama psduring generation – GPU % if you expect one.
Python after pip install ollama:
from ollama import chat
print(chat(model='llama3.1:8b', messages=[{'role':'user','content':'2+2?'}]).message.content)
Common Install Errors and Fixes
“model requires more system memory (X GiB) than is available (Y GiB)”
Kill browser/IDE heft, drop to llama3.2:3b or a tighter quant, or lower num_ctx in a Modelfile. Weights plus long-context cache is the usual villain – not a wrong download size on the library page.
“could not connect to ollama app” / connection refused on 11434ollama serve (or sudo systemctl start ollama). Port busy? lsof -i :11434 / netstat -ano | findstr 11434, kill the PID.
GPU ignored, crawling speed
Logs: ~/.ollama/logs/server.log or journalctl -u ollama. NVIDIA: nvidia-smi, then sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm if UVM stuck. AMD: ROCm 7+ or discovery times out and you get the quiet CPU path. Last resort only: OLLAMA_LLM_LIBRARY=<name from your log> ollama serve (do not guess a cuda tag).
Pull stalls or “file does not exist”
Tags are case-sensitive. Incomplete pulls leave junk under ~/.ollama/models – clear the partial blobs and re-pull. Brand-new tags need a current Ollama build.
Partial-pull recovery is still mostly tribal knowledge; docs push a clean re-pull more than a single repair command.
Upgrade, Migration, Uninstall
Re-run the install script; binary updates, models stay. New Llama tags arrive with ollama pull. Remove with ollama rm llama3.1:8b when you are done.
No magical 3.x → 3.3 migration – different pulls. If you later move full Meta checkpoints into llama.cpp or vLLM, keep the original directory layout.
Cleanup:
ollama rm llama3.1:8b # one model
rm -rf ~/.ollama # models + config - nuclear
# Linux: sudo systemctl stop ollama && sudo rm /usr/local/bin/ollama
Windows: Settings uninstall, then delete %HOMEPATH%.ollama and %LOCALAPPDATA%Ollama if you need the disk back.
FAQ
Which Llama 3 tag should I pull first?
llama3.1:8b. Fits most 8 GB cards. Jump to llama3.3 only when VRAM is real and you want closer-to-405B text quality.
Can I run this completely offline after the pull?
Yes. Blobs in ~/.ollama are enough – unplug and both CLI and API still answer. New tags or a re-pull need the network again. Handy for air-gapped dev laptops after the first fetch.
Ollama vs raw Meta weights + llama.cpp – when to switch?
Ollama wins for chat, the OpenAI-compatible endpoint, and low ceremony. Move to raw runners when you need custom quants, speculative decoding, or multi-node tricks Ollama does not expose yet. Same family of weights; different runner. Community GGUFs on Hugging Face bridge both if you already accepted Meta’s license – people sometimes think they must pick one stack forever. You do not.
Open a terminal. Install one-liner for your OS. ollama run llama3.1:8b. First private reply is usually under ten minutes on ordinary hardware. Still CPU-only in ollama ps? Fix the driver before you touch anything else.