Can my NAS run this AI?
Most NAS units can run a small AI chatbot. Whether it is fast enough depends on memory bandwidth and RAM, not the NPU. Pick your NAS and a model below: you get whether it fits in memory, a realistic speed range, the one upgrade that helps most, and what it costs to run on your province’s electricity.
Running the model on your own NAS keeps every prompt, document and photo on your network. Nothing is sent to a cloud service.
As an Amazon Associate we earn from qualifying purchases on Amazon.ca.
What we recommend on this hardware
No model in our list both fits comfortably and holds 5 tokens a second on the QNAP TS-264 as shipped.
Best upgrade: a matching second RAM stick. It fills the empty memory channel and doubles memory to 16 GB. Compatible RAM ›
Running cost while the model answers: 0.2¢ an hour, about CA$0.09 a month at 2 hours a day (12 W, our estimate for this CPU class).

How we calculated this
QNAP TS-264: Intel Celeron N5095, DDR4 at 2933 MT/s.
Bandwidth = channels × bus bits ÷ 8 × MT/s ÷ 1000 = 1 × 64 ÷ 8 × 2933 ÷ 1000 = 23.5 GB/s.
Memory needed = model 4.9 GB + conversation cache 0.5 GB (f16, 4,096 tokens) + runtime 0.5 GB. Usable = 8 GB installed − 2 GB for the NAS OS − 0 GB for other apps.
Speed: No published LLM measurement on this CPU; we apply the Intel N100 range (the closest low-power chip with published figures), capped by this box's memory bandwidth.
Why NPU TOPS don’t matter here
NAS makers now print “AI TOPS” on the box. For a chatbot, that number is close to irrelevant. Ollama, the usual way to run models at home, lists four ways to accelerate a model: NVIDIA CUDA, AMD ROCm, Apple Metal and Vulkan. It does not list a single NPU. The NPU sits idle while you chat.
The reason is how text generation works. To produce each word, the processor reads every active weight of the model out of RAM once. An 8B model at Q4 is 4.9 GB, so 10 words a second means reading about 50 GB a second. Arithmetic is cheap; moving the weights is the bottleneck. That makes memory bandwidth the speed limit and RAM capacity the size limit.
The clearest proof is in one product line. The Minisforum N5 Pro and N5 MAX both carry a 50 TOPS NPU. The N5 Pro reads memory over a 128-bit DDR5 bus at up to 89.6 GB/s; the N5 MAX over a 256-bit LPDDR5x bus at 256 GB/s. Same NPU, and the MAX is roughly three times faster at chat. NPUs do earn their keep elsewhere: photo search in some NAS apps and camera detection in Frigate can use them.
How the calculator works
1. Bandwidth = channels × bus width (bits) ÷ 8 × memory speed (MT/s) ÷ 1000, in GB/s. One DDR5-4800 stick: 1 × 64 ÷ 8 × 4800 ÷ 1000 = 38.4 GB/s. Two: 76.8 GB/s.
2. Memory needed = the model’s actual Ollama download size + the conversation (KV) cache + a runtime allowance of a flat 0.5 GB. The cache is 2 × layers × KV heads × head size × 2 bytes per token of context, from each model’s published configuration, at Ollama’s default f16. Gemma 3 and gpt-oss use sliding-window attention on most layers, which keeps their cache small.
3. Will it fit? Usable RAM = installed RAM − 2 GB for the NAS operating system − RAM used by other apps (4 GB for Plex and Immich, 8 GB for a busy homelab; Immich alone recommends 8 GB of system RAM). Under 15% headroom is “tight”.
4. Speed = bandwidth × efficiency ÷ bytes read per token (the active weights plus the cache). On AMD Radeon and Strix Halo machines efficiency is 0.8, set from published measurements. A mixture-of-experts model only reads its active experts, times a factor of 0.72. For Intel chips with no published measurement we show a range from a CPU-only run (0.15 of bandwidth) up to 0.8. For the Intel N100 and the Rockchip RK3588 we use published measurements on those chips directly, and those disagree, so the range is wide and marked low confidence.
5. Speed bands: under 2 tokens/sec, too slow for chat but fine for overnight batch jobs; 2 to 5, usable but you will wait; 5 to 15, a comfortable reading speed; over 15, faster than you can read.
How close are the estimates?
Every published measurement we hold is re-run through the engine on each build, and the build fails if an estimate drifts more than 15% from the measurement. Two honest caveats. The 0.8 efficiency and the 0.72 mixture-of-experts factor were set from the Ryzen AI Max+ 395 rows, so matching those rows proves nothing on its own; the independent checks are the HX 370 rows and the gpt-oss-20b rows. And the mixture-of-experts factor rests on a single measurement (Qwen3 30B-A3B). A second model, gpt-oss-20b, lands within 9% on two machines but 22% low against one Vulkan run on the 395, so mixture-of-experts results show a wider ±40% range.
| Hardware | Model | Measured | Our estimate | Difference | Role |
|---|---|---|---|---|---|
| Ryzen AI Max+ 395, 256-bit LPDDR5x-8000 | Llama 3.1 8B (llama.cpp Vulkan) | 42 | 41.7 | -0.8% | used to set a constant |
| Ryzen AI Max+ 395, 256-bit LPDDR5x-8000 | Llama 3.3 70B (llama.cpp Vulkan) | 5 | 4.8 | -4.8% | used to set a constant |
| Ryzen AI Max+ 395, 256-bit LPDDR5x-8000 | Qwen3 30B-A3B (llama.cpp Vulkan) | 72 | 71.3 | -1.0% | used to set a constant |
| Ryzen AI 9 HX 370, 2 x DDR5-5600 | Qwen3 8B (llama.cpp Vulkan) | 13.41 | 13.7 | +2.4% | independent check |
| Ryzen AI 9 HX 370, 2 x DDR5-5600 | gpt-oss 20B (llama.cpp Vulkan) | 23.43 | 21.3 | -8.9% | independent check |
| Ryzen AI 9 HX 370, 2 x DDR5-5600 | Llama 3.1 8B (LocalScore (llamafile)) | 12.9 | 14.6 | +13.0% | independent check |
| Ryzen AI Max+ 395, 256-bit LPDDR5x-8000 | gpt-oss 20B (llama.cpp ROCm) | 65.73 | 61.1 | -7.0% | independent check |
| Ryzen AI Max+ 395, 256-bit LPDDR5x-8000 | gpt-oss 20B (llama.cpp Vulkan) | 77.79 | 61.0 | -21.6% | independent check, outside ±15% |
| Rockchip RK3588 | Llama 3.2 3B (llama.cpp CPU) | 11.25 | 11.1 | -1.4% | used to set a constant |
The hardware data we use
Every figure comes from the maker’s spec page or the chip vendor’s. Where a maker does not publish something, the cell says so and the calculator does not guess. Bandwidth is for the memory as shipped.
| NAS | Processor | RAM as shipped | Bandwidth | Estimate confidence |
|---|---|---|---|---|
| Minisforum N5 AIR | AMD Ryzen 7 255 | 16 GB DDR5 SO-DIMM (non-ECC), up to 96 GB | 44.8 GB/s* | medium |
| Minisforum N5 MAX | AMD Ryzen AI Max+ 395 | 64 GB LPDDR5x unified memory (256-bit), soldered | 256.0 GB/s | high |
| Minisforum N5 Pro | AMD Ryzen AI 9 HX PRO 370 | 16 GB DDR5 SO-DIMM (ECC support), up to 96 GB | 44.8 GB/s* | medium |
| QNAP TS-233 | ARM Cortex-A55 (4-core) | 2 GB , soldered | not published | no speed estimate |
| QNAP TS-264 | Intel Celeron N5095 | 8 GB DDR4, up to 16 GB | 23.5 GB/s | low |
| QNAP TS-464 | Intel Celeron N5095 | 8 GB DDR4, up to 16 GB | 23.5 GB/s* | low |
| QNAP TVS-AIh1688ATX | Intel Core Ultra (U7 or U9 variant) | 32 GB DDR5 ECC | not published | no speed estimate |
| Synology DiskStation DS1525+ | AMD Ryzen V1500B | 8 GB DDR4 ECC, up to 32 GB | not published | no speed estimate |
| Synology DiskStation DS224+ | Intel Celeron J4125 | 2 GB DDR4, up to 6 GB | 19.2 GB/s* | low |
| Synology DiskStation DS423+ | Intel Celeron J4125 | 2 GB DDR4, up to 6 GB | 19.2 GB/s* | low |
| Synology DiskStation DS923+ | AMD Ryzen R1600 | 4 GB DDR4 ECC, up to 32 GB | not published | no speed estimate |
| Synology DiskStation DS925+ | AMD Ryzen V1500B | 4 GB DDR4 ECC, up to 32 GB | not published | no speed estimate |
| TerraMaster F2-425 | Intel N5095 | 4 GB DDR4, up to 16 GB | 23.5 GB/s | low |
| TerraMaster F4-425 | Intel N5095 | 4 GB DDR4, up to 16 GB | 23.5 GB/s | low |
| UGREEN NASync DH2300 | Rockchip RK3576 | 4 GB LPDDR4X, soldered | not published | no speed estimate |
| UGREEN NASync DH4300 Plus | Rockchip RK3588C (8-core ARM) | 8 GB LPDDR4X, soldered | not published | low |
| UGREEN NASync DXP2800 | Intel N100 | 8 GB DDR5, up to 16 GB | 38.4 GB/s | low |
| UGREEN NASync DXP4800 | Intel N100 | 8 GB DDR5, up to 16 GB | 38.4 GB/s | low |
| UGREEN NASync DXP4800 Plus | Intel Pentium Gold 8505 | 8 GB DDR5, up to 64 GB | 38.4 GB/s* | low |
| UGREEN NASync DXP6800 Pro | Intel Core i5-1235U | 8 GB DDR5, up to 64 GB | 38.4 GB/s | low |
| UGREEN NASync DXP6800 Ultra | Intel Core 5 120U | 8 GB DDR5, up to 96 GB | 38.4 GB/s* | low |
| UGREEN NASync DXP8800 Plus | Intel Core i5-1235U | 8 GB DDR5, up to 64 GB | 38.4 GB/s* | low |
| UGREEN NASync DXP8800 Ultra | Intel Core 7 150U | 8 GB DDR5, up to 96 GB | 38.4 GB/s* | low |
| UGREEN NASync iDX6011 | Intel Core Ultra 5 125H | 32 GB LPDDR5X (soldered), soldered | 119.5 GB/s | low |
| UGREEN NASync iDX6011 Pro | Intel Core Ultra 7 255H | 64 GB LPDDR5X (soldered), soldered | 134.4 GB/s | low |
| Zettlab D4 | Rockchip RK3588 | 16 GB LPDDR4x (not upgradeable), soldered | not published | low |
| Zettlab D6 | Rockchip RK3588 | 16 GB LPDDR4x (not upgradeable), soldered | not published | low |
* The maker does not say whether the stock RAM is one stick or two; we assume one (single channel).
Sources
- Ollama hardware support (CUDA, ROCm, Metal, Vulkan)
- Ollama model library (download sizes)
- Immich ML hardware acceleration
- Frigate object detectors
- Level1Techs: Ryzen AI Max+ 395 LLM benchmarks
- Ryzen AI 9 HX 370 LLM performance (Framework 13)
- RK3588 llama.cpp benchmarks (Turing Pi)
- Intel N100 LLM test (Patshead)
- Intel ARK and AMD processor specifications
Frequently asked questions
Can a NAS run a local AI chatbot?
Most x86 NAS units can run a small model such as Llama 3.2 3B or Qwen3 4B with Ollama. Whether it is pleasant to use depends on memory bandwidth and free RAM. A single-channel N100 box manages a few words a second on an 8B model; a Ryzen AI Max+ 395 box runs the same model at around 40 tokens a second.
Does the NPU make a NAS faster at running an LLM?
Not for chatbots in Ollama. Ollama's hardware documentation lists NVIDIA (CUDA), AMD (ROCm), Apple (Metal) and Vulkan, and no NPU support. Generating each word means reading the model's weights from RAM, so memory bandwidth sets the speed. The Minisforum N5 Pro and N5 MAX have the same 50 TOPS NPU, yet the MAX is about three times faster at chat because its memory bus is three times wider.
How much RAM do I need for a local LLM on a NAS?
Roughly the model's download size plus 1 to 2 GB for the conversation cache and runtime, plus whatever your NAS and other apps already use. An 8B model at the default Q4 needs about 6 GB free at Ollama's default 4k context; a 70B model needs about 45 GB.
Why does a second RAM stick make AI faster?
Most NAS boards have two memory channels. With one stick only one channel is used, so the processor reads memory at half speed. Adding a matching second stick doubles bandwidth, and chat speed rises almost in step. It does nothing on chips with a single channel, like the Intel N100.
Is local AI on a NAS private?
Yes. With Ollama and Open WebUI the model runs on your own hardware and your prompts, documents and photos never leave your network. Some NAS vendors' AI features send data to cloud providers instead, so check which mode a feature uses.
How accurate are these speed estimates?
For AMD Radeon and Strix Halo machines, within about 10% of published measurements. For low-power Intel and ARM chips the published figures themselves disagree several-fold, so we show a wide range and label it low confidence. Where a maker publishes no memory speed, we say there is not enough data rather than guess.
Read more
- What is an AI NAS? The honest guide
- The best AI NAS in Canada
- The best NAS for Ollama
- Minisforum N5 Pro: specs, prices and local AI
- UGREEN NASync iDX6011 Pro: specs, prices and local AI
- Which AI NAS can you buy in Canada?
- What can I run on a NAS? The full matrix

Devin Chua works out which drives, RAM and NVMe cache fit which NAS model at nasdrives.ca, and what the RAID choice means for usable capacity, checked against what is in stock on Amazon.ca.