4개의 4090 GPU로 나만의 LLM 모델을 훈련하는 방법
(sabareesh.com)- ChatGPT에 대한 흥미에서 시작해 LLM의 작동 원리를 깊이 이해하기 위해 직접 학습을 진행하기로 결심
 - 초기에는 M1 칩을 사용했지만 한계를 느끼고, NVIDIA 4090 GPU를 활용한 커스텀 장비를 구축
 
1. 목표 설정 및 예산 계획
- 목표 설정: 학습하려는 모델의 크기와 유형에 따라 장비 요구사항이 달라짐
 - 예산 계획: 성능과 비용의 균형을 고려하며 고성능 구성 요소의 비용을 명심
 
2. 하드웨어 선택
- 메인보드: SuperMicro M12SWA-TF 추천. 다수 GPU 사용을 위해 충분한 PCIe 레인을 제공
 - CPU: AMD Threadripper PRO 5955WX 선택. 128개의 PCIe 레인을 지원해 대역폭 문제 해결
 - RAM: 128GB 메모리 권장. 대규모 데이터셋 및 계산 작업에 적합
 - GPU: NVIDIA 4090 GPU - LLM 훈련에 이상적
- 24GB VRAM으로 대규모 모델과 데이터셋 처리 가능
 - BFloat16 성능으로 AI 작업 최적화
 - CUDA 코어 16,384개로 병렬 처리 능력 강화
 
 - 스토리지: 6TB NVMe SSD와 8TB HDD 구성
 - 파워 서플라이: 2개의 1500W PSU로 안정적인 전력 공급
 - 케이스 및 냉각 시스템: 다수 GPU를 지원하는 케이스와 효과적인 냉각 장치 사용
 
3. 장비 조립
- 듀얼 PSU 설정: PSU 하나는 메인보드와 CPU를, 나머지는 GPU를 전원 공급
 - 호환성 확인: 구성 요소 간의 호환성 철저히 검토
 - 4개의 4090 GPU로 나만의 LLM 모델을 훈련하는 방법
 - 케이블을 깔끔하게 정리하여 공기 흐름을 개선하고 유지보수를 간소화함
 
4. 소프트웨어 구성
- 운영 체제: 안정적인 학습 환경을 위한 Linux 기반 OS(예: Ubuntu) 사용
 - 드라이버 및 의존성: 최신 GPU 드라이버, CUDA, cuDNN 라이브러리 설치
 - 학습 프레임워크: PyTorch 또는 TensorFlow 설치
 - 커스텀 커널: Tinygrad에서 제공하는 커널로 GPU 간 P2P 통신 활성화
 
5. LLM 학습
- 데이터 준비: 고품질 입력 데이터를 위한 데이터셋 정리 및 전처리
 - 모델 선택: Llama2 또는 GPT와 같은 하드웨어에 맞는 모델 선택
 - 학습 과정: 리소스 활용 모니터링 및 최적화
 
6. 최적화 및 확장
- 다중 GPU 학습: Distributed Data Parallel (DDP) 또는 ZeRO 기술 활용
 - NVIDIA 4xxx GPU의 P2P 통신을 가능하게 하는 커널 패치를 활용
 - 성능 튜닝: 하이퍼파라미터, 배치 크기, 학습률을 최적화하여 더 나은 수렴과 효율성을 달성함
 
7. 유지보수 및 모니터링
- 정기 업데이트: 시스템 및 소프트웨어 최신 상태 유지
 - 시스템 모니터링: nvidia-smi, Prometheus 등을 사용해 시스템 상태 점검
 
핵심 통찰 및 팁
- 하드웨어 대안: A100 또는 H100과 같은 GPU는 더 높은 VRAM을 제공하지만, 4090과 같은 소비자 GPU는 비용 효율적인 설정에 훌륭한 성능을 제공함
 - 클라우드 사용 고려: 장기 프로젝트에는 온프레미스, 단기 작업에는 클라우드 적합
 - 커뮤니티 자료 활용: Hugging Face 및 Andrej Karpathy의 가이드 참고
 
LLM 학습을 위한 장비를 구축하는 것은 도전적이지만 보람 있는 작업으로, AI 개발의 새로운 가능성을 탐구하는 강력한 도구가 될 것
Hacker News 의견
- 
이 빌드는 훌륭하며, 6개의 RTX 4090을 사용한 최고의 빌드임
- 사양: 6 x 24GB NVIDIA GeForce RTX 4090, Intel Xeon W7-3465X, 256GB DDR5 ECC, 2TB Samsung 980 PRO NVMe SSD, 4TB Samsung 870 EVO SSD, Ubuntu 20.04
 - 256GB DDR5 ECC 메모리 선택이 흥미로우며, 1TB RAM을 목표로 할 수도 있음
 - 비용은 천문학적임
 
 - 
이 글은 AI 모델로 작성된 것 같으며, 마지막 부분이 AI 느낌이 강함
- 하드웨어 선택보다 데이터 정리, 청소, 훈련 부분에 대한 후속 기사가 더 흥미로울 것임
 
 - 
이와 같은 장비로 어떤 훈련을 할 수 있는지에 대한 글이 더 흥미로울 것임
 - 
개인적으로 ML 장비를 집에서 구축하여 LLM을 사전 훈련한 경험을 공유함
 - 
중간 크기의 모델을 미세 조정하려면 어떤 하드웨어가 필요한지 궁금함
- 많은 가이드가 있지만, 도구 체인 설정에 집중하고, 좋은 미세 조정을 위한 데이터셋에 대한 정보는 부족함
 
 - 
대부분의 사람들에게 모델 훈련의 소프트웨어 측면이 더 흥미롭고 접근 가능해야 함
- GPU의 "완전한" 활용은 여전히 열려 있는 주제이며, 클라우드에서 임대하여 작업하는 것이 더 유익할 수 있음
 - 이 과정은 영감을 주는 좋은 자료였으며, https://efficientml.ai/를 추천함
 
 - 
AI 모델이 아닌 직접 작성한 글을 읽고 싶음
 - 
라이저 케이블에 대해 이야기하고 싶음
- PCIe 4.0을 지원한다고 주장하는 라이저 커넥터가 성능이 떨어지는 문제를 겪고 있음
 - NVMe 드라이브를 연결하면 문제가 발생하여 부팅이 안 됨
 - NVMe가 높은 비트 오류율을 잘 견디지 못하는 것 같음
 
 - 
부유한 취미가에게는 재미있지만, 실제 작업을 하려면 Runpod에서 임대하는 것이 더 나음
- 좋은 블로그임
 
 - 
4개의 4090 GPU와 전용 30암페어 회로만 필요함