취미가 좋다

Fast and Accurate Model Scaling 논문 정리 본문

논문

Fast and Accurate Model Scaling 논문 정리

benlee73 2021. 4. 16. 18:06

논문 링크

 

 

 

 

Fast and Accurate Model Scaling

Facebook Research

2021 CVPR


 

 

Abstract

이 논문은 CNN scaling 방법에 대해 분석한다.

 

대표적인 scaling 방법에는 model의 width, depth, resolution 을 증가시키는 방법들이 있다.

 

하지만 이렇게 다양한 scaling 방법은 있지만, 그들 간의 tradeoff에 대한 내용은 별로 없다.

 

기존의 전형적인 분석은 accuracy와 FLOPS의 관계를 본다.

 

우리가 증명하기로는, 여러 scaling 방법들은 모델의 파라미터 수, activations, runtime 에 다 다르게 영향을 미친다.

 

우리의 실험은 여러 scaling 방법이, accuracy는 비슷하지만 다양한 properties를 가진 네트워크를 만든다는 놀라운 결과를 보여준다.

 

이를 통해, 주로 모델의 width (CNN 채널의 수) 를 조정하고, depth와 resolution은 덜 조정하는, simple and fast 한 compound scaling 방법을 제안한다.

 

지금 많이 쓰이는 scaling 방법과 달리, 제안된 scaling 방법은 activation이 더 적게 증가하면서 높은 accuracy를 가진다.

 

activation이 더 적게되면 GPU의 속도는 더 빨라진다.

 

 

1. Intorduction

지난 몇 년동안, 학습하고 CNN 동작을 위한 하드웨어의 발전은 인상적이었다.

 

GPU, TPU 와 같은 하드웨어 가속기를 사용하면, 더 빠르고 정확하게 네트워크를 학습시키고 배포할 수 있다.

 

 

 

 

이런 빠른 발전은 모델을 최적화하는데 도움이 되었다.

 

직접 설계하거나 복잡한 neural 구조를 탐색하여, 여러 작은 모델들을 학습하고 정확도와 속도가 뛰어난 것을 선택할 수 있게 되었다.

 

AutoML의 모델을 design하는 여러 모델들은 neural network를 최적화하는데 도움을 준다.

 

하지만, 

 

 

 

high compute regime 에서, lower-complexity 모델을 키우는 과정을 필수적이다.

 

scaling은 좋은 정확도를 가진 큰 모델을 얻는데 효과적이다.

 

그러나, 기존 작업들은 모델의 정확도에 초점을 맞추어 scaling을 진행했다.

 

이 논문에서는, 실제로 배포하고 사용할 수 있도록, 빠르고 정확한 큰 모델을 주장한다.

 

 

 

 

딥러닝에서 자연스럽게 등장한 scaling은 depth를 증가시키는 것이다.

 

그러나 depth를 증가시키는 것으로는 한계가 있고, width 와 resolution을 증가시키는 방법이 있다.

 

최근에 동시에 이 3가지를 한 번에 증가시키는 compound scaling이 높은 정확도를 가지는 것으로 알려져 있다.

 

 

 

 

최근 모델 scaling은 accuracy 와 flops에 주로 집중한다.

 

그러나, 같은 flops를 가지더라도 다른 runtime을 가질 수 있다.

 

그래서 accuracy와 runtime 을 최적화하는 전략에 대해 연구하였다.

 

실제 아래 그림을 보면 같은 flops를 가지면서 비슷한 성능을 가진 여러 전략이 있다는 것을 알 수 있다.

 

 

 

오른쪽 아래 그림을 보면, 2가지 scaling 전략을 사용하고 flops을 고정시키면 runtime이 다른 것을 확인할 수 있다.

 

flops 말고 activation과 parameter의 수에 대해서도 runtime이 어떠한지 확인할 필요가 있다.

 

그 결과, flops 보다 activations가 더 runtime에 관련이 있다는 것을 알 수 있다.

 

또한 width를 증가시킬 때, activation이 덜 증가한다.

 

그래서 width를 중점으로 scaling하는 새로운 방법을 제안한다.

 

 

2. Related Work

Manual network design

AlexNet의 성공과 하드웨어의 발전 이후, 더 크고 정확한 모델을 만들게 되었다.

 

VGG나 Inception 과 같은 모델들은 모델의 depth를 증가시켜 이득을 얻었고, ResNet 계열의 네트워크로 정점을 찍었다.

 

그리고 wider한 모델 (필터의 채널을 증가시킨)이 효과적이고 효율적이라고 증명되었다.

 

depthwise와 group convolution 으로 모델의 capacity도 높아졌다.

 

다른 좋은 디자인 방법으로는, bottleneck 구조, SE, nonlinearities 가 있다.

 

 

 

Automated network design

모델을 학습하기 위한 하드웨어의 빠른 발전 덕분에, 네트워크 디자인을 자동화하는 것이 가능해졌다.

 

NAS (Neural architecture search) 연구가 활발해졌고, 특히 낮은 compute regime에서 효율적인 model을 만들 수 있게 되었다.

 

모델을 찾는 과정은 큰 모델을 학습시키려 할 때, 계산 비용이 많이 들기 때문에, 효율적인 search 알고리즘에 대한 관심이 높아지고 있다.

 

예를 들어, DARTS는 모델 구조를 최적화하기 위해, 여러 모델을 학습할 필요 없는 차별화된 search 방법을 제안했다.

 

그럼에도 불구하고, search는 아주 효과적이었다.

 

 

 

Design space design

model search는 효과적이지만 search의 결과가 generalization하지 못하다는 한계가 있다.

 

그 대안으로 심플하고 튜닝하기 쉬은 모델을 포함하는 낮은 차원의 design space를 디자인하는 아이디어가 제안되었다.

 

새로운 데이터셋이나 compute regime이 주어지면, 모델은 이 design space에서 적은 파라미터를 조정하여 선택될 수 있다.

 

이를 통해 high-compute regime에서도 모델을 최적화할 수 있다.

 

우리는 이러한 효과적은 design space를 실험에서 사용하였다.

 

 

 

Network scaling

model design strategy에 관계 없이, computational regime에 따른 실험은 하기 어렵다.

 

따라서 model scaling이 필수적이다.

 

대표적인 scaling 방법은 depth, width, resolution이 있다.

 

세 가지 방법을 동시에 사용하는 compound scaling 방법이 accuracy와 flops 간의 좋은 tradeoff를 달성했다.

 

그래서 이 방법은 우리 실험의 baseline으로 사용된다.

 

 

 

Going bigger

더 큰 데이터셋과 compute regime으로 늘리는데 관심이 늘고 있다.

 

더욱이, unsupervised learning의 발전으로 무한의 데이터로 학습할 수 있는 가능성이 있다.

 

우리는 이러한 새로운 regime에 필요한 크기로 모델을 확장하는 것을 목표로 한다.

 

 

3. Complexity of Scaled Models

이 section에서, 우리는 다양한 네트워크 scaling 방법에 대한 complexity를 분석하는 프레임워크를 제안한다.

 

프레임워크는 간단하고 직관적이지만, 모델 scaling을 이해하기에 충분하다.

 

 

3.1. complexity Metrics

우리가 고려하는 3가지 모델의 특성은 flops (f), parameters (p), activations (a) 이다.

 

일반적인 관습에 따라, 우리는 연산량을 의미하는 flops 와 모델 변수의 수를 의미하는 parameters를 많이 사용한다.

 

여기서 activations는 conv layer들의 output tensor 속 elements의 개수이다.

 

 

 

f 와 p 는 neural network 에서 complexity를 측정할 때 자주 사용한다.

 

그러나, p는 입력의 resolution과 독립적이기 때문에, 네트워크의 capacity나 runtime에 완전히 반영하지 못한다.

 

그러므로, resolution을 다양하게 변화하면서 네트워크를 연구하기 때문에, p보다 f를 중점으로 두고 진행한다.

 

 

 

a는 자주 사용되지 않지만, 네트워크의 속도를 결정하는데 중요한 역할을 한다.

 

그래서 우리는 scaling과 activation의 관계에 대해 분석을 한다.

 

 

3.2. Network Complexity

반면 conv networks는 다양한 layer를 사용하지만, 우리는 conv layer의 complexity에 중점을 두었다.

 

먼저 많은 layer들 (normalization, pooling, activation)은 모델 연산에 적은 비중을 차지한다.

 

그리고 이러한 layer들의 수와 complexity는 conv layer의 크기에 비례한다. (conv 뒤에 activation이 오는 것처럼)

 

이러한 이유 때문에, conv layer를 분석하는 것이, 모델 scaling이 전체 네트워크에 미치는 영향을 분석하는 것과 비슷하다.

 

 

 

 

크기가 k x k 인 conv layer와 width(채널의 수)가 w이고 reolution이 r이라고 해보자.

 

feature map size는 r x r x w 이고, 각 패치의 사이즈는 k x k x w 이다.

 

k는 scaling 대상이 아니므로 k=1로 둔다.

 

보통 네트워크는 여러 stage로 구성되고, 같은 depth의 stage에서는 같은 w와 r을 갖는다.

 

depth d 를 고려한 식은 아래와 같다.

 

이어지는 분석에서, 다른 scaling 방법이 얼마나 영향을 미치는지 볼 것이다.

 

각 stage에 동일하게 scaling을 하여 complexity 분석이 전체 네트워크에 적용된다.

 

 

3.3. Complexity of Simple Scaling

simple scaling은 w, d, r 하나의 dimension만 조절하는 것이다.

 

scaling factor s는 모델의 flops를 증가시키는 양으로 정의한다.

 

그래서 d에는 s만큼, w, r에는 √s 만큼 키워준다.

 

Table 1은 각 dimension에 대해서 scaling했을 때, complexity를 보여준다.

 

flops는 모든 방법에 대해서 동일한 결과를 가지지만, params와 acts는 그렇지 않다.

 

특히, w를 scaling했을 때, 다른 scaling을 사용했을 때보다 activations이 덜 증가한 것을 확인할 수 있다.

 

이는 우리가 새로운 scaling 방법을 쓸 때 중요한 역할을 한다.

 

 

3.4. Complexity of Compound Scaling

하나의 차원에서만 scaling을 하는 것보다, 동시에 여러 scaling을 하는 것이 일반적으로 더 좋다.

 

EfficientNet의 compound scaling은 simple scaling 보다 높은 정확도를 가진다.

 

Table 2에서, 2개와 3개의 scaling을 사용했을 때의 complexity를 보여준다.

 

이때, 각 scaling의 각 dimention의 비중은 flop에서 동일하게 되도록 맞춰준다.

 

흥미롭게도, EfficientNet에서 실험하면서 찾은 1.2, 1.1, 1.15의 비율이 위의 3√s : 6√s : 6√s 와 유사하다.

 

그래서 위의 동일한 compound scaling을 사용한다.

 

dwr에서 activation은 s에 linear하게 증가한다.

 

 

3.5. complexity of Group Width Scaling

여러 좋은 성능의 네트워크는 group conv 와 depthwise conv 에 의존한다.

 

채널 너비가 w 이고, 그룹 너비가 g 인 group conv는 width가 g인 w/g개의 그룹으로 나누는 것과 같다.

 

depthwise conv 는 g=1일 때이다.

 

Table 3에서, 우리는 group conv를 scaling 하기 위한 3가지 방법을 보여준다.

 

 

4. Runtime of Scaled Models

우리의 동기는 fast and accurate한 모델을 만드는 scaling 방법을 만드는 것이다.

 

위에서 우리는 여러 scaling 방법에 따른 flops, parameters, activations의 변화를 확인했다.

 

이 section에서는 이러한 complexity metrics 와 model runtime 과의 관계를 비교해볼 것이다.

 

이를 통해 다음 section에서 새로운 scaling 방법을 사용할 수 있다.

 

 

 

이전 section에서 분석한 complexity metrics은 model runtime과 어떤 관련이 있는가?

 

이 질문에 답하기 위해, Figure 2에서 우리는 flops, params, activations 를 기반으로 하는 3가지 base model에 대한 runtime을 보여준다.

 

이 그래프로부터 2가지를 알 수 있다.

 

1) flops와 params는 하나의 모델에 여러 scaling 방법을 사용했을 때, runtime을 예측하기 어려웠다.

 

2) 반면, activations 가 runtime을 예측하기 쉬웠다.

 

이 간단한 결과로 우리가 activations를 runtime의 추정치로 사용하게 된다.

 

특히, 단일 모델에 대한 scaling된 버전에서, scaling 방법에 상관없이 runtime과 activation에 대한 Pearson correlation은 0.99가 넘고, flops와 params는 훨씬 낮다. (flops는 0.81, params는 0.56)

 

이때, Pearson correlation은 두 변수가 어떤 상관관계를 나타내는 지표이다. (1.0은 양의 선형 관계, 0.0은 관계없음, -1.0은 음의 선형 관계를 나타낸다.)

 

하지만, activation function 에 따라 runtime이 달라질 수 있으므로, 다른 모델 간의 runtime을 완벽하게 예측할 수는 없다.

 

 

 

 

5. Fast Compound Model Scaling

위의 결과로, 모델의 activations의 증가를 줄이는 방법으로 scaling 방법을 찾기로 한다.

 

Table 1 ~ 3를 보면, channel width 와 group width을 증가시키는 것이 activation을 가장 적게 증가시킨다.

 

게다가, wide 네트워크가 시간에 효율적이라고 잘 알려져 있다.

 

하지만 안타깝게도, deaper or high resolution 모델에 비해 높은 성능을 가지지 못했다.

 

 

 

이를 다루기 위해, fast compound model scaling 또는 fast scaling 을 제안한다. 

 

아이디어는 간단하다.

 

width를 중점적으로 늘리고, depth와 resolution을 그거에 비해 좀 덜 증가시키는 것이다.

 

이를 공식화하면 아래와 같다.

scaling factor 가 s 일 때, 

scaled된 모델의 결과적인 complexity는

 

 

 

여러 a를 사용한 결과가 Table 4에 있다.

 

  • a = 1 일 때는 width만 scaling한 것이고, 가장 작은 activations를 가진다.
  • a =0 일 때는 depth와 resolution을 scaling한 것이고, 가장 큰 activations를 가진다.
  • a = 1/3 이 동일한 compound scaling을 한 dwr 이다.

a가 1에 가까울수록 fast scaling 이라고 하고, 0.8을 default 로 잡는다.

 

이를 dWr이라고 하고, 다음 section에서 좋은 속도와 정확도를 보인다.

 

 

 

 

6. Experiments

이 section에서는, 우리가 제안한 fast scaling 방법의 효율성을 평가한다.

 

6.1에서 baseline 네트워크 설명한다.

 

6.2에서 기존 scaling 방법을 평가하고, 6.3에서 fast scaling과 비교한다.

 

6.4에서 scaling과 random search를 비교하고, 6.5에서 더 큰 모델과 비교한다.

 

 

6.1. Baseline and Optimization Settings

Baseline network

이 논문에서, 우리는 3가지 네트워크를 사용한다. (EfficientNet, RegNetY, RegNetZ)

 

이 모델들은 sota를 대표하고, 우리의 실험에 잘 맞기 때문에 선택되었다.

 

특히 EfficientNet은 모델 scaling 연구에서 사용된 것이기에, 이 연구에 잘 맞는다.

 

 

EfficientNet

EfficientNet은 좋은 flop-to-accuracy tradeoff를 달성하였다.

 

이 모델은 inverted bottlenecks, depthwise conv, SiLU nonlinearity 를 사용하였다.

 

다양한 width, depth, stride, kernel size를 가지는 7가지 단계로 구성되어 있다.

 

기본 모델 EfficientNet-B0는 NAS와 compound scaling을 통해, mobile regime에 최적화되었다.

 

EfficientNet은 약 30개의 parameters로 정해진다. (입력 resolution, 7개의 stage 마다 4개의 파라미터, stem과 head의 width)

 

 

RegNets

NAS (neural architecture search)의 대안으로, designing design spaces의 아이디어로 만들어졌다.

 

이 방법으로 만들어진 간단하고 규칙적인 네트워크 RegNets 를 사용한다.

 

이 모델은 6개 이하의 parameters로 정해지기 때문에, random search를 통해서 빠른 모델을 찾을 수 있다.

 

그래서 EfficientNet과 달리, scaling과 random search를 통해 얻은 큰 모델을 비교할 수 있다.

 

 

 

RegNet은 stem, body(4개의 stage), head로 이루어져 있다.

 

각 stage는 동일한 block들로 구성되고, block type은 다양하다.

 

중요한 것은, RegNet의 depth와 width는 stage 마다 동일하고, 4개의 파라미터 (d, w0, wa, wm)으로 결정된다.

 

다른 파라미터들 (group width, bottleneck ratio) 모든 stage에서 동일한 값으로 사용된다.

 

 

 

RegNetY

Figure 3에서 볼 수 있다.

 

Y block은 group conv가 있는 residual bottleneck block 과 유사하다. (ResNeXt)

 

추가적으로 SE (Squeeze-and-Excitation) layer를 사용한다.

 

Designing network design spaces 논문에 따라, bottleneck ratio b 를 1로 설정한다.

 

그래서 RegNetY 모델은 b를 제외한 5개의 파라미터로 결정된다.

 

하지만, Designing network design spaces 논문과 달리, image resolution r을 추가하여 6개의 파라미터를 사용한다.

 

 

 

RegNetZ

우리는 inverted bottlenecks를 기반으로 하는 새로운 Z block을 제안한다.

 

Z block은 Y block의 마지막 nonlinearity를 제거하고 bottleneck을 반전시킨 것과 유사하다. (b = 1/4를 사용)

 

RegNetY와 같이 6개의 파라미터를 사용한다.

 

EfficientNet도 동일하게 inverted bottleneck을 사용하지만, 큰 모델을 비교할 수 있도록 RegNetZ를 만들었다.

 

 

Optimization setting

우리의 목표는 공정하고 재현 가능한 결과를 가지면서, sota를 달성하는 것이다.

 

하지만, 좋은 성능을 내는 setup은 재현하기 어렵고, 쉬우면 성능이 덜 좋다.

 

그래서 두 목표 사이에서 효과적으로 균형을 잡는 training setup을 한다.

 

 

 

우리의 setup은 다음과 같다.

 

momentum=0.9 SGD / labe smoothing 0.1 / mixup 0.2 / AutoAugment / stochastic weight averaging / mixed precision training

 

모든 모델에 대해 5 epoch의 gradual warmup을 수행한다.

 

batch size 1024를 가지고 exponetial learning rate schedule을 사용하고, learning rate λ=2.0, β=0.02 이다.

 

RegNet은 weight decay를 2e-5 를 사용하고, EfficientNets는 1e-5 를 사용한다.

 

batch norm 파라미터는 decay하지 않는다.

 

큰 모델에 대해서는, batch size와 learning rate를 비례하게 줄인다.

 

재현을 위해 setup 코드를 공개한다.

 

 

 

EfficientNet baselines

Table 5에서 우리의 optimization setup으로 설정했을 때의 결과과 EfficientNet 논문에서의 결과를 비교하여 보여준다.

 

우리는 100, 200, 400 epoch에 따른 결과를 보여준다.

 

2X schedule은 비교적 괜찮은 결과를 가졌고, 4X schedule의 경우 작은 모델에서는 더 좋은 성능을 가졌다.

 

우리는 다른 언급이 없다면 2X schedule을 사용한다.

 

 

 

RegNet baselines

Table 6를 통해 baseline RegNet 모델의 성능을 알 수 있다.

 

우리는 Designing network design spaces 논문의 random search를 통해 이 모델들을 얻는다.

 

resolution을 유지한 RegNet-4GF 와 resolution도 search를 통해 찾은 RegNet-4GF 두 가지 버전이 있다.

 

 

 

 

6.2. Simple and Compound Scaling

이제 3.3, 3.4에서의 scaling 을 평가해보자.

 

이 실험에서는 6.1의 baseline 모델을 scaling한다.

 

Figure 4에서, EfficientNet-B0를 w, d, r, dwr 에 따라 scaling을 수행하고, accuracy와 runtime을 평가했다.

 

결과적으로, dwr이 가장 accuracy가 높았고, w가 가장 빨랐다.

 

이는 speed와 accuracy와의 trade-off를 말한다.

 

 

 

 

또 uniform compound scaling과 Efficient 논문에서 주장하는 original compound scaling factor를 비교해 봤다.

 

그 결과, accuracy와 runtime은 모두 유사했다.

 

Figure 5에서, 위와 같은 실험을 RegNet에서 수행하였고, 동일한 결과를 가진다.

 

논의된 대로, group width g 는 width와 비례하여 적용된다.

 

 

 

6.3. Fast Scaling

이제는 우리가 제안한 fast scaling 방법을 분석해본다.

 

먼저 a를 변경하면서 적절한 a를 찾는다.

 

a = 1/3일 때가, uniform compound scaling (dwr) 이고, a = 1 일 때가 width scaling (w) 이다.

 

그리고, a = 4/5 일 때가, fast scaling (dWr) 이다.

 

Figure 6을 보면, a를 변화시키며 accuracy와 runtime을 분석한다.

 

a <1 일 때 accuracy는 꽤 비슷하고, 좋았다. (특히 모델이 커졌을 때)

 

오른쪽 그래프에서는, dWr이 w와 runtime이 비슷하고, dwr보다 더 빠르다.

 

dWr과 dwr의 차이는 모델이 커질수록 점점 커진다.

 

Figure 7은, 위와 같은 실험은 RegNet에서 반복한다.

 

결과는 비슷하고, dWr이 성능과 속도 모두 좋았다.

 

그리고 RegNet의 경우 w scaling이 EfficientNet 보다 성능이 더 좋았다.

 

RegNet은 g를 w와 비례하게 설정하였고, EfficientNet은 g=1 로 설정했기 때문이다.

 

 

 

6.4. Scaling versus Search

어떻게 scaled 된 모델과 random search를 비교할 것인가?

 

RegNet은 6개의 파라미터만 가지고 있기 때문에, intermediate flop regime에서 random search를 통해 RegNet을 최적화할 수 있다.

 

Table 7에서 3가지 모델을 비교한다.

 

첫 번째는 dWr scaling으로 얻은 RegNetY-4GF 와, search를 통해 얻은 RegNetY-4GF를 비교하고 RegNetZ도 동일하게 비교한다.

 

그 결과, search를 통해 찾은 모델이 조금씩 성능이 더 좋다.

 

이러한 결과는, model을 scaling하는 것이 항상 최적화된 모델을 만들지 않는다는 것을 보여준다.

 

하지만, 최적화가 불가능한 high compute regime에서는 scaling이 필수적이다.

 

 

 

그래서 hybrid scaling 방법을 제안한다.

 

intermediate flop regime에서 우선 search를 통해 최적화를 진행하고, 이후 scaling을 통해 더 큰 모델을 생성하는 방식이다.

 

Table 7의 5, 6 행을 보면, 500MF에서 바로 16GF로 scaling 한 것과, 4GF로 최적화 후 16GF로 최적화한 것을 비교할 때, hybrid 방식이 더 성능이 좋았다.

 

 

 

마지막으로, 최고의 샘플링된 모델은 scaled된 모델보다 더 적은 파라미터를 가진다.

 

우리는 higher flop regimes에서, 최적화된 모델은 마지막 stage에서 block 수가 적어 파라미터 수가 크게 감소하는 것을 발견했다.

 

이것은 모델의 stage를 모두 동일하게 scaling 하는 것의 한계를 보여준다.

 

 

 

6.5. Comparison of Large Models

scaling의 주된 이점은, 최적화가 불가능한 모델을 더 크게 만들 수 있다는 것이다.

 

Figure 8을 보면 여러 사실을 알 수 있다.

 

 

  • 모델의 flops가 모두 같을 때, RegNetZ의 성능이 가장 좋다.
  • dWr을 적용한 모든 모델이 original EfficientNet 모델보다 빠르다.
  • 가장 에러가 크고 작은 RegNetY 와 RegNetZ를 비교할 때, 500MF 에서는 2.2% 차이가 났지만, 16GF에서는 0.8% 차이가 났다. 이를 통해, ImageNet 모델은 high flop regimes에서 최적화가 덜 중요하다는 것을 알 수 있다.
  • hybrid 방식을 사용하면, RegNetY와 RegNetZ 의 간격을 줄일 수 있다.
  • RegNetY는 테스트한 모델 중 가장 빠르며, 특히 높은 flops에서 runtime이 제한된 경우 사용하기 좋다.

RegNetY-4GF → 16GF 가 EfficientNet-B4보다 flops가 4배나 더 크지만 더 적은 메모리를 사용하면서 더 빠르다.

 

이는 모델을 비교할 때, flops 이상의 metrics를 비교함을 보여준다.

 

 

 

 

7. Discussion

이 논문은 모델 scaling 방법을 분석하기 위한 일반적인 프레임워크를 제안했다.

 

이 프레임워크는 하드웨어의 runtime과의 관련성을 flops 뿐만 아니라 activation과 같은 다른 네트워크 속성과도 비교할 수 있도록 한다.

 

분석 결과, 모델의 width를 주로 확장하는 fast scaling 방법을 제시한다.

 

fast scaling은 빠르고 정확한 모델을 만든다.

 

다만 최적의 scaling 방법은 task마다 달라질 수 있겠지만, 우리의 작업이 합리적인 model scaling을 위한 일반적인 프레임워크를 제공했기를 바란다.

 

 

 

 

Comments