KR102621263B1 - Data Pruning Method for Lightweight Deep Learning Hardware Devices - Google Patents

Data Pruning Method for Lightweight Deep Learning Hardware Devices Download PDF

Info

Publication number
KR102621263B1
KR102621263B1 KR1020220177740A KR20220177740A KR102621263B1 KR 102621263 B1 KR102621263 B1 KR 102621263B1 KR 1020220177740 A KR1020220177740 A KR 1020220177740A KR 20220177740 A KR20220177740 A KR 20220177740A KR 102621263 B1 KR102621263 B1 KR 102621263B1
Authority
KR
South Korea
Prior art keywords
deep learning
pruning
channel unit
data stream
channel
Prior art date
Application number
KR1020220177740A
Other languages
Korean (ko)
Inventor
이상설
이은총
김경호
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020220177740A priority Critical patent/KR102621263B1/en
Priority to PCT/KR2022/020663 priority patent/WO2024135860A1/en
Application granted granted Critical
Publication of KR102621263B1 publication Critical patent/KR102621263B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Feedback Control In General (AREA)
  • Neurology (AREA)

Abstract

경량 딥러닝 하드웨어 장치를 위한 데이터 프루닝 방법이 제공된다. 본 발명의 실시예에 따른 딥러닝 연산 방법은, 채널 유닛의 채널 단위를 기초로 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하고, 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하며, 바인딩된 데이터 스트림을 딥러닝 모델의 다음 레이어로 전달한다. 이에 의해, 엣지 디바이스에 적용되는 경량 딥러닝 하드웨어에서의 연산 생략 및 감소가 가능한 필터 프루닝을 수행함에 있어 NPU 사양을 고려한 맞춤형 프루닝을 통해, 하드웨어의 공간 활용도를 높이고 불필요한 연산량을 최소화할 수 있게 된다.A data pruning method for a lightweight deep learning hardware device is provided. The deep learning calculation method according to an embodiment of the present invention prunes the data stream output from the previous layer of the deep learning model based on the channel unit of the channel unit, and binds the pruned data stream to a plurality of channel units. and passes the bound data stream to the next layer of the deep learning model. As a result, when performing filter pruning that can omit and reduce calculations in lightweight deep learning hardware applied to edge devices, it is possible to increase space utilization of hardware and minimize the amount of unnecessary calculations through customized pruning that takes into account NPU specifications. do.

Description

경량 딥러닝 하드웨어 장치를 위한 데이터 프루닝 방법{Data Pruning Method for Lightweight Deep Learning Hardware Devices}Data Pruning Method for Lightweight Deep Learning Hardware Devices}

본 발명은 딥러닝 연산에 관한 것으로, 더욱 상세하게는 경량 딥러닝 연산 가속 처리를 수행하는 하드웨어에서 데이터 경량화를 통하여 고속/저전력 연산을 가능하게 하는 데이터 프루닝 방법에 관한 것이다.The present invention relates to deep learning computation, and more specifically, to a data pruning method that enables high-speed/low-power computation through data lightweighting in hardware that performs lightweight deep learning computation acceleration processing.

엣지(Edge) 디바이스에서 딥러닝 네트워크 학습 및 추론을 구현하기 위해 NPU(Neural Process Unit)가 사용된다. 하지만 리소스가 제한된 환경이기 때문에 정확도를 유지하면서 연산을 감소시킬 수 있는 모델 경량화가 필요하다.NPU (Neural Process Unit) is used to implement deep learning network learning and inference on edge devices. However, because it is a resource-limited environment, a lightweight model is needed to reduce computation while maintaining accuracy.

딥러닝 모델 추론 시 각 레이어의 출력 feature들이 NPU의 하드웨어 디자인 사양에 맞춰 데이터 스트림(Data Stream)에서 채널 단위로 바인딩(Binding) 된다. 그리고 바인딩 된 데이터 스트림인 채널 유닛(Channel Unit)의 각 시작 주소를 통해 NPU가 연산과정을 수행한다.When inferring a deep learning model, the output features of each layer are bound by channel in the data stream according to the hardware design specifications of the NPU. And the NPU performs the calculation process through each start address of the channel unit, which is a bound data stream.

하지만 필터 프루닝 과정에서 이와 같은 NPU의 특성은 고려되고 있지 않은데, 이로 인해 연산과 자원 활용의 비효율성이 나타난다.However, these characteristics of the NPU are not considered in the filter pruning process, which results in inefficiencies in computation and resource utilization.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 경량 딥러닝 하드웨어에서의 연산과 자원 활용의 효율성을 높이기 위한 방안으로, NPU 사양을 고려한 맞춤형 필터 프루닝 방법을 제공함에 있다.The present invention was created to solve the above problems. The purpose of the present invention is to increase the efficiency of computation and resource utilization in lightweight deep learning hardware, and to provide a customized filter pruning method considering NPU specifications. It is in

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 딥러닝 연산 방법은 채널 유닛의 채널 단위를 기초로, 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하는 단계; 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 단계; 바인딩된 데이터 스트림을 딥러닝 모델의 다음 레이어로 전달하는 단계;를 포함한다. A deep learning calculation method according to an embodiment of the present invention for achieving the above object includes pruning a data stream output from the previous layer of a deep learning model based on the channel unit of the channel unit; Binding the pruned data stream to a plurality of channel units; It includes passing the bound data stream to the next layer of the deep learning model.

프루닝 단계는, 바인딩된 데이터 스트림의 마지막 채널 유닛의 데이터 개수가 채널 단위와 동일해지도록 필터 프루닝하는 것일 수 있다.The pruning step may be filter pruning so that the number of data in the last channel unit of the bound data stream is equal to the channel unit.

프루닝 단계는, 정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 배수가 아니면, 프루닝 비율을 조절하는 것일 수 있다.The pruning step may be to adjust the pruning ratio if the number of output data is not a multiple of the channel unit when filter pruning is performed by a predetermined ratio.

정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 절반 보다 적으면, 프루닝 비율을 높일 수 있다. When performing filter pruning by a set ratio, if the number of output data is less than half of the channel unit, the pruning ratio can be increased.

정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 절반 보다 많으면, 프루닝 비율을 낮출 수 있다. When filter pruning is performed by a set ratio, if the number of output data is more than half of the channel unit, the pruning ratio can be lowered.

채널 유닛의 채널 단위는, 프로세서의 사양에 의해 결정될 수 있다.The channel unit of the channel unit may be determined by the specifications of the processor.

프로세서는, NPU(Neural Process Unit)일 수 있다.The processor may be a Neural Process Unit (NPU).

NPU는, 경량 딥러닝 연산 하드웨어에 탑재될 수 있다.NPU can be mounted on lightweight deep learning computing hardware.

경량 딥러닝 연산 하드웨어는, 엣지 디바이스에 구현될 수 있다.Lightweight deep learning computing hardware can be implemented on edge devices.

본 발명의 다른 측면에 따르면, 채널 유닛의 채널 단위를 기초로 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하고, 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하여, 딥러닝 모델의 다음 레이어로 전달하는 딥러닝 연산기; 및 딥러닝 연산기에 필요한 저장공간을 제공하는 메모리;를 포함하는 것을 특징으로 하는 딥러닝 연산 장치가 제공된다.According to another aspect of the present invention, the data stream output from the previous layer of the deep learning model is pruned based on the channel unit of the channel unit, and the pruned data stream is bound to a plurality of channel units to create the deep learning model. Deep learning operator that passes to the next layer of; And a memory that provides storage space required for a deep learning calculator. A deep learning computing device is provided, including a.

본 발명의 또다른 측면에 따르면, 채널 유닛의 채널 단위를 기초로, 딥러닝 모델의 레이어에서 출력되는 데이터 스트림을 프루닝하는 단계; 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 단계;를 포함하는 것을 특징으로 하는 데이터 프루닝 방법이 제공된다.According to another aspect of the present invention, pruning a data stream output from a layer of a deep learning model based on the channel unit of the channel unit; A data pruning method is provided, comprising: binding a pruned data stream to a plurality of channel units.

본 발명의 또다른 측면에 따르면, 채널 유닛의 채널 단위를 기초로 딥러닝 모델의 레이어에서 출력되는 데이터 스트림을 프루닝하고, 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 딥러닝 연산기; 및 딥러닝 연산기에 필요한 저장공간을 제공하는 메모리;를 포함하는 것을 특징으로 하는 딥러닝 연산 장치가 제공된다.According to another aspect of the present invention, a deep learning operator for pruning a data stream output from a layer of a deep learning model based on the channel unit of the channel unit and binding the pruned data stream to a plurality of channel units; And a memory that provides storage space required for a deep learning calculator. A deep learning computing device is provided, including a.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 엣지 디바이스에 적용되는 경량 딥러닝 하드웨어에서의 연산 생략 및 감소가 가능한 필터 프루닝을 수행함에 있어 NPU 사양을 고려한 맞춤형 프루닝을 통해, 하드웨어의 공간 활용도를 높이고 불필요한 연산량을 최소화할 수 있게 된다.As described above, according to embodiments of the present invention, when performing filter pruning that allows for calculation omission and reduction in lightweight deep learning hardware applied to edge devices, the hardware's It is possible to increase space utilization and minimize the amount of unnecessary calculations.

도 1. 데이터 스트림에서의 8채널 단위 바인딩
도 2 내지 도 4. 일반 프루닝 기법 적용 결과
도 5 및 도 6. NPU 맞춤형 프루닝 기법 적용 결과
도 7은 프루닝 기법에 따른 성능 비교
도 8은 본 발명의 일 실시예에 따른 딥러닝 연산 가속 하드웨어의 구성
Figure 1. 8-channel unit binding in data stream
Figures 2 to 4. Results of applying general pruning technique
Figures 5 and 6. Results of applying NPU customized pruning technique
Figure 7 compares performance according to pruning techniques.
Figure 8 shows the configuration of deep learning calculation acceleration hardware according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

본 발명의 실시예에서는 경량 딥러닝 하드웨어 장치에서 딥러닝 모델의 경량화를 위한 필터 프루닝 방법을 제시한다. 경량 딥러닝 하드웨어에서의 연산 효율성을 높이기 위해 연산 생략 및 감소가 가능한 필터 프루닝을 수행함에 있어 NPU 사양을 고려한 맞춤형 프루닝 기술이다.An embodiment of the present invention presents a filter pruning method for reducing the weight of a deep learning model in a lightweight deep learning hardware device. This is a customized pruning technology that takes NPU specifications into consideration when performing filter pruning that allows calculation omission and reduction to increase computational efficiency in lightweight deep learning hardware.

도 1은 데이터 스트림을 채널 단위로 바인딩한 예시이다. 데이터 스트림에서 32채널의 출력 feature을 8채널 단위로 바인딩을 하면 도 1과 같다. 그리고 이를 40, 45, 60% 비율로 필터 프루닝을 수행하면, 각각 20채널, 18채널, 13채널의 출력 feature을 가지게 된다.Figure 1 is an example of binding a data stream on a channel basis. Binding the 32-channel output features in the data stream in units of 8 channels is shown in Figure 1. And if filter pruning is performed at a ratio of 40, 45, and 60%, the output features will be 20 channels, 18 channels, and 13 channels, respectively.

데이터 스트림에서 각각의 출력 feature를 8 채널 유닛으로 바인딩하면 도 2, 도 3, 도 4에 제시된 바와 같다. 필터 프루닝을 통해 형성되는 채널 유닛의 개수가 적지만 도 1과 달리 8채널 보다 적은 feature를 포함한 채널 유닛이 형성되고 남은 공간에는 더미(Dummy) 값 혹은 0으로 채워지게 되면서 데이터 스트림이 저장되어 있는 DDR(Double Data Rate)의 공간 활용도가 낮아지며 불필요한 연산량이 증가된다.When each output feature in the data stream is bound to 8 channel units, it is as shown in Figures 2, 3, and 4. Although the number of channel units formed through filter pruning is small, unlike Figure 1, channel units containing fewer features than 8 channels are formed, and the remaining space is filled with dummy values or 0, where the data stream is stored. DDR (Double Data Rate) space utilization decreases and the amount of unnecessary calculations increases.

이와 같은 DDR의 비효율적인 공간 활용을 최소화하여 불필요한 연산량을 줄이기 위해 본 발명의 실시예에서는 NPU(Neural Processing Unit)의 사양에 맞추어 필터를 채널 유닛의 채널 단위로 프루닝 하는 방법을 제시한다.In order to minimize the inefficient space utilization of DDR and reduce the amount of unnecessary computation, an embodiment of the present invention proposes a method of pruning filters on a channel-by-channel basis according to the specifications of the NPU (Neural Processing Unit).

각 레이어에서 비율 만큼 프루닝 된 후의 출력 feature의 개수가 채널 유닛의 채널 단위의 배수가 아닐 경우, 다음의 두 가지 경우로 나누어 NPU 맞춤형 프루닝을 수행한다.If the number of output features after being pruned by the ratio in each layer is not a multiple of the channel unit, NPU customized pruning is divided into the following two cases.

첫 번째, 도 3과 같이 프루닝 수행 후에 출력 feature를 바인딩할 때 마지막 채널 유닛이 절반 이하 채널의 출력 feature로 구성되는 경우이다. 출력 feature의 채널 단위에 대한 나머지가 채널 단위의 절반 이하일 때 DDR에서 낭비되는 공간이 절반 이상이다. 그러므로 이 경우에는 레이어의 필터를 차지한 공간만큼 더 프루닝하여 도 5와 같이 채널 유닛 생성을 1개 적게 한다.First, as shown in Figure 3, when binding output features after performing pruning, the last channel unit is composed of output features of less than half of the channels. When the remainder of the channel unit of the output feature is less than half of the channel unit, more than half of the space wasted in DDR. Therefore, in this case, further pruning is performed by the space occupied by the filter of the layer, resulting in one less channel unit being created as shown in FIG. 5.

두 번째, 도 4와 같이 마지막 채널 유닛이 절반 이상 채널의 출력 feature로 구성되는 경우이다. 출력 feature의 채널 단위에 대한 나머지가 채널 단위의 절반 이상일 때 DDR에서 낭비되는 공간이 절반 이하이다. 그러므로 이 경우에는 레이어의 필터를 남는 공간만큼 적게 프루닝하여 도 6과 같이 마지막에 형성된 채널 유닛의 공간 낭비를 최소화한다.Second, as shown in Figure 4, the last channel unit is composed of output features of more than half of the channels. When the remainder of the channel unit of the output feature is more than half of the channel unit, the space wasted in DDR is less than half. Therefore, in this case, the filters of the layer are pruned as small as the remaining space to minimize space waste in the last formed channel unit, as shown in FIG. 6.

본 발명의 실시예에 따른 필터 프루닝 방법의 성능 검증을 위해 합성 신경망 모델 중 VGGNet16을 실험 모델로 하고 CIFAR-10를 실험 데이터셋으로 사용하여, 정확도 손실을 최소화하기 위해 반복적인 프루닝(iterative pruning) 및 재학습을 수행하였고 배치 크기(batch size)와 학습률(learning rate)과 같은 파라미터의 값은 동일하게 설정하여 실험하였다. To verify the performance of the filter pruning method according to an embodiment of the present invention, VGGNet16 among synthetic neural network models was used as an experimental model and CIFAR-10 was used as an experimental dataset, and iterative pruning was performed to minimize accuracy loss. ) and re-learning were performed, and the values of parameters such as batch size and learning rate were set to be the same.

해당 실험에서는 8채널 단위 크기의 채널 유닛으로 연산을 하는 NPU에 대한 맞춤형 프루닝 기법을 사용하였고, 일반적인 프루닝 기법(General Pruning)을 비교방법으로 사용하였다. 프루닝 비율 40%와 60%에서 비교하였으며 50%에서는 프루닝 기법에 상관없이 결과가 동일하기 때문에 제외하였다. 실험 결과는 도 7과 같이 얻을 수 있었다.In this experiment, a customized pruning technique for NPU that operates in channel units of 8 channel size was used, and general pruning was used as a comparison method. The pruning rates were compared at 40% and 60%, and the pruning rate at 50% was excluded because the results were the same regardless of the pruning technique. The experimental results were obtained as shown in Figure 7.

모델 추론을 위한 채널 유닛의 개수는 본 발명의 실시예에 따른 프루닝 방법이 적고, 심지어 프루닝 후의 모델 전체 필터 개수가 비교 방법 보다 많음에도 불구하고 제안 방법의 채널 유닛의 개수가 적었다.The number of channel units for model inference was small in the pruning method according to the embodiment of the present invention, and even though the total number of filters in the model after pruning was greater than the comparison method, the number of channel units in the proposed method was small.

이에 따라 본 발명의 실시예에 따른 프루닝 방법은 채널 유닛의 공간을 100% 사용하며 불필요한 연산이 없는 반면, 일반적인 프루닝 방법의 경우 프루닝 비율에 따라 각각 1.86%, 2.26% 만큼 사용되지 않는 공간이 낭비되고 불필요한 연산량이 있음을 알 수 있다.Accordingly, the pruning method according to the embodiment of the present invention uses 100% of the space of the channel unit and does not require unnecessary operations, whereas in the case of the general pruning method, the space is unused by 1.86% and 2.26%, respectively, depending on the pruning ratio. It can be seen that there is a lot of wasted and unnecessary computation.

또한, 본 발명의 실시예에 따른 프루닝 방법에서 조금 더 높은 정확도를 확인할 수 있다.Additionally, slightly higher accuracy can be confirmed in the pruning method according to an embodiment of the present invention.

이를 통해 본 발명의 실시예에 따른 프루닝 방법과 같이 NPU 맞춤형으로 모델을 경량화 할 경우, DDR에서 낭비하는 공간 없이 사용함으로써 보다 적은 채널 유닛의 개수를 통해 전체 하드웨어의 공간 활용도를 높이고 불필요한 연산량을 최소화하여 하드웨어 관점에서 훨씬 이득임을 알 수 있다.Through this, when lightweighting the model by customizing the NPU, such as the pruning method according to the embodiment of the present invention, it is used without wasting space in DDR, thereby increasing space utilization of the entire hardware through a smaller number of channel units and minimizing the amount of unnecessary computation. So you can see that it is much more beneficial from a hardware perspective.

도 8은 본 발명의 일 실시예에 따른 경량 딥러닝 연산 장치의 구성을 도시한 도면이다. 본 발명의 실시예에 따른 경량 딥러닝 연산 장치는, 도시된 바와 같이, 통신 인터페이스(110), 딥러닝 연산기(120) 및 메모리(130)를 포함하여 구성된다.Figure 8 is a diagram showing the configuration of a lightweight deep learning computing device according to an embodiment of the present invention. As shown, the lightweight deep learning computing device according to an embodiment of the present invention includes a communication interface 110, a deep learning calculator 120, and a memory 130.

통신 인터페이스(110)는 외부 호스트 시스템과 통신 연결하여, 데이터셋, 선행 학습된 딥러닝 모델의 파라미터(웨이트, 바이어스) 등을 수신한다. 딥러닝 연산기(120)는 탑재된 딥러닝 모델에 의한 딥러닝 연산을 수행한다. 메모리(130)는 딥러닝 연산기(120)가 연산을 수행함에 있어 필요한 저장 공간을 제공한다.The communication interface 110 communicates with an external host system and receives data sets, parameters (weight, bias) of previously learned deep learning models, etc. The deep learning calculator 120 performs deep learning calculations using a mounted deep learning model. The memory 130 provides storage space necessary for the deep learning calculator 120 to perform calculations.

한편 딥러닝 연산기(120)는 딥러닝 연산을 수행함에 있어 전술한 방법에 의한 필터 프루닝을 수행한다. 즉 채널 유닛의 채널 단위를 기초로 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하고, 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하여 딥러닝 모델의 다음 레이어로 전달한다.Meanwhile, the deep learning calculator 120 performs filter pruning using the above-described method when performing deep learning calculation. That is, the data stream output from the previous layer of the deep learning model is pruned based on the channel unit of the channel unit, and the pruned data stream is bound to a number of channel units and delivered to the next layer of the deep learning model.

이때 딥러닝 연산기(120)는 바인딩된 데이터 스트림의 마지막 채널 유닛의 데이터 개수가 채널 단위와 동일해지도록 필터 프루닝한다.At this time, the deep learning operator 120 performs filter pruning so that the number of data in the last channel unit of the bound data stream is equal to the channel unit.

즉 정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 배수가 아니면, 프루닝 비율을 조절한다. 구체적으로 정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 절반 보다 적으면,프루닝 비율을 높이고, 정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 절반 보다 많으면 프루닝 비율을 낮춘다.In other words, when filter pruning is performed by a set ratio, if the number of output data is not a multiple of the channel unit, the pruning ratio is adjusted. Specifically, when filter pruning by a set ratio, if the number of output data is less than half of the channel unit, increase the pruning ratio, and when filter pruning by a set ratio, if the number of output data is more than half of the channel unit, the pruning rate is increased. lower the ratio

채널 유닛의 채널 단위는 NPU의 사양에 의해 결정된다. 딥러닝 연산기(120)에 NPU가 아닌 다른 종류의 프로세서가 적용되는 경우에도 본 발명의 기술적 사상이 적용될 수 있다.The channel unit of the channel unit is determined by the specifications of the NPU. The technical idea of the present invention can be applied even when a type of processor other than an NPU is applied to the deep learning calculator 120.

경량 딥러닝 연산 장치는 엣지 디바이스에 구현될 수 있음은 물론, 모바일 디바이스나 그 밖의 다른 디바이스에 구현될 수 있다.Lightweight deep learning computing devices can be implemented on edge devices, as well as mobile devices and other devices.

지금까지 NPU에서 보다 효율적으로 추론할 수 있도록 딥러닝 네트워크를 경량화하는 NPU 맞춤형 프루닝 기법을 제시하였다. 이에 의해 NPU의 하드웨어 디자인 사양 따라 각 레이어의 필터를 채널 유닛의 채널 단위로 프루닝 함으로써 정확도를 유지하면서 DDR의 비효율적인 공간 활용과 불필요한 연산량을 최소화할 수 있게 된다.So far, we have presented an NPU-customized pruning technique that lightweights deep learning networks so that NPU can infer more efficiently. As a result, it is possible to minimize DDR's inefficient space utilization and unnecessary calculation volume while maintaining accuracy by pruning the filters of each layer into channel units of channel units according to the hardware design specifications of the NPU.

한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.Meanwhile, of course, the technical idea of the present invention can be applied to a computer-readable recording medium containing a computer program that performs the functions of the device and method according to this embodiment. Additionally, the technical ideas according to various embodiments of the present invention may be implemented in the form of computer-readable code recorded on a computer-readable recording medium. A computer-readable recording medium can be any data storage device that can be read by a computer and store data. For example, of course, computer-readable recording media can be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, etc. Additionally, computer-readable codes or programs stored on a computer-readable recording medium may be transmitted through a network connected between computers.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the invention pertains without departing from the gist of the present invention as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical idea or perspective of the present invention.

110 : 통신 인터페이스
120 : 딥러닝 연산기
130 : 메모리
110: communication interface
120: Deep learning calculator
130: memory

Claims (12)

채널 유닛의 채널 단위를 기초로, 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하는 단계;
프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 단계;
바인딩된 데이터 스트림을 딥러닝 모델의 다음 레이어로 전달하는 단계;를 포함하고,
프루닝 단계는,
바인딩된 데이터 스트림의 마지막 채널 유닛의 데이터 개수가 채널 단위와 동일해지도록 필터 프루닝하는 것을 특징으로 하는 딥러닝 연산 방법.
pruning the data stream output from the previous layer of the deep learning model based on the channel unit of the channel unit;
Binding the pruned data stream to a plurality of channel units;
It includes passing the bound data stream to the next layer of the deep learning model,
The pruning stage is,
A deep learning calculation method characterized by filter pruning so that the number of data in the last channel unit of the bound data stream is the same as the channel unit.
삭제delete 채널 유닛의 채널 단위를 기초로, 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하는 단계;
프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 단계;
바인딩된 데이터 스트림을 딥러닝 모델의 다음 레이어로 전달하는 단계;를 포함하고,
프루닝 단계는,
정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 배수가 아니면, 프루닝 비율을 조절하는 것을 특징으로 하는 딥러닝 연산 방법.
pruning the data stream output from the previous layer of the deep learning model based on the channel unit of the channel unit;
Binding the pruned data stream to a plurality of channel units;
It includes passing the bound data stream to the next layer of the deep learning model,
The pruning stage is,
A deep learning calculation method characterized by adjusting the pruning ratio if the number of output data is not a multiple of the channel unit when performing filter pruning by a set ratio.
청구항 3에 있어서,
정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 절반 보다 적으면, 프루닝 비율을 높이는 것을 특징으로 하는 딥러닝 연산 방법.
In claim 3,
A deep learning calculation method characterized by increasing the pruning ratio when the number of output data is less than half of the channel unit when performing filter pruning by a set ratio.
청구항 3에 있어서,
정해진 비율 만큼 필터 프루닝할 경우 출력 데이터의 개수가 채널 단위의 절반 보다 많으면, 프루닝 비율을 낮추는 것을 특징으로 하는 딥러닝 연산 방법.
In claim 3,
A deep learning calculation method characterized by lowering the pruning rate if the number of output data is more than half of the channel unit when performing filter pruning by a set ratio.
청구항 1에 있어서,
채널 유닛의 채널 단위는,
프로세서의 사양에 의해 결정되는 것을 특징으로 하는 딥러닝 연산 방법.
In claim 1,
The channel unit of the channel unit is,
A deep learning calculation method characterized by being determined by the specifications of the processor.
청구항 6에 있어서,
프로세서는,
NPU(Neural Process Unit)인 것을 특징으로 하는 딥러닝 연산 방법.
In claim 6,
The processor is
A deep learning calculation method characterized by a Neural Process Unit (NPU).
청구항 7에 있어서,
NPU는,
경량 딥러닝 연산 하드웨어에 탑재된 것을 특징으로 하는 딥러닝 연산 방법.
In claim 7,
NPU is,
A deep learning calculation method characterized by being mounted on lightweight deep learning calculation hardware.
청구항 1에 있어서,
경량 딥러닝 연산 하드웨어는,
엣지 디바이스에 구현된 것을 특징으로 하는 딥러닝 연산 방법.
In claim 1,
Lightweight deep learning computing hardware,
A deep learning calculation method characterized by being implemented on an edge device.
채널 유닛의 채널 단위를 기초로 딥러닝 모델의 이전 레이어에서 출력되는 데이터 스트림을 프루닝하고, 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하여, 딥러닝 모델의 다음 레이어로 전달하는 딥러닝 연산기; 및
딥러닝 연산기에 필요한 저장공간을 제공하는 메모리;를 포함하고,
딥러닝 연산기는,
바인딩된 데이터 스트림의 마지막 채널 유닛의 데이터 개수가 채널 단위와 동일해지도록 필터 프루닝하는 것을 특징으로 하는 딥러닝 연산 장치.
Deep learning that prunes the data stream output from the previous layer of the deep learning model based on the channel unit of the channel unit, binds the pruned data stream to multiple channel units, and passes it to the next layer of the deep learning model. calculator; and
Includes a memory that provides storage space required for deep learning computing,
Deep learning calculator,
A deep learning computing device characterized by filter pruning so that the number of data in the last channel unit of the bound data stream is equal to the channel unit.
채널 유닛의 채널 단위를 기초로, 딥러닝 모델의 레이어에서 출력되는 데이터 스트림을 프루닝하는 단계;
프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 단계;를 포함하고,
프루닝 단계는,
바인딩된 데이터 스트림의 마지막 채널 유닛의 데이터 개수가 채널 단위와 동일해지도록 필터 프루닝하는 것을 특징으로 하는 데이터 프루닝 방법.
pruning the data stream output from the layer of the deep learning model based on the channel unit of the channel unit;
Binding the pruned data stream to a plurality of channel units,
The pruning stage is,
A data pruning method characterized by filter pruning so that the number of data in the last channel unit of the bound data stream is equal to the channel unit.
채널 유닛의 채널 단위를 기초로 딥러닝 모델의 레이어에서 출력되는 데이터 스트림을 프루닝하고, 프루닝된 데이터 스트림을 다수의 채널 유닛들로 바인딩하는 딥러닝 연산기; 및
딥러닝 연산기에 필요한 저장공간을 제공하는 메모리;를 포함하고,
딥러닝 연산기는,
바인딩된 데이터 스트림의 마지막 채널 유닛의 데이터 개수가 채널 단위와 동일해지도록 필터 프루닝하는 것을 특징으로 하는 딥러닝 연산 장치.
A deep learning operator that prunes the data stream output from the layer of the deep learning model based on the channel unit of the channel unit and binds the pruned data stream to a plurality of channel units; and
Includes a memory that provides storage space required for deep learning computing,
Deep learning calculator,
A deep learning computing device characterized by filter pruning so that the number of data in the last channel unit of the bound data stream is equal to the channel unit.
KR1020220177740A 2022-12-19 2022-12-19 Data Pruning Method for Lightweight Deep Learning Hardware Devices KR102621263B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220177740A KR102621263B1 (en) 2022-12-19 2022-12-19 Data Pruning Method for Lightweight Deep Learning Hardware Devices
PCT/KR2022/020663 WO2024135860A1 (en) 2022-12-19 2022-12-19 Data pruning method for lightweight deep-learning hardware device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220177740A KR102621263B1 (en) 2022-12-19 2022-12-19 Data Pruning Method for Lightweight Deep Learning Hardware Devices

Publications (1)

Publication Number Publication Date
KR102621263B1 true KR102621263B1 (en) 2024-01-05

Family

ID=89541106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220177740A KR102621263B1 (en) 2022-12-19 2022-12-19 Data Pruning Method for Lightweight Deep Learning Hardware Devices

Country Status (2)

Country Link
KR (1) KR102621263B1 (en)
WO (1) WO2024135860A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190098671A (en) * 2018-02-14 2019-08-22 삼성전자주식회사 High speed processing method of neural network and apparatus using thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190098671A (en) * 2018-02-14 2019-08-22 삼성전자주식회사 High speed processing method of neural network and apparatus using thereof

Also Published As

Publication number Publication date
WO2024135860A1 (en) 2024-06-27

Similar Documents

Publication Publication Date Title
EP3076310B1 (en) Variable virtual split dictionary for search optimization
US11941533B1 (en) Compiler for performing zero-channel removal
US11481612B1 (en) Storage of input values across multiple cores of neural network inference circuit
WO2021103597A1 (en) Method and device for model compression of neural network
CN110909874A (en) Convolution operation optimization method and device of neural network model
CN109754789A (en) The recognition methods of phoneme of speech sound and device
CN113392962A (en) Method, device and circuit for decoding weights of neural network
CN107256424A (en) Three value weight convolutional network processing systems and method
CN111984414B (en) Data processing method, system, equipment and readable storage medium
KR102621263B1 (en) Data Pruning Method for Lightweight Deep Learning Hardware Devices
CN112836813A (en) Reconfigurable pulsation array system for mixed precision neural network calculation
KR102432809B1 (en) Neural Network Apparatus for Resource Efficient Inference
CN113869495B (en) Method, device, equipment and readable medium for optimizing convolutional weight layout of neural network
CN114005458A (en) Voice noise reduction method and system based on pipeline architecture and storage medium
CN112200310B (en) Intelligent processor, data processing method and storage medium
CN108347300A (en) A kind of method, apparatus and device for encoding and decoding of adjustment Polar codes
WO2018135516A1 (en) Neural network learning device, neural network learning method, and recording medium on which neural network learning program is stored
CN111126501B (en) Image identification method, terminal equipment and storage medium
CN115759979B (en) Intelligent process processing method and system based on RPA and process mining
CN111027693A (en) Neural network compression method and system based on weight-removing pruning
CN111602145A (en) Optimization method of convolutional neural network and related product
CN112766479B (en) Neural network accelerator supporting channel separation convolution based on FPGA
CN111737190B (en) Dynamic software and hardware cooperation method of embedded system and embedded system
KR20230026813A (en) Gate level pruning method and apparatus for LSTM acceleration
CN113888390A (en) Feature map processing method and device, electronic equipment and computer readable medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant