4项探索+4项实践,带你了解华为云视觉预训练研发技术

Wesley13
• 阅读 539

摘要:本文主要讲述云原生时代华为云在AI基础研究、视觉预训练模型研发和行业实践,以及AI开发平台ModelArts的最新进展。

近日,在Qcon全球软件开发大会(深圳站)上,华为云人工智能领域首席科学家、IEEE FELLOW田奇博士,发表了“云原生时代,视觉预训练大模型探索与实践”的主题演讲,介绍了云原生时代华为云在AI基础研究、视觉预训练模型研发和行业实践,以及AI开发平台ModelArts的最新进展。

4项探索+4项实践,带你了解华为云视觉预训练研发技术

以下是田奇博士演讲要点:

随着企业数字化的转型,传统企业已基本上将业务从线下搬到了云上。其中,第一个阶段是将企业的业务简单地部署到云上,我们可以称之为ON CLOUD,在这种形态下,通过资源池化,解决了IDC时代运维、部署、扩容的难题。但是,传统方法的过于厚重、烟囱式的架构,导致云对业务的价值还仅仅停留在资源供给阶段,未充分发挥出云计算的潜力。随着企业的数字化建设逐步迈入智能化阶段,企业需要充分利用云计算带来的红利,就需要让其业务能力内生于云,由现在的ON CLOUD进阶到IN CLOUD阶段,即基于云的技术架构来构建企业业务,通过构建多云、多中心的分布式架构以及敏捷、智能的企业数字化业务,将企业的数字化建设带入智能化新阶段。此时,云对业务的价值不再是简单的资源供给,还能够以应用为中心,为业务赋能。

一站式AI开发平台,加速行业AI落地,践行普惠AI

华为云提供了一站式的AI开发平台,加速行业AI落地,践行普惠AI。华为云对AI平台打造了四层体系,第一层是智能体;第二层是知识计算解决方案;第三层是ModelArts Pro,针对专业应用开发套件;第四层是ModelArts Fundamental。对于一站式的AI开发平台,主要聚焦在模型高效、数据高效以及知识高效。这些强大的AI服务,底层都是基于云原生容器的Volcano高效能调度引擎,而Volcano调度引擎将训练任务的效率提升了50%。

华为云AI基础研究进展

华为云长期扎根AI技术基础研究,在计算机视觉、语音语义、决策优化三个方向做了深入探索与研究。为此,我们针对数据、模型和知识提出了六个子计划。其中,针对模型包含两个计划,一个是针对大模型的模型摸高计划,提供极致的性能;第二是针对小模型的模型瘦身计划。针对数据提出了两个计划,一个是处理多模态的数据魔方计划;另一个是针对小样本学习的数据冰山计划。最后针对知识的高效提取,我们提出了两个计划:建造通用AI系统的万物预视计划以及学习一种新范式的虚实合一计划。在这些计划中,我们始终聚焦在模型高效、数据高效、知识高效等重点方向上。对于自主研发的一些新技术,比如自动学习、知识蒸馏、预训练模型等等,都会以即插即用的方式部署到华为云线上,助力AI行业落地。

在众多AI领域中,计算机视觉具有广泛的落地场景,在智能汽车、智能手机、无人机、智能眼镜等应用都有计算机视觉算法的身影。这些年随着计算能力和5G通信技术的极大提高,以计算机视觉为代表的大批AI技术,已跨越了早期仅在研究领域取得进展的阶段,过渡到了与社会环境协同发展、共同促进的阶段。未来视觉AI技术会在千行百业进行落地,比如政府、医疗、工业、能源、交通、物流、金融等等。但是,技术落地也面临着巨大的挑战,由于AI应用的碎片化、定制化等因素,极大地限制了AI在真实环境下的落地部署。为了解决应对AI碎片化等问题,我们提出了预训练大模型的解决方案,希望能用大量无标注的数据和更大的模型来实现更通用的AI系统。

在自然语言处理领域,这两年大规模预训练模型取得了突破性进展,但是预训练模型对算力有极大的需求,而且我们预计更大规模、更大参数的模型还会继续出现。因此,受到自然语言处理中预训练模型的启发,在计算机视觉中我们也希望构建通用的AI系统,为下游各种视觉任务提供一个高效的初始化模型。

现在主流的学习方式有两种,一种是监督学习,一种是强化学习。监督学习需要海量标注样本,泛化能力相对比较弱,另一种是强化学习,强化学习需要海量的试错,同样缺乏通用系统所需要的可适用性、可重复性以及鲁棒性。我们认为,自监督学习是迈向常识学习的关键步骤,但是目前自监督学习在视觉任务中的应用还不够成熟。过去,在数据标注、模型训练和输出阶段,分别要做大量的重复工作。未来,我们希望可以对计算机视觉或者自然语言处理任务构建一个通用预训练模型,仅通过下游少量的标注样本进行微调就可以高效完成任务,从而大量节约开发成本。

视觉预训练大模型研究和实践

接下来的报告,我会介绍一下我们在预训练模型方面的工作,主要是在自监督学习过程中预训练模型的一些进展。

自监督学习由于不需要任何人工标注便能够学习图像的内在表征,近年来受到了业界的极大关注。在没有人工标注的情形下,自监督学习需要预先设定一些预训练任务辅助模型学习。2016年以前,一些预训练任务推动该领域出现了一些大的进展。自监督学习主要分为两种,一种是生成式,一种是对比式,近几年最新的一些工作大多是基于实例区分的对比学习。

基于实例区分的对比自监督学习在最近几年取得了极大的进展,在一些任务上刷新了现有自监督预训练任务的SOTA结果。最近我们在对比自监督学习方面有两项优化工作,首次实现了在ImageNet线性分类任务中达到全监督基线性能,并且在小样本分类上大大超越了之前的方法。然而,现有的自监督预训练模型仍然处于探索阶段,存在大量的问题未能够解决:现有的自监督预训练算法迭代缓慢,很难复制到大模型以及超大规模数据集;另外,相较于全监督学习,其特征表达在大多数下游任务上仅仅能获得与之相比拟的结果,其进一步的性能优势还有待挖掘。因此,如何利用自监督学习在超大数据集合,超大模型上获取更强的泛化性能将会是未来的发展方向。

在这里,介绍一下我们最新的几个工作,在对比自监督学习框架下,我们提出了基于邻域保持的混合图像增强,在业界首次提出了利用不同图像数据增强策略提升其泛化性能。过去,对比学习通常利用同一样本的不同数据增强生成正样本集合,并且把其他样本均视为负样本的策略,将样本特征的距离拉近或者拉远作对比学习任务,而我们首次提出了选取不同正样本的方法。同时,提出了基于局部领域混合增强的技术,把多个相似样本的特征拉近,不同样本的距离拉远。我们的方法在ImageNet线性分类评估上,TOP-1的精度达到了75.5%准确率,离监督学习基线76.5%仅仅差了1个百分点。通过对预训练模型在小样本标注数据上进行微调(1%和10%标注的数据),我们的精度达到了最好的结果。

接下来介绍一个我们今年刚刚完成的工作,基于等级化语义聚集的对比自监督学习框架。在上述工作的基础上,我们进一步发现即使显示地拉近语义相似性样本,特征表达的可分离特性并没有达到我们的预期目标,这限制了其泛化表征能力。自监督学习仍然存在优化困难,收敛速度慢等问题,为此,我们做了两点改进,第一,我们拓展了自监督学习算法中正样本数目,使得正样本集合能够更加高效的被聚集,同时避免受大量负样本优化的影响。第二,我们在浅层特征上引入对比自监督学习,通过精心设计的浅层优化目标加速训练过程,在浅层特征上实现了更好的可分离性,我们发现这些优势对小样本学习有极大的提升。从结果来看,我们在线性分类任务中达到了76.4%的精度,首次达到了和全监督基线相比拟的性能,而且通过将预训练模型在小样本标注数据上进行微调,在之前的结果上又得达到了新的SOTA,特别地,仅仅使用10%标注,我们在ImageNet 分类上达到了75.1%的TOP-1精度。

上述两项工作都是在没有任何标签设置下完成的,更进一步,我们探索了如何把对比学习和数据标签高效地结合起来,通过引入图像真实标签来辅助对比学习,我们认为应该将自监督学习得到的表观特征和监督学习的语义特征相结合,它的本质是把表观相似和语义相似的样本距离拉近,将不相似样本的距离推远。从结果上看,这个工作在各个下游工作中(比如检测、语义分割、实例分割)的表现全面超越了以往的自监督和全监督的泛化能力。

华为云的第二个核心研究方向是如何设计高效的视觉识别模型,即模型高效。在这个方向主要聚焦两个方面,第一是如何设计神经网络模型,第二是在神经网络架构搜索中,如何在原子算子层面上进行搜索。关于神经网络模型设计,最初的方式都是手工设计的,这种方式经过高速发展后,也进入了一个瓶颈,因此从2017年开始,自动的神经网络架构搜索经历了一个迅猛发展的过程,也取得了一些可喜的成绩。但是搜索出的网络也面临几个问题,第一个问题,搜索空间仍然是手工定义的;第二个,搜索的卷积算子是人工定义的,而且相比于手工设计的网络,搜索的网络可迁移性也是比较差的。

我们在网络架构搜索上第一个工作是P-DARTS,提出渐进的可微分网络架构搜索算法。之前的网络架构搜索面临着搜索网络和测试网络深度不一样的问题,在较浅的搜索网络中搜索出来的架构并不适合较深的测试网络。早期的方法直接加深搜索的深度,但是会造成显存爆炸的问题,并且导致搜索不稳定。为了解决这个问题,我们提出了两个思想,一个是搜索空间近似,第二个是搜索正则化。搜索空间近似,是指采用渐进搜索策略,逐渐加深搜索的深度;同时进行链接权重的学习,把权重比较小的链接运算都扔掉,这样减少了搜索空间。搜索正则化主要是对搜索得到的一些skip connect的数量上的限制。从结果上看,我们把P-DARTS搜索的网络迁移到ImageNet上,在ImageNet分类任务上与基线方法相比提高了两个百分点。P-DARTS网络搜索算法是在P100上完成的,大概需要0.3个GPU-days。与去年同期的DARTS工作进行大致的比较,它的搜索时间是4个GPU-days,而在性能和速度都有超越的情况下,我们的方法只需要0.3个GPU-days。我们在架构搜索上的第二个工作是PC-DARTS,这是业界搜索速度最快的网络架构方法之一,其主要思想有两个,一个是采用局部连接的思想来解决网络冗余的问题,第二个是采用边正则化的思想来解决网络搜索稳定性的问题。并且,这个工作首次在大规模图像数据集ImageNet上进行了神经网络架构搜索。

我们最新的一个相关工作是GOLD-NAS,渐进剪枝的单阶段可微分搜索算法。这个算法主要的一个贡献是它打破了传统可微分搜索空间的诸多限制,因此大大增加了搜索空间的容量,并提出了单阶段优化策略和渐进剪枝的优化策略。从结果上看,在扩大的搜索空间中,算法不仅能够找到绝对性能更强的网络,也能找到具有更高性价比的网络。

我们第四个工作是卷积搜索,提出对卷积操作进行搜索,当前的模型搜索都是采用一些固定的卷积操作,比如1×1、3×3的卷积,这种方式限制了模型的性能。因此,为了将卷积的设计也纳入搜索的范围,这个工作提出了针对点云任务的基于数据驱动的模型搜索,同时对卷积的结构也进行了搜索,将来将进一步扩展到传统的图像领域。

我们最近两年在计算机视觉三大顶会CVPR、ICCV、ECCV大概发表了近百篇文章,基本进入视觉研究领域第一梯队,极大地提高了华为在计算机视觉领域的国际竞争力,同时有一些工作也获得了最佳论文和最佳论文提名。而且最新的算法已经逐渐部署到华为的一站式AI开发平台,在一些行业得到了广泛的应用,下面再介绍一下视觉任务的进展和在行业的实践。

第一个进展是图像分类技术,在ImageNet上,今年我们的分类准确率达到了85.8%,而之前谷歌最好的精度是85.5%。从今年3月份以来,我们在这方面一直保持着领先水平。

第二个进展是弱标注场景下的图像分类技术。在WebVision大规模弱标注的网络图像分类比赛中,大约有5000个类别的1600万张图像,有90多支参赛队伍竞争,华为云在分类准确率上取得了业界第一的水平。我们把图像分类技术应用到了一些传统行业,比如米旗蛋糕店。结果上看,我们的技术让商品整盘识别率达到了99%以上的精度。另外,我们的模型训练时间小于一天,因此每天都可以进行模型更新,商品的识别时间也小于1秒。

第三个进展是图像检测、分割技术,在业界权威的目标检测数据集MS-COCO数据集上,不论是单模型还是多模型,我们都取得了今年业界第一的成绩。我们将检测、分割技术用到了医疗智能体,在今年新冠肺炎AI-CT辅助筛查中实现了自动智能检测,而且已经在各大医院成功部署。

我们第四个进展是多模态数据处理技术,相对于单模态,多模态具有天然的互补优势,比如在无人驾驶中除了图像的输入,还有激光雷达信号、GPS、图像分割的数据。在最权威的三维目标检测NuScenes数据上,我们提出的技术也取得了非常好的成绩,我们的结果比第二名领先了3.1%。同时我们将多模态处理技术用在了深圳交通智能体上,实现对红绿灯控制的智能化,在交通总量相同的情况下将平均通行车速提高了15%,将平均等待时间、延误时间下降了17.7%。

最后介绍一下华为云一站式AI开发管理平台ModelArts。ModelArts有两个不同层次的版本,一个是ModelArts Fundamental,一个是ModelArts Pro。根据华为云在十多个行业常年的技术积累,ModelArts Pro开发平台主要提供五大类的专业应用开发套件,包括文字识别套件、视觉套件、知识图谱套件、多模态开发套件、自然语言处理套件,还提供了四十多个行业级的高精度预置的算法, 包含数据准备、数据处理、 模型设计、模型管理及部署等等。

以上是华为云在视觉预训练模型上的一些基础研究最新进展和行业实践的案例,以及在华为云AI开放平台沉淀的一些工作。谢谢!

点击关注,第一时间了解华为云新鲜技术~

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
2年前
Dubbo爆出严重漏洞!可导致网站被控制、数据泄露!附解决方案
http://dy.163.com/v2/article/detail/F5FPIFRU0511Q1AF.html  !(http://dingyue.ws.126.net/2020/0216/125ec4c4p00q5rcrs0019d200ig009qg00ig009q.png)  来源:华为云  原文地址:https://w
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这