문제 상황GPU를 사용하는 파이썬 스크립트 실행 시 아래와 같은 에러 발생RuntimeError: cuda runtime error (802) : system not yet initialized 원인 분석- nvidia-smi 명령어는 정상적으로 동작하는 것으로 보아, GPU는 감지되고 있었지만 CUDA 환경이 정상적으로 초기화되지 않은 것 같음 - Nvidia Forum을 참고해보니 8개의 GPU가 장착된 서버에 필요한 Fabric Manager 관련 문제라는 것을 알게됨 sudo systemctl status nvidia-fabricmanager- 위 명령어를 통해 Fabric Manager가 실행되지 않고 있었으며, NVIDIA GPU Driver와의 버전 불일치로 인해 정상적으로 로드되지 못하고 ..
준비 사항- NVIDIA Driver 545 버전 이상이 설치된 두 개의 우분투 기반 GPU 서버- Docker + NVIDIA Container Toolkit- 두 서버가 통신 가능한 인터페이스 이름이 같아야함 (다르다면 pdsh 사용이 불가능하고 standard 방식으로 각 노드에서 NCCL_SOCKET_IFNAME를 설정 후 학습 명령어를 입력해야함) 사전 학습된 모델 다운로드(학습에 사용하려는 두 서버 모두) - 허깅 페이스에 업로드 된 텍스트 생성 모델 중 Meta-Llama-3-8B를 사용 할 예정 (GPU 메모리가 충분하지 않다면 bloom-3b를 추천함)- 허깅 페이스 엑세스 토큰 생성 및 사용하려는 모델에 대한 엑세스 권한 요청이 필요함- ~/volume/pretrained-models/..
이슈를 작성하게 된 계기DGX-H100과 다른 GPU 서버들을 이용하여 멀티 노드 학습 실행 시 NCCL Error가 발생함 답변1. 최신 버전의 NCCL을 사용해서 다시 시도2. 그래도 안되면 세 서버의 NCCL INFO 로그가 필요함 해결DGX서버만 NVlink Switch가 있어서 패킷을 주고 받을 때 오류가 발생했던 것으로 추정됨DGX서버의 명령어에만 NCCL_NVLS_ENABLE=0을 추가해 NVLink SHARP를 꺼주니 오류 없이 학습됨 이슈 링크https://github.com/NVIDIA/nccl/issues/1366 NCCL Error on Multi-Node Training with Mixed GPU Setup · Issue #1366 · NVIDIA/ncclDescription He..