10년 된 Xeon으로 Gemma 4 구동, local AI의 병목을 다시 묻는 글

2016년형 Intel Xeon E5-2620 v4, 128GB DDR3, GPU 없음. 이 조합으로 Gemma 4 26B 계열 모델을 “읽는 속도”에 가깝게 돌렸다는 블로그 글이 큰 반응을 얻었다. 글쓴이는 일반 llama.cpp나 Ollama의 기본 경로가 아니라 ik_llama.cpp와 MTP drafter, speculative decoding, MoE 관련 CPU 옵션, flash attention, runtime repack 같은 세부 플래그를 조합했다.

흥미로운 지점은 낡은 서버가 갑자기 강력해졌다는 이야기가 아니다. LLM inference의 decoding 단계가 얼마나 memory-bound인지 보여주는 사례다. 다음 token을 만들 때 CPU 연산보다 weight를 메모리에서 끌어오는 시간이 병목이 된다. DDR3처럼 느린 메모리에서는 이 문제가 더 노골적으로 드러난다. 그래서 글은 “모델을 돌렸다”보다 “어떤 레버를 열어야 겨우 돌아가는가”에 가깝다.

댓글은 성능보다 경제성을 따졌다. 오래된 서버는 싸게 구할 수 있어도 전력, 소음, 열이 따라온다. 한 사용자는 클라우드 API 가격과 전력비를 비교해야 한다고 지적했고, 다른 사용자는 2012년형 Xeon과 16~24GB RAM에서도 Gemma 26B-A4B Q4를 8~12 tokens/s 정도로 돌린 경험을 공유했다. 즉 이 사례는 “모두가 이렇게 해야 한다”가 아니라 local inference의 하한선을 낮추는 실험이다.

local AI 논의는 종종 GPU 수급이나 최신 consumer card로 흐른다. 이 글은 반대로 오래된 CPU 서버에서 병목을 계측하고, 모델 구조와 runtime 최적화가 어디까지 체감 성능을 바꿀 수 있는지 보여준다. 개인용 자동화, 느긋한 질의응답, 오프라인 실험처럼 latency 요구가 낮은 작업에서는 이런 접근이 충분히 의미를 가진다.

결론은 단순하다. 최신 모델을 편하게 쓰려면 여전히 좋은 하드웨어가 필요하다. 하지만 모델 형식, drafter, quantization, runtime 플래그를 이해하면 “불가능”으로 보이던 장비도 실험 가능한 플랫폼이 된다. 커뮤니티가 반응한 이유도 바로 그 손맛에 있다.

Source: point.free blog, Hacker News discussion.