Addaly is in open beta. Things will change, and AI answers can be wrong — check anything that matters.

Base, Instruct, Reasoning

The Open Model Ecosystem · lesson 5 of 8 · 8 min

One family ships three or four variants of the same size, and the suffix on the repo name decides whether your afternoon works. Qwen3-8B-Base, Qwen3-8B, Llama-3.1-8B-Instruct, DeepSeek-R1-Distill-Qwen-7B. These are not versions. They are different tools.

Base: a document continuer

A base model predicts the next token over the pretraining distribution. It has no assistant persona, no chat template, and no discipline about stopping. Ask it a question and it may reply with three more questions, because that is what a page of questions looks like on the web.

You prompt it as a document:

Product: Kotoba Wireless Earbuds
Review (5 stars): 

Use a base model when you are: fine-tuning from scratch on your own data, doing few-shot classification by comparing token logprobs, measuring perplexity, or generating text that must not carry assistant voice.

A base model is not "the uncensored one". It is the unfinished one. It will refuse nothing and also follow nothing.

Instruct: base plus manners, and a format contract

An instruct model is a base model further trained on instruction-following examples and then on human or synthetic preferences. It expects an exact conversation format: special tokens, role markers, an end-of-turn token.

Get the format wrong and quality falls off a cliff in a way that looks exactly like "this open model is bad". This is the single most common self-inflicted wound in local inference. Print the template once and look at it:

python
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B")
print(tok.apply_chat_template(
    [{"role": "system", "content": "You are terse."},
     {"role": "user", "content": "Summarize TCP in two lines."}],
    tokenize=False, add_generation_prompt=True))

If you serve through llama.cpp, vLLM or Ollama and call /v1/chat/completions, the template is applied for you from the model's own metadata. That is a good reason to use the chat endpoint rather than raw completions, even locally.

Reasoning: paying tokens for correctness

A reasoning model has been trained, usually with reinforcement learning against checkable answers, to produce a long chain of thought before committing. You see it as a <think> block or a separate channel in the response.

What you buy: multi-step maths, competition-style problems, non-obvious debugging, planning where a wrong early step ruins everything.

What you pay:

  • Three to twenty times the output tokens for the same visible answer.
  • Seconds to minutes of latency, which rules it out of anything interactive at small scale.
  • More KV cache, so more memory, which matters on the machines most people have.
  • Worse behaviour on short structured tasks. It will deliberate about "extract the invoice date", and sometimes reason itself away from the correct answer.
  • Loop risk. Set a hard token cap.

Some families ship hybrids that toggle thinking on and off. Distills like R1-Distill-* are instruct models trained to imitate reasoning traces: cheaper, weaker than the teacher, often still worth it.

One practical detail: unless the model card says otherwise, strip previous <think> blocks before sending conversation history back. Feeding old chains in as context tends to degrade the next turn.

Choosing, in one pass

  • Extraction, classification, routing, short replies → smallest instruct model that passes, temperature 0, constrained output.
  • Writing in a particular voice → instruct, and judge by reading, not by scoring.
  • Competition maths, algorithmic problems, root-cause analysis → reasoning, with a token cap.
  • Fine-tuning on ten thousand of your own examples → base if you want full control of the output format, instruct if you want to keep its existing manners and just shift the domain.

The mistake to avoid is treating these as a quality ladder with reasoning at the top. They are three different contracts about what the model does with your prompt.

Before you move on

A pipeline extracting invoice dates and totals is switched from an 8B instruct model to a 32B reasoning model. It gets slower and slightly less reliable. Best explanation?

Pick the one you would defend. Nobody sees your answer.

No ads. No data sale. No public scores on people. Ever.

© 2026 Addaly