KR20190091858A - Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조 - Google Patents

Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조 Download PDF

Info

Publication number
KR20190091858A
KR20190091858A KR1020180010945A KR20180010945A KR20190091858A KR 20190091858 A KR20190091858 A KR 20190091858A KR 1020180010945 A KR1020180010945 A KR 1020180010945A KR 20180010945 A KR20180010945 A KR 20180010945A KR 20190091858 A KR20190091858 A KR 20190091858A
Authority
KR
South Korea
Prior art keywords
cnn
rnn
unit
processor structure
heterogeneous processor
Prior art date
Application number
KR1020180010945A
Other languages
English (en)
Other versions
KR102098713B1 (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 KR1020180010945A priority Critical patent/KR102098713B1/ko
Priority to US15/888,102 priority patent/US11263515B2/en
Publication of KR20190091858A publication Critical patent/KR20190091858A/ko
Application granted granted Critical
Publication of KR102098713B1 publication Critical patent/KR102098713B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조에 따르면, CNN의 activation에 요구되는 data bit수를 줄임과 동시에, 외부 메모리 접근을 최소화할 수 있도록 입력 분할 형태가 조절되며, 군집화 테이블 기반의 곱셈기를 이용함으로써 RNN 가중치 파라미터에 대한 외부 메모리 접근을 최소화하고, 연산기의 전력 효율과 면적 효율을 극대화하여 하나의 프로세서 칩에서 CNN과 RNN을 모두 고에너지 효율로 처리할 수 있으며, 제어부, 메모리부, 데이터버스, 외부 인터페이스를 공유하여 단일 아키텍처 형태의 뉴럴 네트워크 프로세서 또는 단순한 CNN과 RNN의 집적된 구조의 프로세서보다 면적과 전력 소모를 감소시킬 수 있는 효과가 있다.

Description

CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조{Heterogenous Processor Architecture to Integrate CNN and RNN Neural Networks on a Single Chip}
본 발명은 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조에 관한 것으로, 더욱 상세하게는 뉴럴 네트워크 프로세서에서 CNN과 RNN의 연산에서의 에너지 효율을 극대화하기 위하여 CNN 연산부와 RNN 연산부를 하나의 고성능 저전력 칩으로 집적한 이기종 프로세서 구조에 관한 것이다.
최근 딥러닝(deep learning) 이라고 통칭되는 분야의 발전과 함께 다양한 분양에서 뉴럴 네트워크(neural network)의 수요가 급증하고 있다.
뉴럴 네트워크(neural network)의 일종인 CNN(convolutional neural network)은 영상의 특징 추출 및 분류에 강점이 있어 물체 인식, 얼굴 인식 등에 사용되며, 또 다른 종류인 RNN(recurrent neural network)은 음성이나 문자열 등 순차적인 정보 처리에 강점이 있어 음성 인식, 번역 등에 사용된다.
또한, CNN과 RNN을 함께 사용함으로써 행동 인식이나 이미지 캡셔닝 등 보다 복잡한 적용도 가능하다.
뉴럴 네트워크의 성능을 향상시키기 위해, 보다 크고 복잡한 뉴럴 네트워크가 사용되고 있으며, 이와 함께 뉴럴 네트워크 프로세싱에 필요한 연산과 데이터 요구량이 기하급수적으로 증대되고 있다.
따라서 이를 효과적으로 처리하기 위한 뉴럴 네트워크 전용 프로세서 칩이 개발되고 있다.
하지만, 기존의 뉴럴 네트워크 전용 프로세서에서는 하나의 프로세서 내의 동일한 아키텍처를 갖는 연산부에서 뉴럴 네트워크 연산을 처리하였으며, 이러한 프로세서에서는 CNN과 RNN은 그 연산이 크게 달라서 동시에 최적화되어 처리될 수 없었고, CNN과 RNN 각각에 성능이 단독 칩일 경우보다 저하되어 전반적으로 연산 효율성이 감소되는 문제점이 있었다.
아울러, CNN과 RNN이 하나의 칩으로 제대로 설계되지 않으면 CNN과 RNN 각각에 성능이 단독 칩일 경우보다 저하되어 전반적으로 연산 효율성이 감소되는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, CNN의 activation에 요구되는 data bit수를 줄임과 동시에, 외부 메모리 접근을 최소화할 수 있도록 입력 분할 형태가 조절되며, 군집화 테이블 기반의 곱셈기를 이용함으로써 RNN 가중치 파라미터에 대한 외부 메모리 접근을 최소화하고, 연산기의 전력 효율과 면적 효율을 극대화하여 하나의 프로세서 칩에서 CNN과 RNN을 모두 고에너지 효율로 처리할 수 있으며, 제어부, 메모리부, 데이터버스부, 외부 인터페이스를 공유하여 단일 아키텍처 형태의 뉴럴 네트워크 프로세서 또는 단순한 CNN과 RNN의 집적된 구조의 프로세서보다 면적과 전력 소모를 감소시킬 수 있는 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조를 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명의 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조는, 뉴럴 네트워크 프로세서 구조에 있어서, CNN을 수행하여 처리하는 CNN 연산부와, RNN을 수행하여 처리하는 RNN 연산부와, 제어를 수행하는 연산제어부와, 상기 연산부에서 사용될 데이터가 저장된 메모리부와, 외부와 데이터를 주고 받기위한 인터페이스부와, 구성 요소 간 데이터 이동이 수행되도록 하는 데이터버스부가 포함되어 온 칩 형태의 집적회로로 구성되며; 상기 CNN 연산부는 입력 데이터를 이미지 분할 방식과 채널 분할 방식을 혼합한 혼합 분할 방식을 통해 데이터 처리가 이루어지고; 상기 CNN을 이루는 fully-connected 레이어는 RNN 연산부를 공유하여 데이터 처리가 이루어지는 것을 특징으로 한다.
상기 CNN 연산부에서 정수부 길이 및 소수부 길이는 동일한 레이어에서 고정되고, 상이한 레이어에 걸쳐 동적으로 변화될 수 있다.
상기 CNN 연산부는 오버플로우 계수 및 언더플로우 계수를 검출하여 정수부와 소수부의 길이를 자동으로 변경할 수 있다.
상기 CNN 연산부는 오버플로우 계수가 임계 값 보다 크면, 소수부 길이를 감소시키고 정수부 길이를 증가시키며, 언더플로우 계수가 임계 값 보다 크면, 정수부의 길이를 감소시키고, 소수부의 길이를 증가시킬 수 있다.
RNN 연산부는 가중치 군집화가 적용되어, 곱셈 연산을 군집화 테이블 곱셈기를 통하여 처리될 수 있다.
상기 CNN 연산부와 RNN 연산부는 메모리부, 연산제어부, 데이터버스부 및 인터페이스부를 공유할 수 있다.
이상에서 설명한 바와 같은 본 발명의 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조에 따르면, CNN의 activation에 요구되는 data bit수를 줄임과 동시에, 외부 메모리 접근을 최소화할 수 있도록 입력 분할 형태가 조절되며, 군집화 테이블 기반의 곱셈기를 이용함으로써 RNN 가중치 파라미터에 대한 외부 메모리 접근을 최소화하고, 연산기의 전력 효율과 면적 효율을 극대화하여 하나의 프로세서 칩에서 CNN과 RNN을 모두 고에너지 효율로 처리할 수 있으며, 제어부, 메모리부, 데이터버스부 및 외부 인터페이스부를 공유하여 단일 아키텍처 형태의 뉴럴 네트워크 프로세서 또는 단순한 CNN과 RNN의 집적된 구조의 프로세서보다 면적과 전력 소모를 감소시킬 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 이기종 아키텍처를 갖는 뉴럴 네트워크 프로세서의 구성 블록도이며,
도 2는 본 발명의 일실시예에 따른 이미지 입력 분할 방식을 설명하기 위한 도면이며,
도 3은 본 발명의 일실시예에 따른 채널 입력 분할 방식을 설명하기 위한 도면이며,
도 4는 본 발명의 일실시예에 따른 혼합 입력 분할 방식의 효과를 설명하기 위한 그래프이며,
도 5는 본 발명의 일실시예에 따른 오버플로우 검출기를 나타낸 예시도이며,
도 6은 본 발명의 일실시예에 따른 실시간 자체 조정 레이어 별 동적 고정 소수점의 효과를 설명하기 위한 그래프이며,
도 7은 본 발명의 일실시예에 따른 군집화 곱셈 테이블 생성 과정을 설명하기 위한 예시도이며,
도 8은 본 발명의 일실시예에 따른 생성된 군집화 곱셈 테이블을 통한 곱셈 과정을 설명하기 위한 예시도이며,
도 9는 본 발명의 일실시예에 따른 군집화 곱셈 테이블을 통한 연산기의 효과를 나타내는 도면이며,
도 10은 본 발명의 일실시예에 따른 CNN의 fully-connected layer와 RNN이 동일한 형태의 매트릭스 곱으로 나타나는 것을 설명하기 위한 예시도이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.
기존의 뉴럴 네트워크(neural network) 프로세서에서는 하나의 프로세서 내의 동일한 아키텍처를 갖는 연산부에서 뉴럴 네트워크 연산을 처리하였으며, CNN(convolutional neural network)과 RNN(recurrent neural network)을 동시에 최적화하여 처리할 수 있는 뉴럴 네트워크 프로세서는 보고된 바 없다.
CNN은 네트워크의 convolution filter가 한 번의 추론(inference)에도 여러 번 재사용 되는 특성이 있어 가중치 파라미터 값 수가 비교적 적지만, RNN의 경우 네트워크의 각 connection들이 서로 다른 가중치 파라미터 값을 갖고 있으므로 파라미터 수가 CNN에 비해 굉장히 많다.
또한, RNN의 경우 네트워크 입력이 1차원(1D) vector인 반면, CNN의 경우 네트워크 입력이 2차원(2D) image이므로, 네트워크를 구성하는 뉴런(activation)의 수가 CNN이 RNN에 비해 보통 제곱 배에 달한다.
이처럼 상이한 특성을 갖는 CNN과 RNN을 동일 아키텍처를 갖는 연산부에서 처리할 시, 메모리 접근이 불필요하게 많아지고 연산 효율이 감소되어, 시스템 전체의 전력 소모를 낮추는 데에 한계가 있었다.
이에, 본 발명에서는 CNN과 RNN에 최적화된 에너지 효율을 갖도록 이기종 아키텍처로 CNN 연산부(10)와 RNN 연산부(30)를 구성하였으며, 이를 하나의 칩으로 집적하여 구성한다.
본 발명의 일실시예에 따른 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조(100)는, 뉴럴 네트워크(neural network) 프로세서 구조에 있어서, CNN(convolutional neural network)을 수행하여 처리하는 CNN 연산부(10)와, RNN(recurrent neural network)을 수행하여 처리하는 RNN 연산부(30)와, 제어를 수행하는 연산제어부(70)와, 상기 연산부에서 사용될 데이터가 저장된 메모리부(90)와, 외부와 데이터를 주고 받기위한 인터페이스부(50)와, 구성 요소 간 데이터 이동이 수행되도록 하는 데이터버스부가 포함되어 온 칩 형태의 집적회로로 구성된다.
CNN 연산부(10)는 CNN의 뉴런(activation)에 요구되는 데이터 비트(data bit)수를 줄임과 동시에, 외부 메모리 접근을 최소화할 수 있도록 연산 순서가 조절되도록 구성되었으며, RNN 연산부(30)는 가중치(weight)에 대한 외부 메모리 접근을 최소화하고, 연산부의 연산 효율, 전력 효율 및 면적 효율을 극대화할 수 있다.
CNN은 크게 convolutional layer와 fully-connected layer로 구성되는데, fully-connected layer는 네트워크의 각 connection들이 서로 다른 가중치 파라미터 값을 갖고 있으므로 RNN과 특성이 동일하다.
또한, CNN 연산부(10)와 RNN 연산부(30)를 하나의 칩으로 집적함에 있어, Fully-connected layer와 RNN 모두 같은 형태의 매트릭스 곱으로 나타내질 수 있으므로, CNN의 fully-connected 레이어(layer)는 RNN 연산부(30)를 공유하여 데이터 처리를 수행함으로써 에너지효율과 면적효율을 높인다.
CNN 연산부(10)와 RNN 연산부(30)는 연산제어부(70), 메모리부(90), 데이터버스, 인터페이스(50)를 공유할 수 있도록 함으로써 온 칩의 면적 효율을 크게 높이고, 다양한 네트워크 할당 형태에 대해 모두 효과적으로 대응하도록 동작 효율을 높였다.
한편, 데이터버스부와 인터페이스부(50)는 연산제어부(70), 메모리부(90), CNN 연산부(10) 및 RNN 연산부(30)간의 연결에 따라 구성됨으로 데이터버스부와 인터페이스부(50)를 공유함에 있어, 연산제어부(70)와 메모리부(90)의 공유가 선행되어야 한다.
연산제어부(70)는 CNN 연산부(10)와 RNN 연산부(30)의 configuration 레지스터를 네트워크 크기와 형태에 맞추어 설정한 후, 연산에 필요되는 데이터를 넣어주고, 동작 레지스터를 설정해 줌으로써 동작시킨다.
CNN 연산부(10)와 RNN 연산부(30)에 각각 독립적인 메모리부를 갖도록 하면, CNN과 RNN의 처리 양에 따라서, 각 메모리부의 사용률이 달라지고, CNN이나 RNN 중 하나만 처리하는 경우에는 하나의 메모리부는 전혀 사용되지 못한다.
따라서 본 발명에서는 CNN 연산부(10)와 RNN 연산부(30)가 하나의 메모리부(90)를 공유하도록 하여 메모리부(90) 사용률이 최대화 되도록 한다.
상술한 바와 같이, CNN 연산부(10)와 RNN 연산부(30)의 configuration 및 동작 레지스터와 데이터 입출력을 제어하는 연산제어부(70)를 하나로 공유함으로써 연산제어부(70)에 소요되는 면적을 줄임과 동시에, 데이터버스부, 메모리부(90), 인터페이스부(50)가 각 연산부에 알맞게 할당될 수 있도록 한다.
본 발명에서는 CNN의 외부 메모리 접근을 최소화하기 위해 혼합 입력 분할 방법이 제안된다.
CNN 연산에서 입력 레이어 및 출력 레이어 이미지와 convolution filter의 가중치 파라미터 값은 각각 약 10MB ~ 100MB에 이른다.
그러나 온 칩 메모리인 메모리부(90)의 크기는 수백 KB 또는 수 MB로 제한된다.
따라서 CNN의 입력이 분할되어야 하며, CNN 연산부(10)는 제한된 온 칩 메모리부(90)를 통해 효과적인 입력처리가 가능하도록, 이미지 분할 방식과, 채널 분할 방식을 혼합하여 사용하는 혼합 분할 방식으로 구동 된다.
이미지 분할의 경우, 도 2에 나타낸 바와 같이, 입력 이미지의 폭(W)과 높이(H)는 분할 수에 비례하여 값이 감소한다.
분할된 이미지 그룹 각각은 독립적으로 처리되며, 이 경우 분할된 각 이미지 그룹에 대해 가중치 파라미터 값을 여러 번 가져와야 하므로, 가중치 파라미터 값에 대한 외부 메모리 접근이 증가한다.
반면에 채널 분할에서는 도 3에 나타낸 바와 같이, 입력 이미지의 폭(W)과 높이(H)가 원래 입력 이미지의 폭(W)과 높이(H)가 동일하지만, 여러 개의 감소된 채널을 갖는다.
이 경우 가져온 가중치 파라미터 값을 전체 이미지에 사용할 수 있으므로, 가중치 파라미터 값에 대한 다중 외부 메모리 접근은 필요하지 않다.
그러나 이 경우 부분 출력 결과를 누적하여 최종 출력을 생성해야하며, 이에 대한 추가 외부 메모리 접근이 필요하다.
이미지 분할은 가중치 파라미터 값의 크기가 이미지 크기보다 상대적으로 작을 때 장점이 있는 반면에, 채널 분할은 이미지 크기가 가중치 파라미터 값의 크기보다 상대적으로 작을 때 장점이 있다.
따라서 본 발명은 이 두 가지 방법을 혼합한 혼합 분할 방법을 이용하며, CNN의 각 레이어에 최적화된 혼합 분할 방법을 할당하면, 도 4에 나타낸 바와 같이, 다양한 레이어 형태에서도 최소화된 외부 메모리 접근으로 처리가 가능하다.
CNN의 각 레이어 이미지의 데이터 분포와 데이터 범위는 레이어에 따라 변화가 크다.
이렇게 넓은 범위의 데이터를 지원하려면 부동 소수점 형식을 사용하는 것이 효과적이지만, 부동 소수점 연산의 하드웨어 비용은 고정 소수점 연산의 하드웨어 비용보다 훨씬 높다.
본 발명에서는 부동 소수점 연산의 넓은 표현 범위와, 고정 소수점 연산의 에너지 효율 장점을 취하기 위해 실시간 자체 조정 레이어 별 동적 고정 소수점이 제시된다.
CNN 연산부(10)에서 정수부 길이 및 소수부 길이는 동일한 레이어에서 고정되지만, 상이한 층에 걸쳐 동적으로 변화한다.
따라서 네트워크 전반에 걸쳐 부동 소수점 특성을 가질 수 있으면서, 정수부 길이와 소수부 길이가 같은 레이어에 고정되어 있기 때문에 고정 소수점 연산이 가능하다.
각 레이어의 정수부와 소수부의 길이를 선택하기 위해 이전에는 오프라인 학습을 사용했다.
이 경우, 정수부와 소수부의 길이는 학습이미지 전체에 대한 오차의 합이 최소가 되도록 학습된다.
이렇게 결정된 정수부와 소수부의 길이는 런타임에 모든 이미지에 대해 동일하게 사용된다.
이러한 접근법에서, 추가적인 오프라인 학습이 필요하게 되며, 모든 이미지에 대해 공통된 정수부와 소수부 길이를 갖게 된다.
본 발명에서의 실시간 자체 조정 방법에서, 도 5에 나타낸 바와 같이 정수부와 소수부의 길이는 오버플로우 모니터링에 의해 현재의 입력 이미지에 동적으로 최적화 된다.
현재의 표현 최대값이 표현하지 못하는 값이 발생할 시 오버플로우 계수가 증가된다.
오버플로우 계수가 임계 값 보다 크면, 오버플로우를 줄이기 위해 소수부 길이가 감소되고, 정수부 길이가 증가된다.
반대로 현재의 표현 최대값이 요구되는 최대값보다 2배 이상 큰 언더플로우 계수가 임계 값 이상 발생시, 정수부의 길이가 감소되고, 소수부의 길이가 증가된다.
이 방법에서는 오프라인 칩 사전 학습이 필요하지 않으며, 정수부와 소수부의 길이가 현재 처리 데이터에 맞춰 자체 조정되므로 더 적은 비트(bit)수로도 동일한 성능을 기대할 수 있다.
즉, 이러한 실시간 자체 조정 레이어 별 동적 고정 소수점의 효과는 도 6에 나타낸 바와 같이, 4-bit의 activation으로도 32-bit와 거의 유사한 성능을 보여준다.
이 방법의 구현에 있어 오버플로우와 언더플로우를 모니터링하기 위한 추가 카운터만이 필요하며, 카운터는 결과 값이 최종 집계되는 코어에 있다.
다층 퍼셉트론(MLP; Multi-Layer Perceptron) 및 RNN에서 가중치는 더 적은 레벨 수로 군집화 될 수 있다.
원래 가중치가 16비트 고정 소수점 데이터 유형인 경우 가중치는 256개의 다른 값을 가질 수 있다.
그러나 가중치가 4비트 인덱스로 군집화되면 가중치는 16개의 다른 값을 가질 수 있다.
이 경우 가중치 자체가 4비트임을 의미하지는 않는다.
4비트 가중치 군집화를 통해 MLP와 RNN에서 16비트와 동일한 성능을 기대할 수 있다.
본 발명에서는 RNN 연산부에 가중치 군집화를 적용하고, 곱셈 연산을 군집화 테이블 조회로 대체하는 방법을 제시한다.
군집화 테이블의 구성은 입력과 16개로 군집화된 가중치 간의 곱셈 또한 16 개의 값으로 군집화 된다.
따라서 군집화 테이블의 각 엔트리는 16비트 고정 소수점 입력과 16비트 고정 소수점 가중치 간의 사전 계산 된 곱셈 결과를 포함한다.
구성된 군집화 테이블을 사용한 곱셈은, 군집화된 인덱스만 디코딩되어 사전 계산된 엔트리에서 결과를 가져온다.
16비트가 아닌 4비트 인덱스만 로드하면 되므로 외부 메모리 접근을 75%를 줄일 수 있다.
또한 제로 스킵 방식을 사용함으로써 제로 입력 시 가중치 로드를 건너뛸 수 있으므로 평균적으로 92% 외부 메모리 접근을 줄일 수 있다.
이러한 방법으로 기존의 고정 소수점 곱셈기와 비교해 면적, 전력 및 연산 시간에서 모두 향상된 성능을 갖는다.
도 7에 나타난 군집화 테이블은 입력과 군집화된 가중치 간의 사전 계산된 곱셈 결과를 포함한다.
구성된 군집화 테이블을 사용한 곱셈은 도 8에 나타난 바와 같이, 군집화 인덱스만 디코딩되어 사전 계산된 엔트리에서 결과를 가져온다.
이러한 방법으로 기존의 고정 소수점 곱셈기와 비교해 도 9에 나타난 바와 같이 면적, 전력 및 연산 시간에서 모두 향상된 성능을 갖는다.
도 10에 나타낸 바와 같이, CNN의 fully-connected layer와 RNN이 동일한 형태의 매트릭스 곱으로 나타내질 수 있어, RNN 연산부를 공유하여 처리되도록 함으로써 에너지효율과 면적효율을 높인다.
이상에서 설명한 바와 같은 본 발명에 따르면, CNN의 activation에 요구되는 data bit수를 줄임과 동시에, 외부 메모리 접근을 최소화할 수 있도록 입력 분할 형태가 조절되며, 군집화 테이블 기반의 곱셈기를 이용함으로써 RNN 가중치 파라미터에 대한 외부 메모리 접근을 최소화하고, 연산기의 전력 효율과 면적 효율을 극대화하여 하나의 프로세서 칩에서 CNN과 RNN을 모두 고에너지 효율로 처리할 수 있으며, 제어부, 메모리부, 데이터버스부, 외부 인터페이스부를 공유하여 단일 아키텍처 형태의 뉴럴 네트워크 프로세서 또는 단순한 CNN과 RNN의 집적된 구조의 프로세서보다 면적과 전력 소모를 감소시킬 수 있는 효과가 있다.
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.
10: CNN 연산부 30: RNN 연산부
50: 인터페이스부 70: 연산제어부
90: 메모리부 100: 온칩

Claims (7)

  1. 뉴럴 네트워크 프로세서 구조에 있어서, CNN을 수행하여 처리하는 CNN 연산부와, RNN을 수행하여 처리하는 RNN 연산부와, 제어를 수행하는 연산제어부와, 상기 연산부에서 사용될 데이터가 저장된 메모리부와, 외부와 데이터를 주고 받기위한 인터페이스부와, 구성 요소 간 데이터 이동이 수행되도록 하는 데이터버스부가 포함되어 온 칩 형태의 집적회로로 구성되며;
    상기 CNN을 이루는 fully-connected 레이어는 RNN 연산부를 공유하여 데이터 처리가 이루어지는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
  2. 청구항 1에 있어서, 상기 CNN 연산부에서 입력 데이터를 이미지 분할 방식과 채널 분할 방식을 혼합한 혼합 분할 방식을 통해 데이터 처리가 이루어지는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
  3. 청구항 1에 있어서, 상기 CNN 연산부에서 정수부 길이 및 소수부 길이는 동일한 레이어에서 고정되고, 상이한 레이어에 걸쳐 동적으로 변화되는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
  4. 청구항 1에 있어서, 상기 CNN 연산부는 오버플로우 계수 및 언더플로우 계수를 검출하여 정수부와 소수부의 길이를 자동으로 변경하는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
  5. 청구항 3에 있어서, 상기 CNN 연산부는 오버플로우 계수가 임계 값 보다 크면, 소수부 길이를 감소시키고 정수부 길이를 증가시키며, 언더플로우 계수가 임계 값 보다 크면, 정수부의 길이를 감소시키고, 소수부의 길이를 증가시키는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
  6. 청구항 1에 있어서, RNN 연산부는 가중치 군집화가 적용되어, 곱셈 연산을 군집화 테이블 곱셈기를 통하여 처리되는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
  7. 청구항 1에 있어서, 상기 CNN 연산부와 RNN 연산부는 메모리부 및 연산제어부를 공유하는 것을 특징으로 한 CNN과 RNN이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조.
KR1020180010945A 2018-01-29 2018-01-29 Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조 KR102098713B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180010945A KR102098713B1 (ko) 2018-01-29 2018-01-29 Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조
US15/888,102 US11263515B2 (en) 2018-01-29 2018-02-05 Heterogeneous processor architecture for integrating CNN and RNN into single high-performance, low-power chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180010945A KR102098713B1 (ko) 2018-01-29 2018-01-29 Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조

Publications (2)

Publication Number Publication Date
KR20190091858A true KR20190091858A (ko) 2019-08-07
KR102098713B1 KR102098713B1 (ko) 2020-04-08

Family

ID=67392269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180010945A KR102098713B1 (ko) 2018-01-29 2018-01-29 Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조

Country Status (2)

Country Link
US (1) US11263515B2 (ko)
KR (1) KR102098713B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110689115A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 神经网络模型处理方法、装置、计算机设备及存储介质
CN110826708A (zh) * 2019-09-24 2020-02-21 上海寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
CN111091005A (zh) * 2019-12-20 2020-05-01 北京邮电大学 一种基于元结构的无监督异质网络表示学习方法
KR20210030654A (ko) * 2019-09-10 2021-03-18 주식회사 모빌린트 인공 신경망 연산을 수행하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR20210058404A (ko) 2019-11-14 2021-05-24 엘지전자 주식회사 이미지 처리방법 및 처리장치
KR20210127538A (ko) * 2020-04-14 2021-10-22 주식회사 모레 딥러닝 작업을 이기종 가속기에서 처리하는 방법 및 이러한 방법을 수행하는 클러스터 시스템
KR20210128616A (ko) * 2020-04-17 2021-10-27 인천대학교 산학협력단 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
JP7056225B2 (ja) * 2018-02-26 2022-04-19 富士通株式会社 演算処理装置、情報処理装置、情報処理方法、およびプログラム
US10740434B1 (en) 2018-04-20 2020-08-11 Perceive Corporation Reduced dot product computation circuit
US11783167B1 (en) 2018-04-20 2023-10-10 Perceive Corporation Data transfer for non-dot product computations on neural network inference circuit
US11468145B1 (en) 2018-04-20 2022-10-11 Perceive Corporation Storage of input values within core of neural network inference circuit
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
EP3864573A1 (en) 2018-10-11 2021-08-18 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11995533B1 (en) 2018-12-05 2024-05-28 Perceive Corporation Executing replicated neural network layers on inference circuit
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11347297B1 (en) 2019-01-23 2022-05-31 Perceive Corporation Neural network inference circuit employing dynamic memory sleep
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
FR3094118A1 (fr) * 2019-03-20 2020-09-25 Stmicroelectronics (Rousset) Sas Procédé d’analyse d’un jeu de paramètres d’un réseau de neurones en vue d’un ajustement de zones allouées auxdits paramètres.
US11625585B1 (en) 2019-05-21 2023-04-11 Perceive Corporation Compiler for optimizing filter sparsity for neural network implementation configuration
WO2021045676A1 (en) * 2019-09-03 2021-03-11 Agency For Science, Technology And Research Neural network processor system and methods of operating and forming thereof
WO2021153969A1 (en) * 2020-01-27 2021-08-05 Samsung Electronics Co., Ltd. Methods and systems for managing processing of neural network across heterogeneous processors
WO2024076399A1 (en) * 2022-10-06 2024-04-11 Vishnikin Konstantin Methods, systems, apparatuses, and devices for personalizing menus of restaurants based on preferences

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017151757A1 (en) * 2016-03-01 2017-09-08 The United States Of America, As Represented By The Secretary, Department Of Health And Human Services Recurrent neural feedback model for automated image annotation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2944829C (en) * 2014-05-23 2022-10-25 Ting Chen Systems and methods for detection of biological structures and/or patterns in images
US10140572B2 (en) * 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
US10353861B2 (en) * 2015-10-08 2019-07-16 Via Alliance Semiconductor Co., Ltd. Mechanism for communication between architectural program running on processor and non-architectural program running on execution unit of the processor regarding shared resource
KR102637735B1 (ko) * 2018-01-09 2024-02-19 삼성전자주식회사 근사 곱셈기를 구비하는 뉴럴 네트워크 처리 장치 및 이를 포함하는 시스템온 칩

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017151757A1 (en) * 2016-03-01 2017-09-08 The United States Of America, As Represented By The Secretary, Department Of Health And Human Services Recurrent neural feedback model for automated image annotation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dongjoo Shin 외 4명. DNPU: An Energy-Efficient Deep Neural Network Processor with On-Chip Stereo Matching. 2017.08.22. *
Hoi-Jun Yoo. Mobile/Embedded DNN and AI SoCs. 2017.09.14. *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030654A (ko) * 2019-09-10 2021-03-18 주식회사 모빌린트 인공 신경망 연산을 수행하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN110689115A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 神经网络模型处理方法、装置、计算机设备及存储介质
CN110826708A (zh) * 2019-09-24 2020-02-21 上海寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
CN110826708B (zh) * 2019-09-24 2022-05-31 安徽寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
KR20210058404A (ko) 2019-11-14 2021-05-24 엘지전자 주식회사 이미지 처리방법 및 처리장치
US11468540B2 (en) 2019-11-14 2022-10-11 Lg Electronics Inc. Method and device for image processing
CN111091005A (zh) * 2019-12-20 2020-05-01 北京邮电大学 一种基于元结构的无监督异质网络表示学习方法
CN111091005B (zh) * 2019-12-20 2022-05-13 北京邮电大学 一种基于元结构的无监督异质网络表示学习方法
KR20210127538A (ko) * 2020-04-14 2021-10-22 주식회사 모레 딥러닝 작업을 이기종 가속기에서 처리하는 방법 및 이러한 방법을 수행하는 클러스터 시스템
KR20210128616A (ko) * 2020-04-17 2021-10-27 인천대학교 산학협력단 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20190236437A1 (en) 2019-08-01
US11263515B2 (en) 2022-03-01
KR102098713B1 (ko) 2020-04-08

Similar Documents

Publication Publication Date Title
KR20190091858A (ko) Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조
WO2021036905A1 (zh) 数据处理方法、装置、计算机设备和存储介质
WO2021036904A1 (zh) 数据处理方法、装置、计算机设备和存储介质
WO2021036890A1 (zh) 数据处理方法、装置、计算机设备和存储介质
WO2021036908A1 (zh) 数据处理方法、装置、计算机设备和存储介质
US20220351019A1 (en) Adaptive Search Method and Apparatus for Neural Network
Nabavinejad et al. Coordinated batching and DVFS for DNN inference on GPU accelerators
Du et al. Efficient softmax hardware architecture for deep neural networks
CN113515351B (zh) 一种基于能耗与QoS协同优化的资源调度实现方法
TW201807621A (zh) 人造神經網路、人造神經元及其控制方法
US20230017808A1 (en) Systems and Methods for Progressive Learning for Machine-Learned Models to Optimize Training Speed
CN110874627B (zh) 数据处理方法、数据处理装置及计算机可读介质
CN113778691B (zh) 一种任务迁移决策的方法、装置及系统
WO2022088063A1 (zh) 神经网络模型的量化方法和装置、数据处理的方法和装置
CN112766467B (zh) 基于卷积神经网络模型的图像识别方法
CN112085175B (zh) 基于神经网络计算的数据处理方法和装置
Peroni et al. ARGA: Approximate reuse for GPGPU acceleration
Li et al. Unified accelerator for attention and convolution in inference based on FPGA
WO2021244045A1 (zh) 一种神经网络的数据处理方法及装置
CN117725963A (zh) 一种用于Transformer模型推理计算的方法、系统及装置
CN111629216B (zh) 边缘网络环境下基于随机森林算法的vod业务缓存替换方法
Zhang et al. DVFO: Learning-Based DVFS for Energy-Efficient Edge-Cloud Collaborative Inference
WO2020041934A1 (zh) 一种数据处理设备以及一种数据处理方法
CN111783446B (zh) 序列处理的方法与装置
WO2021036412A1 (zh) 数据处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant