전체 글

경험 정리용 연습장
딥러닝

[딥러닝] Accelerate와 DeepSpeed를 이용한 LLM 멀티 노드 학습

준비 사항- NVIDIA Driver 545 버전 이상이 설치된 두 개의 우분투 서버- Docker + NVIDIA Container Toolkit- 두 서버가 통신 가능한 인터페이스 이름이 같아야함 (다르다면 pdsh 사용이 불가능하고 standard 방식으로 각 노드에서 NCCL_SOCKET_IFNAME를 설정 후 학습 명령어를 입력해야함) 사전 학습된 모델 다운로드- (학습에 사용하려는 두 서버 모두)- 허깅 페이스에 업로드 된 텍스트 생성 모델 중 Meta-Llama-3-8B를 사용 할 예정- 허깅 페이스 엑세스 토큰 생성 및 사용하려는 모델에 엑세스 권한 요청이 필요함- ~/volume/pretrained-models/ 디렉터리를 만든 후 디렉터리 내부에서 모델을 깃 클론- 모든 safetens..

[깃] 이슈 정리: NCCL Error on Multi-Node Training with Mixed GPU Setup

이슈를 작성하게 된 계기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..

[깃] 이슈 정리: Error creating new device

이슈를 작성하게 된 계기Network Operator 사용법을 질문함 답변1. RDMA 디바이스를 사용하려는 파드에 resource를 추가해야함 --> rdma/rdma_shared_device_a: 1 (값은 1개만 지정하면 됨)2. multus + macvlan cni를 사용해 network-attachment-definitions CRD를 생성 후 파드에 annotation를 추가해야함 --> k8s.v1.cni.cncf.io/networks: rdma-net-ipam 해결도큐먼트를 참고하여 파드 스펙을 다시 작성함 이슈 링크https://github.com/Mellanox/k8s-rdma-shared-dev-plugin/issues/108 Error creating new device · Issu..

[깃] 이슈 정리: Copy License not working

이슈를 작성하게 된 계기WandB를 온프레미스 버전으로 사용해보기 위해 라이센스를 생성 후 Copy License 버튼을 눌렀는데 클립보드에 아무것도 복사가 되지 않음 답변라이센스가 정상적으로 생성되지 않음현재 라이센스를 삭제시켜줄테니 새로 생성하길 바람 해결라이센스를 새로 발급 받음 이슈 링크https://github.com/wandb/wandb/issues/7625 [Q] Copy License not working · Issue #7625 · wandb/wandbHello, I am trying to set up WandB on my server using Docker. I need a license, but when I click the copy button for the license on th..

[깃] 이슈 정리: Numpy reader test (GDS)

이슈를 작성하게 된 계기Nvidia DALI를 이용해 GDS 기능을 실험하던 중 이해가 되지 않는 결과가 나타나 이에 관련하여 질문함1. GDS 청크 크기가 16M인 경우를 마치 캐싱을 쓴 것과 같은 결과가 나옴2. 데이터셋의 크기가 클수록 첫 에폭 시간이 더 빠름 답변매 측정 전에 디스크 캐시를 청소해야함청크 크기가 작을수록 성능 차이가 발생한다는 결과가 있음GDS 속도는 데이터셋이 매우 작지 않은 이상 영향을 받지 않음DALI는 prefetching을 하기 때문에 이상적인 로딩 시간은 거의 0에 가까움더 자세한 분석을 위해서라면 nsight profile을 사용하길 바람 해결매 측정 전마다 echo 3 | tee /proc/sys/vm/drop_caches으로 캐시를 삭제하니 이상 값은 나오지 않음대..

IntegerString
코딩 연습장