15P by neo 14일전 | ★ favorite | 댓글 1개
  • 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암페어 회로만 필요함