7月21日消息,达摩院自动驾驶实验室提出一种高性能网络轻量化方法“动态宽度可变网络”,解决了以往算法硬件效率低下的问题,在ImageNet数据集上达成2到4倍的理论加速和1.62倍实际加速,以最高5.9%的精度优势超越业界最优方法。该模型将应用于达摩院的“小蛮驴”无人车,也适用于各类有模型轻量化需求的嵌入式设备。
深度学习虽好,但很难部署到嵌入式设备上。深度学习模型对硬件的算力和内存有很高要求,而嵌入式设备往往算力有限,因此,模型轻量化是业界重要的应用研究内容。
以达摩院研发的L4级无人车小蛮驴为例,早期demo阶段的无人车使用工控机执行所有的自动驾驶计算任务,2020年正式发布的小蛮驴则改用达摩院自研的高性能、低功耗、低成本嵌入式异构计算单元,后者需以1/3算力实现工控机级别的智能水平。为此,达摩院持续进行软硬件协同优化设计,包括探索模型轻量化方法。
神经网络剪枝(pruning)是模型轻量化方法之一,它能减少网络参数、降低存储要求、提高计算速度。但既有算法存在瓶颈问题,算法模型与硬件计算不兼容,理论分析与实际加速之间存在很大差距,需要牺牲相当的计算精度和时延,这在自动驾驶应用中是不可接受的。
图说:动态宽度可变网络通过学习一个宽度可变超网络和一个动态门控机制来实现不同样本的动态路由
达摩院自动驾驶团队提出了“动态宽度可变网络”(Dynamic Slimmable Network,DS-Net)算法,在测试时,根据不同输入,预测性地调整网络滤波器数量,既不影响计算精度,还解决了以往算法中硬件效率低下和计算浪费的问题。
滤波器是图像处理任务中的概念,主要作用是提取对象特征作为图像识别的特征模式。主流算法通常会激活所有滤波器,最大限度压榨硬件算力。达摩院模型把剪枝视作动态过程,根据计算任务动态调整滤波器的激活数量。比如,无人车在行驶中感知到行人、汽车等简单场景,只需easy模式;如果遇到“一辆卡车拖着一棵大树”的复杂场景,则启用hard模式,激活更多滤波器。
在ImageNet上,对于ResNet和MobileNet,该方法达成了2到4倍的理论加速和1.62倍的实际加速,超越现有的剪枝、网络搜索和动态网络压缩方法,并以最高5.9%的精度优势超越了SOTA(state-of-the-art)方法Universally Slimmable Network。
达摩院自动驾驶实验室工程师王兵介绍,该方法目前正在适配小蛮驴无人车。由于并非针对特定的硬件设计,算法通用性高,适用于各类有模型轻量化需求的嵌入式设备。
据悉,小蛮驴无人车现已量产投用,未来一年预计将有1000辆车进入全国的高校和社区,开展末端配送服务。
图说:动态宽度可变网络成功加速ResNet-50和MobileNetV1,减少2到4倍的计算量,实现1.17倍、1.62倍的实际加速;以最高5.9%的精度优势超越了Universally Slimmable Network