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ướcTốc độ (M3 Ultra, Flash 4-bit)
Naive implementation3 tok/s
Sau FP32 promotion fix11 tok/s
PR body (kernel optimizations)21.86 tok/s
Sau Sinkhorn Metal kernel + MXFP4 experts23-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:

ModelTotal paramsActive paramsContextLocal on 256GB Mac?
DeepSeek-V4-Flash284B13B1MCó (26 tok/s)
DeepSeek-V4-Pro1.6T49B1MKhông (865 GB weights)
DeepSeek-V3.2671B37B128KKhó

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.