샘, 미안하지만 내 '형편없는' 가정용 DRAM은 지금 100% 사용 중이야: Strata를 패치해서 구형 게이밍 GPU로 DeepSeek V4.1 에이전트 세션을 20배 빠르게 실행함
Sorry Sam, my "quite terrible" home DRAM is at 100% now: patched Strata to make DeepSeek V4.1 agent sessions start 20× faster on a good old standard gaming GPU, no datacenter required
핵심 요약
샘 알트먼의 DRAM 효율성 발언에 반박하며, 가정용 PC에서 DeepSeek V4.1을 효율적으로 돌리기 위한 Strata 엔진 패치와 최적화 기법을 공유함.
- KV 캐시 스플라이싱 — 세션마다 시스템 프롬프트를 전체 재읽기하지 않고 변경된 부분만 처리하여 속도 개선함
- 상주 라우팅 — 프롬프트 읽기 시 SSD 대신 VRAM과 RAM에 상주하는 전문가 모델을 우선 사용하여 대역폭 병목 해결함
- 가정용 하드웨어 최적화 — 데이터센터 없이도 RX 9070 XT와 64GB RAM 환경에서 1M 컨텍스트 모델을 오프라인으로 구동함
- 샘 알트먼 비판 — 개인의 하드웨어 소유권을 폄하하는 발언에 맞서 로컬 환경의 독립성과 효율성을 강조함
샘 올트먼이 얼마 전에 "전 지구적 자원 배분 관점에서 보면, 전 세계의 한정된 DRAM 공급량을 다들 자기 컴퓨터에 처박아두고 5%도 안 되는 시간 동안만 쓰는 건 진짜 개짓거리다"라고 씨부렸더라.
도전 받아들였다. 이게 내 '개짓거리' 홈 세팅이다: RX 9070 XT 16 GB, 5800X3D, 나머지 PC 부품보다 더 비싸진 64 GB DDR4, 그리고 PCIe 3.0 NVMe. 이걸로 DeepSeek V4.1 Flash 1M 컨텍스트(IST-DAS 1.75 bpw; 벤치마크상 전체 모델 성능의 98.7% 수준)를 Strata를 통해 완전히 오프라인으로 돌린다. 전문가 모델들은 VRAM, RAM, SSD에 흩어져 있음.
토큰 생성 속도는 ~7 tok/s 정도로 나쁘지 않았다. 문제는 프롬프트 읽기였다. OpenCode 세션을 새로 열 때마다 37K 토큰짜리 시스템 프롬프트랑 툴들을 죄다 다시 읽느라 첫 토큰 나오기까지 100초나 걸리더라. 데이터센터도 아닌데 데이터센터급 대기 시간을 겪는 꼴이지.
그래서 DeepSeek 엔진을 직접 뜯어고쳤다. 두 가지 변경 사항이다:
1. KV 스플라이스: 이미 읽은 건 다시 읽지 마라
에이전트들이 세션마다 바뀌는 텍스트(작업 디렉토리, 날짜, 프로젝트 CLAUDE.md, 랜덤 ID가 포함된 스킬 경로 등)를 시스템 프롬프트 안에 집어넣는 바람에, 세션 바뀔 때마다 프리픽스 캐시가 죄다 박살 났다. 이제 엔진이 새 프롬프트를 기존 대화 내용이랑 대조해서, 캐시된 상태에서 구닥다리 라인만 쏙 빼버리고(캐시된 행들을 아래로 밀고, 윈도우 링을 돌리고, RoPE 갭을 기록함), 바뀐 라인이랑 네 메시지만 읽도록 바꿨다. 바뀐 라인들은 통째로 이동하니까 모델이 파편화된 데이터를 볼 일도 없다.
2. 상주형 라우팅: RAM도 일을 하게 만들어라
짧은 프롬프트라도 거의 모든 레이어의 전문가 모델을 다 건드리기 때문에, 프롬프트 읽을 때마다 모델 대부분을 SSD에서 스트리밍해오더라: 1.2K 토큰 프롬프트 하나에 58 GB를 읽음. 이제 프롬프트 읽는 동안에는 VRAM이나 RAM에 이미 올라와 있는 전문가 모델들만 골라서 쓰도록 바꿨다. 생성 단계는 평소대로 돌아간다. 집구석 DRAM도 제대로 일 시키니까 꽤 쓸만하더라.
결과(위 본문 이미지와 동일한 머신)
주의사항:
-
HIP (gfx1201) 전용. CUDA, SYCL, Metal은 빌드도 테스트도 안 해봤다.
-
스플라이스는 근사치임: 자른 부분 뒤의 토큰들은 제거된 텍스트가 컨텍스트에 포함된 상태로 계산된 것들이다. 짧은 가이드 라인에서는 별문제 없는 것 같은데, 공식적인 검증은 안 거쳤다.
