개인 공부/논문

3-D Stacked Image Sensor With Deep Neural Network Computation

RyoTTa 2021. 4. 29. 21:50
반응형

Abstract

이미지 센서에 DNN계산을 통합하여 전력 및 성능 절충점을 조사한다.

Pixel Array, read-out circuits, memory, computing logic for DNN 3D stacked CMOS sensorNeurosensor의 설계를 제안한다.

분석에 따르면 DNN을 통합하면 Processing Memory access Latency( Energy)를 희생하여, Transmit Latency (Energy)가 감소한다. 따라서 특정 DNN 및 대역폭이 주어지면 Energy 효율을 최대화 하기위해 센서에서 계산해야하는 최적의 레이어 수가 존재한다. 보통 SensorMemory를 통합하거나 Feature extraction layer만 구현하는 것이 효율적이다. 또한 DNN을 통합하면 온도가 증가하여 Noise가 발생하여 Classification 정확도가 감소하지만 에너지 효율이 최대 90배가 향상되는 시뮬레이션이 있다.

 

Intro

 최근 IoT 환경에서 이미지 센서는 DNN작업을 위해 데이터를 캡쳐하여 원거리에 있는 Processing Engine으로 전송한다. 그러나 많은 양의 데이터를 호스트로 전송하면 LatencyEnergy Penalty가 있다.

 

 3D Integration은 이미지센서, DNN 설계에 상당한 이점이 존재한다.

별도의 Layer에서 Photo-diodeRead-out circuits(ADC)3D IntegrationPixel ArrayADC 사이의 병렬 데이터 전송을 가능하게 해 빠르게 이미지를 생성한다. 또한 Pixel Array에서 주변 회로를 제거하면 이미지 충진율도 크게 증가한다.

 Neural computation을 위한 Specialized logic layer를 추가한 3D stacking of memory는 높은 대역폭과 데이터 사이의 병렬 액세스를 가능하게 하여 효율적인 DNN 엔진을 만든다.

 이 논문은 CNN계산을 가진 3D CMOS Image Sensor(CISO) 시스템인 Neurosensor를 제안한다. Image Sensor, read-out circuits, memory, neural computation(logic) 레이어가 단일 Stack에 통합된 시스템이다. SensorDNN을 통합하는 것 과 전력 및 성능 절충이 세부 특성이다.

 

 Figure 2에서 볼 수 있듯이 신경 센서의 처리 파이프라인을 제안한다. Sensor에서 많은 수의 Layer를 처리하면 host로의 데이터 전송이 감소함으로 Transmit LatencyEnergy가 감소한다는 것을 보여준다. 그러나 많은 Parameter(Weight)을 저장하기 위해 많은 메모리가 필요하다. 이는 Trade-off를 통해 사용가능한 대역폭에 의존한다는 것을 보여준다.

 

 또한 3D 적층시 잘 알려진 Thermal challenge가 신경 센서의 정확도에 미치는 연구를 진행한다. Transistor Variation과 온도로 인한 Noise를 고려하는 모델을 개발하고 이를 3D thermal simulation과 통합한다. (신경망 계산으로 인한 추가 전력도 고려). 결과적으로 처리량이 높을수록 Stack의 전력, 온도가 증가하므로 노이즈가 증가하고 정확도가 저하된다.

 

 

Related Works

 3D integrationThroughput이 증가하여 많은 기회를 제공한다. 예를 들어 Block-parallel image sensing and processing를 통해 3D stacked image sensor를 시연했다.

 상위 LayerPhoto-diode만 있고 processing circuit을 하위 Layer에 넣음으로 높은 다이오드 충전율을 가졌다.

DRAMSensor Stack에 통합하여 3-layer 아키텍처를 확보해 높은 프레임레이트로 작동할 수 있고 Image Stabilization이 가능하다.

 하위 레이어의 각 픽셀에 대해 Storage Capacity를 사용하여 글로벌 셔터를 지원하는 이미지 센서 설계

 

 최근 연구에서는 DNN 계산을 위한 3D integration이 제안되었다.

 에너지 효율적인 계산을 위해 3D stack을 활용한 재프로그래밍 가능한 HMC 기반 Neurocube를 제안했다.

 

 본 논문에서는 기본 아키텍쳐로 Eurocube를 사용한다.

 

System overview

 Fig, 1은 전체 시스템에 대한 개략을 보여준다. 최상위 LayerHD(1280x768)CMOS 로 구성, 2Layer8Bit ADC Array를 포함하고, 다음 LayerNeural Network Parameters는 포함하며, 하위 Layercompute logic을 포함한다. 이 시스템은 4×4 그리드에 배열된 16개의 세그먼트가 병렬로 작동한다. Data flowImage sensing, 이미지에서 DNN Computation, Off-chip 송수신기를 사용한 DNN 출력의 무선 전송의 세 단계로 구성된다.

 

A. Data Flow in the Neurosensor

 Sensing : 최상위 Photo-diode Layer 는 이미지를 캡쳐하여 아날로그 신호를 아래 레이어의 ADC로 전달한다. ADC는 디지털 변환후 데이터를 버퍼로 전달

 DNN Computing : 메모리에 버퍼링된 이미지 프레임에서 수행된다. 복잡성은 few feature extraction에서부터 entire neural network 까지 다양하다.

 Transmission : DNN의 계산 결과는 무선 송수신기를 통해 Off chip에 존재하는 Host로 전송된다.

 

B. Image Sensor and ADC

 Fig3130nm로 설계된 어레이에 사용되는 픽셀의 회로도식 및 레이아웃을 나타낸다. 해당 픽셀이 320 x 192개로 구성되면 1개의 단일 세그먼트에 대한 구성이다. 각 픽셀은 Transistor Variation으로 인한 time-invariant spatial noise를 줄이기 위해 correlated double sampling을 사용한다.(CDS) RES가 높고 낮음으로 설정된 모든 사이클에 의해 대해 VresVact 두샘플이 추출된다. 그다음 두신호의 차이는 ADC를 통해 A/D 변환을 거치게되며, 공통되는 노이즈를 최소화하는 역할을 하게된다.

 

 CIS 픽셀과의 일치를 위해 ADC130nm로 설계되었다. Column line의 신호는 3D-via를 통해 하위 layer로 전파된다.

 

 두 번째 layer에서 Pixel Array의 각 Column line에 대해 8bit ADC가 하나씩 존재하여 총 5120개의 ADC(세그먼트당 320, 병렬 세그먼트 16)가 생성된다. 각 세그먼트에 대해 ADC32bit Bus를 통해 하위 레이어인 Memor Layer로 디지털 데이터를 멀티플렉싱 한다.

 

C. DNN Computation Platform

 Fig5.Neurocube에서 제안한 컴퓨팅 아키텍쳐 이다. Global Controlloer, Processing elements(PE), PE를 연결하는 2D Mesh Network On Chip (NOC), DRAMProgrammable neurosequence generator(PNG)로 구성된다.

 

 PE3D-via를 통해 상위 메모리 layer와 연결되며 Fig1.의 블랙박스 즉 Volt Controller가 메모리 컨트롤러 역할을 합니다. PE16개의 Multiply accumulator(MAC), SRAM Cache, Temporal buffer, Synapstic Weight 저장할 Register 로 구성된다. Input neurons stateConnectivity Weights은 패킷에 캡슐화하여 PNG에 의해 PE로 이동된다. 패킷은 Out of order를 해결하기위해 SRAM Cache에 버퍼링 된다.

 

 모든 Input이 도착하면 InputTemporal Buffer로 이동디고 MAC작업이 시작된다. 2D Mesh Network On Chip(NOC)Image, State Synaps weights를 저장하는 메모리 세그먼트 뿐만아니라 모든 PE를 서로 연결시킨다.

 

 앞서 말했듯 Logic Layer의 각 세그먼트는 DNN 계산에 필요한 데이터 이동을 지시하는 관련 PNG를 가지고 있다. 해당 Layer에 주어진 뉴런에 대해 PNG는 뉴런과 연결된 이전 층의 뉴런들과 사이에 상응하는 Synaps Weight에 대한 일련의 Address를 생성한다.

 각 뉴런에 해당하는 데이터는 패킷에 캡슐화되어 NoC의 라우터를 통해 해당 PE로 전송된다. PNG는 연결된 Host에 의해 프로그래밍 가능하여 광범위한 DNN 아키텍처를 구현 가능케 한다.

 

반응형