Skip to main content
QUICK REVIEW

[논문 리뷰] BlueFog: Make Decentralized Algorithms Practical for Optimization and Deep Learning

Bicheng Ying, Kun Yuan|arXiv (Cornell University)|2021. 11. 08.
IoT and Edge/Fog Computing참고 문헌 81인용 수 12
한 줄 요약

BlueFog는 딥러닝을 위한 분산 최적화 알고리즘의 고성능, 사용자 친화적 구현을 가능하게 하는 오픈소스 파이썬 라이브러리입니다. 통신 연산을 추상화하고 동적, 비동기, 방향성 네트워크 토폴로지 지원을 통해 ResNet-50 및 BERT-large 학습 작업에서 Horovod 대비 1.2×에서 1.8×의 속도 향상을 달성하여 실제 분산 학습 환경에서의 실용성과 효율성을 입증합니다.

ABSTRACT

Decentralized algorithm is a form of computation that achieves a global goal through local dynamics that relies on low-cost communication between directly-connected agents. On large-scale optimization tasks involving distributed datasets, decentralized algorithms have shown strong, sometimes superior, performance over distributed algorithms with a central node. Recently, developing decentralized algorithms for deep learning has attracted great attention. They are considered as low-communication-overhead alternatives to those using a parameter server or the Ring-Allreduce protocol. However, the lack of an easy-to-use and efficient software package has kept most decentralized algorithms merely on paper. To fill the gap, we introduce BlueFog, a python library for straightforward, high-performance implementations of diverse decentralized algorithms. Based on a unified abstraction of various communication operations, BlueFog offers intuitive interfaces to implement a spectrum of decentralized algorithms, from those using a static, undirected graph for synchronous operations to those using dynamic and directed graphs for asynchronous operations. BlueFog also adopts several system-level acceleration techniques to further optimize the performance on the deep learning tasks. On mainstream DNN training tasks, BlueFog reaches a much higher throughput and achieves an overall $1.2 imes \sim 1.8 imes$ speedup over Horovod, a state-of-the-art distributed deep learning package based on Ring-Allreduce. BlueFog is open source at https://github.com/Bluefog-Lib/bluefog.

연구 동기 및 목표

  • 이론적 분산 최적화 알고리즘과 실제 분산 딥러닝 환경에서의 구현 간 격차를 메우기 위해.
  • 저수준 통신 복잡성 없이 다양한 분산 알고리즘을 구현할 수 있는 통합된 사용자 친화적 소프트웨어 인터페이스를 제공하기 위해.
  • 비동기 업데이트, 시간에 따라 변화하는 토폴로지, 단방향 통신과 같은 고급 기능을 지원하여 실제 환경에서의 내구성을 확보하기 위해.
  • 대규모 DNN 학습에서 Horovod와 같은 최첨단 프레임워크에 비해 또는 그 이상의 고성능을 달성하기 위해.
  • 연구자와 실무자가 PyTorch에서 분산 최적화 알고리즘을 빠르게 프로토타ип 및 배포할 수 있도록 하기 위해.

제안 방법

  • BlueFog는 분산 통신 연산을 위한 통합 추상화 계층을 도입하여 알고리즘 로직과 저수준 통신 세부 정보를 분리합니다.
  • 부분 평균화를 위한 정적 또는 동적, 무방향 또는 방향성 그래프를 사용하여 동기 및 비동기 통신을 모두 지원합니다.
  • DmSGD, QG-DmSGD, 및 일반 DmSGD와 같은 알고리즘을 구성 가능한 평균 계수로 쉽게 구현할 수 있는 직관적인 파이썬 API를 제공합니다.
  • 시스템 수준 최적화로는 딥러닝 워크로드에 맞게 최적화된 효율적 메모리 관리 및 저지연 통신 프리미티브를 포함합니다.
  • BlueFog는 PyTorch와 통합되어 최소한의 코드 변경으로 다수의 노드에서 SPMD(Single Program, Multiple Data) 실행을 가능하게 합니다.
  • 동적 토폴로지 선택을 지원하여 각 노드가 반복마다 새로운 이웃을 선택함으로써 통신 비용을 줄이고 수렴성에 영향을 주지 않으면서도 효율을 높입니다.

실험 결과

연구 질문

  • RQ1고수준의 사용자 친화적 라이브러리가 분산 딥러닝 알고리즘을 실제 환경에 구현하는 데 실용적으로 기여할 수 있는가?
  • RQ2대규모 DNN에서 린-올레드류와 비교해 분산 통신은 학습 처리량과 수렴성 측면에서 어떻게 성능을 내는가?
  • RQ3동적 및 비대칭 네트워크 토폴로지가 통신 오버헤드를 얼마나 줄일 수 있으며, 모델 정확도를 유지할 수 있는가?
  • RQ4고성능 딥러닝 프레임워크에서 비동기 및 단방향 통신 프리미티브를 효율적으로 지원할 수 있는가?
  • RQ5분산 학습에서 시스템 수준의 통신 패tern 최적화로 어떤 성능 향상을 달성할 수 있는가?

주요 결과

  • BlueFog는 ResNet-50 및 BERT-large 학습 작업에서 Horovod 대비 1.2×에서 1.8×의 속도 향상을 달성했으며, 90 에포크에서 학습 시간을 Horovod의 14,648초에서 BlueFog의 10,229초로 단축시켰습니다.
  • ImageNet-1k에서 ResNet-50를 사용할 경우, BlueFog의 AWC 버전은 10,228.92초 만에 74.5%의 top-1 정확도를 달성하여 속도 면에서 Horovod를 앞서면서도 경쟁 가능한 정확도를 유지했습니다.
  • 동적 지수 토폴로지가 통신 비용을 줄였고 성능 저하 없이도 모든 모델 및 알고리즘에서 정적 토폴로지와 0.5% 이내의 정확도를 확보했습니다.
  • 8×8 GPU 구성에서 일관된 확장 효율성을 보였으며, 하나의 AWS p3.16xlarge 인스턴스에서 두 개로 확장할 경우 성능 저하가 최소한이었습니다.
  • BlueFog의 분산 알고리즘 구현은 글로벌 평균화 기반 모델과 유사한 수렴 행동을 보였으며, 정확성과 안정성을 확인했습니다.
  • 이 라이브러리는 사용자가 깔끔한 파이썬 코드 몇 줄로도 복잡한 분산 알고리즘을 쉽게 구현할 수 있도록 하여 분산 학습 연구의 진입 장벽을 크게 낮추었습니다.

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

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

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

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