AI 시스템 구축: 분산 학습 – Data Parallel

ㅁ 분산 학습

ㅇ 정의:
여러 대의 컴퓨팅 노드나 GPU를 활용하여 대규모 데이터셋과 모델을 병렬로 학습시키는 방식으로, 학습 속도를 높이고 메모리 한계를 극복하는 기술.

ㅇ 특징:
– 데이터셋을 여러 부분으로 나누어 각 워커(worker)가 동일한 모델 복제본을 학습.
– 각 워커는 자신의 데이터 배치를 처리한 후, 파라미터를 동기 또는 비동기 방식으로 집계.
– 네트워크 통신 비용과 동기화 지연이 성능에 큰 영향을 미침.

ㅇ 적합한 경우:
– 데이터셋이 매우 커서 단일 장비 메모리에 적재 불가능한 경우.
– 학습 시간을 단축해야 하는 프로젝트.

ㅇ 시험 함정:
– Data Parallel과 Model Parallel의 개념 혼동.
– 동기식(Synchronous)과 비동기식(Asynchronous) 업데이트 방식의 차이를 혼동.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Data Parallel은 동일한 모델을 여러 장비에서 서로 다른 데이터 배치로 학습한다.”
X: “Data Parallel은 모델을 여러 장비에 나누어 다른 부분을 학습한다.”

================================

1. Data Parallel

ㅇ 정의:
동일한 모델을 여러 장비(GPU/노드)에 복제하여, 각 장비가 서로 다른 데이터 배치를 처리하고, 주기적으로 파라미터를 동기화하는 분산 학습 방식.

ㅇ 특징:
– 구현이 비교적 간단하고, 대부분의 딥러닝 프레임워크에서 기본 지원.
– 통신 오버헤드가 크며, 특히 GPU 수가 많아질수록 성능 저하 가능.
– 동기식(Sync)과 비동기식(Async) 방식 모두 가능.

ㅇ 적합한 경우:
– 모델 크기는 비교적 작지만 데이터셋이 매우 큰 경우.
– GPU/노드 간 네트워크 대역폭이 충분한 환경.

ㅇ 시험 함정:
– Data Parallel에서 각 노드가 동일한 모델 구조를 사용한다는 점을 간과.
– Gradient Averaging 과정과 Parameter Server 구조의 차이를 혼동.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Data Parallel에서는 각 장비가 동일한 모델을 사용하여 다른 데이터 배치를 학습한다.”
X: “Data Parallel에서는 각 장비가 모델의 다른 부분을 학습한다.”

ㅁ 추가 학습 내용

학습 정리

1. All-Reduce 통신 방식과 Parameter Server 방식의 차이
– All-Reduce: 모든 노드가 계산한 Gradient를 서로 교환하고 합산하여 동기화. NCCL, Horovod 등이 대표적 구현. 통신 효율이 높고 동기식 학습에 적합.
– Parameter Server: 중앙 서버(또는 서버 그룹)가 파라미터를 관리하고 워커 노드가 이를 주고받으며 학습. 확장성이 좋지만 서버 병목 가능성 존재.

2. 동기식 vs 비동기식 학습
– 동기식: 모든 워커가 동일한 스텝에서 Gradient를 모아 업데이트. 정확도 안정적이나 느린 워커가 전체 속도를 저하시킬 수 있음.
– 비동기식: 각 워커가 독립적으로 파라미터를 업데이트. 속도 향상 가능하지만 파라미터 불일치로 인한 정확도 저하 가능.

3. 통신 병목 감소를 위한 Gradient Compression
– Gradient 양을 줄여 전송량 감소. 정밀도 축소, 희소성 활용, Top-k 전송 등의 방법 존재. 통신 시간 단축 가능.

4. Mixed Precision Training과의 결합 효과
– 16-bit 연산과 32-bit 연산을 혼합 사용해 메모리 사용량 감소 및 연산 속도 향상. 통신 데이터 크기도 줄어들어 병목 완화에 도움.

5. Data Parallel, Model Parallel, Pipeline Parallel 비교
– Data Parallel: 동일 모델을 여러 장치에 복제, 데이터를 나누어 처리. 구현 간단, 통신량 많음.
– Model Parallel: 모델을 여러 장치에 분할 배치. 대규모 모델 학습 가능, 장치 간 통신 부담 존재.
– Pipeline Parallel: 모델을 단계별로 나누어 파이프라인 처리. 자원 활용 효율 높지만 파이프라인 버블 발생 가능.

6. GPU 간 통신 최적화 기법
– NVLink: GPU 간 고대역폭, 저지연 연결 제공. PCIe 대비 빠른 데이터 전송 가능.
– InfiniBand: 클러스터 간 고속 네트워크 기술. RDMA 지원으로 CPU 개입 없이 GPU 간 데이터 전송 가능.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*