VRAM에 자주 쓰는 expert만 올리자, LocalLLaMA가 본 27% 속도 향상
Original: Hot Experts in your VRAM! Dynamic expert cache in llama.cpp for 27% faster CPU +GPU token generation with Qwen3.5-122B-A10B compared to layer-based single-GPU partial offload View original →
r/LocalLLaMA의 “Hot Experts” post는 큰 MoE model을 consumer workstation에서 돌리는 사람들이 바로 이해할 만한 병목을 건드렸다. 작성자는 Qwen3.5-122B-A10B를 4090 24GB와 Ryzen 9 7950X, 96GB RAM 조합에서 실행했고, all-CPU expert path의 15 tok/s대가 streaming response에서는 답답하다고 설명했다. 그래서 자주 route되는 expert만 VRAM에 올리는 dynamic cache를 실험했다.
아이디어는 단순하다. 최근 N tokens 동안 어떤 experts가 많이 선택됐는지 추적한 뒤, 그 experts를 “hot”으로 보고 VRAM cache에 둔다. 나머지는 system RAM에 남긴다. 매 N tokens마다 cache를 다시 균형 잡으면서, expert tensor를 옮기는 비용보다 VRAM에서 처리하는 이득이 크다는 bet를 거는 방식이다. 작성자는 code를 llama.cpp fork로 공개했다.
공유된 수치는 꽤 구체적이다. all-CPU experts baseline은 token generation이 약 15.65 tok/s였다. 22.6GB VRAM을 쓰는 layer-based offload에서는 약 17.87 tok/s가 나왔다. 반면 22.2GB VRAM을 쓰는 hot expert cache는 세 번의 generation run에서 22.26, 22.97, 22.77 tok/s를 기록했다. 작성자는 all-CPU baseline 대비 44.8%, 같은 VRAM commitment의 layer-based offload 대비 26.8% 빠르다고 정리했다.
댓글은 바로 비교 기준으로 파고들었다. 어떤 사용자는 llama-server의 fit option이나 MoE 관련 flag를 먼저 써 봐야 한다고 했고, 다른 사용자는 static mode에서 imatrix로 중요한 experts를 미리 고르는 아이디어를 제안했다. PowerInfer 같은 기존 project와 닮았다는 언급도 있었다. 이 반응은 LocalLLaMA답다. headline 숫자보다 “이게 upstream에 들어갈 수 있나”, “다른 offload strategy와 공정하게 비교했나”, “prefill과 generation latency를 분리했나”를 묻는다.
이 실험의 의미는 Qwen3.5-122B 하나의 속도보다 넓다. MoE model은 모든 parameter를 매 token마다 쓰지 않기 때문에, 어떤 expert를 빠른 memory에 둘지 선택하는 문제가 performance의 일부가 된다. unified memory가 없는 PC에서는 PCIe와 system RAM 왕복이 실제 비용이다. Hot expert cache가 주류 기능이 될지는 아직 모른다. 하지만 local LLM community가 이제 model size만이 아니라 memory hierarchy 자체를 tuning 대상으로 보고 있다는 점은 분명하다.
Related Articles
LocalLLaMA가 반응한 포인트는 “LLM이 스스로 빨라진다”는 농담 같은 구조가 실제 benchmark 숫자로 이어졌다는 점이었다. 작성자는 llm-server v2의 --ai-tune이 llama-server help를 context로 읽고 flag 조합을 돌며 fastest config를 cache한다고 설명했고, Qwen3.5-27B Q4_K_M은 18.5 tok/s에서 40.05 tok/s까지 올라갔다고 공유했다.
r/LocalLLaMA가 이 글에 반응한 이유는 숫자가 구체적이었기 때문이다: RTX 5070 Ti에서 128K context와 79 t/s를 만든 핵심이 flag 하나로 좁혀졌다.
2026년 3월 r/LocalLLaMA에서 126 points와 45 comments를 모은 글은 Qwen3.5-27B를 llama.cpp로 구동하고 OpenCode에 연결하는 실전 가이드를 조명했다. 이 글이 주목받은 이유는 quant 선택, chat-template 수정, VRAM 예산, Tailscale 네트워킹, tool-calling 동작처럼 로컬 coding 환경을 실제로 좌우하는 운영 디테일을 다뤘기 때문이다.
Comments (0)
No comments yet. Be the first to comment!