self-hosted ai

Self-hosted AI on your Mac

Your Apple Silicon Mac can run a large language model by itself. The model sits in your Mac's memory, answers on its own GPU, and what you write never leaves the Mac. Here is what that takes, how to tell which model fits your Mac, and how aituner does it in one click.

why run it yourself

Local AI: your model, your Mac

private

Nothing leaves the Mac

The model runs on your Mac. Your questions, your documents and its answers stay there; nothing is sent to an AI company.

offline

No connection needed

Once a model is downloaded, it answers without the internet: on a plane, on a train, anywhere.

yours

Choose the model

Open-weight models from many makers, for chat, coding, reasoning and vision. aituner flags each maker's country, and you choose which you see.

what you need

An Apple Silicon Mac, and memory

Any Mac with an M-series chip (M1 or later) and macOS 14 or later. Apple Silicon shares one pool of unified memory between the CPU and the GPU, so the GPU can use most of the Mac's memory for a model. How much memory your Mac has decides how large a model, and how long a conversation, it can run. Disk space holds the downloaded models.

which llm fits my mac

How memory decides what fits

A running model needs room for three things: its weights (about half a byte per parameter at 4-bit), the runtime, and its KV cache, the memory of the conversation, which grows with the context window. macOS lets the GPU use only part of the memory (the GPU limit), and macOS and your open apps take their share first.

These are real figures from aituner on a Mac Studio (Apple M1 Max, 32 GB, GPU limit 25.0 GB) at a 32K context with an fp16 KV cache. Note how the KV cache differs from model to model: it depends on each model's layers and attention, not only its size.

Model (MLX, 4-bit)WeightsKV cacheTotalOn this Mac
gemma-3-1b-it1.7 GB0.8 GB2.5 GBfits
Qwen3.5-4B3.8 GB1.0 GB4.8 GBfits
Qwen3.5-9B6.5 GB1.0 GB7.5 GBfits
gemma-3-12b-it8.5 GB11.3 GB19.7 GBclose apps
Qwen3-30B-A3B17.0 GB3.0 GB20.0 GBclose apps
Llama-3.3-70B-Instruct38.0 GB10.0 GB48.0 GBover the GPU limit

With 21.7 GB taken by macOS and the open apps, a model had 10.3 GB on this Mac; for the two marked "close apps" aituner said how much closing apps would free (9.4 and 9.7 GB). aituner draws the same for your Mac, at 16K, 32K or 128K and with an fp16 or 8-bit KV cache (8-bit takes less memory).

how fast

Measured on real Macs

Speed depends mostly on memory bandwidth. Every aituner benchmark is shared anonymously to the public stats: these are the medians per chip and memory, live, for the standard test model (Llama 3.2 3B, 4-bit, MLX).

ChipMemoryRunsGenerate tok/sPrompt tok/sGPU GB/sTFLOPS fp16
Loading the stats.
with aituner

Run a local LLM on your Mac in one click

No Terminal, no Python: aituner from the Mac App Store has Apple's MLX built in. You sign in with Apple once.

01

Get aituner

Free from the Mac App Store, or with Homebrew.

02

Press Get started

aituner benchmarks your Mac, then downloads the most capable MLX model for it: AI Performance for the most capable model, AI Memory for the longest context window.

03

Chat privately

The model runs inside aituner and Local AI opens: conversations kept on your Mac, documents attached, its reasoning shown apart, GPU and memory live beside it.

inference engines

Already use Ollama or LM Studio?

aituner works alongside the inference engines you have. Its chat talks to the model aituner runs, or one loaded in Ollama or LM Studio; the edition installed with Homebrew also reaches MLX servers and llama.cpp. Active shows which engines are running and the models they have loaded. If you are looking for an alternative to them on a Mac, aituner downloads and runs MLX models itself, and shows first which ones fit.

Ollama, LM Studio and llama.cpp belong to their owners; aituner is not affiliated with them.

FAQ

Questions

Can a Mac run an LLM locally?

Yes. An Apple Silicon Mac (M1 or later) runs language models on its own GPU, with the model held in its unified memory. With aituner from the Mac App Store you do it without the Terminal: Get started downloads an MLX model that fits and runs it inside the app.

Which LLM fits my Mac?

One whose weights, plus its KV cache at the context window you want, fit in the memory the GPU may use, after macOS and your open apps. aituner works this out for your Mac and draws it for each model at 16K, 32K or 128K tokens of context.

How much memory do I need?

It depends on the model and the context. On a 32 GB Mac Studio at a 32K context, aituner measured Qwen3.5 9B (4-bit) at 7.5 GB in all and Qwen3 30B A3B (4-bit) at 20.0 GB, while Llama 3.3 70B (4-bit) needs 38 GB for its weights alone, over that Mac's 25 GB GPU limit. More memory means larger models or longer contexts.

Does it work offline?

Once a model is downloaded, it runs on your Mac and the chat needs no internet connection. Downloading models, the benchmark's first setup and sharing results need one.

Is this a private alternative to ChatGPT?

For many everyday tasks, yes: the conversation stays on your Mac and nothing is sent to an AI company. The models that fit on a Mac are smaller than the largest models cloud services run, so aituner shows what fits yours and how fast it runs, measured on your Mac.

Do I need Ollama or LM Studio?

No. aituner downloads and runs MLX models itself. If you already use Ollama or LM Studio, aituner's chat works with the models they have loaded (the edition installed with Homebrew also with MLX servers and llama.cpp), and Active shows which are running.

What is MLX?

MLX is Apple's open-source machine learning framework for Apple Silicon. aituner runs MLX builds of models (the mlx-community versions on Hugging Face, for example) and measures your Mac with it.