GPT-4나 Claude 같은 상용 모델은 성능이 뛰어나지만, 기업 환경에서는 “코드와 데이터가 외부 서버로 전송된다”는 사실 자체가 도입 장벽이 된다. 비용도 문제다. 개발자 50명이 매일 사용하면 월 수백만 원이 나간다.
이 글에서는 Llama 3, Mistral 등 오픈소스 LLM을 사내 서버에 배포하고, Continue나 Dify 같은 도구와 연동하는 실전 방법을 정리한다.
1. 왜 온프레미스 LLM인가
온프레미스 LLM을 선택하는 이유는 크게 세 가지다:
| 관점 | 상용 API (GPT, Claude) | 온프레미스 LLM |
|---|---|---|
| 데이터 보안 | 외부 전송 필수 | 사내망 격리, 외부 유출 없음 |
| 비용 구조 | 토큰당 종량제 (사용량 비례) | GPU 인프라 고정비 (대규모에서 유리) |
| 커스터마이징 | 프롬프트 수준만 가능 | 파인튜닝, 프롬프트 포맷 자유 조정 |
| 가용성 | 외부 장애에 의존 | 자체 인프라로 SLA 통제 가능 |
특히 금융, 의료, 공공 분야처럼 데이터 주권이 중요한 환경에서는 온프레미스가 사실상 유일한 선택지다.
2. 주요 오픈소스 모델 비교
2024~2025년 기준으로 실무에서 검증된 대표 모델들을 비교한다:
| 모델 | 개발사 | 라이선스 | 파라미터 | 특징 | 최소 VRAM |
|---|---|---|---|---|---|
| Llama 3 | Meta | Meta License | 8B / 70B | 범용 성능 최강, 한국어 지원 개선 | 16GB (8B) / 80GB (70B) |
| Mistral | Mistral AI | Apache 2.0 | 7B | 빠른 추론 속도, 상용 가능 | 16GB |
| Mixtral 8x7B | Mistral AI | Apache 2.0 | 46.7B (MoE) | MoE 구조로 효율적 고성능 | 48GB+ |
| Gemma 2 | Gemma License | 9B / 27B | 경량 고효율, 코드 특화 | 16GB (9B) | |
| Qwen 2.5 | Alibaba | Apache 2.0 | 7B / 72B | 다국어 강점, 한국어 우수 | 16GB (7B) |
실무 추천: 코드 어시스턴트 용도로는 Llama 3 8B 또는 Qwen 2.5 7B가 성능 대비 자원 효율이 좋다. 팀 전체가 공유한다면 Mixtral 8x7B를 고려하자.
3. 배포 방법: 3가지 선택지
3-1. Ollama (가장 빠른 시작)
설치부터 실행까지 5분이면 된다. 개인 개발 환경이나 PoC에 적합하다.
# 설치
curl -fsSL https://ollama.ai/install.sh | sh
# 모델 다운로드 및 실행
ollama pull llama3
ollama run llama3
# API 서버로 사용 (기본 포트 11434)
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "Hello, world!"
}'3-2. vLLM (프로덕션 추천)
고성능 GPU 환경에서 팀 전체가 공유하는 추론 서버를 구축할 때 적합하다. OpenAI 호환 API를 기본 제공하므로 기존 도구와의 연동이 매끄럽다.
# vLLM 설치
pip install vllm
# OpenAI 호환 서버 실행
python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3-8B-Instruct --host 0.0.0.0 --port 8000 --tensor-parallel-size 1
# 테스트
curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "meta-llama/Llama-3-8B-Instruct", "messages": [{"role": "user", "content": "Hello"}]}'3-3. 배포 방식 비교
| 구분 | Ollama | vLLM | LM Studio |
|---|---|---|---|
| 설치 난이도 | 매우 쉬움 | 중간 | 매우 쉬움 (GUI) |
| 용도 | 개인/PoC | 팀/프로덕션 | 개인/데모 |
| API 호환 | 자체 API + OpenAI 호환 | OpenAI 호환 기본 제공 | OpenAI 호환 |
| GPU 활용 | 자동 감지 | 수동 설정 (유연) | 자동 감지 |
| 동시 접속 | 제한적 | 높은 동시성 지원 | 1명 전용 |
4. Continue / Dify 연동 설정
4-1. Continue (VSCode AI 어시스턴트)
// ~/.continue/config.json
{
"models": [{
"provider": "openai",
"apiBase": "http://gpu-server:8000/v1",
"apiKey": "dummy",
"model": "meta-llama/Llama-3-8B-Instruct",
"title": "사내 Llama 3"
}]
}4-2. Dify (AI 워크플로 플랫폼)
- 설정 > 모델 공급자 > 사용자 정의 모델 추가
- Base URL:
http://gpu-server:8000/v1 - 모델 유형:
chat선택 - OpenAI 호환 형식을 준수하는 서버라면 바로 연동 가능
5. 배포 전 체크리스트
| 항목 | 확인 사항 |
|---|---|
| GPU 사양 | NVIDIA GPU + CUDA 12.x 이상 / VRAM 16GB+ (8B 모델 기준) |
| 양자화 | VRAM이 부족하면 GGUF Q4/Q8 양자화 모델 사용 (품질 소폭 하락) |
| 네트워크 | 사내망에서 API 서버 접근 가능 여부, 방화벽 규칙 확인 |
| 모니터링 | GPU 사용률, 메모리, 응답 시간 모니터링 (nvidia-smi, Prometheus 등) |
| 보안 | API 키 인증 또는 리버스 프록시(Nginx) 뒤에 배치 |
마치며
온프레미스 LLM은 더 이상 실험적 시도가 아니다. Llama 3, Mistral, Qwen 같은 모델들은 이미 GPT-3.5 수준을 넘어서며 GPT-4에 근접하는 성능을 보여주고 있다. vLLM으로 안정적인 추론 서버를 구축하고, Continue나 Dify와 연결하면 외부 의존 없는 자체 AI 인프라를 갖출 수 있다.
중요한 것은 모델 자체보다 “이 모델을 어떻게 팀 전체가 쉽게 사용할 수 있게 만들 것인가”다. 배포 도구 선택, API 표준화, 접근 제어까지 고려해야 진정한 사내 AI 인프라가 완성된다.