Running Models YourselfLesson 6 of 82

Contents

Running Models Yourself

Lesson 6 of 82. Sign in to keep your place.

Module 1 · Deciding to run it yourself

Base, instruct and reasoning: three different products

8 min read

The same weights, trained three ways

A model family usually ships several variants of the same architecture and size. They are not versions of each other; they behave differently enough to be different products.

Base. Trained only to predict the next token over a large corpus. It has no notion of a conversation, no idea it should answer a question, and no stopping instinct. Ask it “What is the capital of France?” and a plausible continuation is another three exam questions. It is not broken. It was never taught the format.

Base models are for two things: fine-tuning from, and completion tasks where you want raw continuation without an assistant persona: writing in a specific style, code infilling, or research on how the model represents things.

Instruct (or Chat, or IT). The base model plus supervised fine-tuning on instruction–response pairs, usually followed by preference tuning. It expects a chat template, answers questions, stops when it is finished, and refuses some requests. This is what you want in ninety-five per cent of cases.

Reasoning (or Thinking). An instruct model trained further to produce an extended internal working-out before its answer, usually with reinforcement learning against verifiable answers in maths and code. It emits a long block of deliberation, then the response.

How to tell which one you have downloaded

The repository name usually says: -Base, -Instruct, -it, -Chat, -Thinking. When it does not, tokenizer_config.json decides it: a base model has no chat_template field, or has a trivial one. That check takes five seconds and prevents the most confusing possible afternoon, in which a perfectly good model appears to be talking nonsense because you are using it in a mode it was never trained for.

What reasoning variants cost

The thinking block is real tokens. A question that an instruct model answers in 200 tokens may cost a reasoning model 2,000, of which 1,800 are deliberation you never show anyone. On an API that is a bill. Locally it is time: at 20 tokens per second, that is ninety seconds of thinking before the answer starts.

So the trade is concrete. Reasoning variants are worth it for multi-step maths, algorithmic code, planning, and anything where a wrong answer is expensive. They are a poor choice for summarising, extraction, classification, rewriting, or chat: you pay ten times the tokens for output that is often no better and sometimes worse, because the model reasons itself away from an answer it had at the start.

Most current reasoning models let you switch the behaviour off: a flag in the chat template, a /no_think token, or an enable_thinking parameter. Recent families increasingly ship a single set of weights with both modes rather than separate repositories.

Handling the thinking block

The deliberation arrives inside markers, commonly <think> and </think>. Two practical consequences.

First, your client must strip it, or your users will read the model’s private doubts. Most servers now parse it into a separate field, but a raw /v1/completions call gives you everything and the splitting is yours to do.

Second, do not feed the thinking back in. On the next turn, the conversation history should contain the final answer only. Model authors are explicit about this, and including old reasoning degrades subsequent turns and wastes the context window. If your chat client keeps the whole raw output in history, it is quietly doing both.

The thinking text is also not a reliable explanation of the answer. It is a sequence of tokens that helped produce the answer, which is not the same as a faithful account of why the answer is what it is. Read it for debugging, not for justification, and never show it to a user as an explanation.

Two more variants worth knowing

Abliterated or uncensored fine-tunes have had refusal behaviour surgically reduced, usually by identifying and suppressing a direction in the activation space. They exist, they work, and they are not free: the same procedure that removes refusals reliably damages instruction following and factual accuracy elsewhere in the model, because the modification is not surgical in the way the name suggests. If you need one for legitimate reasons (safety research, working with clinical or legal text that trips filters) measure the general-ability regression rather than assuming there is none.

Distilled models carry a name like DeepSeek-R1-Distill-Qwen-7B. These are not the big model made small. They are a small base model fine-tuned on the big model’s outputs. They inherit the style and some of the behaviour, not the capability, and the naming has misled a great many people.

Every lesson here is open. Your progress is recorded once you pass the Open Model Ecosystem exam.

Check your understanding

A developer swaps an instruct model for its reasoning variant in a pipeline that classifies support tickets into six categories, and finds the pipeline is ten times slower with slightly worse accuracy. What is the most likely mechanism?

Pick the one you would defend. Your answer stays private.

Next lesson · 9 minThe audition: settling it for about a dollar

Stuck on something?Ask Tri, your AI tutor

How to cite: Addaly (2026) ‘Base, instruct and reasoning: three different products’, in Running Models Yourself. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/running-models-yourself/base-instruct-and-reasoning-variants (Accessed: 13 October 2026).