분산 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:
다양한 액세스 크기에서 CCI 대역폭을 평가하고 이를 GPU 간접 및 직접 액세스 방법과 비교한 결과, CCI 메모리가 P2P 통신을 지원하는 경우 GPU와 같은 직렬 버스 장치에 더 유리하며, GPU 직접 방식이 가장 높은 대역폭 속도 향상을 달성함
클라이언트에서 각 프록시까지의 통신 성능을 프로파일링하여 텐서 라우팅 테이블을 구축해본 결과, 통신 방법(로컬 프록시와 원격 프록시)의 선택은 하드웨어 구성과 워크로드 특성에 따라 달라짐을 알 수 있었다. => 프로파일링을 통해 특정 하드웨어 구성과 워크로드에 따라 최적의 통신 전략을 파악하여 전반적인 시스템 성능을 개선할 수 있음
다양한 배치 크기와 데이터 세트를 사용하여 딥 러닝 모델, ResNet50 및 BERT에 대한 세 가지 통신 체계를 평가한 결과, COARSE가 ResNet50 및 BERT의 속도를 향상시키지만 대역폭이 불균형하거나 GPU P2P 통신이 없는 플랫폼에서는 효율성이 떨어짐을 확인했다.
차단된 통신 시간을 측정하고 이를 단일 노드 및 다중 노드 평가에서 CCI 통신 시간 및 AllReduce와 비교함으로써 분산형 딥 러닝 학습에서 통신 시간이 전체 속도 향상에 어떤 영향을 미치는지 실험했다. 그 결과, 캐시 일관된 상호 연결 기반 시스템인 COARSE가 분산 학습에서 통신 오버헤드를 줄이는 데 매우 효율적이며, CCI 메모리를 통한 추가 파라미터 저장으로 AllReduce와 비슷하거나 더 나은 성능을 달성할 수 있음을 보였다.
conclusion & discussion: 워커 GPU 간에 공유되는 훈련 데이터와 모델 파라미터에 대한 지연 시간이 짧고 병렬로 액세스할 수 있으며, 최신 MPI AllReduce 통신에 비해 더 빠른 DL 훈련을 달성한다. 특히 대형 모델 학습에 유용하다.
분산 훈련의 주요 과제
메모리 소비: DL 모델은 순방향 및 역방향 전파 중에 매개변수와 중간 활성화를 저장하기 위해 많은 양의 메모리가 필요하며, 모델의 크기가 커질수록 메모리 요구량도 증가한다.
통신 대역폭: 분산형 DL 훈련에서는 여러 노드가 서로 다른 레이어/노드/모델 간의 역전파 또는 동기화 단계에서 그라데이션 또는 가중치 업데이트를 교환하기 위해 자주 통신해야 한다.
네트워크 지연 시간: 여러 노드에 걸쳐 대량의 데이터를 처리하는 경우 데이터가 한 노드에서 다른 노드로 이동하는 데 걸리는 시간이 큼
로드 밸런싱: 컴퓨팅 리소스를 효율적으로 사용하려면 사용 가능한 모든 리소스에 워크로드를 균등하게 분산하는 것이 필수적이지만 하드웨어 성능의 차이 또는 예기치 않게 발생할 수 있는 네트워크 연결 문제로 인해 어려울 수 있다.
내결함성: 분산 시스템은 장애를 신속하게 감지하고 그 시점까지의 진행 상황을 잃지 않고 복구할 수 있어야 한다.
cache-coherent interconnection (CCI) protocols: 컴퓨터 시스템에서 모든 프로세서와 메모리 모듈이 일관된 데이터를 갖도록 하기 위해 사용되는 통신 프로토콜로, CPU, 캐시, 메모리 컨트롤러와 같은 시스템 내의 여러 구성 요소 간의 정보 흐름을 관리하도록 설계됨
CPU가 기존 또는 맞춤형 직렬 버스에 연결된 여러 메모리 장치에 직접 액세스할 수 있는 캐시 일관성 분리형 메모리 시스템을 지원한다. (CCI는 작은 메모리 블록에 액세스할 때 PCIe와 같은 기존 직렬 버스 프로토콜보다 더 높은 대역폭을 제공)
각 프로세서가 공유 데이터의 최신 버전에 액세스할 수 있도록 함으로써 여러 프로세서 또는 코어에서 캐시 일관성을 유지할 수 있다. = 여러 프로세서가 동일한 데이터에 동시에 액세스하려고 할 때 불일치나 오류가 발생하는 것을 방지
ex) CCIX, Gen-Z, 인텔 CXL 등
머신러닝 훈련 중 다양한 통신 체계의 대역폭 성능: CCI가 우수함
머신러닝 훈련 통신 아키텍쳐의 병목현상
중앙 집중식 통신의 병목 현상: CPU의 제한된 직렬 버스 레인으로 인해 GPU에서 파라미터 서버로의 동시 액세스가 제한된다
분산형 통신의 병목 현상: 파라미터 동기화 중에 GPU 연산이 차단되어 성능이 느려지고 대역폭 활용률이 낮아진다
COARSE
분산형 파라미터 동기화 체계: 분산형 딥 러닝 학습을 위한 분산형 메모리 시스템에서 상호 연결 대역폭과 확장성의 문제 => 파라미터 프록시와 스토리지 간에 동기화 기능을 분할한다.
텐서 라우팅 메커니즘과 텐서 파티셔닝 메커니즘: 분산 메모리 시스템에서 클라이언트와 프록시 간의 통신을 최적화 => 매개변수 크기와 로컬/원격 통신 대역폭 특성이 균일하게 분포되지 않는다는 점을 관찰하고, 데이터 크기와 대역폭 특성에 따라 텐서 푸시/풀 요청을 적절한 프록시로 보내는 각 클라이언트에 대한 라우팅 테이블을 제안
각 프록시에 대한 통신 대역폭과 지연 시간을 측정하고 지연 시간이 가장 낮고 대역폭이 가장 높은 프록시를 선택하여 클라이언트에 대한 라우팅 테이블을 구축
지연 시간과 대역폭 프록시가 서로 다른 경우, 시스템은 통신 시간의 균형을 맞추는 크기를 결정하고 지연 시간에 민감한 파라미터를 지연 시간이 짧은 프록시로 보낸다.
COARSE는 통신 성능을 동적으로 프로파일링하여 초기 라우팅 및 파티셔닝 전략을 결정하고 학습 중에 이를 업데이트함
우선순위 기반 이중 동기화 메커니즘: 딥 러닝 모델에서 파라미터를 효율적으로 동기화
워커 GPU의 처음 몇 개 레이어에서 우선순위가 높은 텐서를 우선적으로 동기화하고, 나머지 텐서는 프록시를 통해 동기화한다.
어떤 내용의 논문인가요? 👋
분산 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.
이 논문을 읽어서 무엇을 배울 수 있는지 알려주세요! 🤔
분산 훈련의 주요 과제
cache-coherent interconnection (CCI) protocols: 컴퓨터 시스템에서 모든 프로세서와 메모리 모듈이 일관된 데이터를 갖도록 하기 위해 사용되는 통신 프로토콜로, CPU, 캐시, 메모리 컨트롤러와 같은 시스템 내의 여러 구성 요소 간의 정보 흐름을 관리하도록 설계됨
머신러닝 훈련 중 다양한 통신 체계의 대역폭 성능: CCI가 우수함
머신러닝 훈련 통신 아키텍쳐의 병목현상
COARSE
같이 읽어보면 좋을 만한 글이나 이슈가 있을까요?
만약에 있다면 자유롭게 작성해 주세요!
레퍼런스의 URL을 알려주세요! 🔗
markdown 으로 축약하지 말고, 원본 링크 그대로 그냥 적어주세요!