toplogo
Sign In

이기종 아키텍처에서 기계 학습 애플리케이션 벤치마킹: Reframe 활용


Core Concepts
Reframe 프레임워크를 활용하여 다양한 하드웨어 플랫폼에서 기계 학습 벤치마크를 수행하고 성능을 비교 분석하였다.
Abstract
이 연구에서는 Reframe 테스팅 프레임워크를 Kubernetes 백엔드 스케줄러를 지원하도록 확장하였다. 이를 통해 EPCC에서 관리하는 다양한 서비스와 시스템(ARCHER2 CPU 및 GPU, Cirrus V100 GPU, EIDF A100 GPU, Graphcore Bow Pod64, Cerebras CS-2)에서 ResNet-50, DeepCAM, CosmoFlow 등의 MLPerf 벤치마크를 수행하고 성능을 비교 분석하였다. Reframe의 Kubernetes 백엔드 통합을 통해 다양한 하드웨어 플랫폼에서 반복 가능한 성능 테스트를 수행할 수 있게 되었다. 이를 통해 시스템 변경이나 업그레이드로 인한 성능 영향을 식별하고 모니터링할 수 있다. 또한 다양한 서비스와 아키텍처 간 직접적인 성능 비교가 가능하며, 자동화된 방식으로 다양한 시스템에 대한 매개변수화된 테스트를 수행할 수 있다. 이 도구는 다른 HPC 센터에서도 활용될 수 있으며, 센터별 특화된 Kubernetes 워크로드와 추가적인 ML 애플리케이션 및 벤치마크를 쉽게 확장할 수 있다. 이 연구 결과는 공개 소스로 제공되며, EPCC Reframe 리포지토리에 기여될 예정이다.
Stats
ARCHER2 CPU 노드에서 ResNet-50과 CosmoFlow는 2개 노드(4개 CPU 소켓)에서 16개 MPI 랭크로 실행되었고, DeepCAM은 4개 노드(8개 CPU 소켓)에서 8개 MPI 랭크로 실행되었다. GPU 실행(ARCHER2 AMD MI210, Cirrus Nvidia V100, EIDF Nvidia A100)은 모두 4개 GPU에서 수행되었다. Graphcore Bow Pod64에서 ResNet-50과 CosmoFlow(반정밀도)를 실행할 수 있었으나, DeepCAM은 메모리 제한으로 인해 실행하지 못했다. Cerebras CS-2에서는 ResNet-50은 실행할 수 있었지만, CosmoFlow와 DeepCAM은 지원되지 않는 연산으로 인해 컴파일에 실패했다.
Quotes
"With the rapid increase in machine learning workloads performed on HPC systems, it is beneficial to regularly perform machine learning specific benchmarks to monitor performance and identify issues." "To support the increasing trend of Machine Learning (ML) applications being used in scientific research and taking advantage of HPC systems, national HPC providers are adapting in two ways: 1) by providing compute services more suitable for data scientists which are more akin to cloud platforms, and 2) adoption of dedicated ML accelerators besides traditional HPC hardware (CPUs and GPUs)."

Deeper Inquiries

Reframe 프레임워크를 활용하여 다양한 ML 워크로드에 대한 벤치마킹을 수행할 수 있는데, 이를 통해 어떤 추가적인 인사이트를 얻을 수 있을까

Reframe 프레임워크를 활용하여 다양한 ML 워크로드에 대한 벤치마킹을 수행함으로써 추가적인 인사이트를 얻을 수 있습니다. 이를 통해 우리는 다른 하드웨어 아키텍처 간의 성능을 비교하고, 시스템 변경이나 업데이트로 인한 성능 영향을 식별할 수 있습니다. 또한, ML 워크로드의 성능 안정성을 모니터링하여 시스템 변경에 따른 성능 변화를 추적할 수 있습니다. 이를 통해 우리는 서비스 품질을 유지하고 문제를 식별하는 데 도움이 되며, 다양한 시스템과 아키텍처에서 반복 가능한 테스트를 수행할 수 있는 프레임워크를 구축하는 데 중요한 역할을 합니다.

Graphcore와 Cerebras 시스템에서 특정 CNN 모델의 실행이 어려웠던 이유는 무엇이며, 이를 해결하기 위해서는 어떤 접근 방식이 필요할까

Graphcore와 Cerebras 시스템에서 특정 CNN 모델의 실행이 어려웠던 이유는 주로 메모리 제한과 소프트웨어 스택의 제한 때문이었습니다. Graphcore의 경우, 각 IPU에 제한된 메모리(0.9GB)가 있어서 파이프라인 병렬화를 적극적으로 활용해야 했습니다. 이는 CNN 모델의 블록을 IPUs에 분할하는 것을 필요로 했고, 이는 본래 모델 정의에 최소한의 변경으로 Graphcore에서 쉽게 구현할 수 있었습니다. Cerebras의 경우, 소프트웨어 스택이 비교적 제한적이었고, 모델 개발 및 훈련 프로세스에 대한 사용자의 제어가 적었습니다. 이로 인해 특정 연산이 지원되지 않거나 컴파일 오류가 발생할 수 있었습니다. 이러한 문제를 해결하기 위해서는 Graphcore에서는 파이프라인 배치를 최적화하는 것이 중요하며, Cerebras에서는 모델 개발 및 훈련에 대한 사용자 지정을 더 많이 할 수 있도록 지원이 필요합니다.

Reframe 프레임워크를 활용하여 ML 워크로드 외에 다른 어떤 유형의 워크로드에 대한 벤치마킹과 성능 모니터링을 수행할 수 있을까

Reframe 프레임워크를 활용하여 ML 워크로드 외에도 다른 유형의 워크로드에 대한 벤치마킹과 성능 모니터링을 수행할 수 있습니다. 예를 들어, n-body 시뮬레이션 벤치마킹이나 Kubernetes Persistent Volumes의 데이터 전송 대역폭 모니터링과 같은 다른 HPC 테스트를 수행할 수 있습니다. 또한, Reframe을 사용하여 다양한 시스템에 대한 벤치마킹을 자동화하고 다른 ML 응용 프로그램 및 벤치마크를 추가할 수 있습니다. 이를 통해 다른 유형의 워크로드에 대한 성능 테스트와 모니터링을 효과적으로 수행할 수 있습니다.
0
visual_icon
generate_icon
translate_icon
scholar_search_icon
star