llama.cpp GGUF Outperforms MLX for Qwen3.5 on M3 Ultra
๐กllama.cpp GGUF crushes MLX on M3 Ultra Qwen3.5 PPโfast local agents now viable!
โก 30-Second TL;DR
What Changed
MLX Qwen3.5 PP unbearably slow on real tasks with large contexts/debugging.
Why It Matters
Dispels myth that MLX is best for Apple Silicon LLMs; llama.cpp enables viable local agentic coding on high-end Macs. Newbies and Mac users gain fast workflows.
What To Do Next
Build latest llama.cpp from source and test Qwen3.5 GGUF with llama-server on your Apple Silicon Mac.
Key Points
- โขMLX Qwen3.5 PP unbearably slow on real tasks with large contexts/debugging.
- โขllama.cpp GGUF excels in PP (gap widens with model size) and stable TG vs MLX.
- โขPrompt cache works well; use 35B speed/122B quality on M3 Ultra.
- โขBuild latest llama.cpp for Apple Silicon benefits.
๐ง Deep Insight
Background and context from public sources โ not the original article. 6 sources cited.
๐ Enhanced Key Takeaways
- โขQwen3.5-397B GGUF quantized models using llama.cpp RPC in layer-split mode across 4 GPUs achieve viable inference on large prompts up to 32k tokens despite sequential processing limitations at 65k[1].
- โขMLX on Mac exhibits KV cache consistency issues during conversation branching, leading to frequent re-processing, which llama.cpp avoids through superior cache handling[2].
- โขQwen3.5-122B is a Mixture-of-Experts (MoE) model with 122B total parameters but only 10B active, enabling efficient local runs on 64GB RAM MacBooks under GGUF quantization[5].
- โขllama.cpp supports AMD GPUs via ROCm or Vulkan, delivering good performance on hardware like Radeon 7900 XTX with standard GGUF quants excluding NVIDIA-specific MXFP4[2].
๐ ๏ธ Technical Deep Dive
- โขQwen3.5 models support 262k context window, expandable to 1M tokens, with GGUF quants from 2 to 16 bits available on Hugging Face for llama.cpp compatibility[5][6].
- โขllama.cpp benchmarks on Apple Silicon use commands like
./llama-bench -m model.gguf -p 512 -n 128 -ngl 99, measuring PP (prompt processing at batch size 512) and TG (text generation at batch size 1) in tokens/second[4]. - โขIn distributed setups, llama.cpp RPC with sparkrun uses
--tp 4 --o split_mode=layerfor layer-wise splitting across nodes over 100Gbps Ethernet, prioritizing RAM efficiency over parallel speed[1]. - โขApple M3 Ultra benchmarks in llama.cpp discussions track performance across commits (e.g., 8e672ef from 2023), showing improvements in Metal GPU utilization for quantized models[4].
๐ฎ Future ImplicationsAI analysis grounded in cited sources
โณ Timeline
๐ Sources (6)
Factual claims are grounded in the sources below. Forward-looking analysis is AI-generated interpretation.
Weekly AI Recap
Read this week's curated digest of top AI events โ
๐Related Updates
AI-curated news aggregator. All content rights belong to original publishers.
Original source: Reddit r/LocalLLaMA โ
This is a summary, not the original. Read the source, or get the weekly briefing.
Weekly AI briefing
One email a week. Unsubscribe anytime.