청구서를 열었을 때 숫자를 두 번 확인했습니다. 잘못 본 게 아니었고, Grok API 비용이 생각보다 꽤 나와 있었습니다. 그 순간 먼지 쌓인 홈서버가 떠올랐습니다.

청구서가 예상보다 컸습니다

Grok API를 직접 붙여서 자동화 작업에 쓰다 보니 호출 횟수가 은근히 쌓였습니다. 한 번씩 쓸 때는 별것 아닌데, 반복 파이프라인에서 돌리면 금세 불어나는 게 API 비용이었고, 이걸 줄일 방법을 찾기 시작했습니다.

마침 집에 서버가 있었습니다

2년 전 코인 관련 작업을 하다 구축해놓은 홈서버가 있었습니다. RTX 4090, 64GB RAM, 48코어 조합이었는데, 당시에는 다른 목적으로 쓰던 것이었고 지금은 그냥 돌아가고 있었습니다. 원래 용도와는 전혀 다른 방향이지만, LLM 서버로 쓰기에는 스펙이 나쁘지 않았습니다.

10분 셋업

Claude Code와 같이 작업했습니다. vLLM 설치하고 Gemma 모델 받아서 서빙하는 기본 설정이 10분 안에 끝났습니다. 솔직히 말하면 혼자였으면 환경 설정에서 한두 시간은 날렸을 텐데, 막히는 부분마다 바로 같이 해결하면서 넘어갔습니다. 셋업 자체의 진입장벽이 생각보다 낮아서 그게 더 놀라웠습니다.

막상 돌려보니

로컬 모델은 느리고 품질도 떨어진다는 인식이 있어서 기대치가 낮은 편이었는데, 막상 돌려보니 회의적인 생각보다는 괜찮았습니다. 완전히 만족스럽다고는 못하겠지만, Gemma4 모델이 이전 버전들과 비교해서 속도와 품질 모두 체감상 몇 배 이상 개선된 게 느껴졌습니다. 로컬 모델에 대한 불신이 그 시점에 꽤 흔들렸습니다.

지금은 이렇게 씁니다

지금은 단순하지만 LLM이 필요한 작업에 로컬 모델을 씁니다. 키워드 추출, 태그 추천, 제목 후보 뽑기 같은 것들입니다. 복잡한 추론이나 코드 작성은 여전히 API를 쓰는데, 어느 순간부터 역할 분담이 자연스럽게 정해졌습니다. 굳이 의도한 게 아니라 쓰다 보니 그렇게 됐습니다.

비용 절감이 목적이었는데, 로컬 모델에 대한 인식이 바뀐 게 더 큰 수확이었고, 기대를 낮게 잡았던 만큼 반전도 컸습니다.