[논문 리뷰] An Experimental Evaluation of Machine Learning Training on a Real Processing-in-Memory System
이 논문은 UPMEM 아키텍처를 사용한 실세계 일반 목적 메모리 내 처리(PIM) 시스템에서 선형 회귀, 로지스틱 회귀, 의사결정나무, K-평균 군집화와 같은 고전적 기계학습 알고리즘의 훈련을 평가한다. PIM은 높은 메모리 대역폭과 수천 개의 병렬 처리 요소를 활용하여 메모리에 의존하는 워크로드를 가속화하며, 하드웨어에서 요구되는 연산과 데이터 유형을 네이티브로 지원할 경우 CPU 대비 최대 113배, GPU 대비 4.5배의 성능 향상을 달성한다.
Training machine learning (ML) algorithms is a computationally intensive process, which is frequently memory-bound due to repeatedly accessing large training datasets. As a result, processor-centric systems (e.g., CPU, GPU) suffer from costly data movement between memory units and processing units, which consumes large amounts of energy and execution cycles. Memory-centric computing systems, i.e., with processing-in-memory (PIM) capabilities, can alleviate this data movement bottleneck. Our goal is to understand the potential of modern general-purpose PIM architectures to accelerate ML training. To do so, we (1) implement several representative classic ML algorithms (namely, linear regression, logistic regression, decision tree, K-Means clustering) on a real-world general-purpose PIM architecture, (2) rigorously evaluate and characterize them in terms of accuracy, performance and scaling, and (3) compare to their counterpart implementations on CPU and GPU. Our evaluation on a real memory-centric computing system with more than 2500 PIM cores shows that general-purpose PIM architectures can greatly accelerate memory-bound ML workloads, when the necessary operations and datatypes are natively supported by PIM hardware. For example, our PIM implementation of decision tree is $27 imes$ faster than a state-of-the-art CPU version on an 8-core Intel Xeon, and $1.34 imes$ faster than a state-of-the-art GPU version on an NVIDIA A100. Our K-Means clustering on PIM is $2.8 imes$ and $3.2 imes$ than state-of-the-art CPU and GPU versions, respectively. To our knowledge, our work is the first one to evaluate ML training on a real-world PIM architecture. We conclude with key observations, takeaways, and recommendations that can inspire users of ML workloads, programmers of PIM architectures, and hardware designers & architects of future memory-centric computing systems.
연구 동기 및 목표
- 일반 목적 PIM 아키텍처에서 고전적 기계학습 훈련 워크로드의 성능을 평가하기 위해.
- 메모리 중심 컴퓨팅 시스템이 메모리에 의존하는 기계학습 훈련 워크로드를 얼마나 빠르게 가속화할 수 있는지 이해하기 위해.
- 정확도, 성능, 확장성 측면에서 PIM 기반 구현체를 최신 CPU 및 GPU 대비 비교하기 위해.
- 기계학습 훈련에서 의미 있는 성능 향상을 달성하기 위해 PIM의 하드웨어 및 소프트웨어 요구사항을 규명하기 위해.
- 기계학습 전문가, PIM 아키텍트, 미래의 메모리 중심 시스템 설계자들에게 실질적인 통찰을 제공하기 위해.
제안 방법
- UPMEM PIM 아키텍처에 고전적 기계학습 알고리즘(선형 회귀, 로지스틱 회귀, 의사결정나무, K-평균 군집화)의 대표적 구현을 수행하였다.
- 2,500개 이상의 PIM 코어를 갖춘 실질적인 PIM 시스템에서, 산술 연산과 데이터 유형에 대해 네이티브 PIM 명령어를 사용하여 모든 알고리즘을 실행하였다.
- 다양한 데이터 크기와 워크로드에서 성능, 정확도, 확장 특성을 측정하였다.
- 최적화된 CPU(8코어 인텔 Xeon) 및 GPU(NVIDIA A100) 구현체와 직접적으로 PIM 결과를 비교하였다.
- 재현 가능성을 확보하고 커뮤니티의 확장 가능성을 위해 오픈소스 코드와 데이터셋을 사용하였다.
- 성능 저하 요인을 분석하고, 메모리 대역폭과 병렬성과 같은 PIM 가속화를 가능하게 하는 핵심 요소를 규명하였다.
실험 결과
연구 질문
- RQ1일반 목적 PIM 아키텍처가 메모리에 의존하는 기계학습 훈련 워크로드를 상당히 빠르게 가속화할 수 있는가?
- RQ2고전적 기계학습 알고리즘의 PIM 기반 구현체는 최신 CPU 및 GPU 버전과 비교해 성능와 정확도 측면에서 어떻게 다른가?
- RQ3하드웨어에서 요구되는 연산과 데이터 유형을 네이티브로 지원하는 것이 PIM 성능 향상에 어떤 역할을 하는가?
- RQ4데이터 크기와 워크로드 복잡도 증가에 따라 PIM의 확장성은 CPU 및 GPU의 확장성과 어떻게 다른가?
- RQ5기계학습 훈련을 위한 PIM 가속화를 가능하게 하거나 제한하는 주요 아키텍처 및 프로그래밍 요소는 무엇인가?
주요 결과
- 8코어 인텔 Xeon CPU 대비 의사결정나무의 PIM 구현은 27×에서 113× 빠르다.
- NVIDIA A100 GPU 대비 의사결정나무의 PIM 구현은 1.34×에서 4.5× 빠르다.
- K-평균 군집화의 PIM 구현은 CPU 버전 대비 2.8배 빠르고, GPU 버전 대비 3.2배 빠르다.
- PIM은 더 높은 메모리 대역폭과 수천 개의 병렬 처리 요소 덕분에 메모리에 의존하는 기계학습 워크로드에서 뛰어난 성능을 발휘한다. 이는 메모리 용량과 함께 확장된다.
- PIM은 PIM 코어가 PCIe 대신 메모리 채널을 통해 연결되어 있어 호스트-가속기 대역폭이 더 높기 때문에 GPU를 능가한다.
- 이 연구는 요구되는 산술 연산과 데이터 유형에 대한 하드웨어 네이티브 지원이 PIM 시스템에서 뚜렷한 성능 향상을 실현하기 위해 필수적임을 확인한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.