본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

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 2math speedup4.06×baseline 8.4 tok/s 기준
Qwen3.8-27B-8bit DFlash 2code speedup4.05×baseline 8.4 tok/s 기준
Gemma-4 12B 8-bit DSpark평균 speedup / 속도2.78× / 49.4 tok/sM4 Pro warm 측정, plain greedy baseline 17.8 tok/s
Qwen3-8B 8-bit DSpark평균 speedup / 속도2.05× / 57.7 tok/sM4 Pro warm 측정, plain greedy baseline 28.1 tok/s
Ornith-1.0-9B 8-bit DSpark평균 speedup / 속도2.40× / 64.2 tok/sM4 Pro warm 측정, plain greedy baseline 26.7 tok/s
Qwen3.6-35B-A3B 4-bit DSpark평균 speedup / 속도1.32× / 114.5 tok/sMoE target의 baseline 86.9 tok/s가 이미 높음
Ternary-Bonsai-27B 2-bit DSpark평균 speedup / 속도1.07× / 27.2 tok/splain greedy baseline 25.4 tok/s, chat은 1.01×

이미지 분석

mlx-dspark Mac app의 Race 화면에서 Qwen3.8-27B-8bit baseline과 DFlash cap auto를 비교한 결과입니다.
화면은 두 decoding 경로가 동일한 Python 출력을 생성했다는 lossless 판정과 함께 baseline 8.3 tok/s, DFlash cap auto 38.0 tok/s를 나란히 표시합니다. 중앙 결과의 4.58× 배속과 accept 6.26, verify 횟수 144 대 24가 초안 생성 후 target 검증을 통해 반복 횟수를 줄이는 구조를 시각적으로 뒷받침합니다. 왼쪽 메뉴의 Chat, Lab, Agents, Models와 Race·Live·Curves 탭은 이 기능이 단순 CLI뿐 아니라 로컬 모델 관리와 실시간 decoding 측정까지 포함하는 Mac app임을 나타냅니다.

497

Stars

39

Forks

+211

Trending

0

조회수

497 watchers16 open issuesMIT License

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.