Redis 개발자가 만든 추론 엔진 DwarfStar로 자체 하드웨어에서 DeepSeek V4 실행하기
요약
Redis 창시자 Salvatore Sanfilippo가 DwarfStar라는 독립적인 추론 엔진을 발표했습니다. 이 엔진은 DeepSeek V4 Flash, GLM 5.x 등 여러 LLM을 Mac, Strix Halo 같은 일반 소비자 하드웨어에서 실행할 수 있게 합니다. 특히 특정 모델과 양자화 가중치에 최적화되어 있어 높은 효율성을 보여줍니다.
핵심 포인트
- DwarfStar는 C로 작성된 네이티브 추론 엔진입니다.
- Mac Metal, CUDA, ROCm 등 다양한 소비자 하드웨어 지원을 목표합니다.
- 특정 모델 및 양자화 방식에 맞춰 설계되어 범용성이 떨어지는 대신 효율적입니다.
- MoE(Mixture-of-Experts) 구조를 활용하여 로컬 추론의 실용성을 높였습니다.
Redis의 창시자는 여러분의 구형 GPU가 쓸모없지 않다고 생각합니다. antirez로 더 잘 알려진 Salvatore Sanfilippo는 DwarfStar라는 프로젝트(저장소는 antirez/ds4)를 발표했는데, 이것은 DeepSeek V4 Flash, GLM 5.x, 그리고 DeepSeek V4 PRO를 모두 일반 소비자 하드웨어, 즉 Mac, DGX Spark 박스, Strix Halo 데스크톱, 그리고 Ada Lovelace나 L40S 같은 구형 NVIDIA 카드에서 실행할 수 있게 합니다. 이 프로젝트는 이번 주 Hacker News의 메인 페이지에 수백 점을 받으며 올라왔고, 저장소는 이미 21,000개의 스타를 기록했습니다.
흥미로운 부분은 단순히 속도 수치 자체가 아닙니다. 그 뒤에 숨겨진 설계 결정입니다. llama.cpp와 같은 일반적인 GGUF 러너(runner)가 아니라, DwarfStar는 의도적으로 범위를 좁혔습니다. 소수의 모델만 지원하고, 자체 양자화된 가중치를 배포하며, 텐서 로딩부터 도구 호출(tool calls), HTTP 서버까지 전체 스택을 함께 테스트합니다. 마치 완성된 느낌을 주는 하나의 모델처럼요.
더 깊이 들어가기 전에 솔직히 밝힐 것이 있습니다. 저는 아직 DwarfStar를 제 자신의 기계에서 실행해 본 적이 없습니다. 아래의 모든 내용은 프로젝트의 README와 GitHub에 있는 공식 문서를 기반으로 하며, 모두 인라인으로 링크되어 있습니다. 이것은 개인적인 벤치마크 보고서가 아니라, 이 도구가 무엇을 하는지, 실제로 어떤 하드웨어가 필요한지, 그리고 어떻게 설정할 수 있는지에 대한 안내입니다. 문서에서 한계점에 대해 솔직하게 언급하는 부분은 제가 표시하겠습니다.
DwarfStar란 정확히 무엇인가
- 이 엔진은 C로 작성된 독립적인 네이티브 추론 엔진(
ds4.c)이며 MIT 라이선스를 따릅니다. 문서에서는 llama.cpp의 커널과 양자화 작업에 기반을 둔다고 공개적으로 언급하지만, GGML에 대한 의존성은 없습니다. - 지원 모델: DeepSeek V4 Flash (비전 체크포인트 포함), DeepSeek V4.1 Flash, DeepSeek V4 PRO, GLM 5.2, GLM 5.3, GLM 5.3 Flash, Qwen3.8 Flash Next.
- 백엔드: Apple Silicon용 Metal(주요 목표), 다중 GPU 설정을 포함한 CUDA, Framework Desktop 같은 Strix Halo 시스템용 ROCm.
- 이 엔진은 명시적으로 베타 품질입니다. 문서의 상태 섹션에 나와 있듯이, 모델 지원은 '의도적으로 기회주의적'입니다. 더 나은 대체품이 도착하면 모델을 제거할 수 있습니다.
마지막 점은 llama.cpp나 Ollama와 비교할 때 중요합니다. 이 도구들은 모든 것을 실행하려고 합니다. DwarfStar는 사람들이 실제로 소유한 장치에서 몇 가지 훌륭한 모델을 완벽하게 실행하는 데 중점을 둡니다. 임의의 GGUF 파일을 던져 넣을 수 없습니다. 문서에 명확히 나와 있듯이, 텐서 레이아웃(tensor layout), 양자화 혼합(quantization mix), 메타데이터가 프로젝트에서 게시하는 가중치와 특정하기 때문에 다른 파일은 실패할 것입니다.
이 설계가 작동하는 이유: MoE 트릭
DeepSeek V4 Flash와 GLM Flash 모델은 전문가 혼합(mixture-of-experts, MoE) 모델입니다. 대부분의 매개변수는 라우팅된 전문가(routed experts)이며, 토큰당 일부만 활성화됩니다. 이로 인해 로컬 추론이 실용적이게 만드는 두 가지 결과가 있습니다:
- 공격적인 양자화가 유지된다. 문서에 따르면 Q2 방식은 압축의 대부분을 라우팅된 전문가(IQ2_XXS 게이트/업 텐서, Q2_K 다운)에 사용하면서 어텐션 프로젝션(attention projections), 공유 전문가(shared experts), 출력 레이어는 훨씬 높은 정밀도를 유지합니다. 그 결과 Flash Q2는 약 81 GiB로, 96GB 또는 128GB 장치에 충분히 작은 크기입니다.
- 큰 컨텍스트가 저렴하게 유지된다. DeepSeek V4의 KV 캐시 설계는 컨텍스트를 공격적으로 압축하여 서버가 단일 머신에서 100K 토큰 컨텍스트로 시작될 수 있는 이유입니다.
이것이 바로 밀집(dense) 아키텍처에서는 희망이 없는 동일한 양자화 모델이 antirez의 README에 나온 말로 '준최첨단(quasi-frontier)'으로 느껴지는 이유입니다.
공식 문서를 기반으로 한 하드웨어 등급
대부분의 사람들이 잘못 이해하는 부분이므로, 여기 문서에서 바로 가져온 매트릭스를 제시합니다.
- 96GB ~ 128GB Apple Silicon Mac. 기본 경로입니다.
ds4f-q2를 다운로드하고./ds4를 실행합니다. 이 설정이 프로젝트의 기준선으로 간주됩니다. - Mac, 모델보다 RAM 용량이 작은 경우. SSD 스트리밍 방식입니다. 엔진은 라우팅된 전문가(routed experts)의 제한된 캐시를 RAM에 유지하고 누락된 부분은 SSD에 있는 GGUF에서 읽어옵니다. 속도와 용량 사이의 트레이드오프가 있으며, 문서는 모델이 성공적으로 시작할 수는 있지만 인터랙티브 작업에는 여전히 너무 느릴 수 있다고 단언합니다. 따라서 짧은 길이로 먼저 테스트하는 것이 좋습니다.
- DGX Spark.
make cuda-spark를 사용합니다. 이것은 antirez가 주된 CUDA 목표라고 부르는 하드웨어입니다. - Ada Lovelace 및 L40S를 포함한 구형 NVIDIA 카드.
make cuda-generic을 사용합니다. 다른 백엔드가 종종 지원하지 않는 부분입니다. 문서에 따르면, 8개의 L40S로 구성된 시스템이 Flash Q2를 사용하여 16개의 동시 세션 전체에서 약 초당 126 토큰으로 실행되는 것으로 보고되었는데, 이는 GPU가 한두 세대 지난 카드로 만든 작은 다중 사용자 LLM 서버와 같습니다. - 128GB Mac 두 대. RDMA를 통한 텐서 병렬화(Tensor parallelism)로, DeepSeek Flash 또는 GLM 5.3 Flash의 4비트 실행에 충분합니다.
- 512GB 워크스테이션. M3 Ultra에서 테스트된 DeepSeek V4 PRO Q4 전체 상주(Full-resident) 방식입니다.
SSD 스트리밍 수치는 '내 노트북에 이 모델이 들어가지 않는다'는 의미를 변화시킬 만큼 중요합니다. 자동 캐시 크기 조절 기능을 갖춘 128 GB M5 Max에서, 문서에 따르면 GLM 5.3 Flash Q4(파일 크기 177.77 GiB)는 초기 프리필(prefill) 시 초당 121 토큰을 처리하고, 생성(generation) 시에는 중앙값 기준으로 초당 약 1215 토큰을 처리합니다. DeepSeek Flash Vision MXFP4(145.26 GiB)의 경우, 프리필에서 초당 300 토큰, 생성에서는 초당 약 1219 토큰을 기록했습니다. 이 수치들은 마케팅 주장이 아닌 빠른 내부 SSD에서 측정된 읽기 속도이며, 문서에서도 작업 부하에 따라 달라질 것이라고 반복해서 강조합니다.
설정 방법 (How to set it up)
README의 쉬운 경로는 네 개의 명령어로 구성됩니다:
git clone https://github.com/antirez/ds4.git
cd ds4
make # Apple Silicon용 Metal
...
그다음으로 대화형 CLI, 내장 에이전트, 또는 서버 중 하나를 사용합니다:
./ds4 -p "Redis 스트림에 대해 한 문단으로 설명하세요."
./ds4-agent
./ds4-server --ctx 32768
시작하기 전에 알아두면 좋은 몇 가지 세부 사항이 있습니다:
- 다운로드는 재개 가능합니다. 다운로드 중단 후에는
./download_model.sh ds4f-q2를 다시 실행하면curl -C -을 통해 계속 진행됩니다. 이 기능은 파일 크기가 81 GiB일 때 중요합니다. - 모델 외의 메모리 예산: 문서에서는 컨텍스트, 런타임 버퍼, OS 등을 위한 공간을 남겨두라고 경고합니다. 모델 크기는 최소 요구 사항(floor)일 뿐 필수 조건은 아닙니다.
- 빠른 로컬 SSD 사용: 모든 스트리밍 모드가 이에 의존하며, V4.1 문서에서도 이와 같은 내용을 굵게 표시된 용어로 언급합니다: Engram 테이블은 디스크에서 직접 읽기 때문에 GGUF 파일을 빠른 로컬 SSD에 보관해야 합니다.
제가 가장 흥미롭다고 생각하는 부분: 코딩 에이전트 서버입니다
ds4-server는 8000 포트에서 OpenAI와 호환되는 엔드포인트를 노출하며, 포함된 ds4-agent는 토큰 기록과 실시간 모델 상태를 로컬 KV 스냅샷에 함께 유지하는 네이티브 코딩 에이전트입니다. 따라서 세션을 재개해도 전체 프롬프트를 다시 구축할 필요가 없습니다.
문서에는 로컬 DeepSeek을 실제 에이전트 도구에 연결하기 위한 준비된 설정(configs)들이 포함되어 있습니다:
- Claude Code. 셸 래퍼(shell wrapper)가
ANTHROPIC_BASE_URL을 로컬 서버로 설정하고 모든 모델 역할(subagents 포함)을deepseek-v4-flash를 가리키도록 합니다. - Codex CLI.
127.0.0.1:8000에 대한 Responses API를 사용하는 TOML 프로바이더 블록입니다. - OpenCode 및 Pi. DeepSeek의 사고 형식(thinking format)을 포함하여 호환성 플래그가 이미 처리된 JSON 프로바이더 항목들입니다.
이 마지막 구간이야말로 이것을 벤치마크 장난감과 구분하는 지점입니다. Pi 설정에서 비용 필드가 문자 그대로 0으로 설정되어 있어, 핵심은 간단합니다. 코딩 에이전트에게 무제한 로컬 토큰을 제공하며, 절대로 외부로 정보를 전송하지 않는(never phones home) 기계의 프라이버시를 보장받는 것입니다. 단점은 성능입니다. DeepSeek V4 Flash는 강력하지만, 가장 어려운 작업에서 최고 수준으로 호스팅되는 모델과 같지는 않으며, 문서 자체의 평가 섹션에서도 ds4-eval을
그 철학에 동의하든 안 하든, 이는 20년 동안 기초 인프라를 직접 손으로 작성해 온 사람에게서 나온 주목할 만한 입장이며, 감사의 글 섹션은 그 경계를 명확히 합니다: 이 프로젝트는 AI에 의존하지만, 이를 가능하게 한 llama.cpp와 GGML은 대부분 수작업으로 작성되었습니다.
이걸 사용할까요?
누가 시도해 봐야 할지 솔직한 의견을 체크리스트로 정리했습니다:
- 통합 메모리가 96 GB 이상이고 사적이며 무료인 코딩 모델을 원한다: 예, 이것이 현재 DeepSeek V4 Flash에 가장 세련된 경로일 가능성이 높습니다.
- 먼지 쌓인 구형 NVIDIA 카드를 가지고 있다: 예, Ada Lovelace 및 L40S 멀티 GPU 이야기는 특이하며 테스트할 가치가 있습니다.
- 32 GB 노트북을 가지고 있다: 아니요. Flash Q2 파일만 81 GiB이며, 스트리밍에는 대용량 SSD와 현실적인 속도 기대가 모두 필요합니다.
- 많은 모델에 대한 범용 로컬 LLM 러너를 원한다: 아니요, llama.cpp나 Ollama를 사용하세요. DwarfStar는 설계상 사용자에게 어려움을 줄 것입니다.
- 먼저 프로토타입을 만들고 싶다: OpenAI와 호환되는 서버 덕분에 기존의 모든 도구를
127.0.0.1:8000에 연결하여 디스크 공간을 할당하기 전에 자체적으로 품질 벤치마크를 수행할 수 있습니다.
더 큰 이야기는 이것이 로컬 AI의 다음 해에 대해 무엇을 말해주는가입니다. 모델 패밀리별 특화 엔진, MoE 희소성(sparsity)을 중심으로 구축된 양자화 레시피, 그리고 RAM 확장의 역할을 하는 SSD가 모두 하나의 프로젝트에 이미 구현되어 있습니다. '컨슈머 하드웨어'와 '최첨단급 모델 구동 능력' 사이의 격차는 계속 줄어들고 있으며, 이번에는 그 간극을 좁힌 사람이 Redis를 만든 사람입니다.
DwarfStar나 코딩 에이전트를 위한 로컬 추론 설정(local inference setup)을 사용해 본 적이 있나요? 어떤 하드웨어를 사용하고 계시고 초당 몇 개의 토큰(tokens per second)을 보고 계신가요? 후속 내용을 위해 실제 수치를 모으고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기