Jun 13, 2026
로컬 LLM 탐색 기록 2
M4 Mac Mini에서 Gemma 4 26B-A4B 모델을 실험하며 정리한 로컬 LLM 활용 기록
한 달 전의 글에서 지금 내 시스템에 Gemma 4 E4B 모델이 돌아가는 것을 확인했고 보다 좀 더 큰 모델이 작동할 여지가 있는지 파악하는 것이 과제라고 적었던 이후, 실제로 한 달 동안 진행한 작업을 간단하게 정리해 보았다.
한 줄 요약
M4 Mac Mini 32GB RAM 환경에서
Gemma 4 26B-A4B MoE 모델을Q5 양자화 조건에서 구동하여 스크립트 보조 하에 의도한 텍스트 생성 작업을 수행하거나, OpenClaw Harness에서 Skill Workflow를 사용할 수 있었다. 하지만 아직 스스로 판단해서 하위 작업을 실행하는 agentic work는 어렵고 스크립트를 사용해서 삐딱선을 타지 않게 가드레일을 잘 만들어 주어야 한다.
MoE 모델에 도전한 이유
LLM 모델 작동 원리에 대해서는 잘 모르지만, 대략 사용하는 파라미터가 클 수록 좋고, Mixture-of-Experts (이하 MoE) 모델의 경우 실제 전체 파라미터와 활성화되는 파라미터를 다르게 해서 구동 속도를 빠르게 한다고 알고 있다. 그렇다면, 내 컴퓨터에서 Gemma E4B Dense 모델이 돌아가니까 26B-A4B 모델도 비슷한 속도도 돌아가야 하지 않을까? 여기서 시작했다.
사실 한 달 전에도 이 생각을 했기 때문에 mlx 모델 테스트할 때 당연히 E4B랑 같이 26B-A4B 모델을 테스트해봤다. (물론 지금도 LLM 작동 원리에 대해 제대로 알고서 도전하는 건 아니지만) 그때는 지금보다 훨씬 아는 게 적었기 때문에, 오픈클로에서 상용 모델로 돌리고 있는 스킬 작업을 모델만 로컬로 바꿔서 통째로 테스트했고 당연히 실패했다.
이후 E4B에서의 경험을 통해 작업을 나눠야한다는 걸 깨닫긴 했지만, 그러면 어느 정도로 나눠야 하는 것일까?
생각을 바꿔서, 일단 다른 사람들이 나랑 비슷한 환경에서 이 모델을 어떻게 쓰나 사례를 찾아보기로 했다. 구글에 gemma 26b a4b mac mini 를 넣어보자.
다른 사람들이 Gemma 26B를 쓰는 방법
- Mac mini에서 Ollama과 Gemma 4 26B 모델 설정 요약 (2026년 4월 기준)
- Gemma4로 내 컴퓨터(맥미니)에 AI 에이전트 구현
- Gemma 4 사용 방법 및 26B A4B 구동 후기
몇 개의 글을 보고 나니, 넣는 작업의 형태가 나와 다르다는 게 보였고, 내가 생각하는 간단한 스킬이 왜 간단하지 않은지도 좀 더 이해하게 되었다. 같은 파일을 주고 작업을 시킨다고 해도 모델 런처에서 직접 파일을 첨부해서 주는 것과 내가 디스코드 대화창에서 오픈클로 에이전트에게 파일 경로를 주고 ‘이 파일을 읽어서 특정 부분을 넣고 특정 부분을 없애줘’라고 요청하는 것은 전혀 다른 순서를 거치는 것이었다!
- 내가 기대한 것 = 디스코드를 통해 오픈클로 내 에이전트를 작동시키는 모델로 gemma 사용 (gemma가 내 맥미니 서버 내의 파일을 읽고, 그걸 바탕으로 움직이는 걸 원함)
- 다른 사람들이 쓰는 방식 = ollama/lmstudio/unsloth 등의 개별 런처로 gemma를 실행시킨 뒤 작업 지시 (예시: 이런 문제 풀어줘, 내가 주는 유튜브 자막 파일 읽고 요약해줘, 이 사진을 읽고 짧은 시를 써줘)
비교적 에이전틱한 작업 예시(위의 참고 글 중 3번째 글)도 있었는데, 그것도 파일 목록 수집 -> 정해진 4개 분류 태그 작성 -> 파일 이동 형식을 주어진 JSON 양식으로 작성이란 형태로 분리가 되어야 하고, 그것도 자연어가 아닌 파이썬 코드의 형태를 띠고 있었다. 그런데 나는 이 모든 과정을 그냥 자연어 문장 하나로 때우려 한 것이 아닌가. (물론 파이썬 코드는 내가 아니라 코덱스에게 짜달라고 할테지만 말이다)
아무튼, 이걸 보고 다시 도전해봐야겠다는 생각이 들었다.
구현 방법
늘 그렇듯 코덱스(GPT-5.5, 추론강도 보통 혹은 높음)에게 시켰다. 그래도 한 달 전보다는 꽤 발전해서, 나름의 의뢰서를 쓴다.
의뢰서 양식
openclaw에서 luka(agent name)가 사용하는 스킬을 로컬 모델로 사용할 수 있을지 테스트하고 싶어. 먼저 스킬과 스킬이 참조하는 파일들을 분석하고, 스킬을 단계로 쪼갠 다음 각 단계를 로컬 모델이 잘 수행할 수 있는 방법을 설계해줘. 이걸 확인할 수 있는 벤치 테스트를 설계하고, 허깅페이스에 올라와있는 모델 중 2-3개의 후보를 골라줘. 벤치 실행 뒤에는 꼭 보고서를 남겨줘.
- 스킬 문서 경로: ...
- 고려 모델: gemma 4 26b-a4b 계열 중 우리 맥미니 시스템에서 돌아갈 만한 것
- 보고서에 들어갈 내용: 시간, 품질, 결정 이유 등 (추가로 필요한 것도 제안 가능)
대상 스킬 1: 하루 리뷰하기
나중에 쓸 계획이지만 내가 에이전트들과 하고 있는 매일 루틴 중 하나는 아침 브리핑을 바탕으로 한 Daily Note 초안 자동 작성과 저녁 마감이다. 아침 브리핑은 참고할 데이터도 많고 로직이 좀 복잡하기 때문에, 저녁 마감 스킬을 로컬화해보기로 했다. 스킬의 구조는 대충 다음과 같다.
0. 저녁 마감 5분 전, 서버에 존재하는 오늘자 데일리 노트 기준으로 파이썬 코드가 컨텐스트 팩을 자동으로 작성한다. (오늘 To-Do List 및 완료 여부, 오늘 읽었다고 표시한 성경 진도 (체크가 있어야지만 기록), 일기 문장들, 식사/수면/컨디션 정보, 내일 아침에 제일 먼저 확인하고 싶은 한 가지)
1. 저녁 마감 시간이 되면, 모델이 컨텍스트 팩 파일을 읽는다.
2. 일기 문장들에서 오늘의 감정을 3가지로 추출한다.
3. 성경 진도가 있을 경우, BIBLE_PLAN.md 에 반영한다. (이건 다음 날 아침 브리핑의 성경 진도 제안에 사용됨)
4. 컨텍스트 팩과 오늘의 감정을 바탕으로 마감 메세지를 만들어 출력한다.
4-1. 만약 최소 항목 (컨디션, 내일 아침에 확인할 No.1)이 없을 경우 물어보고 데일리 노트에 반영한다.
4-2. 오늘 다 못한 작업은 질책하지 않고 내일 할 일로 넘긴다. (다음 날 아침 브리핑에 자동 반영됨)
(당연히 처음 구상부터 이런 식이었던 건 아니고, 몇 달 동안 쓰다 보니 조금씩 새로 필요한 기능들이 생겨 추가해 갔다. 지금은 좀 더 업데이트되어서 집중 테마(예시: 집 정리) 루틴의 경우 별도의 주별 루틴 카드에 기록해서 챙기기도 한다)
대상 스킬 2: 달력 편집
이유는 모르겠지만 이상하게 나는 google/apple calendar 앱을 그리 선호하지 않고, 대신 서버에 달력 형태의 마크다운 파일을 저장해 놓은 뒤 데일리 노트에 오늘치 일정이 들어가게 해서 수시로 쳐다보거나 에이전트에게 디코드로 오늘 남은 일정이 뭐 있는지, 뭘 챙겨야 하는지 물어보는 게 편하다. 그러다 보니 ‘루카, 내일 ㅇ시부터 ㅇ시까지 친구랑 저녁 약속 일정 추가해줘’ 같은 식으로 말을 걸게 되고, 상용 모델이야 당연히 알아서 달력 파일을 수정하지만 로컬은 은근 그게 어렵기 때문에 스킬을 별도로 만들어 줘야 한다.
모델 방식과 크기
이전 테스트에서 mlx 4비트 양자화로 실패했던 게 마음에 걸려서 이번엔 밑져야 본전이지 하고 llama.cpp gguf 모델에 5비트 양자화를 사용했다 (물론 내가 정했다기보단 코덱스가 기존 이력을 바탕으로 추천했다).
인터넷으로 이것저것 찾다 보니 gemma 모델군의 약점으로 tool calling 기능이 약하다는 평이 많고, e4b 도입할 때 나도 경험했던지라 처음에는 tool calling 측면에서 개선이 많이 되었다고 하는 heretic(무검열) 모델을 먼저 써 보았다. 그런데 내가 모델을 잘못 골랐는지 (분명 추천평을 보고 고르긴 했지만, 내가 뭘 제대로 알고서 한 게 아니기 때문에 그 평에서 생략된 부분을 놓쳤을 확률이 높다) heretic 모델의 경우 tool call 양식이 openclaw가 실행 가능한 OpenAI native tool_calls 형식과 다르고 exec 함수도 미지원하는 등 오픈클로에 적용하기는 여러 까다로운 점이 많았기 때문에 일종의 번역기가 추가로 필요했고, google에서 제공하는 원본 모델보다 안정성도 떨어졌다.
결론적으로, Google에서 직접 제공하는 Gemma 4 26B-A4B Q5 모델이 저녁 마감과 달력 편집 모두 통과해서 실제로 오픈클로/디스코드 시스템에서 활용할 수 있게 되었다.
결과: Gemma 4 26B-A4B로 만든 저녁 리뷰 문장
아래 내용은 어제 밤에 내 디스코드 채널로 에이전트가 보내준 메세지이다. 매우 만족스럽게 쓰고 있다.
마스터, 오늘 하루도 여기까지 오느라 정말 수고 많았어. 🌙
운전면허 필기시험 합격을 정말 축하해! 🎉 예전에는 도로에 나가는 게 무서워 시도조차 못 했다고 했는데, 이렇게 직접 학원까지 다녀와서 좋은 결과를 만들어낸 걸 보니 마스터가 참 용기 있게 잘 해내고 있다는 생각이 들어. 정말 대견해.
오늘의 결은 `성취`와 `회복`이 공존하는 시간이었던 것 같아. 핵심 작업이었던 운전면허 학원 다녀오기와 휴식을 잘 챙겼고, 삼성전자 매도 같은 중요한 일들도 잘 마무리했네.
오늘 다 끝내지 못한 블로그 초안이나 배포 작업들은 실패가 아니라, 마스터의 에너지를 지키기 위해 내일로 살짝 띄워 보내는 조각일 뿐이야. 내일의 마스터가 기운을 차렸을 때 자연스럽게 이어갈 수 있도록 내가 잘 기억해둘게.
오늘 기록을 살펴보니, 몸 상태나 식사 같은 세세한 부분들이 조금 비어 있네. 내일 더 가뿐하게 시작할 수 있게, 아주 짧게만 알려줄 수 있을까?
1. 지금 몸 상태는 어때? (예: 피곤해, 개운해)
2. 오늘 식사는 잘 챙겨 먹었어?
3. 내일 꼭 챙기고 싶은 한 가지가 있다면?
이제 무거운 마음은 잠시 내려놓고, 따뜻하게 쉬자. 오늘도 정말 고생 많았어, 마스터. 🧡
다음 작업 후보
- Gemma보다는 agentic 능력이 좋다고 알려진 qwen도 dense 말고 MoE 모델로 재도전
- 최근 Google이 발표한
gemma 4 12b dense모델의 쓸모 찾기 - 마찬가지로 최근 Google이 발표한, 속도가 빠르면서 품질도 좋다고 하는 QAT 적용
- 디스코드에서 안정적 대화 가능한 컨텍스트 용량 및 추론 방법 찾기
- 블로그 작업에서 gemma 4 26b-a4b 활용법 찾기
- 언젠가는 아침 브리핑도 로컬 모델로 성공하기(!!!)