RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      Hardware and software techniques for improving NPU resource utilization

      한글로보기

      https://www.riss.kr/link?id=T16068044

      • 0

        상세조회
      • 0

        다운로드
      서지정보 열기
      • 내보내기
      • 내책장담기
      • 공유하기
      • 오류접수

      부가정보

      다국어 초록 (Multilingual Abstract) kakao i 다국어 번역

      With the proliferation of AI-based applications and services, there are strong demands for the efficient processing of deep neural networks (DNNs). DNNs are known to be both compute- and memory-intensive as they require a tremendous amount of computation and large memory space. To efficiently service DNN applications, many service providers often employ specialized hardware accelerators, called Neural Processing Units (NPUs). However, there are a myriad of NPUs featuring different number representations and compute-to-memory bandwidth ratios. Hence, for a specific NPU running various DNNs, finding an efficient number representation and its execution schedule is very challenging.
      We identified that the current data quantization and resource scheduling frameworks for NPUs have the following critical limitations. First, when searching for an efficient data format for a DNN, existing quantization techniques significantly restrict exploration space due to a combinatorial explosion of feasible number representations with varying bit widths. Moreover, they often target a specific DNN framework and/or hardware platform, lacking portability across various execution environments. Second, existing NPU resource schedulers cannot maximize both compute TOP/s and DRAM bandwidth, leading to low resource utilization and throughput. This is because there is an intrinsic mismatch between the compute-to-memory bandwidth ratio of NPUs and the arithmetic intensity of DNNs. What makes the problem more difficult is that datacenters typically impose QoS constraints (i.e., deadlines) on service latency.
      To address such problems, we propose three software optimization techniques for NPUs. The first one is libnumber, a portable, automatic quantization framework that efficiently explores an ever-wider range of possible number representations. While libnumber effectively encapsulates the internal representation of a number, it systematically finds a compact number representation (type, bit width, and bias) to minimize the user-supplied objective function. The second is Layerweaver, a layer-wise time-multiplexing scheduler for NPUs. Layerweaver reduces the temporal waste of computation resources by interweaving layer execution of multiple different DNNs. Finally, we extend Layerweaver to consider QoS constraints (Layerweaver+), thereby finding a balanced schedule between latency and throughput. We evaluated our automatic data quantization and resource scheduling techniques by simulating NPU-based systems running various DNN models. For realistic DNN serving scenarios, Layerweaver and Layerweaver+ significantly improve resource utilization over the baseline scheduler serving one DNN at a time. In addition, libnumber substantially reduces weight and activation data size over the baseline quantization frameworks.
      번역하기

      With the proliferation of AI-based applications and services, there are strong demands for the efficient processing of deep neural networks (DNNs). DNNs are known to be both compute- and memory-intensive as they require a tremendous amount of computat...

      With the proliferation of AI-based applications and services, there are strong demands for the efficient processing of deep neural networks (DNNs). DNNs are known to be both compute- and memory-intensive as they require a tremendous amount of computation and large memory space. To efficiently service DNN applications, many service providers often employ specialized hardware accelerators, called Neural Processing Units (NPUs). However, there are a myriad of NPUs featuring different number representations and compute-to-memory bandwidth ratios. Hence, for a specific NPU running various DNNs, finding an efficient number representation and its execution schedule is very challenging.
      We identified that the current data quantization and resource scheduling frameworks for NPUs have the following critical limitations. First, when searching for an efficient data format for a DNN, existing quantization techniques significantly restrict exploration space due to a combinatorial explosion of feasible number representations with varying bit widths. Moreover, they often target a specific DNN framework and/or hardware platform, lacking portability across various execution environments. Second, existing NPU resource schedulers cannot maximize both compute TOP/s and DRAM bandwidth, leading to low resource utilization and throughput. This is because there is an intrinsic mismatch between the compute-to-memory bandwidth ratio of NPUs and the arithmetic intensity of DNNs. What makes the problem more difficult is that datacenters typically impose QoS constraints (i.e., deadlines) on service latency.
      To address such problems, we propose three software optimization techniques for NPUs. The first one is libnumber, a portable, automatic quantization framework that efficiently explores an ever-wider range of possible number representations. While libnumber effectively encapsulates the internal representation of a number, it systematically finds a compact number representation (type, bit width, and bias) to minimize the user-supplied objective function. The second is Layerweaver, a layer-wise time-multiplexing scheduler for NPUs. Layerweaver reduces the temporal waste of computation resources by interweaving layer execution of multiple different DNNs. Finally, we extend Layerweaver to consider QoS constraints (Layerweaver+), thereby finding a balanced schedule between latency and throughput. We evaluated our automatic data quantization and resource scheduling techniques by simulating NPU-based systems running various DNN models. For realistic DNN serving scenarios, Layerweaver and Layerweaver+ significantly improve resource utilization over the baseline scheduler serving one DNN at a time. In addition, libnumber substantially reduces weight and activation data size over the baseline quantization frameworks.

      더보기

      국문 초록 (Abstract) kakao i 다국어 번역

      최근 AI기반 응용 서비스들이 급증함에 따라 DNN을 효율적으로 수행할 수 있는 시스템이 크게 각광받고 있다. 이러한 딥러닝 기반의 서비스들은 기존의 응용 대비 연산 및 메모리 집약적인 특성을 동시에 가지고 있으며, 따라서 시스템에 막대한 양의 연산 및 메모리 리소스를 필요로 하게 된다. 따라서 딥러닝 기반의 서비스를 효율적으로 처리하기위해 모바일에서 데이터센터 등의 대규모 시스템까지 다양한 환경에서 뉴럴 프로세싱 유닛(NPU)이 널리 활용되고 있다. 하지만, NPU가 다양한 조직에서 독자적으로 개발됨에 따라 각 NPU에서 사용되는 데이터 표현이나 연산-메모리대역폭 비율(Compute-to-Memory Bandwidth Ratio) 등의 특성은 매우 다르게 나타난다. 따라서, 다양한 종류의 DNN을 하는 NPU 시스템에서는 가장 최적의 데이터 표현 및 실행 스케줄을 고정적으로 결정하는 것이 매우 어렵다.
      구체적으로 본 논문에서는 현재 NPU에서 널리 사용되는 데이터 양자화 및 리소스 스케줄링 기법들이 다음과 같이 중요한 한계점들이 있음을 밝힌다. 첫 번째로, 특정한 DNN 모델을 표현하는 최적의 데이터 표현을 찾기 위해서, 현재의 양자화 기법들은 탐색을 수행하는 조건을 크게 제약한다. 이는 DNN의 모든 레이어에 대하여 다양한 비트 수를 탐색하려면 방대한 양의 탐색 시간을 요구하기 때문인데, 현재의 탐색 알고리즘은 실현 가능한 시간 내에 최적의 데이터 표현을 결정하기 어렵다. 뿐만 아니라 그 기법들은 대부분 특정 DNN 프레임워크(예, TensorFlow) 혹은 특정 하드웨어 플랫폼을 가정하고 구현되었는데, 현재의 다양한 NPU 기반 플랫폼들에 일관적으로 적용되기 어렵다. 두 번째로 현재의 NPU 리소스 스케줄링 기법은 NPU의 연산 및 메모리 리소스를 충분히 활용할 수 없어서 스루풋 성능에 제약이 발생한다. 이는 NPU의 연산-메모리대역폭 비율과 DNN의 연산집약도(Arithmetic Intensity)가 큰 차이를 보이기 때문인데 이를 보완할 방법은 현재 전무한 상황이다. 더구나 데이터센터에서는 사용자에게 고품질의 서비스를 제공하기 위하여 일반적으로 서비스 품질(혹은 최대지연시간)에 조건을 두기 때문에 스케줄링 문제가 더욱 복잡해진다.
      따라서, 이러한 문제를 해결하기위해 본 논문은 NPU기반 시스템을 위한 세 가지 기법을 고안하였다. 첫 번째는 libnumber로 손쉽게 이식이 가능하면서도 자동으로 양자화된 데이터 표현을 검색하는 프레임워크를 제안한다. libnumber는 사용자로부터 내부의 데이터 표현(Type, Bit width, Bias 등)을 추상화시키며, 다른 어떤 알고리즘보다도 넓은 범위의 표현을 효율적이고 체계적인 방법으로 검색한다. 두 번째 기법은 Layerweaver로 서로 다른 특성의 DNN 모델을 교차 실행하여 시간적으로 NPU 리소스가 낭비되는 것을 최소화한다. 마지막으로 Layerweaver+는 Layerweaver을 확장하여 서비스 품질을 고려한 스케줄링이 가능하도록 설계하였다. 본 논문에서는 제안한 자동 양자화 및 리소스 스케줄링 기법을 NPU기반 시스템의 시뮬레이션을 통해 평가하였다. 이를 통해서, Layerweaver와 Layerweaver+는 다양한 시나리오 및 다양한 NPU에서 거의 완벽한 NPU 리소스 활용률을 달성하였으며, libnumber는 DNN의 파라미터 사이즈와 중간 데이터를 획기적으로 줄일 수 있다는 사실을 실험적으로 입증하였다.
      번역하기

      최근 AI기반 응용 서비스들이 급증함에 따라 DNN을 효율적으로 수행할 수 있는 시스템이 크게 각광받고 있다. 이러한 딥러닝 기반의 서비스들은 기존의 응용 대비 연산 및 메모리 집약적인 특...

      최근 AI기반 응용 서비스들이 급증함에 따라 DNN을 효율적으로 수행할 수 있는 시스템이 크게 각광받고 있다. 이러한 딥러닝 기반의 서비스들은 기존의 응용 대비 연산 및 메모리 집약적인 특성을 동시에 가지고 있으며, 따라서 시스템에 막대한 양의 연산 및 메모리 리소스를 필요로 하게 된다. 따라서 딥러닝 기반의 서비스를 효율적으로 처리하기위해 모바일에서 데이터센터 등의 대규모 시스템까지 다양한 환경에서 뉴럴 프로세싱 유닛(NPU)이 널리 활용되고 있다. 하지만, NPU가 다양한 조직에서 독자적으로 개발됨에 따라 각 NPU에서 사용되는 데이터 표현이나 연산-메모리대역폭 비율(Compute-to-Memory Bandwidth Ratio) 등의 특성은 매우 다르게 나타난다. 따라서, 다양한 종류의 DNN을 하는 NPU 시스템에서는 가장 최적의 데이터 표현 및 실행 스케줄을 고정적으로 결정하는 것이 매우 어렵다.
      구체적으로 본 논문에서는 현재 NPU에서 널리 사용되는 데이터 양자화 및 리소스 스케줄링 기법들이 다음과 같이 중요한 한계점들이 있음을 밝힌다. 첫 번째로, 특정한 DNN 모델을 표현하는 최적의 데이터 표현을 찾기 위해서, 현재의 양자화 기법들은 탐색을 수행하는 조건을 크게 제약한다. 이는 DNN의 모든 레이어에 대하여 다양한 비트 수를 탐색하려면 방대한 양의 탐색 시간을 요구하기 때문인데, 현재의 탐색 알고리즘은 실현 가능한 시간 내에 최적의 데이터 표현을 결정하기 어렵다. 뿐만 아니라 그 기법들은 대부분 특정 DNN 프레임워크(예, TensorFlow) 혹은 특정 하드웨어 플랫폼을 가정하고 구현되었는데, 현재의 다양한 NPU 기반 플랫폼들에 일관적으로 적용되기 어렵다. 두 번째로 현재의 NPU 리소스 스케줄링 기법은 NPU의 연산 및 메모리 리소스를 충분히 활용할 수 없어서 스루풋 성능에 제약이 발생한다. 이는 NPU의 연산-메모리대역폭 비율과 DNN의 연산집약도(Arithmetic Intensity)가 큰 차이를 보이기 때문인데 이를 보완할 방법은 현재 전무한 상황이다. 더구나 데이터센터에서는 사용자에게 고품질의 서비스를 제공하기 위하여 일반적으로 서비스 품질(혹은 최대지연시간)에 조건을 두기 때문에 스케줄링 문제가 더욱 복잡해진다.
      따라서, 이러한 문제를 해결하기위해 본 논문은 NPU기반 시스템을 위한 세 가지 기법을 고안하였다. 첫 번째는 libnumber로 손쉽게 이식이 가능하면서도 자동으로 양자화된 데이터 표현을 검색하는 프레임워크를 제안한다. libnumber는 사용자로부터 내부의 데이터 표현(Type, Bit width, Bias 등)을 추상화시키며, 다른 어떤 알고리즘보다도 넓은 범위의 표현을 효율적이고 체계적인 방법으로 검색한다. 두 번째 기법은 Layerweaver로 서로 다른 특성의 DNN 모델을 교차 실행하여 시간적으로 NPU 리소스가 낭비되는 것을 최소화한다. 마지막으로 Layerweaver+는 Layerweaver을 확장하여 서비스 품질을 고려한 스케줄링이 가능하도록 설계하였다. 본 논문에서는 제안한 자동 양자화 및 리소스 스케줄링 기법을 NPU기반 시스템의 시뮬레이션을 통해 평가하였다. 이를 통해서, Layerweaver와 Layerweaver+는 다양한 시나리오 및 다양한 NPU에서 거의 완벽한 NPU 리소스 활용률을 달성하였으며, libnumber는 DNN의 파라미터 사이즈와 중간 데이터를 획기적으로 줄일 수 있다는 사실을 실험적으로 입증하였다.

      더보기

      목차 (Table of Contents)

      • I. Introduction 1
      • II. Background and Motivation 7
      • II.1. Preliminary: NPU-based Model Serving Systems 7
      • II.2. Optimizing Number Representations 12
      • II.3. Scheduling to Maximize NPU Resource Utilization 15
      • I. Introduction 1
      • II. Background and Motivation 7
      • II.1. Preliminary: NPU-based Model Serving Systems 7
      • II.2. Optimizing Number Representations 12
      • II.3. Scheduling to Maximize NPU Resource Utilization 15
      • III. libnumber: Portable, Automatic Data Quantizer for DNNs 19
      • III.1. Overview 19
      • III.2. Number Abstract Data Type 21
      • III.3. Auto-tuner Design 24
      • III.4. Evaluation 34
      • III.5. Related Work 41
      • IV. Layerweaver: Layer-wise Time-multiplexing DNN Scheduler 43
      • IV.1. Overview 43
      • IV.2. Greedy Scheduler 47
      • IV.3. Maintaining and Updating Schedule State 50
      • IV.4. Layer Selection to Minimize Resource Idle Time 53
      • IV.5. Evaluation 60
      • IV.6. Related Work 73
      • V. Layerweaver+: QoS-aware DNN Scheduler for Multi-tenant NPUs 75
      • V.1. Overview 75
      • V.2. Two-mode Scheduling Algorithm 78
      • V.3. Evaluation 81
      • VI. Conclusion and Future Work 87
      • VI.1. Conclusion 87
      • VI.2. FutureWork 88
      • References 89
      • Korean Abstract 109
      더보기

      참고문헌 (Reference)

      1. Cifar-10 classifier., R. Vasudevan, , 2017

      2. Going deeper with convolutions, S. et al., ’ 15, , 2015

      3. Xilinx kintex ultrascale fpga family., X. INC., , 2018

      4. Lenet-5 , convolutional neural networks, LeCun et al., , 1998

      5. The mnist database of handwritten digits, Y. LeCun, , 1998

      6. Microsoft unveils Project Brainwave for real-time AI., D. Burger, , 2017

      7. Caffe : Convolutional architecture for fast feature embedding, Y. t. Jia, ACMMM ’ 14 ,, , 2014

      8. In-datacenter performance analysis of a tensor processing unit, N. P. Jouppi et al., , 2017

      9. Xception : Deep learning with depthwise separable convolutions, F. Chollet, , 2017

      10. Dawnbench : An end-to-end deep learning benchmark and competition., C. A. Coleman et al., , 2017

      1. Cifar-10 classifier., R. Vasudevan, , 2017

      2. Going deeper with convolutions, S. et al., ’ 15, , 2015

      3. Xilinx kintex ultrascale fpga family., X. INC., , 2018

      4. Lenet-5 , convolutional neural networks, LeCun et al., , 1998

      5. The mnist database of handwritten digits, Y. LeCun, , 1998

      6. Microsoft unveils Project Brainwave for real-time AI., D. Burger, , 2017

      7. Caffe : Convolutional architecture for fast feature embedding, Y. t. Jia, ACMMM ’ 14 ,, , 2014

      8. In-datacenter performance analysis of a tensor processing unit, N. P. Jouppi et al., , 2017

      9. Xception : Deep learning with depthwise separable convolutions, F. Chollet, , 2017

      10. Dawnbench : An end-to-end deep learning benchmark and competition., C. A. Coleman et al., , 2017

      11. Going deeper with embedded fpga platform for convolutional neural network, J. t. Qiu, FPGA ’ 16, , 2016

      12. MLPerf inference : A benchmarking methodology for machine learning inference systems, V. J. Reddi et al., , 2020

      13. cuda-convnet : High-performance c++/cuda implementation of convolutional neural networks., A. Krizhevsky, , 2012

      더보기

      분석정보

      View

      상세정보조회

      0

      Usage

      원문다운로드

      0

      대출신청

      0

      복사신청

      0

      EDDS신청

      0

      동일 주제 내 활용도 TOP

      더보기

      주제

      연도별 연구동향

      연도별 활용동향

      연관논문

      연구자 네트워크맵

      공동연구자 (7)

      유사연구자 (20) 활용도상위20명

      이 자료와 함께 이용한 RISS 자료

      나만을 위한 추천자료

      해외이동버튼