r/LocalLLaMA가 추적한 Apple Silicon용 DFlash: MLX에서 lossless speculative decoding 4.1x

2026년 4월 14일 KST 초에 올라온 r/LocalLLaMA post는 Apple Silicon에서 돌아가는 native MLX 기반 DFlash 구현을 공개했다. 작성자는 작은 draft model이 16 tokens를 병렬로 생성하고, target model이 이를 한 번의 forward pass로 검증한 뒤 commit하는 구조라고 설명한다. 핵심은 lossless verification이며, forked runtime이 아니라 stock MLX 위에서 동작한다고 주장한다. 동시에 numerical issue를 수정했고 GitHub에 repository도 공개했다.

이 글의 장점은 headline speedup만 던지지 않는다는 점이다. benchmark 조건이 비교적 명확하다. 환경은 M5 Max, 64GB, MLX 0.31.1이고 baseline은 custom loop가 아니라 mlx_lm.stream_generate다. 측정은 3 runs의 median이며 run 사이에 10초 cooldown을 두었다. 2048 output tokens 기준 수치는 다음과 같다.

Model | Baseline | DFlash | Speedup | Acceptance
Qwen3.5-4B | 53.74 tok/s | 219.83 tok/s | 4.10x | 89.3%
Qwen3.5-9B | 30.96 tok/s | 127.07 tok/s | 4.13x | 89.4%
Qwen3.5-27B-4bit | 32.35 tok/s | 62.78 tok/s | 1.90x | 89.1%
Qwen3.5-35B-A3B-4bit | 142.12 tok/s | 240.21 tok/s | 1.69x | 88.7%

작성자의 해석도 유용하다. Apple Silicon의 unified memory에서는 compute보다 bandwidth가 병목이며, batched GEMV, fused gated SiLU, custom SDPA 같은 Metal kernel 실험은 stock MLX보다 느렸다고 한다. 즉 성능 향상의 주된 원인은 compute trick보다 numerical precision 선택이라는 주장이다. 또한 quantized target이 이미 빠른 경우에는 bf16 draft model이 새 bottleneck이 되기 때문에, Qwen3.5-27B-4bit에서 speedup이 1.90x로 낮아진다고 설명한다.

이 구현은 Qwen3.5의 hybrid GatedDeltaNet + attention architecture에 특히 맞춰졌고, pure attention 계열인 Qwen3나 Gemma도 돌아가지만 tape-replay 이점은 적다고 적었다. Local LLM 사용자 입장에서는 이 post가 speculative decoding을 marketing 문구가 아니라 engineering trade-off로 다룬다는 점이 중요하다. 재현 가능한 baseline, architecture fit, quantization, bandwidth ceiling을 함께 봐야 한다는 얘기다.