티스토리 뷰

반응형

CompOFA: Compound Once-For-All Networks for Faster Multi-Platform Deployment


  • Once-For-All (OFA)는 Neural Architecture Search (NAS)에서 한 번에 여러 모델을 학습시킬 수 있는 방식을 제안함
  • OFA를 적용하더라도 NAS 비용은 여전히 높음
  • CompOFA
    • Accuracy-latency Pareto frontier에 가까운 모델로 search 범위를 제한
    • 더 작은 search space를 구성하기 위한 모델 magnitude 간의 compound relationship 파악
  • 논문 (ICRL 2021) : Paper Link

1. Introduction

  • CNN은 다양한 hardware, workload에 배포될 수 있지만, 사용 가능한 메모리, latency 등은 platform마다 서로 다름
  • Accuracy는 컴퓨팅 예산에 따라 증가하므로, 추론 latency 제약 하에서 모델의 정확도를 최대화하는 것이 중요
    • 이를 만족하는 모델은 accuracy-latency trade-off의 Pareto-frontier에 가까움
    • 하지만 이러한 모델을 수동으로 구축하거나 search하는 것은 여전히 소모적인 작업임
      - 컴퓨팅 자원, 시간, $CO_{2}$ 배출량 등 다양한 요소들을 고려해야 함
  • OFA는 Progressive Shrinking algorithm을 통해 search와 training을 분리하여 NAS의 비용 문제를 해결했음
    • 한번 학습되면 특정한 deployment target에 맞는 특화된 sub-network를 추출할 수 있음
      - Depth, width, kernel size, resolution에 대한 다양한 모델 구축
      - Weight sharing을 통한 single-shot 학습
  • OFA의 큰 search space는 training 비용을 증가시킬 수 있음
    • Search space는 가능한 모든 조합을 학습하는데서 많은 비용이 발생함
      - 대부분의 조합은 accuracy-latency Paretor-frontier 아래에 위치
      - 큰 search space에서 accuracy, latency 기반 탐색을 비효율적으로 만드는 요인
    • Sub-optimal 모델은 사용되지도 않을 뿐만 아니라, training interference를 발생시킴
      - Simultaneous optimization을 안정화하기 위해 더 긴 training 시간을 필요로 하게 만듦
    • 큰 search space의 모든 조합을 비교할 수 없기 때문에, accuracy, latency 측정은 간접적인 estimator를 사용할 수밖에 없음

-> 그래서 OFA의 큰 search space design 문제를 해결하기 위해 compound coupling을 활용하는 CompOFA를 제안

 

  • CompOFA
    • Depth, width, resolution은 서로 orthogonal 하지 않다는 것을 활용
      - 이를 따르는 차원 간의 compound coupling은 더 나은 accuracy-latency trade-off를 생성할 수 있음
    • 실제 시스템 배포에는 1ms 정도의 coarser latency면 충분함

< Overall of CompOFA >

  • Compound coupling을 활용하여 Pareto-frontier에 가까운 모델을 추출할 수 있음
    - OFA의 $10^{19}$개 모델을 CompOFA에서는 243개로 줄일 수 있음
  • 간소화된 search space를 통해 training interference를 줄여 학습 시간과 비용을 2배 이상 줄임
  • CompOFA의 단순함을 통해 216배 더 빠른 추출 속도를 보임
  • 작은 규모로도 OFA와 동일한 hardware target과 다양성을 보장할 수 있음

CompOFA와 OFA 비교

2. Motivation

- Design Space Parameterization

  • $m$개의 micro-architectural block $B_{1}, B_{2}, ..., B_{m}$으로 구성된 network architecture $N$
    • $B_{i}(d_{i}, W_{i}, K_{i})$ : 각 block은 depth, layer 당 width, layer 당 kernel size를 통해 parameterized
      - $d_{i}$ : block의 layer 수 (depth)
      - $W_{i}, K_{i}$ : 각각 $d_{i}$ layer의 Width, Kernel size
  • OFA는 다양한 latency, accuracy의 $N_{1}, N_{2}, ...$ network들을 가짐
    • Block $B_{i}$의 channel과 공통 layer의 weight는 모든 network에서 공유됨
      - OFA의 block은 MobileNetV3의 Inverted Residual이므로, width는 channel expansion ratio를 의미함
    • $d_{i}, w_{ij}, k_{ij}$는 $D = [2,3,4], W = [3,4,6], K = [3,5,7]$에서 각각 sampling 됨
  • OFA에서 각 차원은 orthogonal 한 것으로 처리
    - 가능한 network의 수는 $m=5$ block에 대해 $O(10^{19})$

- Compound Relation of Model Dimensions

  • $D, W, K$ 3개의 독립적인 차원에서의 모델 조합은 엄청난 수의 후보 모델을 생성
  • 거대한 search space에서 가능한 모든 모델을 학습하는 것은 어려움
    1. 모델의 차원은 orthogonal 하지 않음
      • 더 높은 FLOP에 대해 depth, width, resolution에 대한 scaling 차원은 일반적으로 사용되는 방식임
        - 차원 간의 compound relation을 활용하면 최적의 accuracy-latency trade-off를 달성할 수 있음
        - Compound scaling rule에 따라 모델의 차원을 늘렸을 때 더 나은 결과를 얻을 수 있음
      • Depth와 width 사이의 quantized linear relation은 좋은 모델들이 많이 집중된 desing space를 생성할 수 있음
      • However, 모든 차원들이 독립적으로 sampling 되면 각 sub-optimal 모델들이 search space에 포함될 수 있음
    2. 대규모의 search space는 training과 searching을 복잡하게 함
      • OFA의 sub-network 간 interference는 simultaneous optimization을 어렵게 함
        - Progressive shrinking을 추가적으로 요구하므로 학습 시간이 늘어남
      • 원하는 target에 대한 accuracy, latency는 predictor를 통한 예측에 의존
        - Latency look-up table 수집, 추가적인 predictor 학습 등을 필요로 하므로 전체 시간이 늘어남
    3. 특정 granularity 아래의 hardware latency 차이는 noisy 함
      • Unique architecutre들 간의 accuracy, latency 차이는 search 과정 중에 구별가능해야 함
        - OFA의 search space는 120 ~ 560 MFLOP 범위에서 $O(10^{19})$개의 architecture 선택이 가능함
        - 1 FLOP으로 균일하게 분산시켜도 여전히 $O(10^{11})$개의 선택이 가능하므로 구별이 어려움
        -> 모든 hardware에서 특정 threshold 미만의 추론 시간은 사실상 noise와 동일함
      • 더 sparse 한 design space도 동일한 density와 배포 범위를 지원할 수 있다고 볼 수 있음
  • Fixed kernel size에 대해 균일한 depth와 width로 OFA sub-network의 accuracy, latency를 비교
    • 2차원 heatmap의 대각선을 따라 monotonic 하게 그라데이션이 그려짐
      - Depth, width 차원 모두에서 증가할 때 더 나은 accuracy-latency trade-off를 만족하는 sub-network를 search 할 수 있다는 것을 의미
    • 모델의 depth와 width 사이의 관계를 나타내는 coefficient가 존재함
      - 차원 간의 coupling을 따르면서 accuracy를 희생하지 않고 architecture의 design space를 줄일 수 있다는 것을 의미
    • OFA는 불필요하게 더 많은 모델을 학습하고 있음
      - 중복되고 비효율적인 sub-network를 정리하는 것이 필요

Depth, width에 대한 OFA sub-network의 accuracy, latency 비교

3. Compound OFA

- Coupling Heuristic

  • Depth와 witdth 차원은 함께 증가하거나 감소해야 함 (독립적으로 동작하지 않음)
    • 각 block에서 $i$번째로 큰 depth $d_{i} \in D$를 sampling 할 때마다 해당 block의 모든 $d_{i}$ layer에 대해 $i$번째로 큰 width $w_{i} \in W$를 같이 sampling
    • For example, $D = [2,3,4], W = [3,4,6]$인 경우
      - 각 block은 channel expansion ratio $3$인 2개의 layer / channel ratio $4$인 3개의 layer / channel ratio $6$인 4개의 layer를 가질 수 있음
    • Coupling heuristic에 의해 search space가 정의되면 기존 OFA 방식에 따라 search를 수행
      - 가장 큰 network에서 모든 weight를 공유하면서 최적의 sub-network를 잘라내는 방식
  • Coupling heuristic을 통해 design space의 자유도를 줄일 수 있음
    • 기본적으로 kernel size를 고정하지만 elastic-kernel을 사용할 수도 있음
    • Fixed kernel을 사용하면 각 block에서 kernel size가 3, 5로 고정된 단순한 search space를 구성함
      - 해당 design space에서는 depth (width) 만으로도 block의 구성을 완전히 지정할 수 있음
      - 5개 block의 경우 $3^{5} = 243$개의 후보를 만들 수 있음
    • Elastic-kernel design space에서는 layer 당 $K=[3,5,7]$에서 sampling 된 kernel size를 활용
      - $(3^{2} + 3^{3} + 3^{4})^{5} \approx 10^{10}$개의 후보가 생성됨
  • CompOFA에서 학습 속도 향상의 원인은 search space cardhinality의 감소 때문
    • 모델에 대한 input resolution은 추론 시간에 영향을 주지만 학습 가능한 unique architecture의 수에는 영향을 주지 않음
    • Resolution elastic을 유지하면서 search space cardinality (학습 예산)를 늘리지 않고 여러 latency를 지원함

- Training Speedup

  • OFA는 progressive shrinking을 사용하여 sub-network를 단계적으로 training 함
    • 가장 큰 모델에서 시작하여 점진적으로 더 작은 sub-network를 포함시켜 나가는 방식
    • $T_{family} \propto \sum_{p \in Phases} e_{p} \times E(t_{p})$ : $e_{p}$ 만큼의 epoch 동안 진행될 때, 모델을 학습하는데 걸리는 총 시간 
      - $E(t_{p})$ : $p$ 단계에서 한 epoch을 완료하는데 걸리는 예상 시간
  • (목표) $T_{family}$를 줄이는 동시에 OFA와 동일한 수준의 accuracy-latency trade-off를 달성하는 것
    • $E(t_{p})$를 변경하지 않고 $T_{family}$를 줄이기 위해 phaese의 수를 줄이는 것을 목표로 함
    • 모델의 수는 $T_{family}$를 결정하는데 명시적으로 고려되는 요소는 아니지만, training phases의 수와 duration에 암묵적인 영향을 미침
    • 모델의 개수가 많은 경우 모델 간의 interference로 인해 progressive shrinking을 필요로 함
      - CompOFA는 search space에서 동시에 학습 가능한 모델의 최대 개수는 OFA보다 17배 더 작음 
      - 더 작은 search space 크기로 인해 CompOFA에서 progressive shrinking을 제거해도 충분한 accuracy를 달성할 수 있음

4. Experiments

- Settings

  • Search Space : MobileNetV3
  • Dataset : ImageNet
  • Comparison : OFA

CompOFA, OFA 속도 비교

- Training Time and Cost

  • CompOFA를 사용하는 경우 50%의 학습 비용을 줄일 수 있음
    - OFA는 978 GPU day가 걸리는 반면, CompOFA는 493 GPU day가 걸림
  • $CO_{2}$ 배출량 측면에서 CompOFA는 더 효율적인 성능을 보임

$CO_{2}$ 배출량 비교

- Accuracy-Latency Trade-off

  • Evolutionary search를 통해 얻어진 모델의 accuracy 비교
    - Samsung Note 10, NVIDIA GeForce RTX 2080 Ti GPU, Intel Xeon Gold 6226 CPU 별 latency 하에서 accuracy를 최대화
    - CompOFA가 모든 hardware 제약환경에서 가장 좋은 accuracy를 보임 

Accuracy-Latency Trade-off 비교

- Design Space Comparison

  • 각 latency bucket에 대한 분류 오류의 누적 분포 함수(CDF) 비교
    - CDF는 x축에서 주어진 accuracy를 초과하는 모델의 비율로 나타냄
    - CompOFA의 CDF는 OFA의 CDF보다 위에 있으므로, CompOFA가 정확한 모델의 비율이 더 높다는 것을 의미

Latency bucket에 대한 분류 오류 CDF 비교

  • 각 search space에 대해 bucket에서 20개의 모델을 sampling 하여 accuracy를 비교
    - CompOFA의 search space에 더 정확한 모델 구성이 집중되어 있음을 의미

Sampling한 모델들의 accuracy 비교

- Effect of Number of Phases

  • OFA는 progressive shrinking이 제거되면 3.7%의 accuracy 하락이 나타남
    - $O(10^{19})$ 모델이 weight를 동시에 최적화하기 위해 서로 interfering 하기 때문에 안정적인 학습을 위해 progressive shrinking이 필요
  • CompOFA는 training phase를 줄임으로써 전체 학습 시간을 줄임
    - CompOFA는 progressive shrinking을 사용하지 않고도 OFA와 동일한 accuracy를 달성함
    - 17배 더 작은 search space 크기로 인해 sub-network 간의 interference가 줄어들기 때문
  • CDF를 비교해 보면, CompOFA가 약간 더 높은 accuracy를 보임
    - Search space를 축소하는 과정에서 discard 된 모델은 accuracy에 영향을 주지 않음

CompOFA에서 Progressive Shrinking 제거 효과 비교

- Generalizing to Other Architectures

  • Coupling heuristic은 architecture에 관계없이 적용되어야 함
    - MobileNetV3에서 Proxyless NAS로 architecture를 변경하여 OFA와 CompOFA로 얻어진 결과를 비교
    - Proxyless NAS에서도 CompOFA가 OFA에 비해 더 효율적인 것으로 나타남

- Search Time

  • OFA는 latency predictor를 필요로 하지만, CompOFA는 더 작은 search space로 인해 latency look-up table을 구축하는데 드는 비용을 줄일 수 있음
  • Search space가 작은 경우 memoization을 활용하여 학습 시간을 단축할 수 있음
    - CompOFA의 경우 75초의 NAS 실행 시간을 기록함

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total
Today
Yesterday