본문 바로가기

Deep Learning Papers

(4)
Edge TPU Co-compilation 적용 검토 1. 개요 Edge TPU에서 복수의 모델을 연속적으로 실행시킬 때 속도 개선을 위하여 co-compilation 지원함. co-compilation을 적용하면 두번째 모델을 실행할 때 Edge TPU의 SRAM cache clear를 하지 않아서 속도가 개선됨. co-compilation 효과를 확인하기 위하여, pre-trained detection 모델(SSD MobileNet V2)과 pre-trained embedding 모델(MobileNet V2)에 적용하여 속도 측정함. co-compilation 적용 시에 어떤 모델에 cache를 우선 할당할 지 결정 필요함. detection 모델과 embedding 모델의 inference를 pair로 100회 수행하여 평균 속도를 측정함 측정 데이터..
Tensorflow 모델 pruning 적용 방법 1. 개요 tensorflow 모델에 pruning을 적용하는 방법을 정리함 pruning 알고리듬은 'gradual pruning' 방식을 적용함 (초기 sparsity 값으로부터 목표 sparsity 값에 도달할 때까지 진행하며 pruning 속도를 점차 완만하게 늦춤) cifar10 CNN 모델을 pruning하는 예제를 통하여 pruning mask 및 weight 변수 값의 변화를 확인함 pruning을 통한 이득을 얻기 위해서는, pruning된 sparse tensor를 압축하는 메커니즘 및 sparse tensor 연산을 가속하기 위한 HW적 지원이 필요함 2. Workflow 3. pruning 모델 생성 pruning 대상이 되는 layer에 mask와 threshold variable..
Quantization-aware training에 대한 code 정리 1. 신경망 모델 양자화(quantization)에 대한 접근 방법 post-training quantization quantization-aware training 개념 floating point 모델로 training을 진행하고 결과 weight값들에 대하여 양자화(quantization)를 적용함 학습 진행 시점에 inference 시의 양자화 적용에 의한 영향을 미리 simulation(modeling) 수행함 장단점 파라미터 size가 큰 대형 모델에 대해서는 정확도 하락 폭이 작으며, 파라미터 size가 작은 소형 모델에 대해서는 적합하지 않음 양자화 모델의 정확도 하락을 최소화할 수 있음 quantization-aware training을 통하여 forward / backward pass에서..
Pruning 논문 2편 정리 1. 3단계 pruning 학습 pipeline (원본 논문 Link) 1) 개요 신경망 모델의 정확도에 영향을 주지 않고 모델 저장 공간 및 모델 연산량을 절감할 수 있는 방법론을 제안함 3단계 pruning 학습 방법을 이용하여 신경망 모델에서 잉여 연결들(redundant connections)을 가지치기 할 수 있음 2) 3단계 pruning 학습 방법 1단계 : 일반적인 학습 과정을 통하여 어떤 연결들이 중요한지 파악하는 단계임 → inference용으로 최적화된 모델을 얻기 위한 수준이 아니고 pruning 전에 각 connection의 중요도를 파악할 수 있는 수준으로 수행함 2단계 : weight 값이 threshold 이하인 connection들을 신경망에서 제거함 → 밀도가 높은 신경망..