ARahim3/mlx-dspark
Python0 / 0
MLX 모델의 출력을 유지한 채 DSpark·DFlash로 Apple Silicon decoding을 가속하는 CLI·API·Mac app입니다.
TL;DR
mlx-dspark는 Apple Silicon의 MLX 모델에 DSpark와 DFlash speculative decoding을 적용하는 standalone CLI·Python 도구입니다. drafter가 만든 토큰 블록을 target이 검증하기 때문에 출력은 일반 decoding과 동일하고, 모델·양자화·Mac별 비용 측정으로 draft cap을 자동 조정합니다. Qwen3.8-27B-8bit에서 DFlash 2가 평균 3.63배와 30.5 tok/s를 기록했지만, MoE와 2-bit 모델은 이득이 작아 실제 사용 전 `benchmark` 측정이 필요합니다. OpenAI·Anthropic API, Claude Code, pi, native Mac app을 지원하므로 MLX 모델을 로컬 agent나 기존 API client에 연결하려는 Apple Silicon 사용자에게 적합합니다.
핵심 포인트
- Apple Silicon용 MLX 환경에서 동작하는 standalone CLI·Python 도구로, DSpark와 DFlash speculative decoding을 기존 target 모델 앞에 붙입니다. target이 초안 토큰을 모두 검증하므로 일반 decoding과 같은 출력을 유지하면서 처리 속도만 높입니다. `mlx-dspark generate`, Python API, OpenAI·Anthropic 호환 서버와 native Mac app까지 제공해 로컬 모델 실행부터 agent 연동까지 한 패키지로 처리합니다.
- `--mode auto`는 모델과 양자화에 맞는 drafter를 자동으로 고르고, 미등록 모델에는 DFlash·lookup·직접 지정한 `--drafter`를 사용할 수 있습니다. DSpark는 target hidden state로 7토큰 블록을 만들고 Markov head와 confidence head로 초안을 보정하며, DFlash는 한 번에 16토큰 블록을 denoising합니다. 모델별·Mac별 verify 비용 곡선을 첫 실행 때 측정해 draft cap을 정하므로 README의 M4 Pro 설정을 그대로 복사할 필요가 없습니다.
- 실측 기준 Qwen3.8-27B-8bit은 DFlash 2에서 평균 3.63배, 30.5 tok/s를 기록했고 math와 code에서는 각각 4.06배와 4.05배에 도달했습니다. Gemma-4 12B 8-bit은 2.78배와 49.4 tok/s, Qwen3-8B 8-bit은 2.05배와 57.7 tok/s를 기록했습니다. 반면 MoE와 2-bit 모델은 baseline 자체가 빠르거나 verify 비용이 커서 Qwen3.6-35B-A3B는 1.32배, Ternary-Bonsai-27B는 1.07배에 그치므로 모델별 측정이 필수입니다.
- OpenAI-compatible API와 Anthropic Messages API를 표준 library만으로 제공해 Open WebUI, Continue, Cline, pi, Claude Code 같은 클라이언트를 연결할 수 있습니다. prefix caching은 반복되는 system prompt와 대화 prefix를 재사용하고 continuous batching은 여러 요청의 forward를 공유해 agent workload의 prefill 비용을 줄입니다. Claude Code 실측에서는 Qwen3-8B-8bit이 약 2분 20초, pi에서는 같은 유형의 작업이 약 6초에 끝났으므로 모델 성능보다 client prompt 크기와 cache 재사용성이 실제 응답 시간에 더 큰 영향을 줄 수 있습니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Qwen3.8-27B-8bit DFlash 2 | 평균 speedup / 속도 | 3.63× / 30.5 tok/s | 동일 verify width에서 DSpark 2.92× / 24.5 tok/s보다 높음 |
| Qwen3.8-27B-8bit DFlash 2 | math speedup | 4.06× | baseline 8.4 tok/s 기준 |
| Qwen3.8-27B-8bit DFlash 2 | code speedup | 4.05× | baseline 8.4 tok/s 기준 |
| Gemma-4 12B 8-bit DSpark | 평균 speedup / 속도 | 2.78× / 49.4 tok/s | M4 Pro warm 측정, plain greedy baseline 17.8 tok/s |
| Qwen3-8B 8-bit DSpark | 평균 speedup / 속도 | 2.05× / 57.7 tok/s | M4 Pro warm 측정, plain greedy baseline 28.1 tok/s |
| Ornith-1.0-9B 8-bit DSpark | 평균 speedup / 속도 | 2.40× / 64.2 tok/s | M4 Pro warm 측정, plain greedy baseline 26.7 tok/s |
| Qwen3.6-35B-A3B 4-bit DSpark | 평균 speedup / 속도 | 1.32× / 114.5 tok/s | MoE target의 baseline 86.9 tok/s가 이미 높음 |
| Ternary-Bonsai-27B 2-bit DSpark | 평균 speedup / 속도 | 1.07× / 27.2 tok/s | plain greedy baseline 25.4 tok/s, chat은 1.01× |
이미지 분석

497
Stars
39
Forks
+211
Trending
0
조회수
497 watchers16 open issuesMIT License
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.