이런 분들이 찾고 있어요
이 레슨과 관련된 학습 키워드
코드를 읽고 설명하면, 합격합니다
이 레슨과 관련된 학습 키워드
대규모 훈련 — 거대한 모델을 효율적으로 → 분산 훈련(Distributed Training)
all-reduce 그래디언트 동기화를 사용한 다중 GPU 훈련을 위해 DistributedDataParallel을 구현합니다.
현대 AI 모델은 단일 GPU로 학습하기에 너무 큽니다:
모델 크기와 GPU 메모리 요구량:
학습 메모리 = 파라미터 × 8~20배:
분산 학습의 두 가지 전략:
1. Data Parallelism: 같은 모델을 여러 GPU에 복제하고 데이터를 나눔
2. Model Parallelism: 모델 자체를 여러 GPU에 분할
이번 레슨에서는 Data Parallelism, 특히 DDP를 집중적으로 배웁니다.
왜 중요한가? GPT-3는 175B 파라미터로 단일 GPU에서 학습하면 수백 년이 걸립니다. 실제로 대규모 모델은 수천 개의 GPU를 동시에 사용하지 않으면 현실적 시간 내에 학습이 불가능합니다. 분산 학습은 이 계산량을 여러 GPU에 나누어 선형에 가까운 속도 향상을 달성합니다. 이것이 현대 AI가 존재할 수 있는 기술적 기반이며, 단일 GPU 최적화만으로는 절대 도달할 수 없는 규모의 모델을 가능하게 합니다.
PyTorch DDP(DistributedDataParallel)는 Li 등이 설계한 분산 학습 프레임워크이다 (Li et al., 2020).
그림을 보세요. 안녕하세요, 오늘은 분산 학습이 왜 필요한지 알아보겠습니다.
화면 왼쪽 위를 보시면 레즈넷 50 모델이 보입니다.
이 모델은 2천 5백만 개 파라미터로, 지피유 하나에 충분히 올라갑니다.
그런데 옆에 있는 지피티 투를 보세요.
파라미터가 15억 개이고, 학습 시 48기가바이트가 필요합니다.
라마 세븐 비 모델은 더 심각합니다.
파라미터만 28기가바이트이고, 학습에 224기가가 필요하죠.
A100 80기가짜리가 4장에서 8장 필요합니다.
맨 오른쪽 지피티 포급 모델은 수천 개 지피유가 필수입니다.
그러면 왜 학습 메모리가 파라미터의 8배에서 20배나 될까요?
아래쪽 분석을 보시면 됩니다.
FP16 파라미터 2N, 그래디언트 2N, 아담 상태 8N이 핵심입니다.
특히 아담 옵티마이저의 m과 v 상태가 각각 FP32로 저장되어 8N을 차지합니다.
활성화 메모리까지 합치면 12N에서 20N 바이트가 됩니다.
가운데 파란 강조 박스를 보세요.
7B 모델이면 최소 336기가바이트입니다.
A100 80기가 한 장으로는 절대 불가능하죠.
그래서 여러 지피유에 분산하는 것이 유일한 해결책입니다.
데이터 병렬, 모델 병렬, 파이프라인 병렬 같은 전략이 있습니다.
오늘 레슨에서는 가장 많이 사용되는 데이터 병렬, 특히 디디피를 집중적으로 다룹니다.
다음 슬라이드에서 데이터 병렬의 핵심 아이디어를 시각적으로 확인해 보겠습니다.