通用视觉预训练大模型巡礼系列(一):UFO大模型
©PaperWeekly 原创 · 作者 | 张燚钧
单位 | 中国移动云能力中心
研究方向 | 预训练大模型
近来,以 ChatGPT 为代表的自然语言对话大模型,以及以 Stable Diffusion 为代表的多模态文图生成大模型展现出惊艳的效果。而面向视觉领域的通用视觉模型相对来说似乎略显冷清。
事实上,从 2021 年商汤联合上海人工智能实验室发布“书生”通用视觉体系以及在 2022 年世界人工智能大会上发布的“书生 2.0”版本、2021 年华为发布盘古 CV 大模型、2022 年百度发布 UFO 通用视觉大模型、智源研究院开源 EVA 视觉大模型等等可以看出,学术界和工业界一直持续关注预训练大模型技术在视觉领域的发展和应用落地。
结合自己的研究兴趣,笔者一直以来比较关注预训练大模型技术在视觉领域的技术进展。人工智能技术在面向视觉的工业应用落地场景非常广阔。尽管在人脸、车辆识别等场景中,利用传统 AI 技术已经能够解决单个场景的业务需求。但是这种“手工作坊式”的开发模式,导致模型开发成本随着场景增长而提高。大量长尾场景中数据获取代价高昂,AI 技术落地困难。随着预训练大模型技术的发展,这种 AI 落地困境可能得到解决。
通用视觉预训练大模型就是要解决 AI 技术在视觉任务场景中的落地难题,为 AI 模型降低对场景数据依赖,支持下游多任务通过小样本微调达到高性能。尽管通用预训练视觉大模型要解决的问题是一致的,但是各家视觉大模型的技术路线不尽相同。其中有很多值得研究的地方,希望这些研究也会给通用视觉预训练大模型技术的发展、乃至未来多模态大模型中视觉模态的融入方法带来启发。
本次主要分享百度 UFO 视觉大模型相关技术。主要研究内容是基于 ECCV 2022 的论文《UFO: Unified Feature Optimization》[1] 和百度 UFO 模型的开源代码。
论文链接:
https://arxiv.org/pdf/2207.10341.pdf
代码链接:
https://github.com/PaddlePaddle/VIMER/blob/main/UFO/
UFO大模型整体概述
针对预训练大模型落地所面临的问题,百度提出统一特征表示优化技术(UFO:Unified Feature Optimization),在充分利用大数据和大模型的同时,兼顾大模型落地成本及部署效率。百度 UFO 大模型是行业最大 170 亿参数视觉多任务模型,覆盖人脸、人体、车辆、商品、食物细粒度分类等 20+ CV 基础任务,单模型 28 个公开测试集效果 SOTA。
▲ UFO在28个公开测试集上达到SOTA (分类任务)
百度 UFO 大模型的整体构建、部署可以看成三个过程。
1. 多数据集训练一个通用网络(百度称之为 AllInOne);
2. 通用网络通过多任务训练扩展成为由共享网络和专家网络构成的 170 亿参数的稀疏大模型,称之为超网络(OneForAll);
3. 从完整参数的稀疏大模型中抽取子网络用于下游任务。
▲ UFO模型的整体构建过程
模型结构
▲ UFO超网模型结构
传统的多路径大模型的参数共享方式主要有软参数共享和硬参数共享两种。软参数共享方式允许每个任务有单独的模型和参数,但是强制每个模型可以通过正则化访问其他模型内部的信息 [2,3]。硬参数共享则是共享部分网络结构 [4,5]。
UFO 综合了两种参数共享方式,基于 Vision Transformer 结构设计了多任务多路径超网络。与谷歌 Switch Transformer 以图片为粒度选择路径不同,UFO 以任务为粒度进行路径选择,这样当超网络训练好以后,可以根据不同任务独立抽取对应的子网络进行部署,而不用部署整个大模型。
UFO 的超网中不同的路径除了可以选择不同 FFN 单元,Attention 模块和 FFN 模块内部也支持弹性伸缩,实现网络的搜索空间扩展。超网络分为多路径 FFN 超网和与可伸缩 Attention 超网两部分。
首先针对多路径 FFN 超网模块,每个任务都有两种不同的路径选择,即选择共享 FFN(FFN-shared)或者专属 FFN(FFN-task),当选定好 FFN 以后,还可根据放缩系数弹性选择 FFN 中参数规模;因此 FFN 超网络中共有(T * ratio)^L 种不同的 FFN 路径,其中 T 为 task 的数量,L 为网络的层数,ratio 为放缩系数的数量。而对于 self-attention 超网,每个子网络可以选择不同的 Head 数量 QKV 矩阵参数量。
模型训练与子网参数抽取策略
▲ UFO超网与子网抽取
下面结合论文分析 UFO 的超网训练策略和下游任务子网络抽取方法。
UFO 超网是基于 Visual Transformer (ViT)。子网会从超网中选择部分模块、继承对应参数。传统基于 transformer 的网络结构搜索(NAS)方法主要是三种搜索方向:弹性深度、弹性注意力头、弹性前馈网络(FFN)比例。UFO 引入了一种弹性 FFN 路径的网络结构搜索方向。UFO 中的子网最终可以弹性地从超网中抽取 FFN 路径、FFN 权重、注意力权重或者是是否 ViT 的完整子模块。
现有的其他超网训练策略中,因为没有没有 FFN 路径参与,超网模型只能一步一步训练。UFO 中加入了 FFN 路径来减轻共享注意力之间严重的参数竞争,并且可以实现端到端的训练。UFO 中可以为每个下游任务的 FFN 网络选择提供三种选项:共享 FFN,任务专属 FFN 或者两者都选择。其中对下游任务的概率分布采样使用了 Gumbel-softmax 重参数化手段。
在多任务联合训练时,UFO 根据每个对应任务数据集的大小,按照比例采样部分数据,形成一个 batch,输入到超网中的主干(backbone)进行训练。主干网络获得的特征被分隔送入到任务专属的 Head 网络中。任务专属网络计算后可以得到每个任务的误差。最后将这些误差求和后,一起送回共享主干网络中,误差值在网络中反传,这样就完成了一个后向梯度传播的过程。
如何根据下游任务的应用特性从超网中抽取对应任务最优子网络是一个复杂的问题。在子网络的参数选择过程中,不仅考虑子网络在目标任务上的性能,还考虑了抽取的子网在所有任务上的平均性能。因为 UFO 超网模型的完整参数量达到了 170 亿,对每种网络结构都进行搜索计算是不现实的。
研究者通过 GP-NAS [6] 方法从超网中先生成一个包含多个网络结构的子集。然后训练了一个“子网任务性能预测器”来预测子集中的网络结构的下游任务性能,最终从中选择一个作为最优子网结构。
开源代码分析&实验
UFO 模型的开源代码结构如图:
▲ UFO开源代码结构
如果想进行下游任务测试,主要的功能代码都在 OneForAll 路径下。
▲ UFO下游任务相关代码
目前 UFO 的开源版本只支持分类任务的微调。笔者也对 UFO 模型进行了分类任务的初步测试。相同小样本数据量情况下,UFO 的性能确实可以超过一般常用的预训练分类网络 Resnet 50。
总结
UFO 通用视觉预训练大模型是国内较早开源的面向视觉的大模型。通过上文的分析,UFO 大模型的主要技术路线是 MoE(Mix of Expert)[7] 这种稀疏大模型技术。UFO 创新性地提出了以任务为粒度进行大模型的子网抽取方法。目前,在百度开发者大会上,UFO 模型已经跟很多具体需求方联合发布了多个行业大模型,具有一定的应用落地能力 [8]。不过开源版本功能较少(只支持分类任务微调),且大模型的实验成本比较高(算力要求高)。
参考文献
[1] XI T, SUN Y, YU D, et al. UFO: Unified Feature Optimization[Z]. arXiv, 2022(2022–07–21). DOI:10.48550/arXiv.2207.10341.
[2] GAO Y, BAI H, JIE Z, et al. MTL-NAS: Task-Agnostic Neural Architecture Search Towards General-Purpose Multi-Task Learning[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). . DOI:10.1109/CVPR42600.2020.01156.
[3] LIU P, QIU X, HUANG X. Recurrent Neural Network for Text Classification with Multi-Task Learning[C]//Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence. New York, New York, USA: AAAI Press, 2016: 2873–2879.
[4] DUONG L, COHN T, BIRD S, et al. Low Resource Dependency Parsing: Cross-Lingual Parameter Sharing in a Neural Network Parser[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 2: Short Papers). Beijing, China: Association for Computational Linguistics, 2015: 845–850. DOI:10.3115/v1/P15-2139.
[5] MISRA I, SHRIVASTAVA A, GUPTA A, et al. Cross-Stitch Networks for Multi-Task Learning[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). . DOI:10.1109/CVPR.2016.433.
[6] LI Z, XI T, DENG J, et al. GP-NAS: Gaussian Process Based Neural Architecture Search[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). . DOI:10.1109/CVPR42600.2020.01195.
[7] KUDUGUNTA S, HUANG Y, BAPNA A, et al. Beyond Distillation: Task-Level Mixture-of-Experts for Efficient Inference[Z]. arXiv, 2021(2021–09–24). DOI:10.48550/arXiv.2110.03742.
[8] https://wenxin.baidu.com/wenxin/news/2. 文心大模型-产业级知识增强大模型[EB].
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
通用视觉预训练大模型巡礼系列(一):UFO大模型相关推荐
- 新一代人工智能院士高峰论坛-视觉预训练大模型及其在智慧城市中的应用分论坛顺利举办
2021年12月20日,新一代人工智能院士高峰论坛-视觉预训练大模型及其在智慧城市中的应用分论坛在深圳市人才研修院成功举办. 该论坛由鹏城实验室视觉智能研究所主办,邀请了企业界和学术界的技术大咖和资 ...
- 清华BAAI唐杰团队提出第一个开源的通用大规模预训练文本到视频生成模型CogVideo,含94亿超大参数量!代码即将开源!...
关注公众号,发现CV技术之美 我爱计算机视觉 专业计算机视觉技术分享平台,"有价值有深度",分享开源技术与最新论文解读,传播视觉技术的业内最佳实践.知乎/微博:我爱计算机视觉,官网 ...
- 4项探索+4项实践,带你了解华为云视觉预训练研发技术
摘要:本文主要讲述云原生时代华为云在AI基础研究.视觉预训练模型研发和行业实践,以及AI开发平台ModelArts的最新进展. 近日,在Qcon全球软件开发大会(深圳站)上,华为云人工智能领域首席科学 ...
- Dense Contrastive Learning for Self-Supervised Visual Pre-Training(基于密集对比学习的自我监督视觉预训练)2021
最前面是论文翻译,中间是背景+问题+方法步骤+实验过程,最后是文中的部分专业名词介绍(水平线分开,翻译word文件可以找我要,能力有限,部分翻译可能不太准确) 摘要: 迄今为止,大多数现有的自监督学习 ...
- 《预训练周刊》第9期:TABBIE:表格数据的预训练表示、「视觉预训练神作」:不用图片却训出图像识别SOTA?...
No.09 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第9期< ...
- 【CVPR2022】UniVIP:自监督视觉预训练的统一框架
来源:专知 本文为论文,建议阅读5分钟 我们提出了统一自监督视觉预训练(UniVIP) 论文标题:UniVIP: A Unified Framework for Self-Supervised Vis ...
- 非自回归也能预训练:基于插入的硬约束生成模型预训练方法
论文标题: POINTER: Constrained Text Generation via Insertion-based Generative Pre-training 论文作者: Yizhe Z ...
- 《预训练周刊》第28期:M6-10T:高效多万亿参数预训练的共享去链接范式、大模型自然语言处理的最新进展综述...
No.28 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 本期周刊,我们选择了11篇预训练相关的论文,涉及模型训练.图像编码.气候文本.对比学习.文本生成评估.小样本学习.决策推理 ...
- 《预训练周刊》第60期:大模型应用图谱、最大ViT模型PaLI、高效英文语音识别Whisper...
No.60 智源社区 预训练组 预 训 练 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,<预训练周刊>已经开启"订阅功能",以后我们会向您自动推送最新版的&l ...
最新文章
- 可执行SQL文的mybatis工具类
- 编程之美 set 1 不要被阶乘吓倒
- mysql存储过程返回多个值_数据库mysql存储过程之返回多个值的方法示例
- python文本特征选择,机器学习--特征选择(Python实现)
- mybatis 动态SQL-where标签
- 如何检查字符串是否包含特定的单词? [英]How do I check if a string contains a specific word?
- 解决Hadoop时no namenode to stop异常或则 是 jps中没有namenode
- Usb设备驱动5:usb-firmware简易框架
- 当局为器,人民为水。当局什么样,人民就什么样
- x,y直角坐标系转经纬度WGS-84坐标系
- Mac修改hosts文件 配置一些IP地址和域名的映射
- vue防止用户恶意点击按钮
- DOTween的常用方法
- Java中的字符串及其中的常用方法
- TFT,TFD,STN 屏幕以及VGA,QVGA,SVGA分辨率等常识
- 弹性布局(骰子六个面制作)
- php 星际争霸 面向对象,星际争霸之php面向对象(一)
- Unsupported major.minor version 52.0那点坑
- 浅谈共线性的产生以及解决方法(中篇——今生)
- word html密码,Word文档加密打不开怎么办?Word解除密码的三种解决办法
热门文章
- 关于:昨天H - 康托展开题目的探究。
- 注定平凡-----和will812
- 华东师范大学计算机学院和软件学院,华东师大撤销计算机科学与软件工程等学院建制,成立信息学部...
- plt-------
- 转正申请书,要如何写啊?
- c语言规定的主函数名是,C语言源程序中主函数名由系统规定为_______,程序员是不能改变的。...
- PHP 5.6 结束安全支持;万豪称 500 余万护照数据被窃
- 刷题day_12:快乐数
- 镜像网络MW受邀亮相巴比特杭州区块链国际周
- html页面拼接,表格数据