Redis 개발자가 만든 ds4가 로컬에서 대형 MoE 추론을 가능하게 한다
Redis를 만든 Salvatore Sanfilippo(antirez)가 DwarfStar 4, 줄여서 ds4를 공개했다. 고메모리 Mac과 CUDA, ROCm 장비에서 최신 오픈 웨이트 대형 모델을 직접 돌리는 것을 목표로 하는 C 언어 기반 추론 엔진이다. 대화용 CLI, 로컬 HTTP API 서버, 지속적인 코딩 세션을 위한 네이티브 에이전트가 하나의 스택에 묶여 있고 모델 상태와 캐시를 공유한다. 라이선스는 MIT다.
지원 범위는 DeepSeek V4와 V4.1 Flash, GLM 5.x, Qwen3.8 Flash Next다. 텍스트 모델뿐 아니라 비전 모델도 포함된다. 실행 환경은 Apple Silicon, NVIDIA DGX Spark 계열 CUDA, AMD Strix Halo의 ROCm으로 명시돼 있다.
ds4가 겨냥하는 것은 라우티드 MoE 구조다. DeepSeek V4 Flash 같은 대형 MoE 모델은 보통 원격 서버에서 서빙하는데, ds4는 정반대 제약에서 출발한다. 라우팅되는 전문가 쪽은 과감히 압축하고 공유되는 핵심 경로는 정밀도를 지키는 비대칭 양자화를 적용해, 모델을 고메모리 장비가 감당할 수 있는 크기로 끌어내린다.
프롬프트 프리픽스 처리는 SHA1 해시를 키로 삼는다. 렌더링된 프롬프트 앞부분의 해시를 기준으로 KV 캐시를 디스크에 저장해 두고, 같은 프리픽스가 들어오면 다시 계산하지 않고 불러온다. 서버를 재시작해도 긴 프리픽스를 통째로 다시 프리필하지 않아도 된다는 뜻이다.
설치는 저장소를 클론한 뒤 모델 다운로드 스크립트를 실행하고 백엔드에 맞춰 빌드하는 순서다. macOS에서는 make, Linux DGX Spark에서는 make cuda-spark를 쓴다. 실행 파일은 용도별로 나뉜다. ./ds4는 대화용, ./ds4-server는 로컬 API용, ./ds4-agent는 세션을 유지하는 코딩용이며 서버는 --ctx 옵션으로 컨텍스트 길이를 지정한다.
메모리 요구량은 32GB부터 2×512GB 구성까지 폭넓게 제시된다. 기준선은 V4 Flash Q2다. 128GB에서는 GLM 5.3 Q2와 Qwen Q4도 함께 올라가고, V4.1 Q2는 SSD에서 스트리밍하는 방식으로 돌린다.
M5 Max 128GB, 32K 컨텍스트 기준으로 생성 34.4 tok/s, 프리필 557 tok/s가 제시됐다. DGX Spark 128GB q2 구성에서는 2,048 토큰과 65,536 토큰 컨텍스트 조건의 측정값이 벤치마크 표에 올라 있다.
최근 오픈 웨이트 모델의 성능이 올라가면서 클라우드 API를 거치지 않고 자기 장비에서 돌리려는 수요가 커졌다. 다만 대형 MoE 모델은 메모리 요구량이 커서 개인 장비에서는 사실상 선택지가 아니었다. ds4는 양자화 전략과 캐시 영속화로 그 간극을 좁히는 접근이다.
실무에서 달라지는 지점은 두 가지다. 첫째, OpenAI 호환 /v1/chat/completions와 Anthropic 호환 /v1/messages 엔드포인트를 로컬 서버가 제공하므로 OpenCode, Claude Code, Codex CLI, Pi 같은 도구를 그대로 연결할 수 있다. 둘째, 에이전트 세션이 모델 상태와 캐시를 공유하기 때문에 반복적인 코딩 작업에서 프리필 비용을 줄일 수 있다.
전제는 분명하다. 고메모리 장비를 요구하고 지원 모델과 버전이 명시된 조합으로 한정된다. 벤치마크 수치는 특정 하드웨어와 양자화 조합에서 나온 값이므로 자신의 환경에 그대로 적용된다고 보기는 어렵다. 도입 전에 하드웨어 매트릭스와 퀵스타트를 확인하는 편이 안전하다.