Downloading and checking integrity
Downloading and checking integrity
Getting a model is easy; getting the right model, safely, is a habit. Most problems people hit with "broken" models are actually a bad or corrupted download.
Where to get models
- Hugging Face is the default. Model pages host the weights, the quantized GGUF files and the license.
- Trusted republishers of quants matter because the original authors rarely ship every quant. Names like bartowski, unsloth and (historically) TheBloke are widely used and verified by the community.
- Ollama's library is a convenience layer, but always check which exact quant and uploader a tag pulls, because the names hide the details.
The rule: download from the model's own page or a trusted republisher, never from a random link in a thread.
The two things to check
- The checksum. Model pages list a SHA256 (or similar) for each file. After downloading, compute the hash and compare. A single flipped bit in a multi-gigabyte file is rare but real, and it shows up as garbage output, not as an error message.
- The quant and format match your runtime. A GGUF goes to llama.cpp/Ollama, an MLX format goes to MLX, a safetensors folder goes to vLLM or transformers. Feeding the wrong format is a common first-day mistake.
The habit in practice
For a GGUF: download, run the checksum, then test the model with a tiny prompt before you build anything on it. Ten minutes of verification saves a day of debugging "why does this model talk nonsense."
When something is wrong
If the model loads but produces garbage: re-check the checksum, then the quant (did you grab Q2 when you wanted Q4?), then the format. The model itself is almost never "broken"; the download or the choice was.
Treat the download step with the same care as the hardware. It is the easiest thing to get wrong and the cheapest thing to get right.