MLX.fast: Qwen 3.8 27B Speed on Apple Silicon
> Learn how MLX.fast benchmarks Qwen 3.8 27B on Apple Silicon with speculative decoding, MTP, thermal controls, and practical performance caveats for developers.
🎧 Listen — ~9 min
Ready · MLX.fast: Qwen 3.8 27B Speed on
What Is MLX.fast?
MLX.fast is a community performance challenge built around running Qwen 3.8 27B on Apple Silicon. It is not a replacement for Apple’s MLX framework, a general-purpose inference library, or a hosted model API. Instead, it is a public leaderboard and experimentation platform where developers try to improve local decode throughput through speculative decoding, multi-token prediction (MTP), custom draft heads, and related inference optimizations.
The project’s headline currently says that Qwen 3.8 27B runs 219.1% faster on Mac than the launch baseline. That number needs to be read carefully. MLX.fast defines the headline as the current best score compared with a fixed launch baseline. The score represents decode-token-rate speedup from native multi-token prediction, normalized against a reference run. It is not a universal claim that every Qwen workload becomes 219.1% faster on every Mac.
For developers running local AI models on Apple Silicon, MLX.fast is valuable because it turns an optimization problem into a repeatable public competition. Participants submit runs, the platform records decode and prefill rates, and the leaderboard shows which techniques and model configurations improve real throughput.
The Core Idea: Speculative and Multi-Token Decoding
A conventional autoregressive language model normally generates one token at a time. Each token depends on the previous context, so the model repeatedly performs forward passes during generation. Decode speed is therefore often limited by memory bandwidth, cache behavior, model size, and the cost of running the full model for every next-token decision.
Speculative decoding changes that pattern. A smaller or specialized draft mechanism proposes several future tokens, while the larger target model verifies those proposals. If enough proposed tokens are accepted, the system can produce more than one token per expensive target-model step.
MLX.fast’s leaderboard describes the active submissions as using custom MTP heads, with records showing roughly 3.9 draft tokens per round in some runs. That does not mean every round produces exactly 3.9 accepted tokens. The actual gain depends on proposal quality, acceptance behavior, prompt type, temperature, sampling settings, and the implementation of the verification path.
The practical benefit is straightforward: if the target model can verify multiple likely tokens efficiently, decode throughput can rise without changing the underlying language model’s parameter count.
How the MLX.fast Score Works
The platform separates several measurements that are easy to confuse:
- Improvement percentage: The normalized gain against the launch baseline.
- Decode throughput: The number of generated tokens per second during the decode phase.
- Prefill throughput: The token processing rate while the prompt is first loaded.
- Record throughput: The fastest prompt-level result associated with a submission or record.
- Draft tokens per round: The number of tokens proposed by the draft mechanism on average.
The current page reports a best score of 219.1%, with one displayed record at 63.8 decode tokens per second and 965.6 prefill tokens per second. The record section also shows prompt-level variation: some prompts decode much faster than others. That variation matters because language-model throughput is not a single fixed number. Prompt length, token distribution, cache state, sampling, and acceptance rate all influence the result.
MLX.fast also distinguishes between local estimates and official scores. Official scores pair the baseline and candidate on the same Apple Silicon Mac after a thermal cool gate. This is an important design choice. Apple Silicon devices can change performance as sustained workloads heat the system, so comparing two runs from different machines or thermal conditions can produce misleading conclusions.
What the Leaderboard Shows
The leaderboard records multiple solvers and model configurations rather than presenting one permanent winner. At the time of research, the top entries included runs using GPT-5.6 Sol, GLM-5, Claude Fable 5, Claude Opus, Grok 4, DeepSeek-V4-Pro, and Muse Spark as the participating solver labels. These labels describe the agents or contributors that produced optimization submissions; they are not necessarily the model being benchmarked.
That distinction is important. The challenge is focused on Qwen 3.8 27B inference on Apple Silicon, while the solver column identifies who or what helped create the submission. The leaderboard should therefore not be read as a comparison between GPT, Claude, Grok, and DeepSeek inference speed.
The page currently reports dozens of promoted submissions and more than twenty solvers. Earlier entries used stock draft heads, while stronger recent entries use custom heads. The improvement history makes the optimization process visible: one submission may add a small gain, another may introduce a major improvement, and later contributors can build on the resulting baseline.
This type of public iteration is useful for systems researchers because it exposes progress incrementally rather than hiding the final optimization behind a single benchmark announcement.
Why Apple Silicon Is a Good Target
Apple Silicon is an interesting platform for local language-model inference because unified memory is shared between the CPU and GPU, and the MLX framework is designed around Apple’s hardware architecture. Developers can run relatively large models locally without the separate CPU/GPU memory split common in many desktop systems.
That does not make every Mac equivalent. A MacBook Air, MacBook Pro, Mac Studio, and Mac mini may have different memory capacities, GPU-core counts, cooling systems, and sustained-performance behavior. A short benchmark can look excellent while a long interactive session slows down under thermal pressure.
For this reason, MLX.fast’s thermal cool gate and paired-run approach are more meaningful than a single unqualified “tokens per second” number. Developers should still reproduce important results on their own hardware before making product or purchasing decisions.
What Developers Can Learn from the Challenge
MLX.fast is useful even for developers who never submit a leaderboard entry. It highlights several principles that apply to local inference generally.
1. Decode and prefill are different bottlenecks
Prefill processes the input prompt. Decode generates new output tokens. A system can have very high prefill throughput but relatively modest decode performance, or the reverse. Applications that process long documents care heavily about prefill, while interactive chat users usually notice decode latency and time to first token.
2. Optimization depends on acceptance behavior
Speculative decoding only helps when proposed tokens are accepted often enough to compensate for the extra draft and verification work. A technique that performs well on one prompt family may produce smaller gains on code, mathematics, multilingual text, or highly creative generation.
3. Hardware and thermal conditions matter
Sustained inference is not the same as a short benchmark. Memory pressure, background applications, battery mode, temperature, and cooling can all change results.
4. A leaderboard is not a product benchmark
MLX.fast measures a defined challenge workload. It does not automatically predict end-to-end application latency, retrieval-augmented generation performance, tool-call latency, UI responsiveness, or the quality of generated answers.
5. The implementation is part of the result
MTP head design, batch size, prompt formatting, sampling configuration, cache handling, and model conversion can all affect throughput. Reproducing a number requires reproducing the software and configuration, not only buying similar hardware.
How to Evaluate an MLX.fast-Style Optimization
Teams experimenting with local Qwen inference should use a benchmark protocol that separates model quality from systems performance.
First, pin the model revision, MLX version, Python environment, tokenizer, prompt set, generation length, sampling parameters, and device configuration. Then run a baseline without the optimization and an optimized version under the same conditions.
Measure at least:
- Time to first token.
- Prompt or prefill tokens per second.
- Decode tokens per second.
- Total generation latency.
- Peak and steady-state memory usage.
- Temperature and sustained throughput over a longer session.
- Output quality and exact-match behavior where applicable.
- Speculative acceptance rate, if exposed by the implementation.
For chat applications, report latency percentiles rather than only an average. For batch workloads, report total tokens processed over a fixed time window. For coding assistants, use representative code prompts instead of generic prose alone.
A speedup is only useful if it does not introduce unacceptable output differences, instability, memory growth, or a worse user experience.
MLX.fast Compared with Standard MLX Inference
Standard MLX inference is the general foundation: developers load a compatible model, configure generation, and run it on Apple Silicon. MLX.fast represents a specialized optimization layer or challenge methodology focused on improving decode performance for a particular model and technique family.
The two should not be treated as competing products. A developer can use MLX for ordinary local inference and study MLX.fast submissions for ideas about speculative decoding and MTP. The challenge is most relevant when decode speed is the primary bottleneck and the application can tolerate the engineering complexity of a specialized path.
A general MLX deployment may be preferable when:
- You need broad model compatibility.
- You want a stable, maintainable inference service.
- Your workload is dominated by prefill rather than decode.
- You need predictable behavior across several Apple Silicon machines.
- You do not want to maintain custom model heads or verification code.
An MLX.fast-style path may be worth exploring when:
- Interactive decode latency is the main problem.
- The model and hardware match the challenge setup.
- You can run controlled benchmarks.
- Your team is comfortable maintaining experimental inference code.
- The application benefits from higher sustained generation throughput.
Limitations and Caveats
MLX.fast is an experimental community challenge, so its leaderboard should be interpreted as a research and engineering signal rather than a production guarantee.
The headline score is normalized against a fixed baseline. It is not the same as a percentage reduction in response time, and it does not mean that every prompt receives the same improvement. The official page itself distinguishes local estimates from official paired measurements.
Results may also be sensitive to prompt selection. The record display includes multiple prompts with different decode rates, which demonstrates why one fast prompt cannot represent an entire application. Developers should use their own workload mix before projecting a challenge result onto a product.
Finally, a higher token rate does not automatically mean lower end-to-end latency. Tool calls, retrieval, network round trips, prompt construction, UI rendering, and post-processing may dominate the user’s experience even when model decode becomes much faster.
Who Should Pay Attention to MLX.fast?
MLX.fast is especially relevant to:
- Developers running Qwen models locally on Macs.
- Researchers working on speculative decoding and MTP.
- Apple Silicon optimization engineers.
- Teams building private or offline coding assistants.
- Developers interested in reducing cloud inference costs.
- Contributors who want a public, measurable systems-optimization challenge.
It is less relevant if your application runs primarily on NVIDIA CUDA infrastructure, uses a hosted API, or is constrained by network and tool latency rather than model decoding.
Final Takeaway
MLX.fast is best understood as a public optimization challenge for Qwen 3.8 27B inference on Apple Silicon. Its most interesting contribution is not simply the current 219.1% headline. The deeper value is the transparent optimization loop: participants submit reproducible runs, the platform separates decode from prefill, thermal conditions are considered, and the leaderboard shows how custom MTP and speculative-decoding techniques change local performance.
For developers, the practical lesson is to benchmark the complete workload instead of repeating a headline number. Start with a standard MLX baseline, pin the environment, measure prefill and decode independently, test representative prompts, monitor thermal behavior, and compare output quality. If an MLX.fast-style optimization produces a stable gain on your own hardware and workload, it may be a compelling way to make local Qwen inference more responsive.
For everyone else, MLX.fast offers a useful look at where local AI performance is heading: not only through larger models or faster hardware, but also through better decoding algorithms, specialized draft mechanisms, and careful measurement.
Official References
Keep reading
Related reading
⚡ Daily AI Model Drop — Get Kimi K3 benchmarks before Twitter
Join 2,400+ AI engineers. 1 email/day, no spam, unsubscribe anytime