728x90
경량화의 목적
- 모델의 연구와는 별개로 산업에 적용되기 위해서 거쳐야하는 과정
- 요구조건(하드웨어 종류, latency 제한, 요구 throughput, 성능)들 간의 trade-off를 고려하여 모델 경향화/최적화를 수행
- 경량화, 최적화의 대표적인 종류
- Efficient Architecture Design(+AutoML;Neural Architecture Search(NAS))
- Network Pruning : 가지치기라고도 한다. 학습된 네트워크를 가지고 있다라고 했을 때 그 네트워크의 중요도가 낮은 파라미터들을 제거해서 사이즈를 줄여보자라는 접근법이다.
- Knowledge Distillation : 학습된 큰 규모의 teacher network가 있을 때 작은 student network의 teacher network가 가지고 있는 Knowledge를 Distillation하는 것이다.
- Matrix/Tensor Decomposition : 학습된 network에 있는 tensor를 더 작은 단위의 vector나 tensor들의 곱이나 합으로 표현하는 것이다.
- Network Quantization : 더 작은 data type으로 mapping하는 것이다.
- Network Compiling : inference를 더 효과적으로 진행할 수 있도록 network 자체를 compile하는 것을 의미한다.
대회 및 데이터셋
- 평가 기준
- FLOPs
- 연산속도를 가장 중요한 기준으로 볼 때 연산횟수(FLOPs)는 속도 결정의 간접적인 factor 중 하나
- Memory Access Cost와 같은 다은 중요한 요소들 또한 존재
- 모델의 구조로 오는 병렬성 들은 고려하지 못함
- 더해서 HW Platform마다 동일 연산 간의 속도 차이도 존재
- ShuffleNetv2, 속도에 영향을 주는 요소에 대한 insight
- FLOPs 이외에 Memory Access Cost 등의 관점에서 속도에 영향을 주는 요소를 추가로 고려
- 4가지의 가이드라인을 제시
- 입 출력의 채널 크기가 동일할때 Memory Access Cost를 증가
- 여러 분기의 path가 나오는 구조는 병렬화에 악영향
- Element-wise operation은 무시하지 못할 비중을 가짐
- TACO(Trash Annotations in Context Dataset)
- 쓰레기 이미지의 label과 bbox, segmentation이 포함된 open image dataset
- COCO format으로 제공됨
- 국내용 데이터
- Level 2 CV P-stage Object Detection/Segmentation에서 사용한 데이터와 동일
- 국내에서 발생한 쓰레기에 총 6개의 category로 분류된 데이터(COCO format)
- Object detection task를 위해 제작된 데이터셋, 하지만 경량화를 적용하는데에 더 많은 시간과 노력이 필요
- "경량화"라는 취지에 더욱 집중하기 위해 Bounding Box를 Crop하여 Classification 문제로 완화하기로 결정
728x90
'Boostcamp AI Tech' 카테고리의 다른 글
[실험 일지 Day-76] P Stage - 모델 최적화(경량화) (0) | 2021.12.06 |
---|---|
[Boostcamp Day-76] 작은 모델, 좋은 파라미터 찾기 AutoML 이론 (0) | 2021.12.06 |
[주말 실험 일지 - 토] P Stage - OCR (0) | 2021.11.22 |
[실험 일지 Day-74] P Stage - OCR (0) | 2021.11.22 |
[실험 일지 Day-73] P Stage - OCR (0) | 2021.11.22 |