从深度学习技术被提出以来,始终践行着“think big”的理念。特地是当预训练技术被广泛应用之后,更多的数据联合更大的模型参数量会继续带来模型性能的晋升,这条定律一直被近期公布的各种大模型所验证。在刚刚过来的2021年,百度文心大模型中的ERNIE3.0、微软和英伟达联合推出的MT-NLP以及谷歌的Switch Transformer等等,参数量可达千亿甚至万亿。

在取得高性能大模型后,如何将大模型与业务联合实现落地变得尤为重要。以后预训练模型的落地流程可被演绎为:针对只有大量标注数据的特定工作,应用工作数据fine-tune预训练模型并部署上线。然而,当预训练模型参数量一直增大后,该流程面临两个无奈回避的问题。首先,随着模型参数量的急剧减少,大模型fine-tuning所须要的计算资源将变得十分微小,一般开发者通常无奈累赘。其次,随着AIOT的倒退,越来越多AI利用从云端往边缘设施、端设施迁徙,而大模型却无奈间接部署在这些存储和算力都极其无限的硬件上。

针对预训练大模型落地所面临的问题,百度提出对立特色示意优化技术(UFO:Unified Feature Optimization),在充分利用大数据和大模型的同时,兼顾大模型落地老本及部署效率。UFO技术计划的次要内容包含:

  1. All in One:设计视觉示意多任务协同训练计划,免去了上游工作fine-tuning的过程,实现单模型在智慧城市多个外围工作成果全面当先
  2. One for All:独创针对视觉多任务的超网络与训练计划,反对各类工作、各类硬件的灵便部署,解决大模型推理性能差的问题。

All in One:
性能更弱小、更通用的视觉模型

之前支流的视觉模型生产流程,通常采纳单任务“Train from scratch”计划。每个工作都从零开始训练,各个工作之间也无奈互相借鉴。因为单任务数据有余带来偏置问题,实际效果过分依赖工作数据分布,场景泛化成果往往不佳。

近两年蓬勃发展的大数据预训练技术,通过应用大量数据学到更多的通用常识,而后迁徙到上游工作当中,实质上是不同工作之间互相借鉴了各自学到的常识。基于海量数据取得的预训练模型具备较好的常识齐备性,在上游工作中基于大量数据fine-tuning仍然能够取得较好的成果。不过基于预训练+上游工作fine-tuning的模型生产流程,须要针对各个工作别离训练模型,存在较大的研发资源耗费。

百度提出的UFO All in One模型,通过应用多个工作的数据训练一个功能强大的通用模型,可被间接利用于解决多个工作。不仅通过跨工作的信息晋升了单个工作的成果,并且免去了上游工作fine-tuning过程。UFO All in One模型研发模式可被广泛应用于各类多任务AI零碎,以智慧城市的多任务大模型为例,UFO All in One能够用单模型实现多个工作的SOTA辨认成果,同时多任务模型可取得显著优于单任务模型的成果,证实了多任务之间信息借鉴机制的有效性。

单模型笼罩智慧城市4大工作
智慧城市是目前计算机视觉技术最重要的利用场景之一,在智慧城市的各个工作中,往往要同时解决人脸、人体、车辆和通用物体等指标,这对AI零碎的多任务协同能力提出了十分高的要求。现有的视觉模型大多只能检测或辨认其中的一类指标,百度通过UFO计划中的多任务协同学习技术,产出城市视觉UFO模型同时解决这4类工作,并在10项公开数据集上成果获得SOTA。上面具体介绍UFO的多任务协同训练计划。

工作设置与数据
为验证计划的有效性且便于偏心比照,应用10项公开数据集进行训练和测试。各个数据集的统计信息如表所示:

对立各工作的配置
从模型优化的层面来说,以往不同任务模型训练的batch size 、学习率乃至于优化器都各不相同。为了不便后续的多任务训练,UFO计划对立了各个工作的模型构造以及优化办法。工作配置如下表所示:

异构数据采样策略和Drop Path正则技术
多任务学习首先面临的问题是如何构建Batch。罕用的形式有两种,一种是同数据域的Batch组成,即Batch内的数据均来自同一个工作,通过不同的Batch抉择不同的工作来保障训练所有工作。另一种是不同数据域的 Batch 组成,即Batch 内的数据来自不同的工作。同数据域的Batch组成面临的问题是当模型中应用BatchNorm这一常见的操作时,因为训练时的统计值(单任务统计值)和测试时的统计值(多任务统计值)差别较大,导致模型成果较差。如下表所示,通过ResNet50构造在人体Market1501和物品SOP两个工作中验证,应用混合数据域计划能够大幅提高两工作的成果。

在四个工作中,人体和物品的训练集数量最小,都只有6万张图片左右,而人脸和车辆则各有约500万和40万张图片。因而在多任务训练过程中,呈现出了人体、物品疾速过拟合,而人脸和车辆欠拟合的景象。为解决各个工作数据不平衡导致的过拟合问题,通过在训练过程中应用Drop Path正则化办法,在人体和物品工作中实现mAP1%~3%的晋升,同时其余工作成果持平或更好。

单模型刷新10项公开数据集SOTA后果
基于多任务协同训练计划失去的城市视觉All in One UFO模型,和之前的单任务SOTA后果相比,在4个工作的10个测试集上都达到了新的SOTA,同时相比应用同样模型构造的单任务后果,在少数工作上UFO也体现的更好,证实了多任务之间信息借鉴机制的有效性。

在上图中,灰色示意示意城市视觉All in One UFO模型的后果,橙色示意和UFO模型应用雷同模型构造的单任务后果,蓝色示意之前同样数据集上最优的单任务后果。以上所有后果都不应用预训练数据,同时无重排序策略。

One for All:
灵便、可伸缩的弹性部署计划

受算力和存储的限度,大模型无奈间接部署在边缘设施上。一个针对云端设施开发的模型要部署到边缘设施或端设施时往往要进行模型压缩,或齐全从新设计,而预训练大模型的压缩自身须要消耗大量的资源。

另外,不同工作对模型的性能和性能要求也不同,例如人脸识别门禁系统只需具备人脸识别性能即可,智慧社区的管控零碎则须要同时具备人脸识别和人体剖析的能力,局部场景还须要同时具备车型辨认及车牌辨认能力。即使是同样的人脸识别工作,门禁系统和金融领取零碎对模型的精度和性能要求也不同。目前针对这些工作往往须要定制化开发多个单任务模型,加之须要适配不同的硬件平台,AI模型开发的工作量显著增长。

针对大模型的开发和部署问题,UFO给出了One for All的解决方案,通过引入超网络的概念,超网络由泛滥稠密的子网络形成,每个子网络是超网络中的一条门路,将不同参数量、不同工作性能和不同精度的模型训练过程变为训练一个超网络模型。训练实现的One for All UFO超网络大模型即可针对不同的工作和设施低成本生成相应的可即插即用的小模型,实现one for all tasks 和one for all chips的能力。

超网络设计与训练计划
UFO基于Vision Transformer结构设计了多任务多路径超网络。超网络分为多路径FFN超网和与可伸缩attention超网两局部。与谷歌Switch Transformer不同的是,UFO的超网不同的门路除可抉择不同FFN单元,同时Attention模块反对依据不同工作弹性伸缩,实现网络的搜寻空间扩大,为硬件部署提供更多可选的子网络,并晋升精度。

UFO还专门设计了针对多任务超网络的训练计划。首先针对超网络中的FFN超网模块,每个工作的每个block中会主动学习共享FFN(FFN-shared)和该工作专属FFN(FFN-taskX)的加权系数,所有工作都会更新共享FFN的参数,特定工作只会更新专属的FFN参数。在FFN超网训中,对于每个block, 每个子网络都有三种不同的门路抉择,即抉择共享FFN,抉择专属FFN或者抉择加权的FFN。对于所有的FFN,都能够抉择不同的放缩系数。因而FFN超网络中共有中共有(T3ratio)^L种不同的FFN门路,其中T为task的数量,L为网络的层数, ratio为放缩系数的数量。而对于self-attention超网,每个子网络能够抉择不同的Head数量以及block的反复次数。

One for all tasks
因为在训练超网的过程中应用了各个工作的数据,并对超网施加工作束缚,能够让相干的工作共享更多的参数,而不相干的工作之间尽量减少烦扰,从而取得针对不同工作最优的子网络模型。在业务利用时,只须要依据不同子网络在特定工作的成果,抽取出对应的子网络结构和参数,即可间接部署,无需反复训练。

One for all chips
针对不同平台存储容量和算力不同,从训练好的UFO超网络模型中抉择不同大小和计算量的子网络进行部署。因为超网络中子网络的数据泛滥,每个子网逐个测试精度和延时并不事实,因而在UFO中,应用了GP-NAS【1】中的基于高斯过程的超参数超参预计技术,只需采样超网络中大量子网络进行评估,即可精确预测出其余网络的精度和速度。

单超网络撑持智慧城市多任务灵便部署
基于上述计划,应用公开数据训练的One for All UFO超网络模型能够在智慧城市人脸、人体、车辆和物品4类工作的6个公开测试集上精度达到SOTA,同时从UFO超网络中抽取的子网络,在参数量压缩20%~30%的状况下,同样能够超过之前SOTA的后果。

结语

只管大模型一次次刷新了记录,展现出惊人的成果,但对于工业界而言,势必要面对如何利用落地的问题。百度提出的对立特色示意优化技术(UFO),给出了预训练之外的另一个解决方案:在模型生产层面,通过All in One计划,充分利用大数据和大模型带来的收益,将多任务整合至一套训练框架和模型,通过跨工作的信息量带来更高的特定工作收益。在部署层面,基于One for All计划,仅应用单个超网便可撑持不同任务模型在不同平台、不同算力设施上的自适应部署,实现模型的即插即用。

目前UFO All in One模型曾经在飞桨PaddlePaddle上凋谢,UFO One for All模型也将在近期凋谢,理解更多UFO技术细节,能够通过以下链接:
https://github.com/PaddlePadd...

附录
【1】GP-NAS: Gaussian Process based Neural Architecture Search,CVPR 2020