내 GPU를 빌려드립니다
공부회에서 만난 사람들과 함께 뭔가를 만들자는 이야기가 나왔어요. 기획을 하다 보니 자연스럽게 LLM이 들어갔고, 그러면 어디서 돌리지? 라는 질문이 따라왔어요.
클라우드 AI 서비스를 쓸 수도 있었어요. 근데 작은 사이드 프로젝트에 API 비용을 신경 쓰기 시작하면 마음이 무거워지더라고요. 게다가 우리한테 GPT-4급 모델이 필요한 것도 아니었고요.
마침 집에 GPU가 있었어요. Ollama로 모델 돌리고 있었으니까, 이걸 같이 쓰면 되겠다 싶었어요.
그냥 열어두면 안 되나?
Ollama를 외부에 그냥 열어두는 건 위험해요. 그렇다고 VPN이나 방화벽을 세팅하라고 하면 쓰는 사람 입장에서 번거롭고요.
원하는 건 단순했어요. Ollama 쓰는 느낌 그대로, API 키 하나만 추가하면 내 GPU를 쓸 수 있는 것. 그리고 누가 언제 얼마나 썼는지 기록이 남는 것.
그래서 만들었어요. Ollama 앞에 프록시를 하나 두는 거예요. 요청이 오면 API 키를 확인하고, 통과하면 그대로 Ollama에 전달해요.
기획이 제일 어려웠어요
만드는 것보다 어디까지 허용할지 정하는 게 까다로웠어요.
모델 다운로드를 허용하면? 누군가 수십 GB짜리 모델을 마음대로 받을 수 있어요. 모델 삭제는? 다른 사람이 쓰고 있는 모델이 사라질 수 있어요. 바이너리 업로드는?
결국 원칙을 하나 세웠어요. 다른 사용자에게 영향을 주는 건 전부 막자. 채팅이나 텍스트 생성처럼 본인만 쓰는 기능만 열어두고, 모델 관리 같은 건 직접 서버에서 하기로 했어요.
사용량 로깅도 단순한 호기심만은 아니었어요. 단기간에 급격하게 사용하는 경우를 감지하고, 필요하면 경고를 주거나 막을 수 있어야 했거든요. 공유 자원이니까요.
작은 클라우드
재밌는 건, 프록시를 쓰는 분들이 Ollama를 이번에 처음 알게 됐다는 거예요. 로컬에서 모델을 직접 돌릴 수 있다는 것 자체가 새로웠다고 하더라고요.
그리고 저도 묘한 기분이 들었어요. API 키를 발급하고, 사용량을 확인하고, 엔드포인트 접근을 관리하고. 마치 아주 작은 클라우드 프로바이더가 된 것 같은. 물론 빈틈 투성이지만요.
앞으로
이제 b7g이든 다른 프로젝트든, LLM이 필요하면 가볍게 붙일 수 있어요. 비용 걱정 없이, 내 인프라 위에서. 그게 이 프로젝트를 만든 가장 큰 수확인 것 같아요.