기술 블로그

OGQ GYN Developers Day #15 : NPU+GPU Combination

2023년 8월 15일

  • AI
  • Deep Learning
  • NPU
  • GPU

OGQ GYN Developers Day는 OGQ GYN의 모델 개발 과정 및 논문 등을 많은 기업 분들께 발표하는 자리로, 매월 마지막 주 수요일에 진행되고 있습니다.

이번 세미나에선 최근에 진행했던 NPU와 GPU을 결합하여 학습하는 방법에 대한 소개와 간략한 결과 및 추후 진행할 모델에 대해서 설명드리겠습니다.

Contents

세미나 개요


  • 일시 : 2023년 08월 02일 13:00 ~ 14:00

  • 장소 : Zoom 미팅

  • 참여기업 (가나다순)

    • 베스트디지탈 BEST DIGITAL
    • 아이닉스 EYENIX
  • 순서

    1. 참여 업체 소개
    2. OGQ GYN 발표
    • 사회자: OGQ GYN 우재현 연구원
    • 발표자: OGQ GYN 우재현 연구원
    1. Q&A

1. Previous Presentation Summary


지난 컨퍼런스에서는 Point Label을 활용하여 Mask를 정제하여 사용하는 maskRefineNet에 대해서 설명드렸습니다.

  • Teacher Net 학습 → MaskRefineNet 학습 → Pseudo Mask 생성 → Student Net 학습의 순서로 진행됩니다.
  • Point가 효과적으로 guidance를 제공할 수 있으며 결과는 아래와 같습니다.

2. Problem


  • Eyenix의 NPU에 딥러닝 모델을 구동시키기 위해서는 GPU에서 생성된 pth파일을 enlight로 변환하는 작업이 필요합니다.
  • 변환된 enlight는 Quantization 작업을 거치면서 pth파일 대비 성능하락이 다소 발생합니다.

3. Method


3-1. NPU+GPU 구조

  • 성능 하락을 방지하기 위해 다음과 같이 NPU + GPU Inference 구조를 설계하였습니다.
  • NPU의 결과값을 GPU의 결과값으로 변환해줄 수 있는 Decoder를 추가하였습니다.

3-2. NPU + GPU 방법

  • Inference 시에는 위 NPU + GPU Inference 그림과 같이 학습된 Converter가 추가되어 NPU의 출력을 원래 GPU의 출력으로 변환하여 동작합니다.
  • Training 시에는 위 Converter Decoder Training 처럼 NPU의 결과와 GPU의 결과를 pickle 형태로 저장한 뒤에 Converter를 학습합니다.

3-3. 기대효과

  • 모델의 성능과 속도는 GPU 보다 낮고 NPU보다 좋은 중간 성능일 것이라 예상하였습니다.
  • 확장성 측면에서 NPU의 Encoder를 가변적으로 사용가능하며 NPU Encoder가 fix되면 GPU의 Decoder를 지속적으로 업데이트하여 모델의 성능 향상이 가능해집니다. 예를들어, SSDLite Decoder가 아닌 Yolo의 Decoder 등을 사용하는 방식으로 치환이 가능합니다.

4. Experiments


  • 먼저 NPU feature를 GPU feature로 변환하기에 적합한지 등을 확인하기 위해 PascalVOC 데이터셋을 기준으로 NPU와 GPU의 feature 분포를 측정하였습니다.
  • Scale은 다르지만 분포의 형태는 비슷한 것으로 관측되었고 feautre value의 scale은 약 21배 차이가 발생하였으며 Converter를 학습할때 스케일링 parameter로 해당 값을 설정하였습니다.
TrainVal
GPU99.992%74.361%
NPU99.502%76.570%
GPU + NPU99.498%75.146%
  • Classification task로 PascalVOC 데이터셋을 기준으로 측정한 결과입니다.
  • 예상과 다르게 GPU + NPU가 가장 성능이 좋지 않은 것을 확인할 수 있습니다.
  • 고찰로 GPU + NPU의 Converter의 Loss가 0으로 수렴하지 않았으며 이는 NPU의 feature를 GPU의 feature로 정확히 변환할 수 없다는 것을 의미합니다.

5. To Do


아래와 같이 Classification에 대한 테스트 및 현재 진행하지 않은 Detection task에도 위 과정을 적용하여 확장할 계획을 가지고 있습니다. 뿐만 아니라, 그 이후에는 VG-GAN을 활용하여 Quantization 개선 방향도 고려하고 있습니다.

Classification

  • 다른 데이터셋에 대한 테스트
  • Converter의 구조 및 학습 parameter 변경

Detection

  • FPN 구조의 feature 별로 Converter를 학습시키고 GPU Decoder로 Inference 하는 구조

VQ-GAN

  • Encoder의 Output으로부터 VQ-GAN의 Codebook의 index를 예측

OGQ GYN의 기술블로그를 비상업적으로 사용 시 출처를 남겨주세요.
상업적 용도를 원하실 경우 문의 부탁드립니다.
E-mail. tech@gynetworks.com

© OGQ Corp. All right reserved.

OGQ GYN의 기술 블로그를 비상업적으로 사용할 때는 출처를 남겨주세요.
상업적 용도로 쓰려면 문의 부탁드립니다. tech@gynetworks.com