신경망 가속기 및 그것의 동작 방법
NEURAL NETWORK ACCELERATOR AND OPERATING METHOD THEREOF
특허 요약
본 발명은 채널 루프 타일링(Channel Loop Tiling)을 기반으로 동작하는 신경망 가속기 및 그것의 동작 방법에 관한 것이다. 본 발명의 하나의 실시 예에 따른 신경망 가속기는 제1 타일링된 입력 특징 맵과 제1 타일링된 필터 데이터를 기반으로 제1 연산 결과를 산출하도록 구성된 연산기, 신경망 가속기제1 타일링된 입력 특징 맵의 제1 비트 폭보다 확장된 제2 비트 폭을 기반으로 신경망 가속기제1 연산 결과를 양자화하여 양자화 결과를 생성하도록 구성된 양자화기, 신경망 가속기양자화 결과를 압축하여 부분 합을 생성하도록 구성된 압축기, 및 신경망 가속기부분 합을 압축 해제하여 제2 연산 결과를 생성하도록 구성된 압축 해제기를 포함하고, 신경망 가속기연산기는 제2 타일링된 입력 특징 맵, 제2 타일링된 필터 데이터, 및 신경망 가속기제2 연산 결과를 기반으로 제3 연산 결과를 산출하고, 신경망 가속기제3 연산 결과에 기초하여 출력 특징 맵이 생성된다.
청구항
번호청구항
7

제 5 항에 있어서,상기 부분 합은 상기 런-렝스 인코더로부터 생성된 상기 압축 비트들 및 상기 양자화 결과 중 상기 일부 비트들을 제외한 나머지 비트들을 포함하는 신경망 가속기.

1

제1 타일링된 입력 특징 맵과 제1 타일링된 필터 데이터를 기반으로 제1 연산 결과를 산출하도록 구성된 연산기;상기 제1 타일링된 입력 특징 맵의 제1 비트 폭보다 확장된 제2 비트 폭을 기반으로 상기 제1 연산 결과를 양자화하여 양자화 결과를 생성하도록 구성된 양자화기;상기 양자화 결과를 압축하여 부분 합을 생성하도록 구성된 압축기; 및상기 부분 합을 압축 해제하여 제2 연산 결과를 생성하도록 구성된 압축 해제기를 포함하고,상기 연산기는 제2 타일링된 입력 특징 맵, 제2 타일링된 필터 데이터, 및 상기 제2 연산 결과를 기반으로 제3 연산 결과를 산출하고,상기 제3 연산 결과에 기초하여 출력 특징 맵이 생성되는 신경망 가속기.

2

제 1 항에 있어서,상기 연산기는,상기 제2 타일링된 입력 특징 맵과 상기 제2 타일링된 필터 데이터를 곱하여 곱셈 결과를 생성하는 곱셈기; 및상기 곱셈 결과와 상기 제2 연산 결과를 더하여 상기 제3 연산 결과를 생성하는 누적기를 포함하는 신경망 가속기.

3

제 1 항에 있어서,상기 양자화기는 반올림을 통해 상기 제1 연산 결과를 양자화하는 신경망 가속기.

4

제 1 항에 있어서,상기 양자화 결과는 부호 비트와 정수 부분 및 소수 부분으로 구성된 나머지 비트들을 포함하고,상기 정수 부분 및 상기 소수 부분 중 적어도 하나는 상기 제2 비트 폭에 따라 비트 폭이 확장된 신경망 가속기.

5

제 4 항에 있어서,상기 압축기는,상기 양자화 결과의 상기 나머지 비트들 중 일부 비트들의 절대 값을 생성하도록 구성되는 절대 값 생성 로직; 및상기 생성된 절대 값을 기반으로 런-렝스 인코딩(run-length encoding)을 수행하여 압축 비트들을 생성하도록 구성된 런-렝스 인코더를 포함하는 신경망 가속기.

6

제 5 항에 있어서,상기 일부 비트들은 상기 제1 비트 폭과 상기 제2 비트 폭 사이의 비트 폭 차이에 기초하여 상기 나머지 비트들 중 상위 비트부터 하위 비트의 순서로 선정되는 신경망 가속기.

8

제 1 항에 있어서,상기 압축기는 상기 생성된 부분 합을 외부 메모리에 저장하고,상기 압축 해제기는 상기 외부 메모리로부터 상기 저장된 부분 합을 수신하는 신경망 가속기.

9

제 1 항에 있어서,상기 양자화기는 상기 제1 비트 폭에 기초하여 상기 제3 연산 결과를 양자화하여 상기 출력 특징 맵을 생성하는 신경망 가속기.

10

채널 루프 타일링을 기반으로 동작하는 신경망 가속기의 동작 방법에 있어서,제1 타일링된 입력 특징 맵과 제1 타일링된 필터 데이터를 기반으로 제1 연산 결과를 생성하는 단계;상기 제1 타일링된 입력 특징 맵의 제1 비트 폭보다 확장된 제2 비트 폭을 기반으로 상기 제1 연산 결과를 양자화하여 제1 양자화 결과를 생성하는 단계;상기 제1 양자화 결과를 압축하여 제1 부분 합을 생성하는 단계;상기 생성된 제1 부분 합을 외부 메모리에 저장하는 단계; 및제2 타일링된 입력 특징 맵, 제2 타일링된 필터 데이터, 및 상기 외부 메모리로부터 제공된 상기 제1 부분 합을 기반으로 제2 연산 결과를 생성하는 단계를 포함하는 동작 방법.

11

제 10 항에 있어서,상기 제2 연산 결과를 생성하는 단계는,상기 제2 타일링된 입력 특징 맵과 상기 제2 타일링된 필터 데이터를 곱하여 곱셈 결과를 생성하는 단계; 및상기 곱셈 결과 및 상기 제1 부분 합을 더하여 상기 제2 연산 결과를 생성하는 단계를 포함하는 동작 방법.

12

제 10 항에 있어서,상기 제2 타일링된 입력 특징 맵 및 상기 제2 타일링된 필터 데이터가 마지막 데이터가 아닌 경우, 상기 제2 비트 폭을 기반으로 상기 제2 연산 결과를 양자화하여 제2 양자화 결과를 생성하는 단계;상기 제2 양자화 결과를 압축하여 제2 부분 합을 생성하는 단계;상기 생성된 제2 부분 합을 상기 외부 메모리에 저장하는 단계; 및제3 타일링된 입력 특징 맵, 제3 타일링된 필터 데이터, 및 상기 외부 메모리로부터 제공된 상기 제2 부분 합을 기반으로 제3 연산 결과를 생성하는 단계를 더 포함하는 동작 방법.

13

제 10 항에 있어서,상기 제2 타일링된 입력 특징 맵 및 상기 제2 타일링된 필터 데이터가 마지막 데이터인 경우,상기 제1 비트 폭을 기반으로 상기 제2 연산 결과를 양자화하여 제3 양자화 결과를 생성하는 단계; 및상기 제3 양자화 결과에 기초하여 출력 특징 맵을 생성하는 단계를 더 포함하는 동작 방법.

14

제 10 항에 있어서,상기 제1 양자화 결과는 부호 비트와 정수 부분 및 소수 부분으로 구성된 나머지 비트들을 포함하고,상기 정수 부분 및 상기 소수 부분 중 적어도 하나는 상기 제2 비트 폭에 따라 비트 폭이 확장된 동작 방법.

15

제 14 항에 있어서,상기 제1 부분 합을 생성하는 단계는,상기 제1 양자화 결과의 상기 나머지 비트들 중 일부 비트들의 절대 값을 생성하는 단계; 및상기 생성된 절대 값을 기반으로 런-렝스 인코딩을 수행하는 단계를 포함하는 동작 방법.

16

제 15 항에 있어서,상기 일부 비트들은 상기 제1 비트 폭과 상기 제2 비트 폭 사이의 비트 폭 차이에 기초하여 상기 나머지 비트들 중 상위 비트부터 하위 비트의 순서로 선정되는 동작 방법.