How to Run Mistral Small 3 Locally with Ollama

Mistral Small 3 is one of the most interesting models to land in the local LLM space in 2025. At 24 billion parameters, it sits in an underserved spot — larger than the 7B class where most consumer hardware plays, but far more accessible than 70B models that require server-grade RAM. What makes it notable is the quality-to-size ratio: Mistral Small 3 competes with models well above its weight class on instruction following, coding, and general reasoning, while running on machines with 16–24GB of RAM or VRAM.

This guide covers pulling Mistral Small 3 with Ollama, hardware requirements, what it’s good at, and how to use it effectively.

Pulling Mistral Small 3 with Ollama

Mistral Small 3 is available in the Ollama library:

ollama run mistral-small3

The default pull is the Q4 quantized version at around 14GB. Make sure you have enough disk space and, on slower connections, be prepared to wait — 14GB takes time. To pull without running:

ollama pull mistral-small3

Once downloaded, it loads in about 20–30 seconds on a machine with 16GB unified memory or a GPU with 16GB VRAM. The model is released under the Mistral AI Research License, which permits personal and research use freely.

Hardware Requirements

At Q4 quantization, Mistral Small 3 needs roughly 15–16GB of memory. Here’s what works in practice:

Mac with 24GB unified memory (M3 Pro, M4 Pro, or better): Runs comfortably, with memory to spare for macOS and other applications. Expect 25–40 tokens per second depending on chip generation.

Mac with 16GB unified memory: Tight but workable. Close other applications before loading — macOS needs 4–5GB baseline, which leaves just enough for the model. Performance will be slightly reduced due to memory pressure. The 16GB M4 MacBook Pro can handle it but you’ll notice it’s working harder than with a 7B model.

NVIDIA GPU with 16GB VRAM (RTX 4080, 4070 Ti, 3090): The model fits entirely in VRAM. Fast inference — 40–65 tokens per second. This is the sweet spot for GPU users.

NVIDIA GPU with 12GB VRAM: Too small for full VRAM loading at Q4. Ollama will split between VRAM and system RAM, giving you partial GPU acceleration. Works, but slower — 15–25 tokens per second depending on how many layers fit in VRAM.

CPU only with 32GB RAM: Runs, but slowly — 2–5 tokens per second. Viable for batch tasks, not for interactive use.

What Mistral Small 3 Does Well

Mistral AI has consistently focused on efficiency — getting the most capability out of the fewest parameters — and Mistral Small 3 continues that pattern. The areas where it genuinely stands out at the 24B scale:

Instruction following. It’s one of the more reliable models at following multi-part, constrained instructions without selectively ignoring parts of the prompt. If you have complex system prompts or structured output requirements, it tends to be more consistent than comparable-size models.

Long context reasoning. With a 128K context window, it handles long documents well. The quality of reasoning over extended context is above average for its size class — it maintains coherence across long passages better than many 7B models even at much longer context lengths.

Coding. Not a dedicated coding model, but capable. Python, JavaScript, and common algorithms come out clean. For mixed tasks — explaining a concept and then writing code for it, or debugging while also explaining the fix — the conversational quality alongside the code is better than you’d get from a pure coding fine-tune.

Multilingual capability. Mistral models have historically had stronger European language support than many competitors. French, German, Spanish, Italian, and Portuguese are all handled well. If you’re working with non-English content, Mistral Small 3 is worth considering over models that skew heavily English.

Figure 1 — Mistral Small 3 vs Comparable Local Models

Model Params Size (Q4) Min RAM MMLU t/s (GPU) Mistral Small 3 ★24B14 GB16 GB81.7%40–65 Llama 3.1 70B70B43 GB48 GB82.6%20–35 Qwen 2.5 14B14B9 GB12 GB79.9%50–70 Phi-414B8.9 GB12 GB78.9%55–80 Llama 3.1 8B8B4.7 GB8 GB73.0%70–100

Using Mistral Small 3 via the Ollama API

The API works the same as any Ollama model. Using the Python library:

import ollama

response = ollama.chat(
    model='mistral-small3',
    messages=[
        {
            'role': 'system',
            'content': 'You are a precise technical assistant. Give complete, accurate answers.'
        },
        {
            'role': 'user',
            'content': 'Explain the difference between process and thread in operating systems.'
        }
    ]
)
print(response['message']['content'])

Mistral Small 3 benefits from a clear system prompt — it’s a well-instruction-tuned model that responds to explicit role framing. The quality of output with a good system prompt is noticeably better than without one.

For function calling and structured output, Mistral Small 3 supports tool use via the standard Ollama API. This makes it useful as the backbone of a local AI agent or structured extraction pipeline:

import ollama

tools = [{
    'type': 'function',
    'function': {
        'name': 'get_weather',
        'description': 'Get the current weather for a location',
        'parameters': {
            'type': 'object',
            'properties': {
                'location': {'type': 'string', 'description': 'City name'}
            },
            'required': ['location']
        }
    }
}]

response = ollama.chat(
    model='mistral-small3',
    messages=[{'role': 'user', 'content': 'What is the weather like in Paris?'}],
    tools=tools
)
print(response['message'])

Mistral Small 3 vs Mistral 7B: Is the Upgrade Worth It?

If you’re already running Mistral 7B and wondering whether to upgrade to Small 3, the honest answer depends on your hardware and what you’re doing with it.

The quality difference is meaningful — especially on complex reasoning, long documents, and nuanced instruction following. Small 3 produces more thorough, accurate responses on hard tasks. On simple tasks — short Q&A, basic code snippets, quick summaries — the 7B often produces nearly equivalent output and runs faster.

The hardware jump is significant. Going from 7B (needs ~8GB RAM) to Small 3 (needs ~16GB RAM) doubles the memory requirement. If you’re on a 16GB machine, it works but leaves little headroom. On 24GB, it’s the comfortable sweet spot. If RAM is your constraint, the 7B class (Mistral 7B, Llama 3.1 8B, Qwen 2.5 7B) is still an excellent choice — the quality difference only justifies the hardware cost if you’re regularly doing complex tasks that benefit from the larger model’s reasoning depth.

Figure 2 — When to Choose Mistral Small 3

Scenario Verdict You have 24GB RAM/VRAM and do complex reasoning or long-doc tasks✓ Great choice You need strong multilingual support (European languages)✓ One of the best locally You have 16GB RAM on a Mac and want max quality within that budgetWorks, but tight You primarily write code and already have Qwen 2.5 CoderStick with Qwen Coder

Quantization Options and Quality Tradeoffs

The default Q4 version is the right choice for most people. But if you want to push quality higher or fit in less memory, there are alternatives worth knowing about:

Q2_K: Roughly 8–9GB. Fits on 12GB GPU machines, much faster, but noticeable quality degradation on complex tasks. Only worth considering if VRAM is genuinely the limiting factor.

Q4_K_M (default): The recommended balanced option — good quality with a manageable size. This is what ollama pull mistral-small3 downloads by default.

Q6_K or Q8_0: Higher quality, larger files (18–23GB). Worth it if you have 24GB VRAM and want the best possible output from this model. The quality improvement over Q4 is real but modest — you’re closing the remaining gap to the full-precision model.

To pull a specific quantization variant explicitly:

ollama pull mistral-small3:24b-instruct-2501-q6_K

Check ollama.com/library/mistral-small3 for the full list of available tags and their sizes.

Mistral Small 3 fills a gap that genuinely matters for local LLM users: a 24B model that’s meaningfully better than 7B class models at reasoning-heavy tasks, without requiring the 48GB+ setup that makes the 70B class impractical for most people. If you have 16GB VRAM or 24GB unified memory and want the best model you can run at interactive speed, it’s one of the most compelling options in the Ollama library.

Comparing Mistral Small 3 to DeepSeek R1 Distilled

One comparison worth making explicitly: Mistral Small 3 versus the DeepSeek R1 distilled models at similar sizes. DeepSeek R1 Distill Qwen 32B is the closest competitor in the 24–32B range, and the two models have genuinely different characters. DeepSeek R1 distilled is a reasoning model — it thinks through problems step by step, which makes it stronger on tasks that benefit from deliberate chain-of-thought reasoning (math, logic puzzles, coding problems with tricky edge cases). Mistral Small 3 is an instruction-tuned conversational model — faster to respond, more natural in dialogue, and better for mixed tasks where you’re not doing pure reasoning. If your use case is primarily structured reasoning or math, the R1 distilled models are worth trying alongside Small 3. For everything else — writing, analysis, coding with explanation, long document work, multilingual tasks — Mistral Small 3’s instruction-following quality and conversational fluency give it an edge. The good news is that with Ollama, trying both takes a single pull command and a few minutes, so there’s no reason not to have both available and pick based on the task.

Practical Tips for Getting the Best Results

A few patterns that work particularly well with Mistral Small 3. Use explicit system prompts — the model is well-tuned to follow role instructions, and a clear system prompt (expert in X, respond in Y format, be concise/thorough) produces noticeably better output than prompting with no system context. For long documents, chunk your context and ask specific questions about each section rather than dumping everything in one prompt and asking a vague question — even with 128K context, focused questions get better answers than broad ones. For multilingual use, prompt in the target language from the start rather than asking it to translate — it tends to reason better when it doesn’t have to switch between languages mid-response. And take advantage of the tool calling support for any workflow that needs structured data extraction — it’s reliable enough to use in production pipelines with appropriate error handling, which puts it ahead of many same-size models that support tool calling in theory but fall apart in practice.

Leave a Comment