Skip to main content
QUICK REVIEW

[논문 리뷰] Pufferfish: Communication-efficient Models At No Extra Cost

Wang, Hongyi, Saurabh Agarwal|arXiv (Cornell University)|2021. 03. 05.
Advanced Neural Network Applications참고 문헌 89인용 수 5
한 줄 요약

Pufferfish는 전체 랭크 모델에서 유도된 저랭크로 사전 인수분해된 딥 네트워크를 훈련시음으로써 통신 효율성과 계산 효율성을 동시에 확보하는 분산 훈련 프레임워크이다. 전체 랭크 네트워크로 훈련의 일부를 초기화한 후 SVD를 적용하여 저랭크로 전환함으로써 압축 오버헤드를 제거하고, 정확도 손실 없이 PyTorch의 DDP 대비 최대 1.64배의 종단 간 속도 향상을 달성하며, 라프티지 티켓 가설 및 구조적 프루닝 방법을 모두 능가한다.

ABSTRACT

To mitigate communication overheads in distributed model training, several studies propose the use of compressed stochastic gradients, usually achieved by sparsification or quantization. Such techniques achieve high compression ratios, but in many cases incur either significant computational overheads or some accuracy loss. In this work, we present Pufferfish, a communication and computation efficient distributed training framework that incorporates the gradient compression into the model training process via training low-rank, pre-factorized deep networks. Pufferfish not only reduces communication, but also completely bypasses any computation overheads related to compression, and achieves the same accuracy as state-of-the-art, off-the-shelf deep models. Pufferfish can be directly integrated into current deep learning frameworks with minimum implementation modification. Our extensive experiments over real distributed setups, across a variety of large-scale machine learning tasks, indicate that Pufferfish achieves up to 1.64x end-to-end speedup over the latest distributed training API in PyTorch without accuracy loss. Compared to the Lottery Ticket Hypothesis models, Pufferfish leads to equally accurate, small-parameter models while avoiding the burden of "winning the lottery". Pufferfish also leads to more accurate and smaller models than SOTA structured model pruning methods.

연구 동기 및 목표

  • 빈번한 기울기 전송으로 인해 발생하는 분산 딥 러닝 훈련의 통신 병목 현상을 해결하기 위해.
  • 스pars피케이션 및 양자화와 같은 기울기 압축 기법에서 일반적으로 발생하는 계산 오버헤드를 제거하기 위해.
  • 모델 정확도를 훼손하지 않으면서도 통신 효율성을 확보하기 위해.
  • 기존 딥 러닝 프레임워크(예: PyTorch)와 호환되는 즉시 사용 가능한 솔루션을 제공하기 위해.
  • 정확도 및 모델 크기 측면에서 기존 방법(예: 라프티지 티켓 가설 및 구조적 프루닝)을 뛰어넘기 위해.

제안 방법

  • 전체 랭크 딥 네트워크를 총 훈련 시간의 소수(예: 10%) 동안 훈련하여 가중치를 안정화시키기 위해.
  • 각 레이어에 대해 특이값 분해(SVD)를 적용하여 저랭크 구성 요소로 분해함으로써 사전 인수분해된 저랭크 모델을 생성하기 위해.
  • 유도된 저랭크 모델을 나머지 훈련 스케줄 기간 동안 미세 조정하기 위해.
  • 명시적 기울기 압축 단계를 건너뛰고 저랭크 모델을 훈련 파이프라인에 직접 통합하기 위해.
  • 초기 훈련 단계에서 전체 랭크 및 저랭크 구성 요소를 조합한 하이브리드 아키텍처를 활용하여 정확도 손실을 완화하기 위해.
  • 최소한의 수정으로 기존 분산 훈련 API(예: PyTorch DDP)를 활용하여 종단 간 효율성 달성하기 위해.

실험 결과

연구 질문

  • RQ1기울기 압축을 모델 아키텍처 자체에 통합함으로써 계산 오버헤드를 제거하면서도 정확도를 유지할 수 있는가?
  • RQ2부분적인 전체 랭크 훈련 후 SVD를 통해 사전 인수분해된 모델을 생성하면 정확도 저하 없이 통신 효율성을 확보할 수 있는가?
  • RQ3이러한 접근 방식은 커스텀 통신 프리미티브가 없이도 최신 분산 훈련 API를 능가하는 속도 향상을 달성할 수 있는가?
  • RQ4이러한 방법은 정확도, 모델 크기, 훈련 효율성 측면에서 라프티지 티켓 가설과 비교해 어떻게 다른가?
  • RQ5저랭크 인수분해를 다양한 아키텍처 및 작업에 적용할 수 있으며, 상당한 하이퍼파라미터 튜닝 없이도 성능을 유지를 할 수 있는가?

주요 결과

  • Pufferfish는 실제 분산 환경에서 정확도 손실 없이 PyTorch의 DistributedDataParallel(DDP) 대비 최대 1.64배의 종단 간 속도 향상을 달성한다.
  • CIFAR-10에서 ResNet-18을 사용할 경우, 속도 최적화 설정에서 Pufferfish는 1.16배의 에포크당 속도 향상을 보이며, MAC 연산 수가 22% 감소한다.
  • 초기 전체 랭크 웜업 전략을 포함한 하이브리드 훈련 방식은 순수 저랭크 훈련 대비 VGG-19-BN(CIFAR-10)에서 0.36% 향상된 정확도와 ResNet-50(ImageNet)에서 4.8% 향상된 정확도를 기록한다.
  • Pufferfish 모델는 라프티지 티켓 가설 모델의 정확도를 맞추거나 초월하면서도 고비용의 라프티지 룩업 과정을 피한다.
  • Pufferfish는 최신 구조적 프루닝 방법보다 더 작고 정확도가 높은 모델을 생성하여 뛰어난 파라미터 효율성을 입증한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.