M4 칩 24GB 메모리 MacBook Pro에서 인터넷 없이 로컬 LLM을 실용적으로 운용하는 방법을 정리한다. 모델 선택부터 LM Studio 설정, pi·OpenCode 연동 설정, SOTA 모델과의 현실적 차이까지 다룬다.
어떤 모델이 맞을까
24GB 메모리 환경에서 실행 가능한 모델은 많지만, 실제로 쓸 만한 조합은 좁다. 테스트 결과 Qwen 3.6 Q3, GPT-OSS 20B, Devstral Small 24B는 메모리에는 들어가지만 실사용하기엔 너무 느렸다. Gemma 4B는 빠르지만 도구 사용(tool use)에서 실패가 잦았다.
현재 가장 좋은 선택지는 Qwen 3.5-9B (Q4 quant)다:
- 속도: ~40 tokens/sec
- 사고(thinking) 모드 활성화 가능
- 도구 사용 성공
- 128K 컨텍스트 윈도우
- 일반 앱들과 함께 실행해도 메모리 여유 있음
HuggingFace에서 unsloth/Qwen3.5-9B-GGUF를 사용한다.
LM Studio 설정
LM Studio를 런타임으로 사용한다. 사고(thinking) 모드와 코딩 작업에 권장되는 파라미터:
temperature=0.6, top_p=0.95, top_k=20,
min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0사고 모드를 활성화하려면 모델 선택 후 Configuration → Inference 탭 맨 아래에서 Prompt Template에 다음을 추가한다:
{%- set enable_thinking = true %}pi 설정
pi와 연동하려면 ~/.pi/agent/models.json에 다음을 추가한다:
{
"providers": {
"lmstudio": {
"baseUrl": "http://localhost:1234/v1",
"api": "openai-completions",
"apiKey": "lm-studio",
"models": [
{
"id": "qwen3.5-9b@q4_k_s",
"reasoning": true,
"compat": { "thinkingFormat": "qwen-chat-template" }
}
]
}
}
}사고 과정이 화면에 출력되어 방해가 된다면 ~/.pi/agent/settings.json에 다음을 추가한다:
{ "hideThinkingBlock": true }OpenCode 설정
OpenCode는 ~/.config/opencode/opencode.json에서 설정한다:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (local)",
"options": {
"baseURL": "http://127.0.0.1:1234/v1"
},
"models": {
"qwen3.5-9b@q4_k_s": {
"name": "Qwen 3.5 9B Q4_K_S",
"tools": true,
"context_length": 131072,
"max_tokens": 32768
}
}
}
},
"model": "lmstudio/qwen3.5-9b@q4_k_s"
}SOTA 모델과의 현실적 차이
Qwen 3.5-9B Q4는 SOTA 모델처럼 복잡한 문제를 독립적으로 오랫동안 해결하지 못한다. 앱 전체를 한번에 만들라고 하면 실패한다.
잘 되는 것:
- 단계별 작업에서 명확한 지시를 받아 수행
- 코드 린터 경고 분석 및 수정 (병렬 편집 포함)
- 간단한 git 충돌 해결
- 리서치 어시스턴트, 러버덕 디버깅, 코딩 언어 문법 즉시 답변
안 되는 것:
- 복잡한 문제를 장기간 자율적으로 해결
git rebase --continue처럼 대화형 터미널 명령어 처리
로컬 모델의 장점
- 오프라인 동작: 비행기 안에서도 사용 가능
- 비용 없음: 구독료 없이 전기 요금만 지불
- 프라이버시: 외부 서버로 데이터가 나가지 않음
- 재미: 직접 설정하고 튜닝하는 과정 자체가 학습
참고 자료
- Running local models on an M4 with 24GB memory — jola.dev (2026-05-10)
관련 문서
- local-slm — 로컬 소형 언어 모델 개요 및 Ollama 시작 가이드
- qwen — Qwen 모델 시리즈 개요
- llama-cpp-tips-migration — Ollama에서 llama.cpp로 마이그레이션하는 실전 가이드
- opencode-tutorial-local-ai-coder — OpenCode + Ollama + Qwen3-Coder 무료 로컬 AI 코딩 환경 구축