horovod/horovod
Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
해결하는 문제
Horovod는 딥러닝 학습을 단일 GPU에서 여러 GPU 및 여러 호스트로 확장하는 과정을 단순화합니다. 파라미터 서버 관리의 복잡성을 제거하고, 학습 스크립트를 분산형으로 만들기 위해 필요한 코드 변경량을 줄입니다.
작동 방식
Horovod는 MPI 기반 모델(메시지 패싱 인터페이스)과 allreduce, allgather, broadcast와 같은 집합 통신 연산을 사용합니다. TensorFlow, Keras, PyTorch, Apache MXNet과 같은 주요 프레임워크와 통합됩니다.
주요 기술적 특징은 다음과 같습니다:
- Tensor Fusion: 작은 allreduce 연산을 배치하여 통신과 계산을 교차 처리함으로써 성능을 향상시킵니다.
- Distributed Optimizer: 적용하기 전에 워커 간에 기울기를 평균화하는 래퍼입니다.
- Autotuning: Tensor Fusion 및 기타 기능의 성능 설정을 최적화하는 자동화 시스템입니다.
대상 사용자
GPU 또는 CPU 클러스터에서 대규모 모델을 학습해야 하는 머신러닝 엔지니어 및 연구자, 그리고 다양한 딥러닝 프레임워크에서 분산 학습을 일관되게 처리하는 방법을 원하는 사용자들을 위한 것입니다.
하이라이트
- 프레임워크 비종속성: TensorFlow, PyTorch, Keras, MXNet을 지원합니다.
- 높은 확장 효율성: 수백 개의 GPU에 걸쳐 높은 확장 효율성(특정 모델의 경우 최대 90%)을 달성합니다.
- 유연한 배포: 로컬 머신, Docker, Kubernetes, Spark, Ray, HPC 클러스터에서 실행할 수 있습니다.
- MPI/Gloo 지원: 고성능 통신을 위해 MPI를, MPI가 설치되지 않은 환경을 위해 Gloo를 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트