sypark9646 / paper-logs

2022.10 ~
0 stars 0 forks source link

Enabling Efficient Large-Scale Deep Learning Training with Cache Coherent Disaggregated Memory Systems #3

Closed sypark9646 closed 1 year ago

sypark9646 commented 2 years ago

어떤 내용의 논문인가요? 👋

분산 GPU 딥 러닝 모델 학습 환경에서 메모리 소비와 통신 대역폭의 문제를 해결하기 위해 파라미터 동기화를 CCI 기반의 분산 메모리 시스템으로 오프로드하는 것에 관한 연구

Abstract (요약) 🕵🏻‍♂️

Modern deep learning (DL) training is memory-consuming, constrained by the memory capacity of each computation component and cross-device communication bandwidth. In response to such constraints, current approaches include increasing parallelism in distributed training and optimizing inter-device communication. However, model parameter communication is becoming a key performance bottleneck in distributed DL training. To improve parameter communication performance, we propose COARSE, a disaggregated memory extension for distributed DL training. COARSE is built on modern cache-coherent interconnect (CCI) protocols and MPI-like collective communication for synchronization, to allow low-latency and parallel access to training data and model parameters shared among worker GPUs. To enable high bandwidth transfers between GPUs and the disaggregated memory system, we propose a decentralized parameter communication scheme to decouple and localize parameter synchronization traffic. Furthermore, we propose dynamic tensor routing and partitioning to fully utilize the non-uniform serial bus bandwidth varied across different cloud computing systems. Finally, we design a deadlock avoidance and dual synchronization to ensure high-performance parameter synchronization. Our evaluation shows that COARSE achieves up to 48.3% faster DL training compared to the state-of-the-art MPI AllReduce communication.

이 논문을 읽어서 무엇을 배울 수 있는지 알려주세요! 🤔

:bulb: 요약 abstract: 분산 GPU 딥 러닝 모델 학습 환경에서 메모리 소비와 통신 대역폭의 문제를 해결하기 위한 연구 introduction: 분산 훈련 시 메모리 소비와 통신 대역폭이 문제가 된다. related works:

  • 파라미터 서버: 분산형 DL 훈련 환경에서 서로 다른 노드 간의 통신을 최적화하기 위한 설계
    • 통신 오버헤드가 높았다, 확장성이 제한적, 상당한 메모리 리소스가 필요하다는 단점
  • 통신 속도를 향상시키는 것에 관한 연구: CPU-GPU 통신에 의존하는 계층적 다중 레벨 파라미터 서버 설계 => 파라미터가 희박한 추천 시스템에는 유용했음
  • 분리형 메모리: 메모리 리소스와 이를 액세스하는 프로세서가 물리적으로 분리된 메모리 구조 제안 => PCIe로 성능 제한이 발생할 수 있음
  • Near memory processing: 추천 시스템에서 임베딩과 같은 특수한 연산을 메모리 장치로 오프로드하여 처리 속도를 높이는 구조로, 모델 크기가 작은 강화 학습에 유리했음

method: 동기화를 위한 집단 통신과 텐서 라우팅 및 파티셔닝 체계를 활용하여 대역폭을 최대한 활용하고 GPU에서 텐서 로컬리티를 개선하는 Cache cOherent 상호 연결된 pARameter SErver(COARSE)를 제안한다. 1)분산형 파라미터 통신 방식, 2)텐서 라우팅 및 파티셔닝 방식, 3)이중 파라미터 동기화 방식 을 사용한다. experiment:

  1. 다양한 액세스 크기에서 CCI 대역폭을 평가하고 이를 GPU 간접 및 직접 액세스 방법과 비교한 결과, CCI 메모리가 P2P 통신을 지원하는 경우 GPU와 같은 직렬 버스 장치에 더 유리하며, GPU 직접 방식이 가장 높은 대역폭 속도 향상을 달성함
  2. 클라이언트에서 각 프록시까지의 통신 성능을 프로파일링하여 텐서 라우팅 테이블을 구축해본 결과, 통신 방법(로컬 프록시와 원격 프록시)의 선택은 하드웨어 구성과 워크로드 특성에 따라 달라짐을 알 수 있었다. => 프로파일링을 통해 특정 하드웨어 구성과 워크로드에 따라 최적의 통신 전략을 파악하여 전반적인 시스템 성능을 개선할 수 있음
  3. 다양한 배치 크기와 데이터 세트를 사용하여 딥 러닝 모델, ResNet50 및 BERT에 대한 세 가지 통신 체계를 평가한 결과, COARSE가 ResNet50 및 BERT의 속도를 향상시키지만 대역폭이 불균형하거나 GPU P2P 통신이 없는 플랫폼에서는 효율성이 떨어짐을 확인했다.
  4. 차단된 통신 시간을 측정하고 이를 단일 노드 및 다중 노드 평가에서 CCI 통신 시간 및 AllReduce와 비교함으로써 분산형 딥 러닝 학습에서 통신 시간이 전체 속도 향상에 어떤 영향을 미치는지 실험했다. 그 결과, 캐시 일관된 상호 연결 기반 시스템인 COARSE가 분산 학습에서 통신 오버헤드를 줄이는 데 매우 효율적이며, CCI 메모리를 통한 추가 파라미터 저장으로 AllReduce와 비슷하거나 더 나은 성능을 달성할 수 있음을 보였다.

conclusion & discussion: 워커 GPU 간에 공유되는 훈련 데이터와 모델 파라미터에 대한 지연 시간이 짧고 병렬로 액세스할 수 있으며, 최신 MPI AllReduce 통신에 비해 더 빠른 DL 훈련을 달성한다. 특히 대형 모델 학습에 유용하다.

같이 읽어보면 좋을 만한 글이나 이슈가 있을까요?

만약에 있다면 자유롭게 작성해 주세요!

레퍼런스의 URL을 알려주세요! 🔗

markdown 으로 축약하지 말고, 원본 링크 그대로 그냥 적어주세요!