자체 서버에 언어모델을 올리기까지
2025.05 – 2026.08 · 문답 6항 · 수치는 실측값 · 화면은 실화면 · 읽는 시간 약 5분
싸이원은 2025년 5월부터 12GB GPU 서버 한 대에서 언어모델을 직접 서빙해 AI 챗 서비스를 운영하고 있습니다. 큰 장비 대신 작업끼리 양보하는 규칙으로 한 장의 GPU에 언어·음성·이미지 세 종류의 AI를 올렸고, 데이터는 그 서버 밖으로 나가지 않습니다. 그 과정을 여섯 문답으로 적었습니다.
- 문 1.왜 직접 올렸나요?
- 문 2.장비는 무엇이 필요했나요?
- 문 3.그 서버에서 무엇이 돌아가나요?
- 문 4.12GB 한 장에 다 들어가나요?
- 문 5.서버가 꺼지면 어떻게 되나요?
- 문 6.어떤 회사에 맞는 방식인가요?
문 1.왜 직접 올렸나요?
세 가지 이유였습니다. 첫째, 손님과 나눈 대화 같은 데이터를 다른 회사 서버로 보내고 싶지 않았습니다. 둘째, 호출량이 늘수록 요금도 같이 늘어나는 클라우드 API의 구조가 서비스 운영과 맞지 않았습니다. 셋째, 모델을 저희 데이터로 직접 학습시키려면 결국 저희 장비가 필요했습니다.
문 2.장비는 무엇이 필요했나요?
12GB 메모리의 소비자용 GPU(RTX 3060) 한 장을 꽂은 서버 한 대로 시작했고, 지금도 그 한 대로 운영합니다. 전용 서버실도, 여러 장의 GPU도 없습니다. 대신 한 장을 아껴 쓰는 운영 기술이 필요했습니다(문 4).
Tue Aug 25 20:40:23 2026 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 580.178.04 Driver Version: 580.178.04 CUDA Version: 13.0 | +-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 3060 On | 00000000:01:00.0 Off | N/A | | 0% 42C P8 12W / 170W | 2615MiB / 12288MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+
문 3.그 서버에서 무엇이 돌아가나요?
- 언어모델 — 챗 서비스의 두뇌입니다. 공개된 모델을 그대로 쓰지 않고 저희 데이터로 직접 가르쳐(파인튜닝) 씁니다. 사주 상담 서비스에서 실제로 손님을 받고 있는 그 모델입니다.
- 음성 — 정해 둔 목소리로 안내 음성을 만듭니다. 문제가 생기면 표준 음성으로 자동 전환되어 서비스가 끊기지 않습니다.
- 이미지 — 서비스에 쓰는 그림을 서버가 직접 그립니다. 외부에 맡기지 않으니 건당 비용이 들지 않습니다.
- 사내 지식 검색 — 회사 문서 957조각을 통째로 기억해 두고, 말로 물으면 관련 내용을 찾아 줍니다(빠진 문서 없이 100%). 자세한 이야기는 기록 제3호에 있습니다.
문 4.12GB 한 장에 다 들어가나요?
동시에는 안 들어갑니다. 그래서 스위칭으로 풉니다 — 이미지나 음성을 만들 때는 언어모델을 자동으로 내리고(30~60초), 작업이 끝나면 되돌립니다. 작업 종류마다 GPU 메모리 상한을 다르게 걸어 두고, 놀고 있는 프로세스는 자동으로 회수합니다. 「큰 장비」가 아니라 「양보하는 규칙」이 답이었습니다.
12GB · GPU 1대 · 워크로드 3종언어 · 음성 · 이미지 — 온디맨드 스위칭으로 공존문 5.서버가 꺼지면 어떻게 되나요?
재부팅되면 모든 서비스가 자동으로 다시 올라오도록 systemd와 pm2에 등록해 두었습니다. 음성처럼 폴백이 있는 것은 폴백으로 버티고, 담당자에게 알림이 갑니다. 자체 서버의 진짜 비용은 장비값이 아니라 이 운영 체계를 만드는 일이었습니다.
문 6.어떤 회사에 맞는 방식인가요?
- 손님 데이터·사내 문서를 외부로 보낼 수 없는 곳
- AI 호출량이 많아 API 요금이 부담되기 시작한 곳
- 모델을 자기 데이터로 학습시키고 싶은 곳
반대로, 호출량이 적고 데이터 민감도가 낮다면 클라우드 API가 더 쌉니다. 저희도 일부 서비스에는 외부 API를 씁니다 — 자리에 맞는 도구가 답입니다.