Mac Mini로 사내 AI 서버 만들기 — 실전 가이드
Mac Mini 한 대로 사내 전용 AI 서버를 구축하는 실전 가이드입니다. Ollama 기반 로컬 LLM 설치부터 사내망 배포, 보안 설정까지 단계별로 안내합니다.
Mac Mini로 사내 AI 서버 만들기 — 실전 가이드
문제 정의: 클라우드 AI만이 답인가?
"회사 데이터를 외부 API로 보내도 되나요?" — AI 도입을 검토하는 기업에서 가장 먼저 나오는 질문이다. 금융, 의료, 법률 등 규제 산업은 물론이고, 일반 기업도 계약서, 인사 정보, 재무 데이터를 외부 서버로 전송하는 것에 대한 부담이 크다.
로컬 AI 서버는 이 문제를 근본적으로 해결한다. 데이터가 사내 네트워크를 벗어나지 않으면서, 오픈소스 LLM을 활용해 충분히 실용적인 AI 서비스를 운영할 수 있다. 그리고 그 서버로 Mac Mini M4 Pro만 한 선택지가 없다.
왜 Mac Mini M4 Pro인가
| 항목 | Mac Mini M4 Pro (48GB) | 클라우드 GPU (A10G) |
|---|---|---|
| 초기 비용 | ~270만원 (1회) | $0 |
| 월 운영비 | 전기 ~5,000원 | ~$750 (~105만원) |
| 1년 TCO | ~276만원 | ~1,260만원 |
| 데이터 보안 | 사내 네트워크 | 클라우드 전송 |
| 유지보수 | 직접 관리 | 매니지드 |
| 확장성 | 물리적 한계 | 무제한 스케일 |
핵심 이점: Apple Silicon의 통합 메모리(Unified Memory)
일반적인 GPU 서버에서는 CPU RAM에서 GPU VRAM으로 데이터를 복사해야 한다. Apple Silicon은 CPU와 GPU가 하나의 메모리 풀을 공유하므로 이 복사 페널티가 없다. 48GB 통합 메모리면 30B 파라미터 모델까지 로드할 수 있다.
- 유휴 시 전력 소비: ~5W
- LLM 추론 피크: ~65W
- 추론 속도 (M4 Pro, 48GB): 60~85 tokens/sec (14B 모델 기준)
- 첫 토큰 지연:
350500ms
소프트웨어 스택
┌────────────────────────────────────────────┐
│ 사용자 접근 계층 │
│ Open WebUI (웹 UI) ← Tailscale VPN │
│ http://ai.company.internal:8080 │
├────────────────────────────────────────────┤
│ 서빙 계층 │
│ Ollama v0.14+ (모델 서빙, OpenAI 호환 API) │
│ http://localhost:11434 │
├────────────────────────────────────────────┤
│ 모델 계층 │
│ Qwen2.5-14B / Llama-3.3-8B / Mistral │
│ (~8~20GB GGUF 양자화 모델) │
├────────────────────────────────────────────┤
│ OS 계층 │
│ macOS Sequoia + LaunchDaemon 자동시작 │
└────────────────────────────────────────────┘
Ollama 설치 및 설정
# Ollama 설치 (Homebrew)
brew install ollama
# 모델 다운로드
ollama pull qwen2.5:14b # 한국어 강점, 14B, ~9GB
ollama pull llama3.3:8b # 범용, 8B, ~5GB
ollama pull deepseek-r1:14b # 추론 특화, 14B, ~9GB
# 서버 시작 (기본 포트 11434)
ollama serve
# API 테스트 (OpenAI 호환)
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen2.5:14b",
"messages": [{"role": "user", "content": "회의록을 요약해줘"}]
}'Open WebUI 설치 (웹 인터페이스)
# Docker로 설치 (권장)
docker run -d -p 8080:8080 \
--add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
# 브라우저에서 http://localhost:8080 접속
# 첫 접속 시 관리자 계정 생성모델 선택 가이드: 한국어 성능 비교
2026년 2월 기준, 로컬 구동 가능한 한국어 성능 상위 모델:
| 모델 | 파라미터 | VRAM 필요 | 한국어 품질 | 추천 용도 |
|---|---|---|---|---|
| Qwen2.5-14B | 14B | ~9GB | 매우 좋음 | 범용 업무, 문서 처리 |
| Llama-3.3-8B | 8B | ~5GB | 좋음 | 가벼운 작업, 코딩 |
| DeepSeek-R1-14B | 14B | ~9GB | 좋음 | 복잡한 추론, 분석 |
| Qwen3-Coder-30B | 30B | ~20GB | 좋음 | 코드 생성 특화 |
| Mistral-Nemo-12B | 12B | ~8GB | 보통 | 유럽어+영어 우선 |
Qwen 시리즈가 한국어에서 가장 안정적이다. Qwen2.5는 27개 언어를 공식 지원하며, 한국어를 포함한 아시아 언어에서 Llama 대비 눈에 띄는 품질 차이를 보여준다. 코딩 작업에는 Qwen3-Coder-30B가 48GB 메모리에서 충분히 구동된다.
멀티유저 구성: 사내 접근 설정
Tailscale VPN 설정
공개 인터넷 노출 없이 사내 직원만 접근할 수 있게 하는 가장 간단한 방법이다.
# Mac Mini에 Tailscale 설치
brew install tailscale
sudo tailscaled &
tailscale up --accept-routes
# 연결 후 할당된 IP 확인
tailscale ip -4 # 예: 100.64.x.x
# 다른 직원 PC/모바일에서도 Tailscale 설치 후
# http://100.64.x.x:8080 로 Open WebUI 접속Caddy 리버스 프록시 (HTTPS + 도메인)
# Caddyfile
cat << 'EOF' > /opt/homebrew/etc/Caddyfile
ai.company.internal {
reverse_proxy localhost:8080
tls internal
}
EOF
# Caddy 시작
brew install caddy
brew services start caddy운영: 자동 시작 및 모니터링
LaunchDaemon으로 자동 시작
<!-- /Library/LaunchDaemons/com.ollama.server.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ollama.server</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/ollama</string>
<string>serve</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/var/log/ollama.log</string>
<key>StandardErrorPath</key>
<string>/var/log/ollama.error.log</string>
</dict>
</plist># 등록 및 시작
sudo launchctl load /Library/LaunchDaemons/com.ollama.server.plist시스템 최적화 체크리스트
# 1. 자동 절전 비활성화
sudo pmset -a sleep 0
sudo pmset -a disablesleep 1
# 2. Spotlight 인덱싱 제외 (모델 디렉토리)
sudo mdutil -i off /Users/$(whoami)/.ollama
# 3. 상태 모니터링 스크립트
#!/bin/bash
# health_check.sh
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:11434/api/tags)
if [ "$RESPONSE" != "200" ]; then
echo "$(date): Ollama 서버 응답 없음" >> /var/log/ollama_health.log
brew services restart ollama
fi비용 비교: 1년 TCO
| 항목 | Mac Mini M4 Pro (48GB) | AWS g5.xlarge (A10G) | OpenAI API (GPT-4o) |
|---|---|---|---|
| 하드웨어/초기 | 270만원 | $0 | $0 |
| 월 운영비 | ~5,000원 (전기) | ~105만원 | 사용량 비례 |
| 월 10K 쿼리 비용 | 0원 (추가 없음) | 포함 | ~50만원 |
| 1년 합계 | ~276만원 | ~1,260만원 | ~600만원 |
| 2년 합계 | ~282만원 | ~2,520만원 | ~1,200만원 |
| 데이터 외부 전송 | 없음 | 있음 | 있음 |
6개월이면 손익분기점을 넘긴다. 특히 데이터 보안이 중요하거나 API 비용이 예측 불가능한 환경에서 로컬 AI 서버는 확실한 선택이다.
결론
Mac Mini M4 Pro 한 대로 Ollama + Open WebUI 조합을 구성하면, 사내 직원 10~20명이 동시에 사용할 수 있는 AI 서버를 구축할 수 있다. 데이터는 사내에 머물고, 월 운영비는 전기세 5,000원이면 된다. 클라우드 GPU 대비 1년에 1,000만원 이상 절감 가능하다.
물론 GPT-4o급 최상위 모델 성능이 필요한 작업은 여전히 클라우드 API가 유리하다. 최적의 전략은 일상 업무는 로컬 AI로, 고난도 작업은 클라우드 API로 하이브리드 운영하는 것이다.
사내 AI 서버 구축이 필요하다면 → 기술 상담 신청
우리 회사, 어디부터 자동화할 수 있을까?
무료 업무 진단으로 반복 업무를 찾아드립니다. 30분 통화로 월 몇 시간을 아낄 수 있는지 바로 확인하세요.
관련 글
AI 자동화 인사이트를 받아보세요
새로운 가이드와 사례가 올라올 때 알려드립니다. 스팸 없이, 유용한 글만.