EXO Labs — 집 안의 남는 맥북과 스마트폰 묶어 GPU 클러스터 만들기
Llama 3 8B 모델은 16GB 램을 가진 평범한 맥북에서도 쌩쌩 돌아간다. 하지만 진짜 사람처럼 똑똑한 Llama 3 70B 모델을 로컬에서 돌리려면? 최소 40GB 이상의 VRAM, 즉 수백만 원짜리 Mac Studio나 4090 GPU 두 장이 필요하다.
"장비 한 대로는 불가능하다면, 집에 굴러다니는 구형 맥북과 데스크탑의 램(RAM)을 전부 하나로 합치면 안 될까?"
이 미친 발상을 진짜로 구현해 낸 오픈소스 프로젝트가 있다. 6편에서 소개할 주인공, EXO Labs(엑소 랩스) 다.
1. 엑소 디바이스 클러스터 (Distributed Inference)
EXO는 한마디로 내 방 안의 모든 전자기기를 모아 하나의 가상 슈퍼컴퓨터로 만들어주는 소프트웨어다.
원리는 분산 추론(Distributed Inference)이다. 모델이 너무 커서 컴퓨터 한 대의 메모리에 안 들어가면, 모델의 뇌(레이어)를 여러 조각으로 쪼갠다. - 머리 부분 연산은 데스크탑 GPU에서 - 몸통 부분 연산은 옆에 있는 M1 맥북에서 - 꼬리 부분 연산은 와이파이로 연결된 아이패드에서
각 기기가 자기가 맡은 연산을 끝내고 결과를 다음 기기로 네트워크를 통해 넘겨주는(P2P 통신) 방식이다.
2. EXO 클러스터 구축하기 (진짜 쉽다)
놀라운 점은 이 클러스터를 묶는 과정에 복잡한 IP 설정이나 라우터 세팅이 전혀 필요 없다는 것이다.
1단계: 패키지 설치
연결할 모든 기기(Mac, Linux 등)에 파이썬을 설치하고 exo를 깐다.
pip install exo-explore
2단계: 메인 노드(마스터 기기) 실행
내가 채팅을 칠 메인 컴퓨터(예: M3 맥북 프로)에서 터미널을 열고 다음 명령어를 친다.
exo
3단계: 워커 노드(노예 기기) 연결
같은 Wi-Fi 공유기에 물려 있는 다른 컴퓨터(예: 남는 구형 인텔 맥북이나 윈도우 데스크탑)에서도 터미널을 켜고 똑같이 exo를 친다.
끝이다. EXO는 내부적으로 기기들을 자동 탐색(Auto-discovery)하여 묶어버린다. 터미널 화면에 "노드 2개가 연결되었습니다"라는 메시지가 뜨며, 두 기기의 통합 메모리(예: 16GB + 16GB = 32GB)가 하나로 융합된 클러스터가 완성된다.
이제 브라우저를 열고 http://localhost:52415 (EXO의 기본 웹 UI)에 접속해서 70B 모델을 실행하면 된다. 내 맥북 한 대로는 "메모리 부족"을 뱉으며 뻗었을 모델이, 옆에 있는 데스크탑과 영혼을 합쳐 대답을 생성하기 시작한다.
3. 마법의 대가: 네트워크 레이턴시(Latency)
"그럼 컴퓨터 10대 모으면 ChatGPT 뺨치는 모델도 돌릴 수 있나요?" 이론상으론 그렇다. 하지만 세상에 공짜는 없다. EXO 클러스터링의 가장 큰 적은 네트워크 속도다.
로컬 LLM이 GPU 안에서 데이터를 주고받는 속도는 엄청나게 빠르다 (초당 수백 GB). 하지만 EXO는 기기 간에 연산 결과를 Wi-Fi로 넘겨주어야 한다. 와이파이의 지연 시간(Latency) 때문에 텍스트가 뚝... 뚝... 끊기면서 느리게 생성될 수밖에 없다.
EXO를 제대로 쓰기 위한 팁: - Wi-Fi 대신 모든 기기를 기가비트 유선 랜(Ethernet) 또는 썬더볼트 케이블로 직접 연결하면 속도가 획기적으로 뛴다. - 실시간 채팅용보다는, 하룻밤 켜두고 거대한 문서를 분석하게 시키는 비동기 배치(Batch) 작업에 어울린다.
📝 정리
- [x] 분산 추론: 단일 기기의 하드웨어 한계를 넘어, 여러 대의 메모리를 쪼개어 거대한 모델을 구동하는 혁신.
- [x] 초간단 세팅: 복잡한 네트워크 지식 없이, 같은 망 안에서
exo명령어만 치면 기기들이 알아서 뭉친다. - [x] 네트워크 병목: 기기 간 통신 속도가 전체 추론 속도를 결정하므로, 유선 네트워크 구성이 필수적이다.
방구석에 잠들어 있는 옛날 맥북이 있다면 당장 깨워보자. 지금까지 Ollama부터 EXO까지 5개의 도구를 깊이 있게 파헤쳤다. 마지막 7편에서는 이 시리즈를 총망라하여, 2026년 현재 내 프로젝트와 내 팀에 정확히 어떤 툴을 선택해야 하는지 최종 결정 매트릭스를 제공한다.