로컬 AI 인프라 노트 (10/15) — Mac Mini M4 로컬 LLM 벤치마크: MoE vs Dense
Qwen3.5 4종 비교와 Thinking 모드 함정, Warm/Cold Start 운용 전략
핵심 요약
- MoE(Mixture of Experts) 아키텍처 35B 모델이 Dense 27B보다 3.8배 빠르다
- Thinking 모드가 기본 활성화된 최신 모델은 단순 작업에서 80초를 낭비한다 — 반드시 비활성화
- 로컬 LLM의 진정한 가치는 비용 회수가 아니라 무제한 실험과 데이터 프라이버시다
배경
AI 에이전트를 24시간 운영하면서 모니터링, 메모리 정리, 파일 I/O 같은 반복 작업을 클라우드 API 대신 로컬에서 처리하고 싶었다. Rate Limit과 네트워크 지연에서 벗어난 독립적 자동화 파이프라인이 목표였다. Mac Mini M4 32GB에서 Ollama 위의 Qwen3.5 모델 4종을 테스트했다.
본문
벤치마크 결과
| 모델 | 아키텍처 | Generation | VRAM | 3k 토큰 응답 | 판정 |
|---|---|---|---|---|---|
| qwen3.5:27b | Dense | 4.5 tok/s | 25.3GB | ~170초 | 폐기 |
| qwen3:8b | Dense | 빠름 | ~8GB | ~15초 | 지시 불이행 |
| qwen3.5:9b | Dense | 13.1 tok/s | ~8GB | 30~60초 | 백업용 |
| qwen3.5:35b-a3b-16k | MoE | 17.2 tok/s | 26.0GB | 20~40초 | 채택 |
MoE 모델의 우위가 압도적이었다. Prompt Eval 4.7배, Generation 3.8배, 응답 시간 약 7배 차이. MoE는 추론 시 활성 파라미터가 약 3B 수준이라 VRAM 점유는 비슷하면서 실제 연산량이 대폭 줄어든다.
Thinking 모드의 함정
자동화 크론 작업이 실패했다. "Say OK"라는 단순 응답에 80.8초가 걸리고 있었다. 분석 결과 실제 텍스트 생성은 0.12초, 나머지 전부가 thinking(추론) 과정에 낭비되고 있었다.
최신 모델들은 Reasoning 모드가 기본 활성화되어 있다. API에서 명시적으로 비활성화해야 한다.
{
"payload": {
"thinking": "off",
"lightContext": true,
"timeoutSeconds": 1800
}
}
시각적으로 reasoning 출력을 숨기는 것만으로는 부족하다. thinking: "off"가 필수다.
Warm/Cold Start 운용 전략
Cold Start 시 첫 호출에 약 30초 지연이 추가 발생한다. 이를 해결하기 위해 두 가지 전략을 적용했다.
- LaunchAgent 자동 Warm-up: Mac 부팅 시
keep_alive=-1로 모델을 VRAM에 영구 상주 - 모델 공유: 모니터링과 메모리 관리 에이전트가 동일 모델을 공유. 30분 주기 하트비트가 Warm 상태를 자연스럽게 유지
로컬 LLM 프롬프트 설계 규칙
클라우드 LLM에서 작동하던 프롬프트가 로컬에서 실패하는 경우가 많았다.
- 단일 책임: 1프롬프트 = 1파일 + 1동작. 복합 지시는 스크립트에서 분할
- 명시적 도구 제어: "저장하라"가 아닌 "write 도구를 사용하여 저장하라"
- edit 도구 배제: 환각으로 인한 파라미터 오류가 잦아 write(덮어쓰기)만 허용
시행착오 / 주의사항
초기 하드웨어 비용 약 110만 원. BEP 달성에 약 5~6년 소요된다. 금전적 회수가 목적이라면 로컬 LLM은 비추천이다. 또한 32GB에서 26GB를 모델에 할당하면 OS 여유가 6GB뿐이라 더 큰 모델 실험은 불가능하다. 64GB 이상 또는 Mac Studio를 권장한다.
마무리
로컬 LLM의 진정한 가치는 세 가지다 — 무제한 테스트 환경, 완전한 데이터 프라이버시, 예측 가능한 지연 시간(항상 24초 내외). 파라미터 크기보다 아키텍처(MoE vs Dense)가 우선이라는 것을 실측으로 확인했다.
댓글
댓글 쓰기