m1 맥미니로 deepseek 구동시키기

M1 Mac 여러 대를 썬더볼트 케이블을 이용해 클러스터로 구성하고 딥시크(DeepSeek)를 구동하는 방법을 설명해 줄게.

1. 썬더볼트를 이용한 M1 Mac 클러스터 개념

M1 Mac은 일반적인 x86 서버와 달리 본격적인 클러스터링 기능을 제공하지 않지만, 썬더볼트 3/4 포트를 활용한 고속 네트워킹이 가능해 MPI(Multi-Processing Interface) 기반의 분산 학습을 수행할 수 있어.

썬더볼트를 이용한 클러스터 연결 방식:

• Thunderbolt-to-Ethernet 브릿지: 썬더볼트 케이블을 이용해 각 M1 Mac을 연결하고, macOS의 네트워크 설정에서 Ethernet Bridge를 통해 하나의 네트워크로 묶을 수 있음.

• IP-over-Thunderbolt: macOS에서는 Thunderbolt Bridge를 사용하여 고속 네트워크 연결이 가능하며, 일반적인 TCP/IP 네트워크처럼 활용할 수 있음.

2. 클러스터 구성 방법

(1) 하드웨어 준비

• M1 Mac 여러 대 (최소 2대 이상)

• Thunderbolt 3/4 케이블 (각 기기를 연결할 수 있도록 충분한 개수)

• 네트워크 라우터 또는 하나의 메인 Mac을 통한 브릿지 설정

(2) Thunderbolt 네트워크 구성

1. Thunderbolt 케이블로 모든 Mac을 연결

• 한 대의 Mac을 중심으로 데이지 체인 방식으로 연결

• 또는 모든 기기를 하나의 Thunderbolt Dock에 연결

2. IP-over-Thunderbolt 활성화

• 각 Mac에서 **“시스템 설정” → “네트워크”**로 이동

• “Thunderbolt Bridge” 네트워크 인터페이스 추가

• 각 Mac에 고정 IP(예: 192.168.10.x 대역) 설정

3. SSH 연결 테스트

• 클러스터를 구성하려면 각 Mac이 서로 SSH로 접근할 수 있어야 함

• ssh-keygen을 이용해 SSH 키를 생성하고 노드 간 암호 없이 SSH 접속이 가능하도록 설정

3. 소프트웨어 설정

딥러닝 모델인 DeepSeek을 구동하려면 분산 학습을 위한 설정이 필요함.

(1) Python 환경 및 PyTorch 설치

• brew install python

• pip install torch torchvision torchaudio

• M1에서 최적화된 PyTorch를 설치 (pip install torch –pre torch torchvision torchaudio –index-url https://download.pytorch.org/whl/nightly/cpu)

(2) DeepSeek 모델 다운로드 및 실행

DeepSeek 모델을 사용하려면 Hugging Face 모델을 가져와야 함:git clone https://github.com/DeepSeek-AI/DeepSeek-LLM.git cd DeepSeek-LLM pip install -r requirements.txt

(모델 체크포인트 다운로드 필요)

(3) MPI(Multi-Processing Interface) 설정

M1 Mac 클러스터에서는 OpenMPI 또는 Ray를 사용할 수 있음.brew install open-mpi

MPI 실행 예제:mpirun -np 4 --hostfile hosts.txt python train.py

혹은 Ray 사용:pip install ray ray start --head

각 워커 노드에서:ray start --address=192.168.10.1:6379

4. 최적화 및 관리

1. 로드 밸런싱: mpirun을 사용할 경우 프로세스 분배를 조절해야 함

2. 메모리 공유: M1 Mac은 RAM이 통합되어 있어 대규모 모델 학습 시 적절한 메모리 관리 필요

3. Docker 활용 가능: Apple Silicon용 Docker 컨테이너를 사용하여 배포 가능 (docker pull deepseek/llm)

5. 결론

썬더볼트 기반 네트워크를 통해 M1 Mac 클러스터를 구성하면, 고속 데이터 전송을 활용해 분산 학습이 가능함. 하지만 GPU 가속이 어려우므로 CPU 기반 최적화가 필요하며, OpenMPI 또는 Ray를 활용하여 딥러닝 워크로드를 효율적으로 분산해야 함.

Read more

토토와 단둘이 여수 여행

토토와 단둘이 여수 여행

이번엔 여수 여행이다. 단둘이 말이다. 토토맘은 제주로...나는 여수로....ㅋㅋㅋㅋ 아주 좋다. 편하다. 토토는 장시간 운전이 피곤한 모양새이다. 언제나 그렇듯이 녀석은 차로 이동하는건 별로인것 같다. 하지만 할수 없다. 대신 좋아라 하는 간식 북어체를 한봉지 사서 미안한 맘을 좀 표현해보고 최대한 산책도 많이 시켜주려 한다.

By ilikeafrica

일본 삿포로 오타루 여행

삿포로 여행중 오후 느즈막히 오타루행 JR 열차를 발권을 하고 정보 없는 곳으로 출발했다. 가면서 창밖으로 보이는 풍경은 아무래도 베를린의 동독 지역이었다. 일본과 독일이 그 옛날 왕래가 잦았다더니 이런 하나 하나 까지 서로가 맞았나부다. 트램도 그렇고 집짓는것도 그렇고 돌아보면 볼수록 동독 냄새가 너무 난단 말이지…. 우야튼 가는 도중 북해도의 파도를 본다.

By ilikeafrica
일본 삿포로 나까시마 공원

일본 삿포로 나까시마 공원

추석 기나긴 연휴 기간 다녀온 첫 일본 여행. 삿포로 시내에 호텔 잡고 5일밤을 주구장창 지낸다. 이젠 여행 스타일이 돌아다니기 보단 한곳에 오랫동안 머무르는게 일상이 되었다. 매일 짐 싸고 풀고 하는게 뭔 소용인가도 싶고, 그렇게 편히 즐기다 오는데 여행일듯하다. 처음 가본 일본. 그중에 삿포로. 눈 쌓인 겨울도 아니고, 단풍 빨간 가을도

By ilikeafrica