1P by neo 3달전 | favorite | 댓글 1개

인프라 구축 및 스크립트 설정

소개

  • 몇 달 동안 소규모 연구팀과 엔지니어 팀이 자체 인프라에서 70B 파라미터 모델을 처음부터 훈련하여 reasoning 관련 작업에서 zero-shot GPT-4o를 능가함.
  • 오늘은 초기 클러스터 설정부터 운영 체제 설치, 훈련 중 발생하는 오류 자동 복구까지 필요한 인프라 설정에 대한 종합 가이드를 공유함.
  • 각 단계에서 겪은 도전과 해결 방법을 자세히 설명하고, 다른 팀이 안정적인 인프라를 쉽게 구축할 수 있도록 인프라 스크립트를 공개함.

배경: 이 시스템이 어떻게 작동하는지

  • 대규모 언어 모델 실험을 빠르게 수행하기 위해 빠른 GPU가 필요함.
  • 4,092개의 H100 GPU가 511대의 컴퓨터에 분산되어 있는 클러스터를 사용함.
  • InfiniBand 네트워크를 통해 GPU 간의 고속 통신을 가능하게 함.

프로세스: 베어 메탈에서 완전한 운영 클러스터로 가는 방법

개별 머신 프로비저닝

  • 관리 네트워크를 통해 클러스터에 초기 이더넷 연결을 설정하고, BMC(베이스보드 관리 컨트롤러)에 접근함.
  • iDRAC를 사용하여 첫 번째 서버에 Ubuntu 22.04를 설치하고, 이를 통해 나머지 서버를 설정함.

모든 머신에 OS 설치

  • MAAS 소프트웨어를 사용하여 나머지 서버를 프로비저닝함.
  • PXE 부팅 및 자동화된 iDRAC 도구를 사용하여 네트워크를 통해 부팅하고, MAAS가 PXE 부팅 요청에 응답하도록 구성함.

고장난 머신 진단

  • 약 10%의 머신이 부팅 실패, 주로 물리적 문제로 인해 발생함.
  • 자동화된 체크를 통해 문제를 발견하고, Dell에 재테스트를 요청하거나 데이터 센터 직원에게 티켓을 발행함.

최소한의 관찰 가능한 메탈 설정

  • 모든 서버에 Docker, 데이터 센터 GPU 드라이버, Prometheus 노드 익스포터 등을 설치함.
  • 기본 GPU 진단을 실행하여 대부분의 GPU가 정상 작동하는지 확인함.

단일 노드 GPU 훈련

  • 모든 머신이 단독으로 GPU 작업을 처리할 수 있는지 확인함.
  • GPU 관련 오류를 해결하고, PCIe 버스와 네트워크 카드 간의 연결 문제를 해결함.

InfiniBand 프로비저닝

  • UFM(통합 패브릭 관리자)을 설치하고, 네트워크 스위치를 감지하고 물리적 위치에 따라 이름을 지정함.
  • 네트워크 배선 문제를 해결하고, 온도 경고 문제를 해결함.

완전히 건강한 머신 보장

  • 다양한 건강 체크를 통해 훈련에 사용할 수 있는 건강한 호스트를 확인함.
  • GPU, 디스크 공간, Docker, dmesg, iDRAC, 디스크, InfiniBand, NVLink, GDR, VBIOS, Flint, PSB 등 다양한 체크를 수행함.

일반적인 훈련 문제 진단

  • 하드웨어가 제대로 작동하기 시작하면 훈련을 시작함.
  • 시작 시 충돌, 중간에 충돌, 스택 트레이스 정보 없이 멈춤, 훈련 속도 저하 등의 문제를 해결함.

인프라 도구 개선

  • 훈련이 원활하게 진행되도록 다양한 도구와 시스템을 개발함.
  • 고장난 머신 및 네트워크 구성 요소를 자동으로 비활성화하고 수리 요청을 자동화함.
  • 로컬 미러 파일 시스템 및 로컬 분산 Docker 레지스트리를 구축함.
  • 성능 모니터링 도구를 설정하고, 느린 훈련 배치를 감지하고 원인을 이해하기 위한 도구를 작성함.

GN⁺의 의견

  • 이 기사는 대규모 클러스터 설정 및 관리에 대한 실질적인 경험과 해결 방법을 제공하여 매우 유용함.
  • 대규모 언어 모델 훈련에 필요한 인프라 구축의 복잡성을 잘 설명하고 있음.
  • 다른 팀이 유사한 인프라를 구축할 때 참고할 수 있는 다양한 스크립트와 도구를 제공함.
  • InfiniBand 네트워크의 중요성과 설정 과정에서 발생할 수 있는 문제를 잘 설명하고 있음.
  • 새로운 기술이나 오픈 소스를 채택할 때 고려해야 할 사항과 장단점을 잘 설명하고 있음.
Hacker News 의견
  • 소규모 연구팀이 자체 인프라에서 70B 파라미터 모델을 훈련하여 reasoning 관련 작업에서 zero-shot GPT-4를 능가함

    • InfiniBand, Ethernet, GPU, 노드 등 모든 구성 요소가 완벽하게 작동해야 함
    • 12,000개 이상의 연결 중 하나라도 불안정하면 전체 훈련이 느려질 수 있음
    • 오픈 소스 스크립트와 인프라 설정에 대한 종합 가이드를 공유함
    • 70B 모델 훈련에 대한 세 부분 중 하나로, 다른 두 부분은 평가와 CARBS 하이퍼파라미터 최적화에 초점을 맞춤
  • 한 클러스터에 4,092개의 H100 GPU가 511대의 컴퓨터에 분산되어 있음

    • 이는 1억 달러 이상의 GPU 비용에 해당함
    • 게이밍 PC 예산으로 이러한 작업이 가능할지 궁금함
  • Latent Space 팟캐스트에서 며칠 전에 이 주제가 논의됨

    • 결정의 배경을 듣기에 좋은 에피소드임
  • 왜 이렇게 많은 PC 하드웨어가 필요한지 궁금함

    • PCI + 인피니밴드 백엔드와 GPU, 작은 ARM 컨트롤러로 구성할 수 있지 않을까 생각함
    • 이전 디자인의 관성이나 특수 GPU 컨트롤러의 시장 부족 때문인지 궁금함
  • 동일한 하드웨어로 토큰화된 훈련 데이터 대신 원시 유니코드로 훈련을 반복하는 것이 흥미로울 것임

    • 철자와 운율 성능의 차이를 보고 싶음
  • 4,092개의 H100 GPU

    • "self-coding" 작업 중임
    • No-code 또는 minimal code 솔루션일 가능성이 있음
    • 웹사이트에 흥미로운 기사와 자료가 많음
  • 모델 구축에 필요한 총 전력 소비량에 관심이 있음

    • 전력과 냉각에 대한 숫자가 있는지 궁금함
    • 마크 저커버그가 다음 1GW 모델을 계획 중이라고 언급함
  • 전체 비용이 얼마인지 궁금함

    • 하드웨어 비용, 개발 시간, 전기 및 냉각 비용 포함
  • Cisco가 800G 포트당 속도로 새로운 NVIDIA 협업을 진행 중임

    • 인피니밴드가 GPU에 접근 가능한지 궁금함
    • 공유해줘서 고맙다는 의견
  • 모델이 훈련된 후 하드웨어와 인프라는 어떻게 되는지 궁금함