- Prince Canuma vừa đẩy DeepSeek-V4-Flash lên ~23-26 tok/s trên Apple Silicon bằng một Metal kernel tự viết cho Sinkhorn và giữ MoE experts ở MXFP4.
- Hệ quả: một model 284B parameters, context 1M, rating Codeforces hơn GPT-5.4, giờ có thể chạy local làm backend cho coding agent.
TL;DR
Prince Canuma (@Prince_Canuma) đã land PR #1192 vào ml-explore/mlx-lm, bổ sung DeepSeek-V4 Flash và Pro cho MLX. Sau khi viết custom Metal kernel cho bước Sinkhorn và giữ routed experts ở MXFP4 (tip từ @pcuenq), generation speed trên M3 Ultra nhảy từ 17 lên 23-26 tok/s. Một model MoE 284B parameters, context 1M native, giờ chạy được trên một chiếc Mac 256GB — đủ để dùng làm backend local cho Claude Code, Opencode, PI, hay Hermes agent.
What's new
Có hai thứ xảy ra song song và chúng cộng hưởng:
- DeepSeek-V4 ra mắt 24/04/2026 — DeepSeek AI công bố hai model MoE dưới giấy phép MIT: V4-Pro (1.6T total / 49B active params) và V4-Flash (284B total / 13B active). Cả hai đều có context 1M token ngay từ đầu.
- MLX port chạy được thật — Chỉ trong vòng vài ngày, Prince Canuma đẩy PR gộp Flash/Pro vào
mlx-lm, và liên tục tối ưu cho đến khi chạy mượt trên Apple Silicon.
Điểm đáng chú ý là tốc độ. DeepSeek-V4 dùng một cấu trúc mới gọi là manifold-constrained Hyper-Connections (mHC), thay residual connections thông thường bằng một ma trận được ràng buộc về Birkhoff polytope bằng thuật toán Sinkhorn-Knopp. Nghe lý thuyết thì ổn, nhưng triển khai naive sẽ dispatch khoảng 40 kernel Metal cho mỗi layer — một cái cổ chai nhức nhối.
Technical facts
Những gì PR thực sự làm:
- Fused Sinkhorn kernel — gộp ~40 lần launch kernel thành 1 Metal kernel duy nhất. Đây là nguồn gốc chính của speedup 17 → 26 tok/s.
- HyperConnection matmul — thay einsum bằng matmul trực tiếp.
- Custom
dequant_fp4— kernel riêng để dequantize experts MXFP4 on-the-fly. - MXFP4 experts — giữ MoE routed experts ở MXFP4 thay vì FP8, cắt gần một nửa memory footprint so với FP8.
Quá trình iteration được document rõ trong PR description:
| Bước | Tốc độ (M3 Ultra, Flash 4-bit) |
|---|---|
| Naive implementation | 3 tok/s |
| Sau FP32 promotion fix | 11 tok/s |
| PR body (kernel optimizations) | 21.86 tok/s |
| Sau Sinkhorn Metal kernel + MXFP4 experts | 23-26 tok/s |
Memory: ~160 GB peak RAM trên M3 Ultra, model weights ~329 GB trên disk cho bản Flash-4bit. Nghĩa là một Mac Studio 256GB là đủ cấu hình tối thiểu để chạy Flash local.
Comparison
Để thấy V4-Flash mạnh cỡ nào so với các lựa chọn local khác:
| Model | Total params | Active params | Context | Local on 256GB Mac? |
|---|---|---|---|---|
| DeepSeek-V4-Flash | 284B | 13B | 1M | Có (26 tok/s) |
| DeepSeek-V4-Pro | 1.6T | 49B | 1M | Không (865 GB weights) |
| DeepSeek-V3.2 | 671B | 37B | 128K | Khó |
V4-Flash cũng cần ít hơn ~10% single-token FLOPs và ~7% KV-cache so với V3.2 ở context 1M, nhờ hybrid attention (Compressed Sparse Attention + Heavily Compressed Attention).
Về chất lượng tuyệt đối, V4-Pro đạt Codeforces 3206 (vượt GPT-5.4-xHigh 3168) và SWE-Verified 80.6%. Flash không mạnh bằng Pro nhưng kế thừa cùng một architecture — vừa đủ dùng cho agentic coding offline.
Use cases
Prince Canuma gợi ý thẳng: dùng làm backend cho local coding agent. Các cái tên được nhắc:
- Claude Code (CC) — trỏ về một OpenAI-compatible endpoint local.
- Opencode — IDE-integrated agent, hỗ trợ custom backends.
- PI — Personal Intelligence CLI.
- Hermes agent — Nous Research agent framework.
Ngoài coding, context 1M mở ra hướng khác: nạp toàn bộ codebase hoặc một vài cuốn sách dài vào prompt để hỏi-đáp, không cần RAG. Với các workload nhạy cảm (pháp lý, y tế, tài chính), chạy local loại bỏ luôn bài toán data egress.
Limitations & pricing
Cần nói thẳng vài điểm:
- Phần cứng vẫn nặng — một M3 Ultra 256 GB không rẻ. Pro (865 GB weights) không phải target local ở thời điểm này.
- PR chưa merge — #1192 đang open. Muốn chạy ngay phải cài từ branch của tác giả.
- 23-26 tok/s là generation — prompt ingestion ở 1M context vẫn chậm, đừng kỳ vọng submit 500K token là instant.
- Chất lượng — family V4 benchmark mạnh nhưng vẫn sau GPT-5.4 và Gemini-3.1-Pro khoảng 3-6 tháng.
Nếu không chạy local, API DeepSeek là phương án rẻ nhất: Flash $0.14 / $0.28 per 1M tokens in/out, Pro $1.74 / $3.48 — cheapest trong nhóm frontier MoE lớn.
What's next
Việc cần theo dõi: PR #1192 merge xong, kiểm thử trên M4 Ultra (nhiều khả năng còn nhanh hơn), và các wrapper như Opencode / Claude Code có ship default config để trỏ thẳng vào mlx-lm server không. Nếu điều đó xảy ra, barrier để có một coding agent frontier-tier hoàn toàn offline gần như biến mất — miễn là bạn đã đầu tư vào một Mac Studio đủ RAM.
Nguồn: mlx-lm PR #1192, DeepSeek V4 Preview Release, Simon Willison, MarkTechPost.

