심층 신경망 학습 연산 재배열을 통한 NPU 온칩 메모리 활용 향상 방법 및 시스템
Method and System for Improving the Utilization of NPU On-Chip Memory with Computation Rearrangement for DNN Training
특허 요약
심층 신경망 학습 연산 재배열을 통한 NPU 온칩 메모리 동작 방법 및 시스템이 제시된다. 본 발명에서 제안하는 심층 신경망 학습 연산 재배열을 통한 NPU 온칩 메모리 동작 방법은 인터리빙 연산부의 역방향 전파의 인터리빙 연산을 통해 입력 및 가중치 변화율 계산을 재배열하여 출력 변화율에 대한 데이터를 재사용하는 단계, 메모리 액세스 순서 재배열부가 잠재적 데이터 인접성을 최대화하기 위해 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 메모리 액세스 순서를 재배열하는 단계 및 SPM(ScratchPad Memory) 할당부를 통해 상기 역방향 전파에 관한 상기 텐서에 대하여 세분화된 SPM를 할당하는 단계를 포함한다.
청구항
번호청구항
1

인터리빙 연산부의 역방향 전파의 인터리빙 연산을 통해 입력 및 가중치 변화율 계산을 재배열하여 출력 변화율에 대한 데이터를 재사용하는 단계; 메모리 액세스 순서 재배열부가 잠재적 데이터 인접성을 최대화하기 위해 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 메모리 액세스 순서를 재배열하는 단계; 및 SPM(ScratchPad Memory) 할당부를 통해 상기 역방향 전파에 관한 상기 텐서에 대하여 세분화된 SPM를 할당하는 단계를 포함하는 NPU 온칩 메모리 동작 방법.

2

제1항에 있어서,상기 인터리빙 연산부의 역방향 전파의 인터리빙 연산을 통해 입력 및 가중치 변화율 계산을 재배열하여 출력 변화율에 대한 데이터를 재사용하는 단계는, 부족한 데이터 저장공간을 확보하기 위해 복수의 타일 단위로 처리되는 일반 행렬 대 행렬 곱(General Matrix to Matrix Multiplication; GEMM)을 이용하고,레이어의 출력 변화율을 이용하는 입력 변화율과 가중치 변화율에 대한 두 개의 연산이 상호 의존성이 없는 경우에만 메모리 액세스 및 계산 작업의 순서를 변경하는 상기 역방향 전파의 인터리빙 연산을 수행하는 NPU 온칩 메모리 동작 방법.

3

제2항에 있어서,상기 인터리빙 연산부의 역방향 전파의 인터리빙 연산을 통해 입력 및 가중치 변화율 계산을 재배열하여 출력 변화율에 대한 데이터를 재사용하는 단계는, 상기 입력 변화율과 가중치 변화율에 대한 두 개의 연산의 상호 의존성을 판단하기 위해 다음 레이어의 출력 변화율을 이용하여 상기 다음 레이어의 입력 변화율과 상기 다음 레이어의 가중치 변화율을 연산한 후, 상기 다음 레이어의 입력 변화율을 현재 레이어의 출력 변화율로서 사용하여 상기 현재 레이어의 가중치 변화율 및 상기 현재 레이어의 입력 변화율을 계산하고,상기 다음 레이어 및 상기 현재 레이어 간의 가중치 변화율 계산이 필요 없는 또 다른 레이어가 존재하는 경우, 상기 다음 레이어의 입력 변화율을 이용하여 상기 또 다른 레이의 역전파를 수행하고, 현재 레이어의 출력 변화율을 연산하는 NPU 온칩 메모리 동작 방법.

4

제1항에 있어서,상기 메모리 액세스 순서 재배열부가 잠재적 데이터 인접성을 최대화하기 위해 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 메모리 액세스 순서를 재배열하는 단계는, 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 입력 변화율에 대한 행-우선 액세스(row-major accesses)와 가중치 변화율에 대한 열-우선 액세스(column-major accesses)를 사용하는 액세스 순서, 입력 변화율과 가중치 변화율 모두에 대한 행-우선 액세스를 사용하는 액세스 순서 및 입력 변화율 및 가중치 변화율 모두에 대한 열-우선 액세스를 사용하는 액세스 순서를 포함하는 세 가지 메모리 액세스 순서를 사용하여 메모리 액세스 순서를 재배열함으로써 출력 변화율의 데이터 재사용을 증가시키는 NPU 온칩 메모리 동작 방법.

5

제1항에 있어서,상기 SPM(ScratchPad Memory) 할당부를 통해 상기 역방향 전파에 관한 상기 텐서에 대하여 세분화된 SPM를 할당하는 단계는, SPM 할당이 재배열된 역방향 전파의 인터리빙 연산 진행률과 일치하도록 서로 다른 텐서에 SPM을 할당하고, 상기 역방향 전파의 인터리빙 연산은 복수의 이중 버퍼를 갖는 SPM의 로드 연산으로 나뉘므로, 절반 크기의 SPM의 로드 연산이 실행될 때마다 각 텐서의 비율을 조정하는 절반당 할당을 이용하며, 상기 절반 크기의 SPM의 로드 연산이 실행 순서에 따라 절반당 할당의 연산 목록을 생성하고 반환하는NPU 온칩 메모리 동작 방법.

6

역방향 전파의 인터리빙 연산을 통해 입력 및 가중치 변화율 연산을 재배열하여 출력 변화율에 대한 데이터를 재사용하는 인터리빙 연산부; 잠재적 데이터 인접성을 최대화하기 위해 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 메모리 액세스 순서를 재배열하는 메모리 액세스 순서 재배열부; 및 상기 역방향 전파에 관한 상기 텐서에 대하여 세분화된 SPM(ScratchPad Memory)를 할당하는 SPM 할당부를 포함하는 NPU 온칩 메모리 시스템.

7

제6항에 있어서,상기 인터리빙 연산부는, 부족한 데이터 저장공간을 확보하기 위해 복수의 타일 단위로 처리되는 일반 행렬 대 행렬 곱(General Matrix to Matrix Multiplication; GEMM)을 이용하고,레이어의 출력 변화율을 이용하는 입력 변화율과 가중치 변화율에 대한 두 개의 연산이 상호 의존성이 없는 경우에만 메모리 액세스 및 계산 작업의 순서를 변경하는 상기 역방향 전파의 인터리빙 연산을 수행하며, 상기 입력 변화율과 가중치 변화율에 대한 두 개의 연산의 상호 의존성을 판단하기 위해 다음 레이어의 출력 변화율을 이용하여 상기 다음 레이어의 입력 변화율과 상기 다음 레이어의 가중치 변화율을 연산한 후, 상기 다음 레이어의 입력 변화율을 현재 레이어의 출력 변화율로서 사용하여 상기 현재 레이어의 가중치 변화율 및 상기 현재 레이어의 입력 변화율을 계산하고,상기 다음 레이어 및 상기 현재 레이어 간의 가중치 변화율 계산이 필요 없는 또 다른 레이어가 존재하는 경우, 상기 다음 레이어의 입력 변화율을 이용하여 상기 또 다른 레이의 역전파를 수행하고, 현재 레이어의 출력 변화율을 연산하는 NPU 온칩 메모리 시스템.

8

제6항에 있어서,상기 메모리 액세스 순서 재배열부는, 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 입력 변화율에 대한 행-우선 액세스(row-major accesses)와 가중치 변화율에 대한 열-우선 액세스(column-major accesses)를 사용하는 액세스 순서, 입력 변화율과 가중치 변화율 모두에 대한 행-우선 액세스를 사용하는 액세스 순서 및 입력 변화율 및 가중치 변화율 모두에 대한 열-우선 액세스를 사용하는 액세스 순서를 포함하는 세 가지 메모리 액세스 순서를 사용하여 메모리 액세스 순서를 재배열함으로써 출력 변화율의 데이터 재사용을 증가시키는 NPU 온칩 메모리 시스템.

9

제6항에 있어서,상기 SPM 할당부는, SPM 할당이 재배열된 역방향 전파의 인터리빙 연산 진행률과 일치하도록 서로 다른 텐서에 SPM을 할당하고, 상기 역방향 전파의 인터리빙 연산은 복수의 이중 버퍼를 갖는 SPM의 로드 연산으로 나뉘므로, 절반 크기의 SPM의 로드 연산이 실행될 때마다 각 텐서의 비율을 조정하는 절반당 할당을 이용하며, 상기 절반 크기의 SPM의 로드 연산이 실행 순서에 따라 절반당 할당의 연산 목록을 생성하고 반환하는NPU 온칩 메모리 시스템.

10

NPU 온칩 메모리 동작 방법을 실행시키기 위해 컴퓨터 판독 가능한 저장 매체에 저장된 프로그램에 있어서, 인터리빙 연산부의 역방향 전파의 인터리빙 연산을 통해 입력 및 가중치 변화율 계산을 재배열하여 출력 변화율에 대한 데이터를 재사용하는 단계; 메모리 액세스 순서 재배열부가 잠재적 데이터 인접성을 최대화하기 위해 상기 역방향 전파의 인터리빙 연산에 대한 텐서 크기에 따라 메모리 액세스 순서를 재배열하는 단계; 및 SPM(ScratchPad Memory) 할당부를 통해 상기 역방향 전파에 관한 상기 텐서에 대하여 세분화된 SPM를 할당하는 단계를 포함하는 컴퓨터 판독 가능한 저장 매체에 저장된 프로그램.