개발? 새발!
개발? 새발!

맥 미니 클러스터링으로 나만의 AI 서버 만들기 – GitHub exo 활용법

2025.12.21

맥 미니 클러스터링으로 나만의 AI 서버 만들기 - GitHub exo 활용법

안녕하세요 🙂

오늘은 조금 색다른 주제를 들고 왔어요.
맥 미니 여러 대를 묶어서 AI 클러스터를 만들 수 있다는 거, 알고 계셨나요?

고가의 GPU 서버 대신 집에 있는 맥북이나 맥 미니를 여러 대 연결해서 거대한 AI 모델을 돌릴 수 있다니… 저도 처음엔 “이게 된다고?” 싶었는데요. 실제로 DeepSeek V3 같은 671B짜리 모델도 돌아간다고 하더라고요 ㅋㅋㅎㅋㅎㅋㅎㅋㅎㅋㅎ

그래서 오늘은 GitHub의 exo 프로젝트를 활용해서 맥 미니 클러스터링을 어떻게 하는지, 그리고 실제로 뭘 할 수 있는지 깔끔하게 정리해볼게요!


exo가 뭔데요?

엑소 랩스(EXO Labs)에서 공개한 오픈소스 도구인데요. 이름 느낌 그대로, 여러 개의 디바이스를 하나의 GPU 클러스터처럼 쓸 수 있게 해주는 도구예요.

GitHub에서 `exo-explore/exo` 레포지토리를 찾아보시면 되는데, 핵심은 이거예요:
- 맥북, 맥 미니, 심지어 아이패드까지 연결 가능
- 각 디바이스의 메모리를 합쳐서 큰 모델 돌리기
- Thunderbolt RDMA 지원으로 디바이스 추가할수록 더 빨라짐!

# exo 설치는 이렇게 간단해요
pip install exo

실제로 exo를 만든 알렉스 치마 CEO가 맥 미니 M4 4대 + 맥북 프로 M4 맥스 1대를 묶어서 알리바바의 코딩 모델을 돌리는 영상도 공개했더라고요.


관련 이미지 1

이미지 출처: GeekNews

맥 미니 클러스터 구성하기

그럼 바로 실제 구성 방법을 알아볼게요!

필요한 건 이 정도예요:
- 맥 미니 2대 이상 (동일 세대면 더 좋아요)
- Thunderbolt 케이블
- 안정적인 네트워크 환경

핵심은 Thunderbolt Bridge를 활용하는 거예요. 일반 이더넷보다 훨씬 빠른 10Gbps급 내부망을 만들 수 있거든요!

# 각 맥 미니에서 SSH 활성화
sudo systemsetup -setremotelogin on


Thunderbolt Bridge IP 확인

ifconfig bridge0

맥 미니끼리 Thunderbolt로 직접 연결하면 macOS가 자동으로 `bridge0` 인터페이스를 만들어줘요. 여기에 고정 IP를 할당해주면 됩니다!


exo로 클러스터 띄우기

exo의 진짜 매력은 설정이 정말 쉽다는 거예요.

첫 번째 맥 미니(메인 노드)에서:

# exo 서버 실행
exo run llama-3.1-8b

두 번째 맥 미니에서:

# 자동으로 첫 번째 노드 찾아서 연결됨
exo run llama-3.1-8b

진짜로 이게 끝이에요!!!
exo가 알아서 노드들을 찾고, 메모리를 합치고, 모델을 분산해서 돌려줍니다.

모두 이해하셨길 바라며… 20,000ㅎㅎㅎㅁㅎㅎㅎㅎ (토큰/초 아님)


실제로 뭘 돌릴 수 있어요?

exo 팀이 공개한 벤치마크를 보면:
- M4 Pro 맥 미니 8대로 DeepSeek V3 (671B) 실행
- 총 512GB 메모리로 초거대 모델 구동
- 응답 속도도 꽤 쓸만한 수준!

개인적으로 테스트해볼 만한 구성:

# API 서버로 띄우기
from exo import Exo

cluster = Exo()
cluster.serve(
    model="qwen-2.5-coder-32b",
    port=8000
)

이러면 집에서 돌아가는 AI 코딩 어시스턴트 완성 🙄


관련 이미지 2

이미지 출처: Threads

Kubernetes랑 비교하면 어때요?

“그냥 K8s 쓰면 되는 거 아님?” 싶잖아요.

차이점이 있어요:

exo의 장점:
- AI 모델 특화 설계
- 메모리 통합이 자동
- 설정 거의 필요 없음

Kubernetes:
- 범용 컨테이너 오케스트레이션
- 더 정교한 리소스 관리
- 학습 곡선 존재

물론 둘 다 같이 써도 되죠! exo로 AI 워크로드 돌리고, 다른 서비스는 K8s로 관리하는 하이브리드 구성도 가능해요.

# kind로 맥 미니 K8s 클러스터 구성 예시
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 30080
    hostPort: 8080

실전 팁 몇 가지 알려주는 것임!!!!!

1. 메모리가 전부예요
- exo의 유일한 요구사항: 전체 노드의 메모리 합이 모델 크기보다 커야 함
- Llama 3.1 8B (fp16)면 총 16GB 필요

2. 네트워크 최적화
- Thunderbolt Bridge 꼭 쓰세요
- 일반 이더넷보다 10배 빠름
- 노드 간 통신 병목 확 줄어듦

3. 모니터링

# 각 노드의 메모리 사용량 체크
   exo status

4. 시작은 작게
- 맥 미니 2대로 시작
- Llama 3.1 8B 같은 작은 모델로 테스트
- 익숙해지면 노드 추가하고 모델 키우기


주의할 점도 있어요

실제로 쓰면서 겪을 수 있는 이슈들이 있어요:

- 모든 맥 미니가 같은 macOS 버전이어야 안정적
- Python 버전도 통일 필수
- 방화벽 설정 확인 (포트 개방)
- 첫 실행 시 모델 다운로드 시간 오래 걸림

# 방화벽 설정 예시
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/local/bin/exo

관련 이미지 3

이미지 출처: Threads

MongoDB 클러스터링도 해봤는데

알던 `init`, `deinit` 같은 느낌이랄까요. 맥 미니 클러스터는 AI만 쓸 수 있는 게 아니라 분산 DB 연습용으로도 좋아요.

실제로 맥 미니 4대로 MongoDB 샤딩 구성해봤는데:

# node1: Config Server
mongod --configsvr --replSet configRS --port 27019


node2, node3: Shard

mongod --shardsvr --replSet shard1 --port 27018


node4: Router

mongos --configdb configRS/node1:27019

각 노드의 역할을 명확히 나누고 PATH 설정만 통일하면 관리가 엄청 편해져요!


성능은 어때요?

솔직히 말하면 AWS 같은 클라우드 GPU보다는 느려요 ㅋㅋㅎㅋㅎㅋㅎㅋㅎ

하지만:
- 초기 비용: 맥 미니 < 클라우드 장기 사용
- 프라이버시: 내 데이터가 내 집에
- 실험 자유도: 시간제한 없이 마음껏

특히 개인 프로젝트나 학습용으로는 완전 괜찮은 선택지예요.

실제 벤치마크:
- M4 맥 미니 4대로 Nemotron 70B → 8 tok/s
- M4 Pro 맥 미니 8대로 DeepSeek V3 671B → 실행 가능

이게 실제로 가능하단 거져!?!?!? 🙄 진짜로요!!!


이렇게 활용해보세요

제가 실제로 써본 용도:

1. 개인 AI 어시스턴트
- 코드 리뷰 봇
- 문서 자동 번역
- 데이터 분석 도우미

2. 개발 테스트베드

# 로컬 K8s + exo 조합
   minikube start --driver=docker
   kubectl create deployment ai-server --image=exo-server
   kubectl expose deployment ai-server --type=NodePort --port=8000

3. 분산 시스템 학습
- 실제 클러스터 환경 경험
- 네트워크 최적화 실험
- 장애 복구 연습


자, 이제 정리해볼게요!

맥 미니 클러스터링과 GitHub exo는:
- 집에서 만드는 나만의 AI 서버
- 고가 GPU 없이도 큰 모델 실행 가능
- Thunderbolt로 노드 간 초고속 통신
- 설정 간단하고 확장 쉬움

시작하기 좋은 구성은 맥 미니 M4 2대 + Thunderbolt 케이블이에요. 여기에 exo 설치하고 Llama 3.1 8B 정도로 테스트해보시면 감이 확 올 거예요!

관심 있으신 분들은 GitHub exo-explore/exo 레포지토리 한번 들러보세요. README도 꽤 친절한 편이에요~

궁금한 점 있으면 댓글 남겨주시고, 실제로 구성해보신 분들은 경험담 공유해주시면 감사하겠습니다 🙂

참고 링크:
- GitHub exo 레포지토리
- EXO Labs 공식 트위터
- macOS Thunderbolt Bridge 설정 가이드


이전 글 보기

jQuery 2025년에도 알아야 하는 이유 (feat. 레거시 코드 살려내기)

Transformer Visualization: 블랙박스 AI를 들여다보는 방법

이 블로그의 다음 이야기도 받아보세요

새 글 구독 (RSS)