뉴럴 네트워크 가속 장치 및 그의 연산 방법
NEURAL NETWORK ACCELERATOR AND CALCULATION METHOD THEREOF
특허 요약
뉴럴 네트워크 가속 장치가 개시된다. 본 가속 장치는 메모리, 메모리와 연결되고, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다. 프로세서는, 뉴럴 네트워크의 양자화 수행 단위마다 백분율 구간이 설정되는 경우, 수행 단위 별로 가중치 및 활성화값을 입력받아 병렬적으로 연산하고, 연산의 출력값을 입력받아 값을 분류하고, 분류된 값을 미리 결정된 값 구간 별로 누적하며, 누적된 값 구간에 기초하여 상기 백분율 구간의 상한율에 대응하는 상한값 및 하한율에 대응하는 하한값을 산출하고, 산출된 상한값 및 상기 하한값에 기초하여, 상기 연산의 출력값에 대한 양자화를 수행할 수 있다. 본 가속 장치가 제공됨으로써, 연산 정확도가 향상될 수 있다.
청구항
번호청구항
1

삭제

2

삭제

3

삭제

4

삭제

5

삭제

6

뉴럴 네트워크 가속 장치로서,메모리; 및상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,상기 프로세서는,뉴럴 네트워크의 양자화 수행 단위마다 백분율 구간이 설정되는 경우, 상기 수행 단위 별로 상기 메모리에 저장된 가중치(weight) 및 활성화값(activation)을 입력받아 병렬적으로 연산하는 연산부;상기 연산부의 출력값을 입력받아 값을 분류하는 비교부, 상기 비교부의 분류된 값을 미리 결정된 값 구간 별로 누적하는 카운터, 및 상기 카운터의 누적된 값 구간에 기초하여 상기 백분율 구간의 상한율(Pmax)에 대응하는 상한값(V(Pmax)) 및 하한율(Pmin)에 대응하는 하한값(V(Pmin))을 산출하는 백분율 체커를 포함하는 값구간 산출부; 및상기 산출된 상한값(V(Pmax)) 및 상기 하한값(V(Pmin))에 기초하여, 상기 값구간 산출부의 출력값에 대한 양자화를 수행하는 양자화부를 포함하고,상기 메모리는,상기 뉴럴 네트워크의 가중치를 저장하는 제1 메모리; 및활성화값을 저장하는 제2 메모리를 포함하고,상기 연산부는,상기 제1 메모리 및 제2 메모리로부터 병렬적으로 데이터를 입력받아 벡터 내적 연산을 수행하고 바이어스(bias)를 반영하여 상기 값구간 산출부로 제공하도록 구성되고,상기 값구간 산출부는,상기 연산부의 출력값을 상기 양자화부로 전달하고, 상기 연산부의 부분합을 상기 제2 메모리로 제공하도록 구성되고,상기 양자화부는,상기 값구간 산출부로부터 입력된 값을 양자화하여 최종 출력값을 상기 제2 메모리에 저장하도록 구성되고,상기 값구간 산출부의 백분율 체커는,상기 입력된 활성화값의 개수가 M 이라고 할 때, M/(100 * Pmax) 을 초과하는 카운터에 해당하는 실수값을 상기 상한값(V(Pmax))으로 설정하고, M/(100 * Pmin) 을 초과하는 카운터에 해당하는 실수값을 상기 하한값(V(Pmin))으로 설정하도록 구성되는, 뉴럴 네트워크 가속 장치.

7

삭제

8

삭제

9

뉴럴 네트워크 가속 장치의 연산 방법으로서,뉴럴 네트워크의 양자화 수행 단위마다 백분율 구간이 설정되는 경우, 상기 수행 단위 별로 가중치(weight) 및 활성화값(activation)을 입력받아 병렬적으로 연산하는 단계;상기 연산의 출력값을 입력받아 값을 분류하고, 분류된 값을 미리 결정된 값 구간 별로 누적하는 단계;상기 누적된 값 구간에 기초하여 상기 백분율 구간의 상한율(Pmax)에 대응하는 상한값(V(Pmax)) 및 하한율(Pmin)에 대응하는 하한값(V(Pmin))을 산출하는 단계; 및상기 산출된 상한값(V(Pmax)) 및 상기 하한값(V(Pmin))에 기초하여, 상기 연산의 출력값에 대한 양자화를 수행하는 단계를 포함하고,상기 병렬적으로 연산하는 단계는,상기 뉴럴 네트워크의 양자화 수행 단위의 바이어스(bias)를 반영하는 단계를 포함하고,상기 산출하는 단계는, 상기 입력된 활성화값의 개수가 M 이라고 할 때, M/(100 * Pmax) 을 초과하는 카운터에 해당하는 실수값을 상기 상한값(V(Pmax))으로 설정하고, M/(100 * Pmin) 을 초과하는 카운터에 해당하는 실수값을 상기 하한값(V(Pmin))으로 설정하는 단계를 포함하는, 연산 방법.

10

컴퓨터와 결합되어, 제9항의 연산 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.

11

뉴럴 네트워크 가속 장치의 연산부 및 양자화부 사이에 연결되고, 백분율 구간 기반으로 입력값의 분포를 결정하는 값구간 산출기로서,상기 연산부의 출력값을 입력받아 값을 분류하는 비교부, 상기 비교부의 분류된 값을 미리 결정된 값 구간 별로 누적하는 카운터, 및 상기 카운터의 누적된 값 구간에 기초하여 상기 백분율 구간의 상한율(Pmax)에 대응하는 상한값(V(Pmax)) 및 하한율(Pmin)에 대응하는 하한값(V(Pmin))을 산출하는 백분율 체커를 포함하고,상기 연산부의 출력값은, 뉴럴 네트워크의 양자화 수행 단위마다 백분율 구간이 설정되는 경우, 상기 수행 단위 별로 상기 뉴럴 네트워크의 가중치(weight) 및 활성화값(activation)에 대해 병렬적으로 벡터 내적 연산을 수행하고 바이어스(bias)를 반영한 값이며,상기 값구간 산출부의 백분율 체커는,상기 입력된 활성화값의 개수가 M 이라고 할 때, M/(100 * Pmax) 을 초과하는 카운터에 해당하는 실수값을 상기 상한값(V(Pmax))으로 설정하고, M/(100 * Pmin) 을 초과하는 카운터에 해당하는 실수값을 상기 하한값(V(Pmin))으로 설정하도록 구성되는, 값구간 산출기.