Redis 만든 antirez, C로 쓴 로컬 추론 엔진 ds4 공개. 128GB 맥에서 DeepSeek V4 Flash 2비트 양자화로 초당 39토큰 생성
- Redis 개발자 antirez가 C로 작성한 로컬 추론 엔진 ds4를 MIT 라이선스로 공개함. DeepSeek V4/V4.1 Flash, GLM 5.x, Qwen3.8 Flash Next를 지원하고 Apple Silicon, CUDA(DGX Spark), AMD Strix Halo(ROCm)를 대상으로 함
- 라우팅된 MoE 전문가만 비대칭 2비트 양자화로 압축하고 공유 경로는 정밀하게 유지해, 고메모리 머신에서 돌아가게 만든 것이 핵심 구조임
- 128GB M5 Max에서 q2 2,048 토큰 기준 prefill 790.2 t/s, 생성 39.4 t/s를 기록함. 65,536 토큰에서는 398.5 t/s와 27.6 t/s로 떨어지고, DGX Spark 128GB는 825.8 t/s와 18.1 t/s임
- KV 캐시를 SSD에 저장하고 프롬프트 해시로 이어받아 재시작할 때 전체 re-prefill을 피함
- ./ds4 CLI, OpenAI와 Anthropic API를 내보내는 ./ds4-server, 지속 세션용 ./ds4-agent가 같은 모델 상태와 캐시를 공유함. 128GB에서는 GLM 5.3 Q2와 Qwen Q4도 들어가고 V4.1 Q2는 SSD에서 스트리밍함
Hacker News opinions
문제는 dsv4 체크포인트 자체라서 양자화 품질이 그렇게 좋진 않음
내 경험은 다름. ds4 퀀트가 unsloth 퀀트보다 좋았음
그거 어느 모델 어느 버전으로 테스트한 거임? ds4도 버전이랑 양자화 레벨이 여러 개던데
DwarfStar에서 영감 받아서 Intel Xe-LP 32GB 노트북용 추론 엔진을 만들었음. 지금은 양자화된 Gemma-4만 지원하는데 Qwen 3.8 35B-A3B가 없어서 아쉬움
Intel Ultra 7 255H iGPU에서 돌려봤는데 22tps 나옴. iGPU 패치 좀 해서 돌렸고 PR 올릴 수도 있음. 2027년 로컬 모델 쪽이 재밌어질 듯
주말에 fused TQ 구현해서 M5 Max 128GB에서 Qwen 3.8 flash next로 1M 컨텍스트 돌렸음. PR #1115에 올려놨고, 시간 나면 oMLX Metal 커널도 옮겨볼 생각
같은 기계에 같은 모델로 이미 1M 컨텍스트 쓰고 있는데 이상하네
GitHub 페이지가 HN 사람들한테는 훨씬 나은 소개임
왜 C로 했는지 궁금함. Rust 대신에
antirez는 Rust를 별로 안 좋아함. 보안이 중요한 코드가 아니면 Rust의 부담이 이득이 아니라는 입장이고, LLM이 C 코드를 잘 쓴다는 것도 이유로 들었음
llama.cpp 짜깁기 아니냐는 반응도 있었는데, 모델과 하드웨어를 좁게 골라서 최적화하는 게 차별점임
ds4-agent가 append only라서 메시지 히스토리를 다시 안 쓰고 KV 캐시 prefix를 재사용함. 이게 체감상 큼
ds4를 공유 라이브러리로 포크해서 Go 바인딩 ds4go를 만들었음. Homebrew TUI로 HuggingFace에서 라이브러리 받을 수 있게 해놨음
DGX Spark나 Strix Halo 같은 고급 하드웨어가 타깃이라, 3090 한 장이면 club-3090 쪽이 현실적임
M5 Max 128GB에서 최고의 런처임. Qwen 3.8 flash next 일주일 넘게 쓰는데 빠르고 컨텍스트도 김. 가끔 앞서 한 말을 기억 못 하는데 하네스 문제일 수도 있음