其他分享
首页 > 其他分享> > 【Fast Scaling】Fast and Accurate Model Scaling-论文阅读

【Fast Scaling】Fast and Accurate Model Scaling-论文阅读

作者:互联网

Fast and Accurate Model Scaling

2021-CVPR-Fast and Accurate Model Scaling

来源: ChenBong 博客园

Introduction

RegNet的后续工作

通过对小模型进行缩放(主要是放大)来得到一系列大模型, 从而获得一系列性能优秀的模型族。

对模型缩放,在增加同样的计算量下,可以有不同的不同的缩放策略(例如要对一个300M的模型放大到400M,这增加的100M计算量可以全部增加在宽度w/深度d/分辨率r的维度上,也可以在不同维度上都分配一部分,多个维度同时缩放),且不同的缩放策略带来的性能增益acc,开销增益 flops/latency/epoch time 都不尽相同。

我们希望通过研究不同的缩放策略,来获得一种通用的性能增益多,但开销增益少的快速缩放策略。

我们通过实验证明了不同的缩放策略产生的不同flops的模型有着相似的性能增益,但在开销增益上有着较大的区别。在总结了大量缩放规则的基础上,提出了一种简单的复合缩放策略,在模型宽度的维度上缩放多,在深度/分辨率的维度上缩放少。

Motivation

Contribution

image-20210425164604749

Method

Complexity of Scaled Models

本节研究了不同维度的缩放对模型的3个复杂度 metric 的影响

Complexity Metrics

度量模型复杂性该用什么指标?

Network Complexity

Complexity of Simple Scaling

simple scaling:单一维度(d/w/r)的缩放,从 \(flops=f\) 缩放到 \(flops=sf\)

image-20210313194851078

3种 simple scaling 中,flops的增益的相同的,但p和a的增益是不同的:

Complexity of Compound Scaling

Compound Scaling:复合缩放,在多个维度上同时缩放,从 \(flops=f\) 缩放到 \(flops=sf\)

在之前的工作中证明了复合缩放可以比单一维度缩放获得更高的精度

将增加的倍数 s 均匀分配到多个维度上:

image-20210313204133179

EfficientNet中的经验法则dwr scale的比例分别为1.2,1.1,1.5;和表2中在3个维度上均匀分配的比例相当 \(s=2 (\sqrt[3]{s}=1.26,\ \sqrt[6]{s}=1.12)\) ,因此我们将3个维度上的均匀缩放作为 Compound Scaling 的代表进行分析

Complexity of Group Width Scaling

很多sota模型都依赖 group conv 或 depthwise conv(depthwise 是g=1的 gruop conv)因此我们对g的维度也进行探究,模型复杂度为 \(f=wgr^2, p=wg, a=wr^2\)

为了获得和缩放常规卷积相当的结果 \(f=w^2r^2\) ,对于group conv,我们同步缩放w和g(但对于depthwise conv,只缩放w)

image-20210313205620212

Runtime of Scaled Models

本节研究了3个模型复杂度metric与latency的关系

image-20210313210803922

从图2左上,右上可以看出:沿着不同维度缩放模型时,flops和parameters与模型latency的相关性很弱(缩放到相同的flops/parameters,模型latency的差异很大)

从图2左下,右下可以看出:不论沿着什么维度扩展模型(不同的缩放策略),activations与latency的相关性总是很高

Fast Compound Model Scaling

由于activations与latency有很强的相关性,因此我们的目标是设计一种在相同flops下,使得activations增量最小的缩放策略。

根据表1-3的结论,我们知道(相同的flops)在宽度w和组数g上的缩放对 activations 的增量最小(开销增益最小),但只在这2个维度上进行缩放不能达到最好的性能(性能增益不够)。

为了解决这个问题,我们设计了一种 Fast Compound Model Scaling(简称Fast Scaling)的方法,简单来说就是主要在宽度w的维度上扩展,较小地在另外2个维度d/r上扩展(并且在剩下2个维度均匀缩放)。

w维度上的扩展比例由单一参数 \(\alpha\) 决定, \(\alpha\) 为0-1,

一个stage的复杂度为: \(f=dw^2r^2,\ p=dw^2,\ a=dwr^2\)

根据 \(\alpha\) 定义3个维度的缩放倍数:

中间系数: \(e_{d}=\frac{1-\alpha}{2}, \quad e_{w}=\alpha, \quad e_{r}=\frac{1-\alpha}{2}\)

缩放倍数: \(d^{\prime}=s^{e_{d}} d, \quad w^{\prime}=\sqrt{s}^{e_{w}} w, \quad r^{\prime}=\sqrt{s}^{e_{r}} r .\)

image-20210313213012053

多维度均匀缩放:

image-20210313204133179

由于主要在w维度上缩放,因此我们实验的范围是 \(1/3<\alpha<1\)

无特别说明时, \(\alpha=0.8\) ,记为 \(dWr\)

Experiments

Baselines Network

baseline network

Optimization Settings

Our goal is to enable fair and reproducible results. However, we also aim to achieve state-ofthe-art results. This creates a tension between using a simple yet weak optimization setup (e.g., [22]) versus a strong setup that yields good results but may be difficult to reproduce (e.g., [31]).

不同baseline/不同模型大小配置不同,会公开训练配置

Simple and Compound Scaling

EfficientNet

image-20210425191446778

RegNet

image-20210425191602659

Fast Scaling

上面的实验证明了 dwr缩放 \((\alpha=1/3)\) 和 w缩放 \((\alpha=1)\) 之间存在tradeoff,特别地,我们将 \(\alpha=0.8\) 定义为Fast Scaling,记为dWr

EfficientNet

EfficientNet在不同 \(\alpha\) 缩放下的 err 和 latency:

image-20210425192831104

左图:在不同的 \(\alpha<1\) 缩放下,精度都相当,都高于仅在w上缩放 \(\alpha=1\) ;

右图:dWr 缩放比均匀缩放 dwr 的 latency 快得多(dwr和Effi ori接近,因此dWr比Effi快得多),已经接近w缩放

RegNet

RegNet上的结果也是相似的:

RegNet在不同 \(\alpha\) 缩放下的 err :

image-20210425193517406

图7:在不同的 \(\alpha<1\) 缩放下,精度都相当,都高于仅在w上缩放 \(\alpha=1\) ;

RegNet在不同 \(\alpha\) 缩放下的 latency :

image-20210425193620841

图12下:dWr 缩放比均匀缩放 dwr 的 latency 快得多,已经接近w缩放

image-20210425194425165

Comparison of Large Models

image-20210425195136112 image-20210425195804753

Conclusion

Summary

To Read

Reference

https://mp.weixin.qq.com/s/5Swa6PVTKTj0sfMkk297bg

标签:latency,缩放,Accurate,Fast,Scaling,维度,alpha,flops,模型
来源: https://www.cnblogs.com/chenbong/p/14702112.html