[긴 리뷰] Fully Sharded Data Parallel: 더 적은 GPU로 더 빠른 AI 학습
적당한 GPU 예산으로 수십억 매개변수 음성 또는 언어 모델을 학습하는 것은 파이프라인 병렬화, 텐서 병렬화, 또는 ZeRO 스타일의 옵티마이저 샤딩 중에서 선택해야 하는 것을 의미했습니다.
적당한 GPU 예산으로 수십억 매개변수 음성 또는 언어 모델을 학습하는 것은 파이프라인 병렬화, 텐서 병렬화, 또는 ZeRO 스타일의 옵티마이저 샤딩 중에서 선택해야 하는 것을 의미했습니다. Facebook의 Fully Sharded Data Parallel(FSDP)는 현재 FairScale에 포함되어 있으며 나중에 PyTorch로 업스트림되었으며, 더 깔끔한 답변을 제공합니다: 데이터 병렬 워커 전체에 매개변수 자체를 샤드하고, 각 마이크로배치에 대해 적시에 이를 수집하며, 통신을 계산과 겹치게 하여 벽시계 비용을 낮게 유지합니다.
이 긴 리뷰는 FSDP가 계층 내 또는 파이프라인 병렬화보다 개념적으로 더 간단한 이유, 균일한 매개변수 샤딩이 옵티마이저 플러스 그래디언트 전용 접근 방식을 어떻게 능가하는지, 그리고 선택 사항인 CPU 오프로드가 맞지 않아야 하는 모델을 어떻게 맞출 수 있게 하는지를 다룹니다. TTS 음향 모델, wav2vec 스타일의 기초 모델, 또는 음성 어시스턴트를 위한 LLM을 학습하는 경우, FSDP는 데이터센터 규모의 클러스터 없이 확장하기 위한 필수 요소가 되고 있습니다. 자신의 학습 스크립트에서 스위치를 켜기 전에 메커니즘을 알고 싶다면 깊이 있는 설명에 정착하세요.
