Llama-modchip: GPU 없이 64GB RAM에서 284B DeepSeek 돌리기
Llama-modchip: 284B DeepSeek on 64GB RAM, no GPU
TL;DR Highlight
DeepSeek-V4-Flash 284B를 1.71bpw로 줄여 64GB CPU에서 구동
Who Should Read
GPU 없이 큰 MoE 모델을 로컬 CPU 서버나 PC에서 돌려 보고 싶은 인프라·백엔드 개발자
Core Mechanics
- 284B 모델을 56.56GiB로 줄였다
- DeepSeek-V4-Flash는 총 284.33B, 활성 13.17B 파라미터의 MoE(전문가 여러 개 중 일부만 쓰는 구조) 모델이다.
- Unsloth UD-IQ1_S 76.87GiB에서 56.56GiB(1.71 bpw)로 줄였다.
- 256K 컨텍스트에서 최대 VmRSS(실제 점유 메모리)는 57.61GiB다.
- 64GB 램에서 스왑 없이 올라간다
- UD-IQ1_S 원본은 64GB Linux의 사용 가능 램 약 62.5GiB를 넘어 스왑·OOM이 난다고 한다.
- 이 체크포인트는 스왑 없이 램에 전부 올라간다.
- 기본값은 레이어당 전문가 6개(Top-6)를 모두 계산하고 가지치기하지 않는다.
- CPU 커널 패치로 prefill 77% 빨라졌다
- 16코어 Zen 5에서 prefill(프롬프트 처리)이 25.0에서 44.36 tok/s로 올랐다.
- 레지스터·L1·L2·L3 단계로 행렬을 쪼개 계산하는 타일링을 썼다.
- decode는 같은 패치 묶음 기준 +53%라고 적혀 있다.
- 생성 속도는 9~15 tok/s 수준이다
- 기본 Top-6에서 순수 decode는 9.06~9.95 tok/s다.
- Stockfish-PVS 투기적 디코딩(작은 드래프터로 미리 추측)을 켜면 11.5~14.7 tok/s다.
- Top-4 등 가지치기 옵션은 속도를 올리는 대신 perplexity가 조금 나빠진다.
- 30B MoE는 일반 CPU에서도 실용적이다
- Nemotron-3.5-30B-A3B Fractal-64(14.35GiB)는 16~32GB 램에서 25.0~60.4 tok/s다.
- Threadripper 7985WX에서는 30B가 111.62 tok/s까지 나왔다.
- Windows용 GPU+CPU 하이브리드 모드도 있다.
- Claude Code용 KV 복원이 13ms다
- /dev/shm에 KV 캐시 슬롯을 저장해 두고 복원한다.
- 도구 40개짜리 Claude Code 프롬프트도 13.1~32.6ms에 복원된다고 한다.
- 커스텀 텐서 타입 때문에 일반 llama.cpp·Ollama·LM Studio에서는 로드되지 않는다.
Community Reactions
- 동일 하드웨어에서 llama.cpp와 거의 비슷했다는 경험
- Ryzen 7945HX 96GB에서 Nemotron을 돌려 보니 일반 llama.cpp와 decode는 비슷하고 prefill만 빨랐다는 댓글이 있었다.
- DeepSeek는 setup 옵션에서 찾지 못해 테스트하지 못했다고 한다.
- 품질을 의심하는 의견
- DeepSeek V4 Flash를 오래 써 본 사용자가 이 크기의 품질은 믿기 어렵고 Unsloth Q2XS보다 나쁠 것이라고 했다는 의견이 있었다.
- 4비트 아래로 내려가면 성능이 급격히 떨어진다는 연구를 인용한 댓글도 있었다.
- 저사양 기기에서 쓸 만했다는 경험
- Ryzen 7 5700U 64GB DDR4에서 12~14 tok/s가 꾸준히 나왔고 전력은 15W였다는 경험이 있었다.
- 개인 작업에는 충분한 속도라고 했다.
- README 가독성 지적과 양자화 정보 부족 불만
- AI가 쓴 듯한 장황한 README에 이모지가 많아 읽기 어렵다는 의견이 여럿 있었다.
- 양자화 비트 수를 한눈에 알기 어렵다는 불만도 있었다.
How to Apply
- CPU 준비 상태부터 점검하기
- 모델 다운로드 없이 readiness 스크립트를 돌려 CPU와 HugePages 상태를 확인하라.
- 아래 codeExample의 명령을 Linux에서 실행하라.
- 30B 모델로 먼저 로컬 서빙 해 보기
- 16~32GB 램 머신에서 Nemotron Fractal-64 GGUF를 받아 llama-server-modchip으로 띄워라.
- 기존 OpenAI 호환 호출을 8080 포트로 돌려 응답 속도를 측정하라.
- 실제 업무 프롬프트로 품질 게이트 돌리기
- ./modchip eval로 100점 품질·도구호출 게이트를 돌려라.
- 자체 프롬프트 세트로 정답률을 비교한 뒤 284B 도입을 결정하라.
- 에이전트 컨텍스트 복원 시간 측정하기
- ./modchip claude로 40개 도구 프롬프트의 warm 복원 시간을 재라.
- 긴 시스템 프롬프트를 쓰는 에이전트의 첫 응답 지연과 비교하라.
Try It
# Linux 터미널에 붙여넣기 (원문 README의 공개 명령 그대로)
curl -sL https://raw.githubusercontent.com/synchopate/llama-modchip/main/scripts/check_cpu_readiness.py | python3
# 30B Nemotron 서버 실행 (16~32GB 램)
hf download Synchopate/NVIDIA-Nemotron-3.5-30B-A3B-Fractal-64-CPU-GGUF llama-server-modchip-linux-x86_64 NVIDIA-Nemotron-3.5-30B-A3B-Fractal-64.gguf --local-dir .
chmod +x llama-server-modchip-linux-x86_64
./llama-server-modchip-linux-x86_64 -m NVIDIA-Nemotron-3.5-30B-A3B-Fractal-64.gguf -c 262144 -t 16 --port 8080
# 이어서 해 볼 것: 자동 설치 후 벤치마크
git clone https://github.com/synchopate/llama-modchip.git
cd llama-modchip
./modchip benchTerminology
관련 논문
Gemini Omni 1.2 Flash: 15초 영상 생성에 가격 30% 인하
Omni 1.2 Flash는 15초 영상과 대화형 편집을 지원하고 1.1보다 30% 쌉니다
LLM 추론을 암호학적으로 증명하는 FlashProve (Provable Inference)
zkSNARK로 400B 모델 응답을 증명했더니 GPU 시간이 70~95배 들었다
Gemini는 구독자 개인 계정의 대화 기록도 학습에 쓴다 (HN 댓글 기반)
Gemini 개인 계정은 구독해도 대화가 학습·사람 검토에 쓰일 수 있다
긴 컨텍스트는 필요 없다: 잦은 compaction과 선택적 읽기
컨텍스트를 16K~48K로 자주 압축했더니 정확도는 유지되고 비용은 2~8배 줄었다
JavaScript 프레임워크별 AI 에이전트 빌드 비용 벤치마크
같은 앱을 12개 프레임워크로 에이전트에 5번씩 짜게 했더니 비용이 최대 약 2배 차이
Claude Code가 백그라운드 에이전트 상태줄에 토큰을 쓰는 문제와 Bun preload 우회법
30초마다 에이전트 전체 대화를 보내던 상태줄 요약을 끄니 요청 19.7%가 사라졌다
GLM-5.3 Workers AI의 KV cache 교차 노출 사고와 SGLang 수정
컨텍스트 창보다 작은 KV 풀 때문에 긴 프롬프트 155건에 타인 데이터가 섞였다
Microsoft Decision-1: Qwen3.5-9B 기반 결정 점수 전용 모델
글 대신 선택지별 확률만 내놓는 9B 모델, 라우팅·분류용으로 공개